Drones are currently in widespread usage, due to their low price, ease of use, practicality, and suitability for many different tasks. Since most of drones’ tasks include navigation, autonomous camera-based navigation system has become a fundamental feature that is required by all drones.
In this project we are controlling two drones such that both are following the same path, and each drone start on a different side of the path.
One drone is blindly following the path underneath, using the same principle as in a line follower robot, and the second one follows the commands that are generated after applying the RRT algorithm to the path.
In general, RRT paths are longer than the optimal paths, and contain unnecessary turns, so we will try to make a smoother path from the original one.
As for obstacle avoidance (in our case the blind drone), we used transfer learning: we used a pretrained YOLO neural network and trained it again on a small dataset (~150 images of the drone) so that the drone that follows the RRT can detect it and apply maneuvering when it is needed.
All the work is done using Pycharm, and mainly we used opencv library, and the djitellopy (as the drone used in the project is tello) package.