Topics: Model Predictive Control
The Linear MPC is a special case of the Finite Horizon Optimal Control MPC where the system dynamics function is linear, i.e. xk+1=f(xk,uk)=Axk+Buk and the cost function is typically quadratic. This makes Linear MPC a convex quadratic program that can be solved efficiently in real time, which is its main advantage over nonlinear versions.
There are 2 widely popular applications of Linear MPC presented below: reference tracking and regulation.
The objective of the reference tracking problem is to drive the state and control of the system as close as possible to a pre-defined desired trajectory. For example, in an autonomous vehicle, the path planning algorithm generates a reference trajectory, and MPC optimizes the vehicle controls to follow it.
{u0,…,uN−1}minsubject toi=0∑N−1[(xi−xr,i)⊤Q(xi−xr,i)+(ui−ur,i)⊤R(ui−ur,i)]+(xN−xr,N)⊤Qf(xN−xr,N)xi+1=Axi+Bui,i=0,…,N−1,x0=xinit,xi∈X,i=0,…,N,ui∈U,i=0,…,N−1,xN∈Xf.
where
- Q⪰0 penalizes state deviations
- R≻0 penalizes control deviations
- Qf⪰0 is the terminal cost matrix
Q, R, and Qf are typically diagonal matrices, and make it possible to penalize different states/control at different scales.
The objective of a regulation problem is to drive the state of the system to an equilibrium point, typically the origin xe=0,ue=0, while minimizing control effort. It is similar to the reference tracking problem with the reference points being 0.
{u0,…,uN−1}minsubject toi=0∑N−1(xi⊤Qxi+ui⊤Rui)+xN⊤QfxNxi+1=Axi+Bui,i=0,…,N−1,x0=xinit,xi∈X,i=0,…,N,ui∈U,i=0,…,N−1,xN∈Xf.