---
kind: concept
slug: model-predictive-control
title: Model predictive control (MPC)
summary: >-
  Solve a finite-horizon optimal control problem from the current state, apply only the first input and re-solve. In autonomous racing it is the most common control approach. Variants add nonlinear, sampling, learned or logic-based models, learned or imitation-trained policies and LLM-set parameters. Racing sources give no head-to-head comparison.
tags: [control, motion-planning, autonomous-racing, optimal-control, safety-filter, legged-robots, multi-robot]
papers: ["1311.1839", "2202.07008", "2403.15993", "2404.06229", "2405.18418", "2406.01152", "2407.01392", "2411.03465", "2412.00581", "2412.03174", "2412.13474", "2412.19669", "2505.03238", "2506.07823", "2510.21773", "2604.02401", "2606.31889", "2311.02304"]
related: [cooperative-driving-automation, diffusion-models, control-barrier-function, linear-quadratic-regulator, active-set-method, interior-point-method, parallel-scan, direct-collocation, kinematic-bicycle-model, model-based-reinforcement-learning, world-model, safety-filter, reinforcement-learning-verifiable-rewards, actor-critic, multi-agent-systems, gaussian-process, impedance-control, human-in-the-loop, sim-to-real-transfer, imitation-learning, foundation-model, long-short-term-memory, inverse-kinematics, a-star-search, digital-twin, proximal-policy-optimization, domain-randomization]
status: draft
updated_at: 2026-10-31
---

## Overview

Model predictive control (MPC) chooses each control input by solving a finite-horizon optimal control problem from the current measured state. It applies only the first input of the solution and solves the problem again at the next time step [arxiv:2202.07008 §2.3]. The survey presents this receding-horizon loop as the general pattern that most of its control methods follow [arxiv:2202.07008 §2.3].

In autonomous racing, MPC is the most popular control strategy according to the survey [arxiv:2202.07008 §2.3]. The reference that the loop follows is a trajectory with a speed profile [arxiv:2202.07008 §2.3]. For local planning, the survey names modifying the global line by optimisation, usually with MPC, so that the car avoids other cars [arxiv:2202.07008 §2.2].

Outside racing, the same receding-horizon pattern appears in a sequence model that plans a window of future tokens and executes only the first action [arxiv:2407.01392 §3.4]. That paper is a generative model, not a vehicle controller, and its results come from simulated and robot tasks [arxiv:2407.01392 §4.2] [arxiv:2407.01392 §4.4].

Off-road vehicles use NMPC too. A tractor pulling a trailer can be tracked with an NMPC on a kinematic model of the articulated vehicle, which assumes no lateral slip [arxiv:2606.31889 §2] [arxiv:2606.31889 §5]. Results there are simulation only [arxiv:2606.31889 §5].

A receding loop with a check in place of an optimiser also appears in backup-based safety filters, which keep a nominal controller while it is safe [arxiv:2604.02401 §IV-A] [arxiv:2604.02401 §V].

Not every per-step QP is MPC. The humanoid walking paper says that MPC over its full 34-DOF model is too expensive, and it solves one QP per control step with a surrogate cost instead [arxiv:1311.1839 §1] [arxiv:1311.1839 §3].

Legged robots are a second main setting. There the MPC is a QP or SQP problem solved every control step, and the solver is the design choice. One paper builds a GPU-parallel SQP-style MPC for legged robots [arxiv:2506.07823 §2] [arxiv:2506.07823 §3], and a review compares the QP solver families it would run on [arxiv:2510.21773 §2] [arxiv:2510.21773 §4]. A learned world model can also pick actions by MPPI, a sampling-based MPC, in a humanoid task [arxiv:2405.18418 §2].

MPC also appears in multi-robot control, bipedal push recovery and car-like local planning. In multi-robot formations, each robot in a distributed MPC normally solves a numerical problem at every step, which the paper calls heavy for nonlinear robots. The paper replaces that solve with policies learned online [arxiv:2412.19669 §I] [arxiv:2412.19669 §IV-B]. For a biped that is pushed, one paper writes the recovery as an MPC whose objective is the robustness of a signal temporal logic (STL) specification, solved as a smooth nonlinear program at 50 Hz [arxiv:2403.15993 §V-B] [arxiv:2403.15993 §VII]. For car-like robots in clutter, a comparison pits an NMPC with a fixed receding horizon against a timed-elastic-band planner, and the authors' tests favour the timed-elastic-band planner [arxiv:2412.03174 §2] [arxiv:2412.03174 tab. 3].

