Skip to content

SpaceTime-Vision-Robotics-Laboratory/drone-base

Repository files navigation

Drone Base Framework

Ubuntu Ruff Linter

Python Version License: AFL-3.0

A modular base framework for building drone control systems using Anafi Parrot drones.

It is designed to be used as a git submodule in drone software projects.

Features

  • Abstraction over drone states, control and streaming.
  • Extensible for integrating custom modules
  • Lightweight and focused on real-time.

Installation

Submodule Installation

To include this framework in your project:

git submodule add git@github.com:SpaceTime-Vision-Robotics-Laboratory/drone-base.git
git submodule update --init --recursive

To clone a project that already includes this as a submodule:

git clone --recurse-submodules <LINK TO YOUR PROJECT>

Note: We recommend placing it under external/ or libs/ for better structure.

Don't forget to update the submodule often:

git submodule update --remote external/drone_base

Note: PyCharm users should mark the drone_base directory as sources root for the submodule for intellisense to work.

To install it via pip you can:

python -m pip install -e ./external/drone_base

Setup as standalone

Install the packages from the requirements.txt.

Can then install it via pip with:

python -m pip install -e .

Getting started

Movement Keys

Key Action
i Move forward
k Move backward
j Move right
l Move left
o Rotate right
u Rotate left
n Increase height
m Decrease height

Command Keys

Key Action
q Stop the drone
t Start take off
y Land the drone
p Take a photo
z Reset the gimbal camera position
x Tilt the gimbal camera position 15 degrees
c Tilt the gimbal camera position 30 degrees
v Tilt the gimbal camera position 45 degrees
s Tilt the gimbal camera position 60 degrees
d Tilt the gimbal camera position 75 degrees
f Tilt the gimbal camera position 90 degrees

Example of usages:

Run the example controller that only displays the video stream from the drone and has keyboard control.

python -m examples.display_only_controller

Run the video to frame to create a video from the frames generated from the video stream of a mission:

python -m drone_base.stream.saving.frames_to_video

License

This project is licensed under the Academic Free License v3.0 - see the LICENSE file for details.

Acknowledgments

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages