Fast, constraint-aware drone control with Linear MPC. The system couples a clean dynamics/kinematics model with a real-time L-MPC outer loop and PID attitude inner loop to track aggressive 3D paths and reject wind—Gazebo/ROS-validated with <0.1 m error and sub-millisecond QP solves.
We built a fast, constraint-aware Linear Model Predictive Controller (LMPC) for multirotors and validated it in Gazebo/ROS. The outer LMPC optimizes roll, pitch, yaw, and thrust while respecting actuator and angle limits; a PID inner loop stabilizes attitude. An augmented-state EKF estimates wind so the controller tracks paths offset-free even in gusts. Results show sub-0.1 m error on straight lines, ±0.2 m on aggressive curves, and ≈0.8 ms QP solves per cycle.
Modeling: 6-DoF rigid-body dynamics with aerodynamic drag; small-angle linearization around hover; ZOH → discrete prediction model.
Control: Two-layer cascade—LMPC outer loop with box constraints; PID inner loop for attitude, identified as a first-order system from flight logs.
Disturbance rejection: Wind modeled as constant acceleration over the horizon, injected into velocity states and estimated via EKF.
Real-time optimization: Problem-specific CVXGEN QP solver with warm-starts.
1. Curved trajectories: Tight tracking through rapid heading changes (±0.2 m; ≤0.3 m overshoot).
2. Straight-line ramps: Sub-0.1 m steady-state error with predicted rise time.
3. Compute: ≈0.8 ms average QP solve per step (real-time feasible).
4. Wind disturbance rejection: Maintains offset-free tracking under injected wind; an augmented-state EKF estimates the constant disturbance so the controller cancels bias and returns to the reference (see wind demo).
I built the dynamics/kinematics model and discrete prediction model, designed the Linear MPC outer loop with a PID attitude inner loop, added an augmented-state EKF for wind for offset-free tracking, and produced the evaluation plots/simulations used in the poster/report.
Attitude system identification (roll): Chirp excitation with commanded (green), measured (blue), and identified-model simulation (red). The model reproduces amplitude and phase trends across the sweep, validating it for controller design.