ROBOTICS 101Concept explainer

Model Predictive Control (MPC)

Model predictive control plans ahead. Every step, it imagines many possible control sequences over a short horizon, scores each one with a model of the robot, applies only the first move of the best one, and then plans again from scratch.

Click to move the goal.

Receding horizon

At each step, MPC solves

$$\min_{u_0, \dots, u_{N-1}} \sum_{k=0}^{N-1} \ell(\mathbf{x}_k, u_k) + \ell_N(\mathbf{x}_N) \quad \text{s.t. } \mathbf{x}_{k+1} = f(\mathbf{x}_k, u_k),\ \ u_k \in \mathcal{U}$$

then applies \(u_0\) and repeats. This page solves it by sampling: it tries many random steering sequences, which is the idea behind methods like MPPI, used on fast off-road robots.

What to notice

The faint lines are the futures the controller considered. Obstacles and turning limits are handled naturally, because any sampled plan that crashes simply scores badly. A short horizon is shortsighted and can get trapped behind an obstacle. A longer horizon sees around it but costs more computation. Replanning every step means the robot recovers from surprises, which is the big strength of MPC.