• Stars
    star
    194
  • Rank 199,082 (Top 4 %)
  • Language
    Python
  • Created almost 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

My opensource code to my Tello AI Implimentation... no idea why I called it TelloTV

TelloTV

TelloTV is a rather simplistic approach to be able to launch your Tello drone & hav it track your face. This approach has been tested & proven to work with the DJI Tello Drone (Non - Educational Version I believe, but may still work with the educational version?)

Tested with Python 3.6, but it also may be compatabile with other versions.

Example

https://youtu.be/esw88_gKOpA

Install

$ pip install -r requirements.txt

Usage

  -h, --help            ** = required
  -d DISTANCE, --distance DISTANCE
                        use -d to change the distance of the drone. Range 0-6
                        (default: 3)
  -sx SAFTEY_X, --saftey_x SAFTEY_X
                        use -sx to change the saftey bound on the x axis .
                        Range 0-480 (default: 100)
  -sy SAFTEY_Y, --saftey_y SAFTEY_Y
                        use -sy to change the saftey bound on the y axis .
                        Range 0-360 (default: 55)
  -os OVERRIDE_SPEED, --override_speed OVERRIDE_SPEED
                        use -os to change override speed. Range 0-3 (default:
                        1)
  -ss, --save_session   add the -ss flag to save your session as an image
                        sequence in the Sessions folder (default: False)
  -D, --debug           add the -D flag to enable debug mode. Everything works
                        the same, but no commands will be sent to the drone
                        (default: False)

Controls

  • Esc: Quit Application
  • T: Takeoff
  • L: To Land
AI Mode
  • 0: Set Drone distance to 0
  • 1: Set Drone distance to 1
  • 2: Set Drone distance to 2
  • 3: Set Drone distance to 3
  • 4: Set Drone distance to 4
  • 5: Set Drone distance to 5
  • 6: Set Drone distance to 6
Override Mode
  • Backspace: Enable / Disable Override mode
  • W/S: Fly Forward/Back
  • A/D: Pan Left/Right
  • Q/E: Fly Up/Down
  • Z/C: Fly Left/Right
  • 1: Set Drone speed to 1
  • 2: Set Drone speed to 2
  • 3: Set Drone speed to 3

Research Notes

  • 02.19.019 - This has been tested outside, & it appears that there is too much happening in most outdoor public spaces. Seeing as the Tello has no internal storage & needs to send each video frame to a computer via WiFi, many things can go wrong in the process, but from what I observed the biggest issues appear to be: The Computer to Tello communication can be met with WiFi interference, delivering data at an unsustainable rate. The image data can become corrupted, making faces unrecognizable for OpenCV to process from, thus reducing the accuracy of the algorithm. In addition, the Tello is rather light, so if there is a lot of wind, it will be difficult to sit still, & in cases where it can, it may be slightly tilted, again making faces hard for the OpenCV algorithm to detect.

Roadmap

  • Figure out a way to save images at a frame rate from 24-60, or at least 12 fps
  • Display current battery power on screen
  • Add a movement gradient dependent on distance from subject
  • Add more to the facial recog to be able to tell when the drone needs to fly left or right
  • Use pose estimation for input commands
  • Add a function where the drone will ignore all faces except the one you specify
  • Fix key pressing spam

Credits

This script has been adapted from Damià Fuentes Escoté's TelloSDKPy script, please check it out if you want to learn more about that.

AI

  • Jabrils

Backend Thanks

  • Damià Fuentes Escoté

More Repositories

1

Uncle-Rober-Baseball-Predictor

CSS
495
star
2

Run-Forrest-FULL

C#
227
star
3

Run-Forrest-Open-Source

its time
C#
163
star
4

AI-Tactics

C#
59
star
5

Project-Safe-Waters-v1

Python
52
star
6

Color-Predictor-Project

JavaScript
42
star
7

SDEC

Python
39
star
8

Download-All-YouTube-Comments-From-Any-Video

unless they are private or deleted.
Python
36
star
9

Everything-You-Need-To-Start-Programming

YouTube Course
C#
24
star
10

BEST-Would-You-Rather-Game

it is the best
C#
24
star
11

Butterfly-Effect-Sim

C#
24
star
12

Cyclone-2P

Python
23
star
13

lcNrD

lowercase AND remove Duplicates
Python
22
star
14

Animate-n-VR

C#
21
star
15

PencilsDown

Pencils Down App make for the YouTube Channel "Jabrils"
Java
12
star
16

TTSTF

Text to Speech to File
Python
9
star
17

ECS-DBZ-Demo

C#
8
star
18

Pokemon.com-Parser

Python
8
star
19

PyInvoice

Python
7
star
20

PROJECT-Base-Level-Networks

Just collecting some base level networks for myself in one convenient place :>
Python
6
star
21

File-Explorer-PP

Python
4
star
22

ML-RogueLike

project done on the stream
C#
4
star
23

MonitorBrowserTime

C#
4
star
24

Boxing-Life

C#
3
star
25

midiPyBatcher

put a bunch of .mid in a directory, run this script to batch convert it into .txts
C
3
star
26

txt-cleaner

A viewer requested to have this software & so thou shalst recieve!
C#
3
star
27

new-ECS

C#
2
star
28

Github-Image-Hosting-Service

2
star
29

Joycon-Unity-Exp

C#
2
star
30

5-Hour-GameJam-1

C#
2
star
31

sefdstuff.github.io

JavaScript
2
star
32

matrix-scene

ASP
2
star
33

Infini-Stair-Tutorial

Mathematica
2
star
34

GET-BACK-TO-WORK-

get back to work software
C#
2
star
35

susai-images

1
star
36

DBZ-RNN-Demo

WARNING: THIS IS FROM 2017
C#
1
star
37

Tower_Rescue

jabril push
1
star
38

Community-Game-Jam---Jabrils-Megateam

C#
1
star
39

BriljaSanLib-UNITY

The library I use to speed up a few things. I slowly every once in a while add a function or two or optimize the library a bit.
C#
1
star
40

Tower-Rescue

jabril's version
1
star