Three further sources name MPC without evaluating it. The small-car survey lists MPC as one option for choosing a driving behaviour [arxiv:2404.06229 §4.5]. The review of digital twins for autonomous surface vessels lists MPC among path-following controllers and among control families [arxiv:2411.03465 §4.6.1] [arxiv:2411.03465 §4.6.2]. The legged-locomotion survey lists caching expensive MPC solutions as one way to combine control with learning [arxiv:2406.01152 §6.3].

The autonomous-racing variants below come from the survey [Autonomous Vehicles on the Edge](/papers/2202.07008), which reviews other work and reports no experiments of its own. The LLM-set variant comes from [RobotxR1](/papers/2505.03238), which keeps a classical MPC and lets a language model choose its parameters. The sequence-model variant comes from [Diffusion Forcing](/papers/2407.01392), the safety-filter variants come from [Backup-Based Safety Filters](/papers/2604.02401), and the tractor-trailer variant comes from [Tractor-trailer path tracking with NMPC](/papers/2606.31889). The GPU-parallel legged-robot variant comes from [Primal-Dual iLQR for GPU-Accelerated Learning and Control in Legged Robots](/papers/2506.07823), the solver guidance from [Real-Time QP Solvers](/papers/2510.21773), and the learned-model MPPI planner from [Hierarchical World Models as Visual Whole-Body Humanoid Controllers](/papers/2405.18418). The learned-policy variant comes from [Toward Scalable Multirobot Control](/papers/2412.19669), the STL-guided push recovery from [Robust-Locomotion-by-Logic](/papers/2403.15993), the car-like NMPC comparison from [Resilient Timed Elastic Band Planner](/papers/2412.03174), the off-road dynamics model from [Dynamics Modeling using Visual Terrain Features](/papers/2412.00581), and the co-manipulation planner from [Planning Human-Robot Co-manipulation](/papers/2412.13474).

## Variants

### Nonlinear MPC (NMPC)

The vehicle model is nonlinear. The survey names an NMPC solved with FORCES Pro on the vehicle [arxiv:2202.07008 §2.3]. The same NMPC is the base of one of the learned-model variants below [arxiv:2202.07008 §2.3].

### NMPC for an articulated tractor-trailer

The model has a front-steered tractor with a central articulation joint and a hitched trailer, written with six states and three inputs (the front speed and two joint rates) [arxiv:2606.31889 §2]. The controller tracks the trailer's xy position, not the tractor's, over a 6 s horizon sampled every 0.1 s, with three collocation points per sampling period [arxiv:2606.31889 §3] [arxiv:2606.31889 §4] [arxiv:2606.31889 §5]. Only the first input is applied before the problem is solved again. Speed, joint angles and joint rates are bounded [arxiv:2606.31889 §5]. In a Gazebo simulation of a seeding field, the trailer error stays below 16 cm along x once moving and below 12 cm along y in headland turns [arxiv:2606.31889 §5.2] [fig. 7]. The authors report violent oscillation in the inputs and propose first-order filters on the joint angles, whose constants are not given [arxiv:2606.31889 §5.2]. Card: [Tractor-trailer path tracking with NMPC](/papers/2606.31889).

### Hierarchical NMPC

Two controllers work at different levels. The high level uses a point-mass model, and the low level uses a high-fidelity model [arxiv:2202.07008 §2.3]. The survey does not report timing results for it.

### Tube MPC and LPV-MPC

Tube MPC bounds the effect of disturbances with a tube of reachable sets [arxiv:2202.07008 §2.3]. The survey also names linear parameter-varying MPC (LPV-MPC) in the same control section, without further detail [arxiv:2202.07008 §2.3].

### Sampling-based MPC (MPPI)

The survey names MPPI and a robust MPPI as sampling-based MPC variants [arxiv:2202.07008 §2.3]. The survey gives no further detail on how they work. The survey's dating of the MPPI paper is inconsistent, see Contradictions.

The humanoid planner in [Hierarchical World Models](/papers/2405.18418) also uses MPPI, but inside a learned latent world model rather than a vehicle model. Its policy prior provides the warm start for the sampling [arxiv:2405.18418 §2]. The paper's hyperparameter table lists 8 MPPI iterations [arxiv:2405.18418 tab. 5], and its timing table gives a per-step inference time of 88.2 ms for Puppeteer against 50.8 ms for TD-MPC2 [arxiv:2405.18418 tab. 3]. The paper reports matching TD-MPC2 return on 8 humanoid tasks, except stairs, and treats this as author-reported [arxiv:2405.18418 §4.2].

### GPU-parallel SQP MPC (legged robots)

