Why now
We want to empower makers anywhere to create apps that fit their purposes. Imagine an agriculture app that surveys your land; a search & rescue app; a football practice app. Before DroneKit, if you wanted to create any of these single-purpose apps for a drone you’d have to reinvent the wheel, building all the flight control software from the ground up. DroneKit abstracts away the hard parts of writing flight control software, leaving you a clean, modern interface to code on.
A good analogy is the smartphone: In order to make a smartphone app, you don’t need to design and create a phone first. The hard part (the platform, in other words) is already done. With DroneKit, we’ve made the phone, so to speak. Now everyone has the creative freedom to build apps and new functions.
“Unlike other APIs for drones, there are no levels of access to DroneKit; it’s completely flexible and open,” noted Brandon Basso, 3DR’s VP of Software Engineering. “The platform works on laptops as well as mobile devices. Best of all, once an app is created, the app automatically works on any computing platform—the interface is always the same.”
Our role is to maintain DroneKit: we created the API; we’ll fix any issues with it; we assure it works with all APM vehicles; we add experimental features from our labs and from those contributed by the global community, and we make all updates available to anyone for free. And should you develop an app, just put it up on 3DR Services, “the app store for drones,” where you can price it how you want, and we won’t take anything off the top. DroneKit is a community garden for technology; we want anyone to be able to use it to cultivate and take their product to market.
What you can do with DroneKit:
With DroneKit, you can develop apps for three platforms: mobile apps (DroneKit Android); web-based apps (DroneKit Cloud); and onboard computer apps (DroneKit Python) [i.e., for a companion computer on the actual drone].
DroneKit allows you 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 over the internet
- View playbacks and log analysis of any mission
Advantages of DroneKit:
- Truly open; no “levels” of access that you get from other proprietary programs
- Computer agnostic: Create an app for controlling drones on whatever computing platform you want, and the interface is always the same
- Works on planes, copters and rovers
- Works on laptop computers as well as mobile devices
- Provides web-based access to vehicle data
DroneKit powers the most successful flight control programs in the world:
- Tower (formerly Droidplanner), hands-down the best flight planning mobile app out there, was built on DroneKit for Android
- Droneshare, the global social network for drone pilots, is built on DroneKit web services
- Project Tango Indoor Navigation is built on Pixhawk, APM and Tower
- IMSI/Design TurboSite aerial reporting app for construction
Online Access
To find out how to write your own application for UAVs, and to walk through some example apps from us, please visit http://dronekit.io
Comments
Another question : is there an explicit documentation of this python droneapi library and typically I am looking for a code example to read a parameter in pixhawk from a python script running on windows (and without having to use the manual mavproxy command line interface). Can you post such example ?
It would be great!
Ok thx Kevin. So If I understood it correctly, the dronekit Library is the droneapi that is packaged already in the precompiled Mavproxy for Windows ?
Hi Hughes, That seems to be an error in the new documentation page the correct package to install is droneapi "pip install droneapi". No need for the suffix of droneapi-python.
The instructions "Getting started" for python, for windows are not working and have no links to the dronekit library. I am referring to this part :
Set up DroneKit¶
The DroneKit library is available on the public pypi repository. You can use the PyPi tool to install.
@Daniel Nugent 3DR Services is Android deamon (backend layer) used for accessing DroneKit on Android powered devices.
Time to change the name to 3D Salesforce.
Broken link fixed. Sorry about that!
Awesome! I saw many tutorials on how to run code on simulators. I'm also looking forward to some instructions on how to run the code on a drone such as IRIS+.
Looking forward to see what new cool things and ideas this brings about.
Geez people just rolled their eyes when I suggested this a while back. Good on ya 3DR for actually doing this.