3D Robotics (3DR), North America's largest consumer drone manufacturer, has announced the release of DroneKit, an SDK and Web API that allows developers to build Web-based, mobile and onboard computer applications for drones and APM-powered vehicles. The DroneKit API is powered by 3scale and provides programmatic access to DroneKit Cloud, a Web service where vehicle data such as flight logs, photos and videos can be stored and accessed.
At the time of this writing, DroneKit consisted of three main components: a cloud-based Web service, an Android SDK and a Python library.
- DroneKit Cloud: Cloud-based Web service that stores drone data and features a RESTful API. Using the DroneKit API, data can be downloaded while the drone or APM-powered vehicle is in flight.
- DroneKit for Android: An SDK that can be used to build Android applications that are able to control a drone or APM-powered vehicle as well as retrieve telemetry updates. DroneKit will be available for iOS this summer.
- DroneKit for Python: A Python library that allows third-party applications to communicate directly with the APM flight controller of a drone or APM-powered vehicle from a companion computer on the actual vehicle. Using DroneKit for Python, developers can build applications for drones that run computation-intensive tasks such as 3-D modeling, path planning and computer vision.
We reached out to Phu Nguyen, 3DR's DroneKit product manager, who provided additional information about 3-D modeling tasks. Nguyen told ProgrammableWeb that "2-D mapping and 3-D scan of a building can be done with DroneKit," however, not all drones can perform 3-D mapping using DroneKit. Only APM-powered drones (or 3DR-powered drones) can use DroneKit to enable 3-D mapping capabilities. Developers interested in using DroneKit to enable 2-D mapping and 3-D scan of a building can check out the Tower source code on GitHub.
DroneKit Cloud allows drone data to be downloaded using simple REST protocols while the drone or APM-powered vehicle is in flight. Nguyen said DroneKit Cloud does not allow automated export of data to third-party storage providers such as Box or Dropbox. However, all user data is downloadable with Droneshare. Nguyen also said that drone data can be downloaded as KML, LOG and vehicle params.
Developers can use DroneKit to build drone applications that are able to:
- Fly paths with waypoints
- Fly in spline path with fine-grain control over vehicle velocity and position
- Have the drone follow a GPS target
- Control the camera and gimbal with regions of interest points
- Access full telemetry from the drone over 3DR Radio, Bluetooth, Wi-Fi or the Internet
- View playbacks and log analysis of any mission
- Run computation-intensive tasks such as 3-D modeling, path planning and computer vision
- Provide customized experiences for in-flight interaction and much more
"DroneKit is truly an open API. Our open core model enables developers to benefit from our years of R&D while maintaining the flexibility to craft open or close sourced products of their own. We're making it easier than ever for individuals and companies to create custom solutions for drones," said Nguyen.
DroneKit is free and open to anyone who would like to use it. Developers interested in building applications for drones and APM-powered vehicles can find more information on the DroneKit website.