Autonomous Drone Navigation using RRT Algorithm

Purpose: given a starting and destination points, let the system find a path from start point to the end point and navigate the drone while avoiding obstacles.

 

The System:

  • Parrot Bebop Drone 2 (using linux driver for communication[1])
  • A webcam mounted on the ceiling
  • Laptop (using ROS system[2])

 

The Flow: with the camera we detect the room with its obstacles and generate a binary map (black/white), then run the RRT algorithm from start to end while skip the black pixels (obstacles), finally run Djikstra algorithm to find the shortest path.

 

After we got the path, we detected the position and orientation of the drone by shapes stuck to its back, then, by applying PD/P controllers to the roll/yaw axis accordingly we sent pilot commands to the drone.

Results: the drone can autonomously fly from A to B without collisions using RRT algorithm.

[1] https://bebop-autonomy.readthedocs.io/en/latest/

[2] https://www.ros.org/