With the project Remote Drone Controller you will be able to control any drone remotely anywhere in the world over the mobile network using 360 video streaming technology.
We are going to do, step by step, everything in order for anyone who is familiar with Raspberry PI and drones to do his own remote drone controller system.
The 3 folders of the project contain:
-
/Apps: APK apps for Android based devices (Smartphones/tablets, Oculus Go, Oculus Quest)
-
/CommandServer: Binary server that will connect the all the involved actors through mobile network.
-
/PythonRobot: Python scripts that will connect the robot with the app.
Autonomous Drones need of a back up system in case the artificial inteligence isn't able to handle particular situations.
That's where this system is going to be useful for a person to remotely take control of the drone and drive it safely to its destination.
The project is currently functional for a land drone, but since the programming is done with Python it will be easily extrapolable to flying drones.
On the next videos we will learn everything in order to make it work.
-
Chapter 1: Setting up the Raspberry PI: Here we will install all the necessary hardware and software on the Raspberry PI side in order for the project to work.
-
Chapter 2: Setting up the servers for the app to work: We will install our command server that will manage the requests from the app to the drone and we will see how to set up our streaming server to get the video feed.
-
Chapter 3: Understanding the app: Here we will see the necessary steps we have to do in order to run the app and use it to control the drone.
-
Chapter 4: Understanding Python controller: In this tutorial we will run the Python scripts in Raspberry PI that will communicate directly with the drone.
I will be focusing to explain specifically about this project, so there will be parts that won't be explained in greater detail because there are better explanations out there. I will put all these references and video tutorials in the description for you to follow.
-
Chapter 1: Setting up the Raspberry PI
- Installation of Raspbian: https://www.youtube.com/watch?v=M26GYJzblEY
- Enable SSH on Raspbian: https://youtu.be/RgUM8ulMfHE
- Download WinSCP: https://winscp.net/eng/download.php
- How to use WinSCP: https://youtu.be/WIOpNuQc068
- Installation of RaspiCam: https://www.youtube.com/watch?v=iLHij-mQVF4
- iRobot Create2 Video tutorial as a reference: https://youtu.be/ItZw1eZNjJE
- Install OpenCV: https://www.youtube.com/watch?v=QV1a1G4lL3U
- Sensor BerryIMU: https://ozzmaker.com/berryimu-quick-start-guide/
-
Chapter 2: Setting up the servers for the app to work
- Hosting cloud services: https://www.digitalocean.com/
- Installation of RTMP server: https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/
- 360 CAMERAS: https://www.insta360.com/
-
Chapter 3: Understanding the app
- Install APK from Unknown sources: https://www.youtube.com/watch?v=AwzdF3vXu04
- Sideload APK on Quest: https://youtu.be/nlflUCGOuHo
- ADB Minimal: https://androidmtk.com/download-minimal-adb-and-fastboot-tool
-
Chapter 4: Understanding Python controller
- OpenCV (Image processing): https://opencv.org/