Introduction#

For the first time on a commercial aircraft, you will be able to program and run code directly on the drone.

With Air SDK, developers can access all of the built-in drone sensors such as IMU and GPS, all cameras (front, stereo, vertical), connectivity interfaces (Wi-Fi, 4G), and drone autonomous features: autopilot, flightplan, sensing, obstacle avoidance planning.

You will be able to change the drone behavior in-flight, by adding custom-designed functionalities in a Flight mission.

As an example: Adding new features through a USB-connected sensor, using computer vision to create a specific algorithm, or neural network, all of this is possible using Parrot Air SDK!

All those features are accessible through an easy-to-use and fully documented API.

Discover the possibilities offered by the Air SDK in our “Hello, Drone!” example. Welcome to the amazing journey of drone programming!

Parrot SDKs#

Parrot Drone SDK is a set of libraries and frameworks allowing developers to operate the drone. You can control the drone from a Ground Station with Ground SDK, or directly onboard with Air SDK.

../_images/28-architecture_device_drone.png

Ground SDK#

Ground SDK is a Ground Control Station (GCS) framework for mobile devices (both iOS and Android are supported). It allows any developer to create a mobile application for the Anafi platform, controlling the drone directly from the mobile device. All the features of the aircraft (control, video, settings) are accessible through an easy-to-use and fully documented API. You can find the Ground SDK documentation here.

To make Ground SDK integration easy, Parrot has decided to release its application FreeFlight open source. It’s name is OpenFlight.

OpenFlight is the open-source core of the Parrot GCS FreeFlight 7. It includes all the UX elements (buttons, icons, menus). As a developer, you can focus on adding your own features and get a professional-looking result very easy. This will be your starting point to create your own Mission UI for the drone.

Air SDK#

Air SDK extends the drone’s capabilities by allowing developers to add code directly on the drone. It is possible to:

  • Access all the sensors and peripherals: IMU, GPS, cameras, connectivity, storage.

  • Override/Add/Remove a state machine in Flight supervisor.

  • Add new Guidance modes to generate new trajectories patterns.

  • Add new mission services to feed new information to Guidance.

Note

There is no need to maintain a communication link between the remote control and the drone to execute an Air SDK mission.

Air SDK/Ground SDK interaction#

Your code and all the different components of the Air SDK mission will be stored in an archive file in your Mission UI and uploaded to the drone using a dedicated API. The drone and the Mission UI communicate through a specific set of messages in Ground SDK.

Important

To maintain high level of cyber-security on the drone. Every missions should be signed using a process offered by Parrot. For more details, check the Security service.