Undergraduate Drone Autonomy Research

Fall 2023 - Summer 2024 | SDSU SPACE Lab

Autonomous Navigation Python Computer Vision (OpenCV) Robotics & UAV Systems Controls SLAM (Simultaneous Localization and Mapping)

Project Overview

This is where I fell in love with Dynamics and Control. During my time at the SPACE Lab, under the leadership of Professor Ahmad Bani Younes, I worked on developing autonomous navigation algorithms for drones using Python and OpenCV. The project involved enabling drones to navigate paths using QR codes. I left the project in Summer 2024 to focus on a difficult Junior year, but the experience I gained here was invaluable and solidified my passion for aerospace engineering. It is important to note that Dr. Ahmad Bani Younes was on sabbatical in my junior year, which contributed to my decision to leave the project early.

Timeline

Month Milestone
Nov. 2023 Dr. ABY accepted me into his lab and tasked me with self-learning Python.
Dec. 2023 Completed Python basics and used it to send commands to a DJI Tello EDU drone.
Jan. 2024 Developed initial QR code detection and navigation using OpenCV. The drone was able to read commands from the QR code.
Feb. 2024 Developed algorithm to detect QR code shape and size to estimate the position vector of the drone to the QR code.
Mar. 2024 Conducted indoor flight tests and refined navigation algorithms.
Apr. 2024 No progress due to classes.
May. 2024 No progress due to classes.
Jun. 2024 Began learning how to use ORB-SLAM3 software for object mapping. Necessary because the drone had monocular forward vision and 2 downward facing lidars to detect its distance to the floor.
Jul. 2024 Attempted implementing ORB-SLAM3 on the drone; however, the drone's Python package and ORB-SLAM3's Python bindings relied on incompatible Python versions.
Aug. 2024 Left the project to focus on junior year course load.

Video Demonstrations

Short demonstrations and flight tests showcasing autonomous navigation, QR-code based commands, and algorithm behavior.

Basic Drone Maneuvering with Python (December, 2023)
Learning OpenCV and implementing it in the drone. (February, 2024)
The drone attempting to reach a certain distance to the QR-code before executing its command. (March, 2024)

GitHub Repository

All sharable code can be found in the GitHub repository linked below:

View Repository on GitHub →