← Back to Home

VIO-based Quadcopter

Visual-Inertial Odometry-Based Autonomous Quadcopter

QUadcopter Hero

Project Overview

This project focused on enabling fully autonomous quadcopter navigation in a GPS-denied environment using only onboard sensing. Our primary goal was to implement and integrate stereo visual-inertial odometry (VIO), an SE(3) controller, and minimum-snap trajectory planning, allowing the quadrotor to navigate and avoid obstacles using real-time onboard state estimation. This was part of a capstone project for MEAM 620 at the University of Pennsylvania.

My Contributions

Technologies

Tools: ROS1 · Python · Visual-inertial odometry (VIO) · Extended Kalman Filter (EKF) design · SE(3) geometric control · System integration and tuning

Platform: Ubuntu 20.04 + ROS1

What I Learned

This project taught me how challenging it is to bring a quadrotor from simulation into real flight. I learned the importance of sensor fusion for stable state estimation, the limits of PID tuning under changing flight conditions, and how battery constraints, vibration, and safety concerns shape design decisions. It showed me how to integrate mechanical, electrical, and software components into a single reliable system, and how critical simulation-first testing is before flying hardware.