Acrobatic Quadrotor Flight

SE(3) geometric control with L1 adaptive augmentation on a Crazyflie 2.1 — zero-radius flips, recovery, and 94% disturbance rejection in ROS 2 simulation.

Minimum-jerk trajectory, zero-radius flip, recovery, and hold — flown by the SE(3) + L1 controller in Gazebo Harmonic.

An SE(3) geometric controller with L1 adaptive augmentation for the Crazyflie 2.1 micro quadrotor, implemented as a ROS 2 + Gazebo Harmonic simulation stack with a full ROS–Gazebo bridge (odometry, IMU, pose, and motor-command topics).

Why geometric control

Euler-angle attitude controllers hit singularities exactly where acrobatics live — near ±90° pitch. The SE(3) controller works directly on the rotation manifold: attitude error is computed from rotation matrices, so a zero-radius flip is just another trajectory rather than a special case. Thrust and moments are computed from geometric position/velocity/attitude errors, with mode switching across hover, minimum-jerk trajectory tracking, flip, and recovery.

Why L1 augmentation

Geometric control assumes the model is right. Real vehicles (and imperfect simulators) have unmodeled drag, thrust mismatch, and external pushes. The L1 adaptive loop estimates the matched disturbance at high rate through a state predictor, and cancels it through a low-pass filter — keeping the adaptation aggressive without exciting high-frequency dynamics. The controller stays a geometric controller; L1 just makes its model assumption true.

Results

Left: position tracking across trajectory, flip, recovery, and hold modes. Right: attitude response through the flip.
The L1 loop absorbing force-step disturbances at the motor-command level.
Metric Result
Position-tracking RMSE 2.2 cm
Force-step disturbance rejection up to 94%
Maneuvers hover, minimum-jerk tracking, zero-radius flip, recovery

Code: github.com/souravselvaraj/crazyflie-se3-l1