SoftwarePilot is an open source software suite to support aerial systems. SoftwarePilot allows users to connect consumer DJI drones to programmable Java routines that include access to computer vision and deep learning software packages like OpenCV, DLIB, and Tensorflow.

boubinjg boubinjg Last update: Aug 21, 2022

SoftwarePilot Logo

SoftwarePilot v1.0

SoftwarePilot is an open source middleware and API that supports aerial applications.SoftwarePilot allows users to connect consumer DJI drones toprogrammable Java routines that provide access to the drones flight controller, camera, and navigation system as well as computer vision and deep learning software packageslike OpenCV, DLIB, and Tensorflow.

SoftwarePilot comes with a dockerfile and installation scripts for all requisitesoftware, and an Android-x86 VM to communicate with DJI drones from most systems.

SoftwarePilot provides sample routines and demos ranging from simple flight control applications to fully autonomous aerial systems. A simulation framework for fully autonomous aerial systems that use SoftwarePilot is also provided. The simulation framework can be used to aid development and profiling of complicated aerial systems.

Getting Started

Please review our comprehensive user guide herefor installation instructions, and our development guide here to learn about adding to SoftwarePilot.

Prerequisits

The goal of SoftwarePilot is to be as accessible as possible to anyone with a drone. Therefore, it only requires a basic laptop with the following specifications:

  • At least 4GB of ram
  • A 2GHz processor
  • WiFi capabilities
  • 10 GB of available disk space
  • Linux, Windows, or MacOS

Software prerequisites include:

Built With

  • DJI-SDK - To interact with DJI drones
  • Java - To write the API between DJI drones and our programmable routines
  • Python - For machine learning routines and simulation
  • Docker - For portability
  • VirtualBox - To run our virtual machine
  • Tensorflow - For custom deep models
  • Dlib - For facial recognition
  • OpenCV - For image processing
  • Android-x86 - To execute DJI-SDK apps on most hardware
  • Android - To use the DJI-SDK

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the License file for details

Subscribe to our newsletter