Model Predictive Control with reference tracking and terminal weight

291 Views Asked by At

In Model Predictive Control (MPC), When a reference is supposed to be tracked, we like an objective function in form of

$$J=\sum_{i=1}^N ||\boldsymbol{r}(k+i)-\boldsymbol{y}(k+i)||^2_{\boldsymbol{Q}(i)}+\sum_{i=0}^{M-1} ||\boldsymbol{u}(k+i)||^2_{\boldsymbol{S}(i)}+\sum_{i=0}^{M-1} ||\Delta\boldsymbol{u}(k+i)||^2_{\boldsymbol{R}(i)}$$

There is no problem so far.

But, when it comes to stability and a terminal weight is supposed to be imposed everyone turns into a different form of cost function

$$J=\boldsymbol{x}^T(k+N)\boldsymbol{Q}_N\boldsymbol{x}(k+N)+\sum_{i=0}^{N-1} ||\boldsymbol{x}(k+i)||^2_{\boldsymbol{Q}(i)}+\sum_{i=0}^{M-1} ||\boldsymbol{u}(k+i)||^2_{\boldsymbol{S}(i)}$$

First of all, they count $i$ from $0$ to $N-1$ instead of $1$ to $N$. But, we know the manipulated variables effect only the next sample times. Thus the $0^{th}$ phrase is redundant.

The second point is does terminal weight works well with reference tracking? Is there any definition of cost function for reference tracking including a terminal weight? (Please provide a reference.)

Reference tracking formulation: Wang 2009