This variant runs one warm-started SQP iteration per control call, with multiple shooting, barrier terms for inequality constraints and a parallel filter line search [arxiv:2506.07823 §2.2] [arxiv:2506.07823 §2.5] [arxiv:2506.07823 §2.6]. The paper replaces the sequential Riccati backward pass with a parallel associative scan, which it gives as O(log N) depth over the horizon [arxiv:2506.07823 §2.4]. The solver is written in JAX, and the paper reports it running on a desktop GPU and in a laptop GPU on the real robot [arxiv:2506.07823 §4.1]. Author-reported speed-ups: up to 60% lower runtime than crocoddyl on whole-body models, and up to 700% over acados on single-rigid-body models, where the paper does not define the percentage [arxiv:2506.07823 abstract] [arxiv:2506.07823 §4.2]. Crocoddyl is faster below 80 nodes in the paper's own sweep [arxiv:2506.07823 §4.2]. For 16 centralised single-rigid-body robots, the paper reports a solve of about 25 ms [arxiv:2506.07823 §4.3]. Card: [Primal-Dual iLQR for GPU-Accelerated Learning and Control in Legged Robots](/papers/2506.07823).

### Imitation of an MPC expert, then RL fine-tuning (quadrupeds)

The expert is a DDP-based MPC with friction-pyramid constraints for stance legs and Raibert foot placement for swing legs. It runs only in simulation, because the authors say the formulation cannot run in real time on hardware [arxiv:2311.02304 §III-A]. Its horizon is 26 steps of 0.01 s [arxiv:2311.02304 §III-A]. A 512-256-64 MLP copies the expert with DAgger, using 10 rollouts per iteration and ending a rollout on non-foot contact or a 70° flip [arxiv:2311.02304 §III-B]. The student is then fine-tuned with PPO on rough, discrete rough, step and cliff terrain, using a terrain curriculum, domain randomisation, a policy learning rate of $10^{-5}$ and a PPO clip of 0.05 [arxiv:2311.02304 §III-C]. The authors' aim is to keep the expert's style during this stage [arxiv:2311.02304 §I]. Results are author-reported on a Mini Cheetah. The finetuned policy with a contact reward (IFM(CR)) crosses 7.5 cm steps in 9 of 10 trials, against 8 of 10 for vanilla RL with the same reward, and it passes the slippery test that vanilla RL(CR) fails [arxiv:2311.02304 tab. 2]. The paper reports MPC optimisation time falling from 0.0154 s to 0.0010 s [arxiv:2311.02304 §IV-B]. In simulated linear tracking, IFM(CR) is slightly behind vanilla RL(CR), at 0.1879 against 0.1766 [arxiv:2311.02304 tab. 1]. The hardware MPC baseline is a convex MPC with whole-body impulse control, not the DDP expert that is cloned [arxiv:2311.02304 §IV-A]. Card: [Imitating and Finetuning MPC](/papers/2311.02304).

### Sparse randomised and stochastic MPC

This variant uses data collected along the track to tighten the constraints [arxiv:2202.07008 §2.3] [fig. 8]. For a 1:43 car the survey reports a 20 ms solve time, and it says the controller gives faster laps and fewer constraint violations than a standard MPC, without listing values [arxiv:2202.07008 §2.3]. Card: [Autonomous Vehicles on the Edge](/papers/2202.07008).

### Learning MPC (LMPC)

LMPC uses the trajectories of earlier laps to make each lap faster while keeping the constraints [arxiv:2202.07008 §2.3].

### LLM-set MPC parameters

The controller stays a kinematic MPC that follows a racing line. A small language model reads an instruction and writes a dictionary of MPC parameters, such as cost weights and speed bounds, which is then applied to the controller [arxiv:2505.03238 §3.1] [arxiv:2505.03238 §3.3]. Training is supervised fine-tuning followed by GRPO. Each sampled parameter set is scored by the relative RMSE improvement over the default MPC in a simulated lap, clipped below at -4 [arxiv:2505.03238 §3.3] [arxiv:2505.03238 eq. 3]. The paper trains the 1.5B and 3B models with GRPO, using LoRA adapters and 750 steps for this module [arxiv:2505.03238 §4.1]. The 7B model was fine-tuned with SFT only [arxiv:2505.03238 §4.1]. On one track with paraphrased instructions, the 3B model scores 63.3% control adaptability against 58.5% for GPT-4o, both author-reported [arxiv:2505.03238 tab. 2]. Card: [RobotxR1](/papers/2505.03238).

### MPC with a Gaussian-process model

Gaussian-process models learn the gap between the planned path and the driven path. They run online or inside an NMPC [arxiv:2202.07008 §2.3].

### Receding-horizon planning with a sequence model

Diffusion Forcing plans a window of future tokens at each step, conditioned on a latent of the past. It executes the first action and updates the latent with the new token [arxiv:2407.01392 §3.4]. The window can be shortened to act as a policy or lengthened to plan, without retraining [arxiv:2407.01392 §3.4]. On single-task Maze2D the paper reports an average reward of 141.7, against 119.5 for Diffuser* [arxiv:2407.01392 §4.2]. Short MPC-style plans are used for compositional generation [arxiv:2407.01392 §4.3]. Card: [Diffusion Forcing](/papers/2407.01392).

### Receding-horizon safety filters (MPS and gatekeeper)

These filters do not solve an optimisation. At each update they roll out the nominal policy for a switch time and then a backup policy for a backup horizon. They check that the result stays in the safe set and ends in a terminal safe set [arxiv:2604.02401 §IV-A]. Model Predictive Shielding (MPS) tests one switch time, the monitor interval, and applies the nominal input when the candidate is valid [arxiv:2604.02401 §IV-B]. Gatekeeper searches switch times from the longest down and applies the nominal input while the largest valid switch time is positive [arxiv:2604.02401 §V]. The review proves that MPS is a special case of gatekeeper when the monitor interval is at most the search horizon [arxiv:2604.02401 §VI-A]. Its simulation results are author-reported: in reach-avoid the nominal controller is kept on 55.3% of steps with MPS and 87.5% with gatekeeper [arxiv:2604.02401 tab. 2]. Card: [Backup-Based Safety Filters](/papers/2604.02401).

### STL-guided MPC for biped push recovery

The cost is the robustness degree of a signal temporal logic specification. After a push, the apex of the walk must re-enter a Riemannian safety region within the next two steps [arxiv:2403.15993 §V-A] [arxiv:2403.15993 §V-B]. The horizon covers the current step and two future steps, with seven knots per step, so M = 21 knots [arxiv:2403.15993 §VI-A] [arxiv:2403.15993 §VII]. It is solved as a nonlinear program with SQP in SNOPT, built in pydrake, and runs at 50 Hz on one computer [arxiv:2403.15993 §VII]. If a solve fails, the low-level controller keeps the previous plan [arxiv:2403.15993 §VII]. The crossed-leg check uses learned networks in place of iterative inverse kinematics. The paper reports a maximum error of 0.03 m and evaluation above 1 MHz, against under 1 kHz for the iterative route [arxiv:2403.15993 §VI-C]. The paper reports larger tolerated impulses than ALIP-MPC and an LTL planner in simulation, but the text gives no numbers and the comparison is shown in a figure [arxiv:2403.15993 §VIII-E] [fig. 15]. Reproduction depends on Drake for the analytic network gradients and the warm start [arxiv:2403.15993 §X]. Card: [Robust-Locomotion-by-Logic](/papers/2403.15993).

### Learned policies in distributed MPC

Each robot runs a small actor network and a critic, trained online at every prediction interval, and applies the trained actor for one step [arxiv:2412.19669 §IV-B] [arxiv:2412.19669 §III-B]. The learned policy may not decrease the overall cost monotonically, so the method checks against a baseline stabilising policy with a decreasing cost. If the check fails, the weights are reset and the interval is repeated [arxiv:2412.19669 §IV-C] [arxiv:2412.19669 alg. 1]. A barrier-based variant handles state and control limits [arxiv:2412.19669 §V]. The authors report learning and deployment for up to 10,000 simulated robots, and a 2-robot policy deployed directly to 1,000 robots, with no error figures for the transfer runs [arxiv:2412.19669 §VI] [fig. 5]. The deployment time is about 0.02 ms per robot per step, and it covers evaluating the learned policy only [arxiv:2412.19669 §VI-C]. The learning time for 10,000 robots in the paper's table is 14.57 s on one centralised machine [arxiv:2412.19669 tab. III]. Card: [Toward Scalable Multirobot Control](/papers/2412.19669).

### NMPC as a local planner for car-like robots

The NMPC baseline uses a fixed receding horizon, and its feasibility-check cost grows with horizon length [arxiv:2412.03174 §2]. The authors' comparison is for car-like robots in cluttered, narrow-gap settings. Across five randomised environments with 20 trials each, NMPC reaches 75% success against 90% for the timed-elastic-band variant, and a maximum planning frequency of 12 Hz against 17 Hz [arxiv:2412.03174 tab. 3]. Combining the planner with NMPC is described as future work, because of the fixed horizon [arxiv:2412.03174 §5]. Card: [Resilient Timed Elastic Band Planner](/papers/2412.03174).

### Learned hybrid dynamics for sampling-based MPC (off-road)

A bicycle-type physics model supplies the forces, and an LSTM corrects them from terrain features [arxiv:2412.00581 §4] [arxiv:2412.00581 §4.1]. The terrain features come from DINOv2 ViT-S/14, reduced by PCA to 40 dimensions and compressed per wheel by an encoder trained end-to-end [arxiv:2412.00581 §3.2] [arxiv:2412.00581 §5]. The model is built for an MPPI planner with a 5 s horizon, but the planner's cost is in another paper and is not part of this one [arxiv:2412.00581 §3.1]. Author-reported: about 10% lower mean summed loss than a no-feature model when hindsight features are used [arxiv:2412.00581 §6.1]. With features taken at realistic projection distances, the gain holds only within about 0 to 30 m [arxiv:2412.00581 §6.2]. The paper gives no runtime or memory figures. Card: [Dynamics Modeling using Visual Terrain Features](/papers/2412.00581).

### Single-shot trajectory optimisation named MPC (co-manipulation)

The planner for human-robot co-manipulation is named MPC, but in use it is not receding-horizon. It solves once, when the first 0.2 s of human motion are observed, and the trajectory is run without re-planning [arxiv:2412.13474 §5.1]. Horizons are 30 steps for the planar arm and 50 for the Franka arm, with solve times of 0.04 s, 0.20 s and 1.3 s [arxiv:2412.13474 tab. 1]. The evidence is qualitative, from one operator and five trials per goal [arxiv:2412.13474 §5.1] [arxiv:2412.13474 §5.2]. Card: [Planning Human-Robot Co-manipulation](/papers/2412.13474).

## When to use which

The racing survey gives no head-to-head comparison of its MPC variants. The safety-filter review compares three filters head-to-head, but only in its own simulations. The LLM-set variant is tested on one track. The choices below rest on what each variant is described as doing and on those author-reported runs.

| Situation | Use | Why |
|---|---|---|
| Nonlinear vehicle dynamics matter and a fast nonlinear solver runs on board | NMPC | Solved on the vehicle with FORCES Pro [arxiv:2202.07008 §2.3] |
| Trailer behind a low-speed articulated tractor must follow a path, and a kinematic model is accurate enough | NMPC on the articulated tractor-trailer model | Tracks the trailer through the joint model; simulation only, with trailer errors of 16 cm (x) and 12 cm (y in turns) [arxiv:2606.31889 §5.2] |
| Disturbances must be bounded around the nominal trajectory | Tube MPC | Bounds their effect with a tube of reachable sets [arxiv:2202.07008 §2.3] |
| Model uncertainty can be learned from data along the track | Sparse randomised or stochastic MPC | Tightens constraints from track data; 20 ms solve time reported for a 1:43 car [arxiv:2202.07008 §2.3] |
| Two levels of model fidelity are wanted | Hierarchical NMPC | High and low level use different models [arxiv:2202.07008 §2.3] |
| Many laps on the same track | Learning MPC | Each lap is faster than the last while constraints hold [arxiv:2202.07008 §2.3] |
| An existing MPC must follow natural-language instructions, and a simulator can score rollouts | LLM-set MPC parameters | Tuned by GRPO on simulated laps; 3B model at 3.74 s latency on a Jetson Orin AGX [arxiv:2505.03238 tab. 3], but its control score falls from 63.3% to 47.9% when quantised to Q5 [arxiv:2505.03238 tab. 5] |
| Model mismatch that can be measured online | MPC with a Gaussian-process model | Learns the gap between planned and driven path [arxiv:2202.07008 §2.3] |
| Planning a sequence with a learned generative model and no vehicle controller | Receding-horizon planning with a sequence model | Plans a window and executes the first action; author-reported Maze2D results [arxiv:2407.01392 §3.4] [arxiv:2407.01392 §4.2] |
| Whole-body humanoid balance and walking at torque level, with a 34-DOF model | One warm-started QP per control step, not full-model MPC | The paper calls full-model MPC too expensive; reports about 0.2 ms QP solve time in simulation on one robot [arxiv:1311.1839 §1] [arxiv:1311.1839 tab. 1] |
| Keep a task controller while it is safe, and fall back to a backup otherwise | Gatekeeper, run in parallel when compute is tight | Nominal kept on 87.5% of reach-avoid steps against 55.3% for MPS and 28.8% for Backup CBF; parallel gatekeeper gives the same closed loop at lower compute time [arxiv:2604.02401 tab. 2] [arxiv:2604.02401 §VII-B] |
| Same safety goal, but per-step compute must stay low | MPS | Tests one switch time; 1.31 ms average against 10.86 ms for serial gatekeeper in reach-avoid, but keeps the nominal controller less often (55.3% against 87.5%) [arxiv:2604.02401 tab. 2] |
| Long-horizon, sparse MPC QP on a CPU or embedded target | Structure-exploiting interior-point solver (HPIPM) | The review's guidance for long-horizon MPC [arxiv:2510.21773 §4]; a relayed benchmark also finds HPIPM fastest on sparse QPs [arxiv:2510.21773 §3] |
| High-rate whole-body control with small-to-medium dense QPs | Dense active-set solver or ProxQP | The review's guidance for whole-body control [arxiv:2510.21773 §4]; its selection tables are qualitative judgements [arxiv:2510.21773 tab. 1] |
| Legged robot, many robots or large batches on one GPU, in a JAX simulator | GPU-parallel SQP MPC | Author-reported: 16 centralised robots in about 25 ms [arxiv:2506.07823 §4.3]; acados is competitive only for small batches [arxiv:2506.07823 §4.4] |
| Quadruped must walk on rough or slippery ground, an MPC expert can run in simulation, and onboard compute is tight | Imitate the MPC expert with DAgger, then fine-tune with PPO under tight exploration limits | Author-reported: 7.5 cm steps in 9 of 10 trials against 8 of 10 for vanilla RL(CR), and it passes the slippery test that vanilla RL(CR) fails [arxiv:2311.02304 tab. 2]; MPC optimisation time 0.0154 s down to 0.0010 s [arxiv:2311.02304 §IV-B] |
| Learned latent model of a humanoid, and a sampling planner is acceptable | MPPI in a world model, warm-started by a policy prior | Author-reported: matches TD-MPC2 on 8 tasks except stairs [arxiv:2405.18418 §4.2]; 88.2 ms per step [arxiv:2405.18418 tab. 3] |
| Biped must recover from pushes, and crossed-leg steps must be allowed; a 50 Hz planner on one computer is acceptable | STL-guided MPC with learned collision checks | Author-reported larger tolerated impulses than ALIP-MPC in simulation, shown in a figure [arxiv:2403.15993 §VIII-E] [fig. 15]; needs Drake for the reported setup [arxiv:2403.15993 §X] |
| Many robots keep a formation, and a numerical solve per robot per step is too costly on small hardware | Learned policies in distributed MPC | Per-robot deployment about 0.02 ms; learning 14.57 s for 10,000 robots on one machine [arxiv:2412.19669 tab. III]; cost is lower without obstacles and higher with them [arxiv:2412.19669 tab. III] |
| Car-like robot in dense clutter, and a fixed receding horizon is acceptable | NMPC as a benchmark, not the first choice | In the authors' tests the timed-elastic-band planner has higher success (90% against 75%) and frequency (17 Hz against 12 Hz) [arxiv:2412.03174 tab. 3] |
| Off-road vehicle where terrain changes its dynamics, and a sampling planner is used | Learned bicycle-plus-LSTM model with visual terrain features | About 10% lower loss with hindsight features; benefit limited to about 0 to 30 m at realistic distances [arxiv:2412.00581 §6.1] [arxiv:2412.00581 §6.2] |
| Human-robot co-manipulation with a goal to guess early, and no re-planning is needed | Single-shot trajectory optimisation, not receding-horizon MPC | Solve once at 0.2 s, with 0.04 s to 1.3 s solve times; evidence from one operator [arxiv:2412.13474 §5.1] [arxiv:2412.13474 tab. 1] |

## Implementation sketch

Our own wording of the receding-horizon loop the survey describes [arxiv:2202.07008 §2.3]. Variants differ inside `solve_ftocp`: the model, the cost, the constraints and the solver. The safety filters replace `solve_ftocp` with a candidate check over a switch time [arxiv:2604.02401 §IV-A] [arxiv:2604.02401 §V]. The LLM-set variant keeps `solve_ftocp` unchanged and changes only the parameters passed to it [arxiv:2505.03238 §3.1]. The GPU-parallel SQP variant replaces `solve_ftocp` with one warm-started SQP iteration per call, using the previous solution shifted by one step [arxiv:2506.07823 §2.6].

```pseudocode
# Receding-horizon MPC loop  [arxiv:2202.07008 §2.3]
# Inputs: reference trajectory with a speed profile, horizon N

def mpc_loop(reference, horizon):
    while driving:
        # Measure the current state; each step restarts from it  [§2.3]
        state = measure_state()
        # Solve the finite-time optimal control problem over N steps  [§2.3]
        states, inputs = solve_ftocp(state, reference, horizon)
        # Apply only the first input; the rest is discarded  [§2.3]
        apply(inputs[0])
```

## Contradictions

No disagreement between the papers on results, since they measure different things in different settings. The survey dates the Williams et al. MPPI paper 2016 in its planning table and 2015 in its control table [arxiv:2202.07008 tab. 2] [arxiv:2202.07008 tab. 3]. This is a bibliographic conflict inside the survey, not a conflict in results. The survey also gives a 20 ms solve time for sparse randomised MPC without the lap-time or violation values it compares against [arxiv:2202.07008 §2.3]. The Diffusion Forcing numbers are author-reported and come from simulated maze and robot tasks, so they cannot be compared with the racing results [arxiv:2407.01392 §4.2] [arxiv:2407.01392 §4.4].

RobotxR1 gives two numbers for the same gain: its abstract and §4.3 give 20.2 points for the 1.5B model over SFT, while Table 2 gives 11.3% (SFT) and 41.5% (SFT+RLVR), a 30.2-point difference [arxiv:2505.03238 §4.3] [arxiv:2505.03238 tab. 2]. This page uses the table. The same paper gives an average latency of about 8.3 s for its deployed 3B model in §4.4, while Table 3 gives 3.74 s for that model and hardware [arxiv:2505.03238 §4.4] [arxiv:2505.03238 tab. 3].

The safety-filter review's theorem says gatekeeper accepts every state that MPS accepts when the monitor interval is at most the search horizon [arxiv:2604.02401 §VI-A]. Its public code searches a grid five times coarser than the monitor interval, so that candidate is generally not tested there. The card's Paper vs code section records this gap, so the inclusion is not guaranteed for the code as run ([Backup-Based Safety Filters](/papers/2604.02401)). The same review also notes that its simulation runs use a double integrator, a reach-avoid hallway and a highway model, with five trials each and no variance reported [arxiv:2604.02401 §VII] [arxiv:2604.02401 tab. 2].

The humanoid paper says full-model MPC is too expensive for its robot [arxiv:1311.1839 §1]. It does not run an MPC baseline on that model, so this is a claim about cost, not a measured result.

The tractor-trailer paper gives two different articulation-joint limits: ±45° in its definition and ±60° as the bound used in the MPC [arxiv:2606.31889 §5]. Its headline numbers also measure different things. The 16 cm and 12 cm figures are trailer errors, while the tractor-front baseline's front-block error in headland turns is below 3.8 m [arxiv:2606.31889 §5.1] [arxiv:2606.31889 §5.2]. The two should not be compared directly.

The GPU-parallel legged-robot paper reports up to 60% lower runtime than crocoddyl in its abstract, for whole-body models, and up to 700% over acados for single-rigid-body models [arxiv:2506.07823 abstract]. These come from different baselines and metrics, and the paper does not define the 700% figure, so the two should not be merged into one number [arxiv:2506.07823 §4.2]. Its batched real-time factors also conflict inside the paper: the text gives 570× at 50 Hz, while the table lists 370× and 570× for 50 Hz and 25 Hz [arxiv:2506.07823 §4.4] [arxiv:2506.07823 tab. I]. The 25 ms figure for 16 robots is "about 25 ms" in §4.3 and "less than 25 ms" in the abstract [arxiv:2506.07823 §4.3] [arxiv:2506.07823 abstract].

The imitation-finetuning paper gives three compute figures. Section III-A gives 12.382 ms for one DDP MPC optimisation, section IV-B gives 0.0154 s for MPC and 0.0010 s for IFM, and Table 3 calls IFM "< 1 ms" [arxiv:2311.02304 §III-A] [arxiv:2311.02304 §IV-B] [arxiv:2311.02304 tab. 3]. The hardware and load behind each are not stated. Its simulated slippery-ground results rely on training terrain, but the listed training terrains have no slippery surface, and the simulated friction is not given. The hardware slippery test uses friction 0.22, below the training range of 0.3 to 1.0 [arxiv:2311.02304 §III-C] [arxiv:2311.02304 §IV-C].

The solver review runs no experiments and relays its benchmark results from other work, so its guidance is not a measured ranking on the authors' own hardware [arxiv:2510.21773 §3] [arxiv:2510.21773 §4].

