/dronekit-python

DroneKit-Python library for communicating with Drones via MAVLink.

Primary LanguagePythonApache License 2.0Apache-2.0

DroneKit Python

dronekit_python_logo

PyPi published version Windows Build status OS X Build Status Linux Build Status

DroneKit-Python helps you create powerful apps for UAVs.

Overview

DroneKit-Python (formerly DroneAPI-Python) contains the python language implementation of DroneKit.

The API allows developers to create Python apps that communicate with vehicles over MAVLink. It provides programmatic access to a connected vehicle's telemetry, state and parameter information, and enables both mission management and direct control over vehicle movement and operations.

The API is primarily intended for use in onboard companion computers (to support advanced use cases including computer vision, path planning, 3D modelling etc). It can also be used for ground station apps, communicating with vehicles over a higher latency RF-link.

Getting Started

The Quick Start guide explains how to set up DroneKit on each of the supported platforms (Linux, Mac OSX, Windows) and how to write a script to connect to a vehicle (real or simulated).

A basic script looks like this:

from dronekit import connect, VehicleMode

# Connect to UDP endpoint.
vehicle = connect('127.0.0.1:14550', wait_ready=True)
# Use returned Vehicle object to query device state - e.g. to get the mode:
print " Mode: %s" % vehicle.mode.name

Once you've got DroneKit set up, the guide explains how to perform operations like taking off and flying the vehicle. You can also try out most of the tasks by running the examples.

Resources

The project documentation is available at python.dronekit.io. This includes guide, example and API Reference material.

The example source code is hosted here on Github as sub-folders of /dronekit-python/examples.

The DroneKit Forums are the best place to ask for technical support on how to use the library. You can also check out our Gitter channel though we prefer posts on the forums where possible.

Users and contributors wanted!

We'd love your feedback and suggestions about this API and are eager to evolve it to meet your needs, please feel free to create an issue to report bugs or feature requests.

If you've created some awesome software that uses this project, let us know on the forums here!

If you want to contribute, see our Contributing guidelines, we welcome all types of contributions but mostly contributions that would help us shrink our issues list.

Licence

DroneKit-Python is made available under the permissive open source Apache 2.0 License.


Copyright 2015 3D Robotics, Inc.