Skip to content

An open-source, off-the-shelf drone with easily replaceable parts controlled autonomously indoors using a Raspberry Pi Zero as the on-board computer.

License

Notifications You must be signed in to change notification settings

sagarchotalia/Autonomous-Nano-Drone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autonomous Nano Drone

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)

Specs of Drone Used for Implementation

  1. Kit: IFlight Protek25 Cinematic Drone
  2. FC: Matek Sys F405
  3. Firmware: INav

Setting Up

  1. Install ros (Tested on noetic)
  2. Clone the contents of src folder and paste them to <workspace>/src/ and then run catkin_make
  3. Download the YAMSpy Folder and paste it into your RPI
  4. Go to src/scripts/mqtt.py and edit the IP address and replace it by your RPI's IP
  5. On Ground Control System: roslaunch nano_drone main.launch
  6. SSH to RPI using ssh pi@raspberrypi@local or ssh pi@<IP of RPI>
  7. On Pi, go to YAMSpy/scripts/ run GroundControl.py
  8. Use a to Arm, d to Disarm and q to Quit

Steps to install YAMSpy

In RPI:

  1. Install pip3 --> sudo apt-get python3-pip sudo apt-get update

  2. Install YAMSPy --> sudo python3 setup.py install

Other Dependencies

  1. Install Mosquitto --> sudo apt-get install mosquitto mosquitto-clients
  2. Install mqtt --> pip3 install paho-mqtt

About

An open-source, off-the-shelf drone with easily replaceable parts controlled autonomously indoors using a Raspberry Pi Zero as the on-board computer.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages