Source-linked AI summary
Model Predictive Contouring Control for Time-Optimal Quadrotor Flight
Angel Romero, Sihao Sun, Philipp Foehn, Davide Scaramuzza
TL;DR
The paper addresses computationally expensive full-dynamics time allocation for minimum-time quadrotor flight through multiple waypoints. It uses MPCC to solve control and time allocation online while optimizing progress and contour error, producing near-time-optimal real-time flight and better real-world lap times than standard MPC and a professional pilot.
Problem
Generating feasible full-quadrotor time-optimal trajectories requires a complex optimization taking minutes to hours, limiting real-time replanning.
Method
MPCC uses full quadrotor dynamics and online state selection to maximize path progress, minimize contour error, and dynamically weight waypoint tracking.
Results
The proposed controller produces near-time-optimal trajectories in real time and achieves better real-flight lap times than standard MPC tracking a time-optimal trajectory.
Takeaways & Limitations
MPCC can exploit actuator potential online, adapting thrust and recovering control authority when disturbances or path deviations occur.
Takeaways & Limitations
The controller currently runs on an external desktop PC and is difficult to run on embedded computers because each optimization is complex.
Abstract
from arXiv · showhide
We tackle the problem of flying time-optimal trajectories through multiple waypoints with quadrotors. State-of-the-art solutions split the problem into a planning task - where a global, time-optimal trajectory is generated - and a control task - where this trajectory is accurately tracked. However, at the current state, generating a time-optimal trajectory that considers the full quadrotor model requires solving a difficult time allocation problem via optimization, which is computationally demanding (in the order of minutes or even hours). This is detrimental for replanning in presence of disturbances. We overcome this issue by solving the time allocation problem and the control problem concurrently via Model Predictive Contouring Control (MPCC). Our MPCC optimally selects the future states of the platform at runtime, while maximizing the progress along the reference path and minimizing the distance to it. We show that, even when tracking simplified trajectories, the proposed MPCC results in a path that approaches the true time-optimal one, and which can be generated in real-time. We validate our approach in the real world, where we show that our method outperforms both the current state-of-the-art and a world-class human pilot in terms of lap time achieving speeds of up to 60 km/h.
I. INTRODUCTION
The paper targets minimum-time quadrotor flight through multiple waypoints, where conventional planning and tracking require computationally expensive full-dynamics time allocation. It proposes MPCC to solve time allocation and control online while approaching time-optimal performance.
- Minimum-time multi-waypoint flight is important for delivery, inspection, search-and-rescue, and drone-racing applications.
- State-of-the-art methods separate global time-optimal trajectory generation from trajectory tracking.
- Minutes to hours are required to generate feasible full-dynamics time-optimal trajectories, hindering online replanning after disturbances.
- MPCC jointly solves time allocation and control by maximizing progress along a nominal path while minimizing distance to it.
- The method uses simplified point-mass planning while retaining full actuator constraints in control, enabling non-smooth inputs that can exploit available thrust.
- Real-flight MPCC lap times outperform both standard MPC tracking a time-optimal trajectory and a world-class professional human pilot.
C. Model Predictive Contouring Control
MPCC combines path tracking and progress optimization in one receding-horizon problem, requiring only a continuously differentiable 3D path. The formulation extends this architecture to three-dimensional quadrotor flight using full nonlinear dynamics and gate-aware costs.
- MPCC minimizes distance to a reference while maximizing progress along it in a receding-horizon optimization.
- Unlike standard MPC, the approach does not require a dynamically feasible time-parameterized reference and instead supports path-based progress optimization.
- The proposed architecture addresses the more challenging three-dimensional setting of autonomous drone racing.
- A novel cost function encodes gate traversal while the optimization uses the full nonlinear quadrotor model.
- The formulation starts from a discrete-time quadrotor system whose states and inputs evolve through the system dynamics.
B. Model Predictive Contouring Control
MPCC replaces fixed time-sampled tracking with online optimization that minimizes distance to a 3D path while maximizing progress along it. It approximates contour and lag errors so the formulation remains tractable online.
- MPCC minimizes projected distance to a three-dimensional reference path while maximizing progress along that path.
- The controller approximates contour and lag errors by projecting position error onto the path’s normal plane and its normal direction.
- The approximation is exact when the approximated lag error is zero, making lag-error minimization necessary for accurate progress and contour estimates.
- The online formulation selects future sampling times through progress dynamics, eliminating the need for pre-sampled state and input references.
C. Arc Length Parameterization of the Paths
Because general curves usually lack closed-form arc-length parameterizations, the method constructs approximate arc-length paths numerically or from sampled points, then fits cubic splines.
- General curves generally lack closed-form arc-length parameterizations, so the method approximates them instead.
- For continuous curves, bisection combines numerical integration and binary search to sample points at constant arc-length intervals.
- For sampled paths, equidistant segments are found by assuming linearity between consecutive samples.
- The resulting path points store arc length, position, and normalized velocity, and are represented with third-order splines.
D. Derivation of Contour and Lag Errors in 3D
The 3D formulation decomposes position error into lag and contour components relative to the path tangent and normal plane, then penalizes their weighted Euclidean norms.
- The tangent and normal-plane projections define the lag and contour errors used by the controller.
- Position error decomposes into a tangent-projected lag component and a component lying in the path’s normal plane.
- The formulation minimizes ql-weighted lag-error and qc-weighted contour-error Euclidean norms.
- The contour projection uses a matrix built from the tangent components to remove the tangent direction from position error.
IV. APPLICATION TO QUADROTORS
The quadrotor MPCC embeds full nonlinear dynamics, rotor-level thrust constraints, aerodynamic drag, and progress dynamics into one optimal-control formulation. Additional constraints and costs regulate virtual inputs and body rates for stability and usable controls.
- Quadrotor dynamics: The model state includes position, unit-quaternion attitude, linear velocity, and body rates, while inputs include collective thrust and body torques.
- Quadrotor dynamics: Collective thrust and torques are decomposed into four individual rotor thrusts, exposing the real single-rotor actuator constraints.
- Quadrotor dynamics: A diagonal linear-drag model augments the quadrotor dynamics with directional drag coefficients.
- MPCC formulation: Progress acceleration is used as a virtual input instead of direct progress velocity to avoid unconstrained changes and noisy controls.
- MPCC formulation: Constraints and costs on progress acceleration, thrust variation, and body rates stabilize the optimization and prevent unusably noisy inputs.
C. Dynamic Allocation of Contouring Weight
The controller dynamically allocates contouring weight around waypoints while emphasizing progress elsewhere, balancing path adherence with speed. It uses waypoint-centered Gaussian weighting to produce a smooth, stable cost allocation.
- The controller balances contouring error, which drives the platform toward waypoints, against progress, which accelerates traversal along the path.
- The contouring weight qc(θk) increases near waypoints and otherwise remains at qnom, giving progress greater importance away from them.
- Waypoint positions are encoded through a collection of 3D Gaussians whose equal, small covariance widths localize their influence without overlap.
- Gaussian weighting changes smoothly with θk, preventing cost discontinuities and supporting controller stability despite approximate path projection.
- The proposed controller takes a 3D path and waypoints as inputs and outputs a policy balancing fast traversal with closeness to the path at waypoint locations.
- The approach retains differences from a true time-optimal trajectory because its horizon and formulation use approximations and additional cost terms.
V. PATH GENERATION
The MPCC can use a nominal path that is continuously differentiable in its parameter rather than time-parameterized. These paths are reparameterized by arc length before being supplied to the algorithm.
- The nominal path need only be continuously differentiable with respect to its parameter; time parameterization is not required.
- The proposed section presents three different ways to generate the nominal path used by MPCC.
- Each nominal path is reparameterized by arc length to obtain pd(θk) before use with the MPCC algorithm.
A. Multi-Waypoint Minimum Snap
This section compares nominal-path generation strategies for multi-waypoint flight, including polynomial, full-model time-optimal, and point-mass approaches. Full-model trajectories are highly expensive to compute, motivating simpler paths for real-time MPCC use.
- A. Multi-Waypoint Minimum Snap: Minimum-snap polynomial trajectories pass through upcoming waypoints while minimizing the second derivative of acceleration in a receding-horizon procedure.
- A. Multi-Waypoint Minimum Snap: Polynomial trajectories can produce only polynomial control inputs, limiting arbitrarily fast-changing inputs and undermining agility.
- Complementary Progress Constraints generate time-optimal waypoint trajectories by simultaneously optimizing time allocation and the trajectory under the full nonlinear quadrotor model.
- Minutes to several hours are required to generate full-state CPC trajectories, making them intractable for real-time applications; reinforcement-learning training also takes hours.
- The proposed MPCC instead tracks paths generated from a point-mass model with bounded accelerations, whose point-to-point trajectories have a closed-form solution.
- Point-mass multi-waypoint planning treats the problem as a shortest-path search over sampled velocities at each gate, minimizing total traversal time.
A. Time-Optimal Hover to Hover Comparison
The MPCC closely approximates a full-model time-optimal trajectory even when tracking a simple straight-line reference. For multi-waypoint flight, dynamic contouring weights help the controller pass all gates, while a CPC reference preserves competitive lap times.
- A. Time-Optimal Hover to Hover Comparison: A 15 m hover-to-hover MPCC execution closely matches the CPC time-optimal trajectory in position, velocity, and acceleration.The MPCC tracks only a continuously parameterized straight line, while the CPC trajectory is computed using the full quadrotor model.
- A. Time-Optimal Hover to Hover Comparison: The MPCC finds locally optimal solutions because its finite horizon and cost also penalize contouring, lag, and input smoothness.CPC instead uses information about all past and future platform states to find the time-optimal trajectory.
- 1) Multi-Waypoint Minimum Snap:: Dynamic contouring weights let the MPCC pass through all gates, whereas fixed weights cause missed gates or trajectories too close to gate edges.The dynamic formulation does not notably change the speed profile despite deprioritizing progress near waypoints.
- 2) Time-Optimal Full Model (CPC):: A minimum-snap reference produces sharper turns and long straights that the finite-horizon MPCC cannot avoid while passing through the gates.This reference does not encode long-term time-optimal behavior.
- 2) Time-Optimal Full Model (CPC):: CPC-MPCC lap times are very similar to the Reference CPC theoretical lower bound, showing that the MPCC benefits from long-term information encoded in the CPC path.The choice of reference path is therefore highly relevant for competitive lap times.
3) Time-Optimal Point-Mass Model (PMM):
A simpler point-mass trajectory supplies long-term path information without the computational burden of full-model CPC planning. Tracking it with MPCC produces behavior approaching time-optimal flight and remains more tolerant of state-estimation delays than standard MPC.
- 3) Time-Optimal Point-Mass Model (PMM):: The MPCC requires only a continuously differentiable 3D path, allowing it to track computationally cheaper time-optimal point-mass trajectories.Unlike full-model CPC trajectories, the point-mass reference does not incur the same computational burden.
- 3) Time-Optimal Point-Mass Model (PMM):: From Hg = 3 gates, increasing the gate horizon yields negligible improvement in total time over 3 laps.The reported totals are averaged over 10 runs.
- 3) Time-Optimal Point-Mass Model (PMM):: Tracking a time-optimal PMM path with MPCC makes platform behavior approach the time-optimal CPC trajectory.Progress maximization provides short-term time optimality, while the PMM path supplies long-term information.
- 3) Time-Optimal Point-Mass Model (PMM):: CPC-MPC lap times are almost identical to Reference CPC because the time-sampled reference fixes when each reference state is visited.This differs from MPCC, which selects future states at runtime.
- C. Time Delay Study: The proposed MPCC completes the track with up to 50 ms of delay, while standard MPC fails to track the reference at 25 ms delay.MPCC can react to delay because it does not use a time-sampled reference and selects states online.
A. Implementation Details
The implementation uses real-time nonlinear optimization and evaluates MPCC against standard MPC and a human expert in real-world flight. The experiments show that MPCC approaches the full-model time-optimal trajectory and achieves favorable lap-time and robustness behavior.
- Real-time implementation: The MPCC optimization runs at a 100 Hz feedback rate and a 16.6 Hz prediction rate using ACADO and QPOASES.The controller uses a real-time iteration scheme.
- Real-time implementation: A horizon length of N = 20 gives a solver time of about 5 ms while leaving computation time for other control-pipeline modules.Although N = 25 is the maximum horizon for a 10 ms solver call, the experiments use N = 20 for smoother overall execution.
- Experimental comparison: The real-world benchmark compares MPCC with the fastest executed CPC trajectory tracked by MPC and a world-class professional drone racing pilot.The human pilot used a similar platform with matched thrust-to-weight ratio for the comparison.
- Experimental comparison: The PMM-reference MPCC trajectory approaches the theoretical full-model time-optimal CPC reference in real flight.The experiment also compares MPCC tracking a CPC reference, standard MPC tracking CPC, and a human expert.
- Experimental comparison: For progress costs larger than µ = 500, gate errors become significantly larger and can cause crashes against gate frames.This reflects the trade-off between faster progress and contour error.
- Experimental comparison: MPCC achieves better lap times than standard MPC tracking a CPC trajectory despite having a slightly lower maximum velocity.The paper attributes this to MPCC making better use of the available control-authority safety margin.
- Experimental comparison: MPCC spends more time at higher speeds and is reported as more robust to delays than standard MPC.The experiments mainly associate delays with communication involving motion capture and the Laird module.
- Experimental comparison: Human trajectories open more and overshoot in most turns, consistent with vision-based flying behavior and visualimotor response latencies of about 220 ms.The paper links this behavior to coordinated yaw, pitch, and roll commands used to orient the camera toward upcoming waypoints.
VIII. DISCUSSION
The discussion explains how MPCC handles a nonlinear full-quadrotor optimization problem while reducing tuning demands and supporting flexible speed selection. It reports strong simulation and real-world racing performance, alongside a current limitation in onboard computational deployment.
- Controller formulation: Problem (17) is a non-convex nonlinear program because spline-based path errors produce high-degree polynomials and the rotational dynamics are nonlinear.The contour and lag error norms have polynomial degrees 24 and 12, respectively.
- Controller tuning: Only two scalar parameters, qc and µ, remain to tune after regularization and approximation weights are fixed.The paper states that this reduces the dimensionality of the hyperparameter space.
- Controller tuning: Changing the progress weight µ selects the platform’s tracking speed without recomputing the entire reference trajectory.Standard reference-tracking MPC requires the reference to be recomputed when the desired speed changes.
- Limitations: The controller currently runs externally at 5 ms and is difficult to deploy on embedded computers such as the NVIDIA Jetson TX2.The paper suggests newer MPC-specific solvers as a possible remedy.
- Discussion and contribution: The MPCC formulation uses sampling-based, non-feasible, close-to-time-optimal trajectories and dynamically adapts contouring weights near gates.The approach is presented as suitable for drone racing and real-time replanning.
- Discussion and contribution: The controller delivers better lap times than standard MPC tracking a time-optimal trajectory by using the full actuator potential more effectively on the real platform.This comparison is reported for real-world deployment.
- Discussion and contribution: The method achieves stable aggressive flight at very high speeds, bringing autonomous drone racing closer to competing with the best human pilots.The paper identifies onboard state estimation and perception at high speeds as remaining challenges.
- Discussion and contribution: Tracking non-feasible trajectories and selecting desired speeds can reduce planning computation and support sampling-based planners without dynamic-feasibility constraints.The paper presents this as a potential utility beyond drone racing.