The distributed-MPC paper gives different verdicts depending on the metric. Without obstacles, its per-step cost V is lower than the numerical baseline's at two robots (0.73 against 1.46 for IPOPT) [arxiv:2412.19669 tab. III]. Its cumulative cost over 180 steps at two robots is higher, 16.9 against 8.9 for the baseline [arxiv:2412.19669 §VI]. With obstacles, V is 13.5 against 5.0 for IPOPT at two robots, and the baseline is infeasible at four robots [arxiv:2412.19669 tab. III]. The table also compares unequal horizons, 20 steps for the proposed method and 10 for the baselines [arxiv:2412.19669 §VI]. The released code differs from the paper in horizon and discount, and the card's Paper vs code section records these gaps [arxiv:2412.19669 §VI-A] [code: dlpc_online_train_scales_to_10000.py#L221].

The car-like planner paper gives "about 20%" in its abstract for lower distance, time and control effort, but no single table entry matches that figure [arxiv:2412.03174 tab. 4]. The co-manipulation paper calls its planner MPC, while the experiments solve it once and execute it open loop [arxiv:2412.13474 §3.3] [arxiv:2412.13474 §5.1]. The name should not be read as receding-horizon control.

## Papers

- [An Efficiently Solvable Quadratic Program for Stabilizing Dynamic Locomotion](/papers/1311.1839): a warm-started QP for humanoid walking and balance; not an MPC, and it argues that full-model MPC is too expensive.
- [Autonomous Vehicles on the Edge: A Survey on Autonomous Vehicle Racing](/papers/2202.07008): a survey of 233 racing papers up to 2021; MPC is its most common control approach and covers planning and control variants.
- [Hierarchical World Models as Visual Whole-Body Humanoid Controllers](/papers/2405.18418): a TD-MPC2 world-model planner that picks actions by MPPI, with a frozen tracker below it; author-reported results on 8 humanoid tasks.
- [Diffusion Forcing: Next-token Prediction Meets Full-Sequence Diffusion](/papers/2407.01392): a causal sequence model with per-token noise that plans a receding window of future tokens; author-reported Maze2D results.
- [RobotxR1: Enabling Embodied Robotic Intelligence on Large Language Models through Closed-Loop Reinforcement Learning](/papers/2505.03238): small Qwen2.5 models trained with GRPO to set the parameters of a racing MPC; author-reported results on one track.
- [Primal-Dual iLQR for GPU-Accelerated Learning and Control in Legged Robots](/papers/2506.07823): a GPU-parallel SQP-style MPC in JAX for legged robots, using a parallel scan; author-reported speed-ups against crocoddyl and acados.
- [Imitating and Finetuning Model Predictive Control for Robust and Symmetric Quadrupedal Locomotion](/papers/2311.02304): a DDP-based MPC expert cloned into an MLP with DAgger and fine-tuned with PPO; author-reported Mini Cheetah results.
- [Real-Time QP Solvers: A Concise Review and Practical Guide Towards Legged Robots](/papers/2510.21773): a review of convex QP solver families for legged-robot MPC and whole-body control; no new experiments, and it gives solver guidance.
- [Backup-Based Safety Filters](/papers/2604.02401): a review and tutorial that puts MPS and gatekeeper, with Backup CBF, in one framework; author-reported simulation comparison.
- [Tractor-trailer path tracking with NMPC](/papers/2606.31889): NMPC on a kinematic tractor-trailer model that tracks the trailer's xy position; simulation only, author-reported errors.
- [Robust-Locomotion-by-Logic](/papers/2403.15993): push-recovery MPC for the Cassie biped, with an STL robustness cost and learned leg-collision checks; author-reported simulation comparison.
- [Autonomous Driving Small-Scale Cars: A Survey of Recent Development](/papers/2404.06229): a survey of small-scale car platforms that lists MPC as one behaviour-selection option; no experiments.
- [Learning-based legged locomotion; state of the art and future perspectives](/papers/2406.01152): a survey of learned legged locomotion that lists caching MPC solutions among its hybrid patterns; no experiments.
- [Digital Twin for Autonomous Surface Vessels: Enabler for Safe Maritime Navigation](/papers/2411.03465): a review that maps vessel digital twins to capability levels and lists MPC among path-following controllers; no experiments.
- [Dynamics Modeling using Visual Terrain Features for High-Speed Autonomous Off-Road Driving](/papers/2412.00581): a bicycle-plus-LSTM vehicle model with DINOv2 terrain features, built for an MPPI planner; author-reported loss results.
- [Resilient Timed Elastic Band Planner](/papers/2412.03174): a TEB-based local planner compared with NMPC and MPPI for car-like robots; author-reported simulation and real-vehicle tests.
- [Planning Human-Robot Co-manipulation with Human Motor Control Objectives and Multi-component Reaching Strategies](/papers/2412.13474): a single-shot, open-loop trajectory optimiser named MPC; qualitative evidence from one operator.
- [Toward Scalable Multirobot Control: Fast Policy Learning in Distributed MPC](/papers/2412.19669): learned, online actor-critic policies in place of the per-step solve of distributed MPC; author-reported scale results.
