In this age of Autonomy where most of the things work automatically, we are moving towards a world of autonomous robots and cars. With this motivation, the goal was to develop an autonomous drone capable of precisely tracking an object using Machine Vision technology. It was used the Bebop Drone fabricated by Parrot because it has a Software Development Kit (SDK), which gives unlimited possibilities. When the drone is turned on it creates its own Wi-Fi hotspot, using a computer with a wireless card is possible to connect to the drone and control it. The program created in this project is written in C/C++ and has several functionalities, it offers the option to control the drone manually using the keyboard and it was also created an algorithm to track a specific kind of marker autonomously. The Machine Vision is done using OpenCV and the marker is an ArUco marker (a kind of square fiducial marker), there are 250 different markers and the drone is able to recognize all of them and track only the desired one. The tracking algorithm uses the marker’s size in pixels and relates this information to real world coordinates, the program uses those real world coordinates and linear equations to calculate the best value for the drone’s speed in order to closely track the marker. By doing so if the object is moving fast the drone will also move fast and if the object is moving slowly so will the drone.
Students' Posters (Click to enlarge)