Inspiration

Our solution utilizes a decoupled control that offloads high-speed attitude stabilization to the MPU6050 via Mode 2, while external Python PID loops manage spatial positioning. We isolate axis correction by assigning the Front camera to X/Z tracking and the Side camera to Y-axis depth. We implemented Color Excess filtering to calculate the drone's center of mass while ignoring ambient light noise. We employ an automated takeoff sequence that records a pitch/roll baseline on the ground and ramps motor thrust gradually until lift-off is visually confirmed. We assume insignificant yaw drift and eliminate control spikes through Δt normalization.

Challenges we ran into

As newcomers to drone control systems, integrating hardware sensing with real-time control loops was challenging. Camera calibration, noisy visual data, and tuning PID parameters for stable hovering required extensive testing. Synchronizing sensor data with camera feedback while avoiding latency and control oscillations was another key obstacle.

Accomplishments that we're proud of

We implemented a hovering system using a hybrid control architecture that combines IMU stabilization with external computer vision. Our multi-camera axis isolation and Color Excess filtering allowed reliable position tracking despite lighting noise. We also built an automated takeoff routine that safely transitions the drone from ground to hover.

What we learned

Through this project, we learned how sensor fusion, control theory, and computer vision can work together in autonomous systems. We gained hands-on experience with PID tuning, IMU stabilization, camera-based tracking, and designing control pipelines that handle noisy real-world data. And the power of friendship.

What's next for Drone Hovering SideQuesters

Embark on another side-quest

Built With

Share this project:

Updates