April Tag-Based Navigation for AUAVs
Autonomous marker-based object detection, state estimation & control

ROLE: Computer Vision & Robotics Software Engineer


SKILLS UTILIZED: April Tag algorithm development, Android App development, Networking, Data Collection, Data Processing, Data Analysis, Coding (C++, Python)   


SOFTWARE: OpenCV, ArUco detection library, ROS 2, Android studio, DJI SDK



Depending on the operational environment of an autonomous system, a great deal of perceptual uncertainty may be introduced to an object detection model. For instance, changes in environmental lighting, reflections, lens flares, and other factors may require a system to be incredibly robust in order to avoid failure. Unfortunately, many machine learning techniques require a great deal of resources to obtain robustness, and this may not be feasible for some engineering teams.

April tag-based (or marker-based) detection offers a means of obtaining reliable performance without the need of machine learning techniques. However, in more complex and dynamic environments this technique may not be sufficient. 

For this project, a joint marker detection, state estimation, and control algorithm was developed for AUAVs. 

* Marker Detection: The algorithm first detects ArUco markers in the incoming visual data stream

* State Estimation: The relative transforms of the AUAV with respect to the marker is calculated

* Control: The output of the state estimation (relative transform) is utilized to generate a trajectory for aligning the UAV with the center of marker, and performing a subsequent gate maneuver