Landing Accuracy
8 cm CEP
Sim Trials
25 validated
Platform
Parrot Mambo
Overview
A vision-based autonomous landing system for the Parrot Mambo mini-drone. A downward-facing camera detects an ArUco marker on the landing platform. A PID guidance law closes the loop on the marker's image-plane position error, commanding velocity inputs to the drone until touchdown within 8 cm circular error probable (CEP).
Problem Statement
Precision landing on designated pads is critical for drone logistics and autonomous recharging. GPS provides meter-level accuracy — insufficient for small landing pads. Vision-based landing using onboard cameras can reach centimeter-level precision. The challenge is designing a guidance law that is robust to marker partial occlusion, varying altitude, and aerodynamic disturbances near ground effect.
Digital Twin in MATLAB/Simulink
The complete system — drone dynamics, camera model, image processing pipeline, and PID controller — was implemented as a Simulink model. The drone is modeled as a rigid body with aerodynamic drag and rotor thrust. Ground effect is approximated with an altitude-dependent thrust boost factor. 25 Monte Carlo trials with randomized wind disturbances and marker offsets validated the guidance law before hardware deployment.
Vision Pipeline — ArUco Detection
The Parrot Mambo's downward camera streams frames at 30 FPS. OpenCV's ArUco detector locates the 6×6 marker and estimates its pose relative to the camera using solvePnP. The image-plane centroid error (pixels from frame center) and altitude estimate from the onboard barometer are fused to compute a 3D position error in the drone body frame.
PID Guidance Law
Three independent PID loops control x, y (horizontal position) and z (altitude) separately. The horizontal PIDs act on image-plane error scaled by altitude — as the drone descends, the same pixel error corresponds to smaller physical displacement, so the gain is altitude-adaptive. The altitude PID commands descent rate, decelerating as the drone approaches the pad to ensure gentle contact.
Hardware Results
On the Parrot Mambo, the system achieves an 8 cm CEP across 10 hardware landing trials from 1.5 m starting altitude. The controller handles marker partial occlusion up to 40% without loss of lock. Ground effect is compensated within 0.3 m altitude, preventing hover instability during final approach.
def track_target(self, frame):
target = self.detect_marker(frame)
error = target.pos - self.uav.pos
cmd = self.pid.compute(error)
self.publish_velocity(cmd)Tools & Stack
Key Outcomes
8 cm CEP on hardware across 10 landing trials
25 successful Simulink simulation trials with wind disturbances
Altitude-adaptive PID gain scheduling for robust descent
Marker tracking maintained through 40% occlusion