Indoor Navigation System for autonomous UAV
Before development, I was instructed to research methods and techniques that are available to navigate indoors with a drone without using GPS. It turned out that computer vision can be the most accurate if it is implemented properly. Another possibility is to use RF poles.
Based on the research done I was tasked with the development of such a system. Here I have developed a localization algorithm to navigate in a closed environment by detecting at least 3 markers around the drone and mapping things like the distance to the marker, the pitch and yaw of the drone.
The drone had 6 8MP cameras mounted in a hexagon which were both used for the localization and obstacle avoidance.
I had to design and print out a case which could house the embedded Linux micro controller (Nvidia Tx1) and the 6 cameras in a hexagon.
I had to write the algorithm in CUDA, so that the CPU had enough resources to run the 6 8MP cameras and OpenCV with ArUco. Multiple processes had to communicate through a ‘dynamic’ scheduler i had written in C.
After the localization algorithm was written I was tasked with writing an algorithm which could analyze plants it flew over in real time.