Skip to content

DroneLib is a C++ (OpenCV + FFMPEG + SDL) Jumping sumo drone library for desktop with Keyboard/Gamepad control, Video and Audio streaming

License

Notifications You must be signed in to change notification settings

ndongmo/DroneLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DroneLib

DroneLib is a C++ (OpenCV + FFMPEG + SDL) Jumping sumo drone library for desktop. This library doesn't use the ARDrone SDK and only support command for AR.DRONE 2.0. It can be adapted theoretically with other kind of drone (I tested only on Jumping sumo) by adding specific commands. The source provided here has been built in visual studio 2013 (X86). This library provides a lightweight implementation of common protocols of ARDrone 2.0, so it can be a good start for a drone-based project! Please, refer to this video on my youtube channel.

Features

  • Keyboard/Gamepad (interchangeable) for drone control
  • Video streaming (640x480) decoded with ffmpeg decoder
  • Bodies (Upper body) detection using Opencv CascadeClassifier
  • Audio streaming (freq: 16000, format: AUDIO_S16SYS, channels: 1, samples: 1024); I used SDL_AudioSpec for decoding raw audio data
  • Almost all Jumping sumo commands are implemented.

Architecture

Here is the class diagram describing the library architecture.

Library architecture

How to use

First, you can try the executable in the setup directory. the DLLs inside are those of X86 system. The default parameters are :

  • drone address : 192.168.2.1
  • discovery port : 44444
  • receiving port : 43210
  • sending port : 54321

In case of error, you can consult the generated log file. The source code has been compiled as I said earlier with Visual studio 2013 with window socket, ffmpeg, OpenCV and SDL libraries. So, you should link these libraries before compiling. For any further questions, please feel free to ask!

Authors

  • F. Ndongmo Silatsa

Licence

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Dranger ffmpeg and SDL Tutorial.
  • puku0x for its implementation of CV Drone.
  • Internet ...

About

DroneLib is a C++ (OpenCV + FFMPEG + SDL) Jumping sumo drone library for desktop with Keyboard/Gamepad control, Video and Audio streaming

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published