An open platform for making drones dance! This project includes the following:
Reference quadcopter electrical/mechanical designs used for developing the system
hardware/
directoryDrone control algorithms and drivers
Minimum Snap Trajectory Generation and Control for Quadrotors
by Daniel Mellinger and Vijay KumarOperator User Interface
Unless otherwise specified, all current files and future contributions in this repository are distributed under the MIT License (see LICENSE
file).
This platform was primary developed for UNIX based OSes (Linux / Mac OS X), but should be mostly compatible with Windows as well (probably won't compile on windows in it's current state though).
You can optionally skip most of this and try using one of your prebuilt Docker images (see config/docker/
directory).
For running/compiling the core code, the following libraries must be installed:
For running the simulations, all dependencies on the PX4 toolchain/gazebo SITL environment must be met:
UI Dependencies
Recommended/Optional Dependencies:
Run make build
to compile all the core libraries
Run make build_firmware
to build the nested PX4 code and all code needed for Gazebo simulation
Run npm install
to download packages needed for the GUI
Alternatively, run make sim
to start up a multidrone simulator
Run make run
to build the core stuff and start up the controller. Make sure that config.json has the right filepaths, and the right ip addresses if not using simulator.
Once everything is built, you can run ./start.sh
to quick start into a simulator with the UI running.
The script does three things
Starts the main gcs program via make run
Starts the simulator using make runSim
Serves the UI via make server
Viewable at http://127.0.0.1:4000
after starting the server
The root url will take you to the web-based 3d viewer and control suite
Each 'choreography' is available to load and correspondences to files in the data/
folder
Upon loading a file, the drones should automatically spawn into the environment
See the doc
folder
A full source code documentation page can be generated by running make doc
. Then the documentation can be viewed from /build_doc/html/index.html