What is PS-Drone ?
PS-Drone is a full featured API, written in and for
Python, for Parrot's AR.Drone 2.0.
It is based on a part of a master of computer science degree dissertation and was designed to be easy to learn, but it offers the full set of the possibilities of the AR.Drone 2.0, including Sensor-Data (aka NavData), Configuration and full Video-support.
It was also designed to be as fast as Python can be. Unneeded functions can be deactivated which allows your program to run on really slow computers like Intel Atom N270 with 1.6GHz. The video function is not restricted to mere viewing; it is also possible to analyse video images data using OpenCV2.
Obviously, the PS-Drone is perfect for teaching purposes; however, even the requirements for professional purposes can be satisfied. The nomenclature refers to the official definition of parrot and its SDK, so it is easy to find some additional help in newsgroups or elsewhere on the internet by simply typing in the pre-existing keywords.
The examples are easy to understand for people with little
This Tutorial is a brief introduction for using this API, its most important commands and the most important sensor values sent by the drone. For a full list of the commands and a description of the sensor data, have a look in PS-Drone documentary.
PS-Drone is not compliant to Parrots AR.Drone 1.0 ! It could be possible to fly and do simple movements, but it is not possible to get any sensor-values. PS-Drone does not support new models like the Bebop aka AR.Drone 3.0, due significant changes of Parrot's communication-protocol. I will provide full support as soon as I get enough donations to buy a Bebop-drone.
A port to Windows is planned, but compared to Linux, Windows does not support some relevant functions These functions have to be implemented manually.
I am not a money-grubbing monster, but it took me several months and killed two drones to create PS-Drone and its documentation; so it would be nice to get some donations for further development (e.g. for Parrot's Bebop) and as a appreciation. Beware, stinginess may lead to bad breath of your dog, sexually transmitted disease and watching reality-shows while listening to the greatest hits of the worst boy-groups for eternity ! Think about it, a dollar is not too much. *nudge*
To program the drone you need a computer or virtual
machine with a POSIX compliant operating system like Linux
and an AR.Drone 2.0 of any edition.
OpenCV2 is recommended and necessary for video-support. To use all functions without limitation a CPU equal 1.83GHz Intel Core Solo T1400 is needed, a 2.4GHz E6600 Core 2 Duo CPU or better is recommended for video-analysis.
PS-Drone was programmed and mostly tested on a computer with an Intel Atom N270, running a Linux Mint 13. The used drones were standard AR.Drones 2.0 by Parrot using Firmware 2.2.6 and 2.3.3.
Legal and License
The PS-Drone/PS-Drone-API is a free software package available under the Artistic License 2.0
as seen on http://opensource.org/licenses/artistic-license-2.0 (retrieved December 2014).
If the terms of this license do not permit the full use that you propose to make of PS-Drone, please contact me for a different licensing arrangement.
Abstract from the Artistic License 2.0 (abstract not legally valid):
Copyright (c) for the Artistic License 2.0 (2000-2006): The Perl Foundation
1. You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you only use Modified Versions within your company and do not Distribute them.
2. You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers.
3. You may Distribute your Modified Version as Source (either gratis or for a Distributor
Fee) provided that you clearly document how it differs from the Standard Version, including,
documenting any non-standard features, executables, or modules, and provided that
you do at least ONE of the following:
(a) make the Source form of the Modified Version freely available to others under (i) the Original License or (ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version (license fees are prohibited but Distributor Fees are allowed).
(b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version. Any non-standard features, executables, or modules have to be named differently from the original program.
4. You may aggregate PS-Drone/PS-Drone-API (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for PS-Drone/PS-Drone-API. Distributor Fees are permitted, as well as licensing fees for other components in the aggregation.
5. Additional scripts and libraries (e.g. openCV2) are not considered parts of the PS-Drone itself, and are not subject to the terms of this license.
6. Disclaimer of Warranty: PS-Drone/PS-Drone-API is provided by J. Philipp de Graaff and contributors “as is” and without any express or implied warranties. I am not liable for any direct, indirect, incidental, or consequential damages arising in any way out of the use of the package.