This repository contains the code and documentation of an autonomous selfie drone. The drone used for this project was the Tello drone from Ryze.
The purpose of the project was to create an autonomous drone which is capable of making images which can be triggered by poses. In addition to that, the drone should be able to be controlled via poses.
By utilizing the BlazePose CNN, three poses can be detected.
- Right arm up: Which enables the drone to move to its left side (right side of the viewers perspective).
- Left arm up: Which enables the drone to move to its right side (left side of the viewers perspective).
- Arms crossed: Will trigger a countdown, then take a picture.
Additionally the drone will keep its position relative to the persons face centerpoint when no pose can be detected.
A documentation of the codebase can be found here: Documentation
https://www.youtube.com/watch?v=AIDdR5VVdwk&ab_channel=NectarTM
The project was written with Python 3.9.7
, it is highly recommended to use this version
if you want to run the project.
-
Install the requirements:
pip install -r requirements.txt
-
Turn on your Tello Education and connect to its WLAN.
-
Change to the directory
/source
and run the Main.py file:
python Main.py
Aircraft | |
---|---|
Weight (including Propeller Guards) | 87g |
Max Speed | 8m/s |
Max Flight Time | 13 minutes |
Operating Temperature Range | 0°C to 40°C |
Operating Frequency Range | 2.4Ghz to 2.4835Ghz |
Transmitter (EIRP) | 20 dBm (FCC), 19 dBm(CE), 19dBm (SRRC) |
Camera | |
---|---|
Max Image Size | 2592x1936 |
Video Recording Modes | HD: 1280x720 30p |
Video Format | MP4 |
Flight Battery | |
---|---|
Capacity | 1100 mAh |
Voltage | 3.8 V |
Battery Type | LiPo |
Energy | 4.18 Wh |
Mediapipe:
https://github.com/google/mediapipe
Mediapipe Pose:
https://google.github.io/mediapipe/solutions/pose
DJITelloPy:
https://github.com/damiafuentes/DJITelloPy/
BlazePose:
https://arxiv.org/abs/2006.10204
Inspiration:
https://www.youtube.com/watch?v=RHRQoaqQIgo&t=417s&ab_channel=geaxgx1