Drones use GPS to localise themselves in the surrounding environment. But GPS fails to work indoors hence it is limited to outdoor applications. This package uses an exterinsic sensor for localisation of drone. This is done using a previously implemented localisation technique "Whycon" which uses exterinsic sensors for data.
Using this package, a drone can be made to Autonomously navigate its environment which is as big as field view of camera. This package also makes the transmitter system obsolete. Emergency controls are available on Terminal GUI.
Drone can be armed/disarmed using the command prompt. The GUI also shows the feedback of important parameters like Battery Voltage, FC Commands, and Motor Values.
The Drone is supposed to have an onboard Flight Computer ( RPI Zero 2W ) for communicating with ground control system. The Flight Computer communicates with Flight Controller using Multi Wii Serial Protocol(MSP)
- Kit: IFlight Protek25 Cinematic Drone
- FC: Matek Sys F405
- Firmware: INav
- Install ros (Tested on noetic)
- Clone the contents of src folder and paste them to
<workspace>/src/
and then run catkin_make - Download the YAMSpy Folder and paste it into your RPI
- Go to
src/scripts/mqtt.py
and edit the IP address and replace it by your RPI's IP - On Ground Control System:
roslaunch nano_drone main.launch
- SSH to RPI using
ssh pi@raspberrypi@local
orssh pi@<IP of RPI>
- On Pi, go to
YAMSpy/scripts/
runGroundControl.py
- Use
a
to Arm,d
to Disarm andq
to Quit
-
Install pip3 --> sudo apt-get python3-pip sudo apt-get update
-
Install YAMSPy --> sudo python3 setup.py install
- Install Mosquitto --> sudo apt-get install mosquitto mosquitto-clients
- Install mqtt --> pip3 install paho-mqtt