Skip to content

This project leverage Machine learning/Computer vision to make a low-cost Drone smarter and autonomous.

License

Notifications You must be signed in to change notification settings

DIT-AI-Drone-Course/smart-drone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart drone

This project leverage from Machine learning/Computer vision and Robotics to make a low-cost Drone smarter(Tello).

Check out the video

Features

  • Control the drone by gestures
  • People tracking
  • People searching
  • Sound feedback
  • Morse commands using the camera
  • Keyboard control
  • Drone path monitoring
  • Drone path planning
  • Video streaming using Webrtc
  • Remote control using websocket
  • HTML 5 joystick control
  • Apple IOS joystick control (check the ios branch)

Install dependencies

We provide the requirements.txt file with the required Python dependencies but OpenCV and FFMPEG is tricky to install, and you should check on the internet how to install those properly

pip install -r requirements.txt

How to run

You don't need to have a drone to play with the project, the project come with a simulated option which will use your comera and you will be able to see the drone moving on the path monitoring window.

If you have the Tello drone, you will need to turn off the mock on the main function call.

The path window has to be focused in order to use the keyboard control

Libraries and packages

  • OpenCV - used to process the images
  • Pygame - used to show the path monitoring, path planning and keyboard event
  • MediaPipe - used to detect the people body
  • simple-pid - used to help with PID controller when moving the drone
  • aiortc - used for the Web Real-Time Communication (WebRTC)
  • ffmpeg - used for video streaming
  • aiohttp - used for the async http server

The gesture module was highly inspired by Tello-openpose


Free Advanced Java Course

I am the author of the Advanced Java for adults course. This course contains advanced and not conventional lessons. In this course, you will learn to think differently from those who have a limited view of software development. I will provoke you to reflect on decisions that you take in your day to day job, which might not be the best ones. This course is for middle to senior developers and we will not teach Java language features but how to lead complex Java projects.

This course's lectures are based on a Trading system, an opensource project hosted on my Github.


About

This project leverage Machine learning/Computer vision to make a low-cost Drone smarter and autonomous.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 94.4%
  • Python 5.1%
  • Other 0.5%