Major project · March 2025

Vision-Based Autonomous UAV for Obstacle Detection, Avoidance, and Navigation

How does a small quadrotor see an obstacle and change course when the only computer onboard is a Raspberry Pi?

Final-year major project, Department of Electronics and Computer Engineering, Institute of Engineering, Thapathali Campus. Submitted March 2025. Supervisor Er. Umesh Kanta Ghimire.

Team of four: Bishal Bhandari, Hari Joshi, Jyotsna Jha, and Kalyan Kumar Shrestha. I led it and did most of the build.

Submitted to the department as "A Vision based Autonomous UAV for Obstacle Detection, Avoidance and Navigation in Cluttered Environment."

The aircraft is an F330 frame in quad-X, with a Pixhawk 4X and a Raspberry Pi 4B. An Intel RealSense D435 supplies the color and depth image. The Pi talks to the flight controller over UART.

YOLOv8 marks obstacles. The Pi cannot run the training-time model as it is, so I exported it to ONNX, quantized it to TensorFlow Lite (FP16 or INT8), and ran it with OpenCV DNN. Depth from the RealSense fills an occupancy map. RRT* searches a path around what that map contains. I first flew this loop in ROS, Gazebo, and RViz, including an offboard simulation that climbed to 2.5 m under keyboard velocity commands. Then I moved the same stack onto the airframe.

The report does not publish a single detection score. It says the quantized detector reached a satisfactory mAP, and that this model was what flew on the Pi.

A Pixhawk log from the field tests shows the auto segment between 0 and 1 m/s, averaging 0.36 m/s. Altitude on that log sits between about 0.9 and 1.5 m. The log's satellite field reads 29 to 32. The conclusion records flights in the college parking lot, a forest area, and open ground.

The first physical tests were not limited by the detector. GPS interference from the Raspberry Pi and the battery produced glitches, EKF and AHRS errors, and sudden falls. Raising the GPS module off the other electronics reduced that, which means the perception stack was not the whole stability problem.

The logged flight is low and slow. It is not evidence for fast flight through dense clutter, and it is not flight without GPS. The log's satellite field is high, so this was not a weak-GPS test.