Processing math: 100%

Model Predictive Control(3)--Prediction

Model predictive control is like playing chess, at ,each time step, you choose the best strategy to win. In this process, you make prediction based on current situation. This article discuss about the prediction in MPC

Prediction with SS model

Basic concepts of prediction

Discrete models are one-step ahead prediction model, that is, given data at time k, we can determine data at k+1:

xk+1=Axk+Bukyk=Cxk+dk}yk+1=Cxk+1+dk+1yk+1=CAxk+CBuk+dk+1

Nomally we can assume that $dk=d{k+1}$.

It should be noticed that one step prediction can be used recursively to find an n-step ahead prediction as follows

xk+1=Axk+Bukxk+1=Axk+Bukxk+2=Axk+1+Buk+1xk+2=A[Axk+Buk]+Buk+1xk+3=Axk+2+Buk+2xk+3=A([Axk+Buk]+Buk+1)+Buk+2

general step is

xk+n=Anxk+An1Buk+An2Buk+1++ABuk+n2+Buk+n1

Notation: double subscript, the first determines the time of the prediction and second determines the sample at which the prediction was made. For example, xk+4|k means prediction at sample k+4 where prediction was made at sample k. Now we can rewrite our general step as

xk+n|k=Anxk+An1Buk|k+An2Buk+1k++ABuk+n2|k+Buk+n1|k

Splitting predictions

We can saperate the predictions into known and unknown part

yk+n|k=CAnxk+dk+C(An1Buk|k+An2Buk+1|k++Buk+n1|k)
  • known: $C A^{n} x{k}+d{k}$, based on current and past measurement
  • unknown: $C\left(A^{n-1} B u{k |k}+A^{n-2} B u{k+1 |k}+\cdots+B u_{k+n-1| k}\right)$, based on future input choices.

    Our aim is to choose the unknown inputs to make sure that the overall prediction is satisfactory!!

Matrix form of ss prediction

Now we rewrite the prediction in a more compact way, let xk+1 be

[xk+1|kxk+2|kxk+n|k]=xk+1

where k+1 indicate the first value in the vector, the matrix form of ss prediction is

xk+1=[AxkA2xkAnxk]+[Buk|kABuk|k+Buk+1|kAn1Buk|k++ABuk+n2|k+Buk+n1|k]

make seperation, we get

xk+1=[AA2An]xk+[B00ABB0An1BAn2BB][uk|kuk+1|kuk+n1|k]

the vector uk is the decision variables, replace the matrix with some notation, we get

xk+1=Pxxk+Hxuk

Similarly, we get the output predictions

yk+1=Pxk+Ldk+Huk

Prediction with TF model (Mainly focus on SISO systems)

Carima model

The most common tf model in MPC is carima model which includes the uncertainty with a form of

a(z)yk=b(z)uk+T(z)ζkΔ

GkΔ is a zero mean random variable, although T(z) could arise from a model identification, in practice it is treated as a design paramter.

Basic concepts of prediction

We consider the discrete model

a(z)yk=b(z)uk+dka(z)=1+a1z1++anznb(z)=b1z1++bmzm

thus

yk1=b1uk+b2uk1++bmukm+1+dka1ykanykn+1

Significance of Carima model

It incorporates a disturbance estimate and therefore can give unbiased predictions in steady-state, irrespective of some parameter uncertainty.

In practice, the incremental form is used for predictions:

a(z)Δyk=b(z)Δuk+T(z)ζk

Reference

0%