
Hydraulický systém - algoritmus stavového prediktívneho riadenia
V každom kroku výpočtu sú počítané predikované hodnoty výstupu na N2 krokov dopredu a riadiace zásahy pre nasledujúcich Nu krokov dopredu, ako môžete vidieť na Obr. 2.

Obr. 2 Princíp prediktívneho horizontu pre systém s jedným vstupom a jedným výstupom
Kriteriálnu funkciu pre výpočet optimálneho riadenia v k-tom kroku si môžeme vyjadriť v tvare:
kde:
Pri odvodení stavového MPC regulátora pre nelineárny systém s m výstupmi a n vstupmi uvažujeme zlinearizovaný model systému v okolo pracovného prevedený do diskrétneho stavového opisu v nasledujúcom tvare:

Prediktor na Np krokov dopredu môžeme zapísať v maticovom tvare:

kde:
Vektor optimálnych riadiacich zásahov sa vypočita podľa vzťahu:
kde:
Výsledkom tejto rovnice je trajektória tvorená riadiacimi zásahmi, z
ktorých prvých n prvkov vektora u je aplikovaných na proces.
Pre systém s obmedzením hodnoty akčnej veličiny u(k) alebo
hodnoty výstupu y(k) sa vypočítavá vektor u pomocou
funkcie quadprog (Quadratic Programing) z Optimization Toolboxu jazyka Matlab.
Algoritmus výpočtu hodnoty akčného zásahu v k-tom kroku výpočtu má tvar:
- Načítanie matíc A, B, C, D stavového modelu systému, vektora referenčných hodnôt výstupu systému r a váhových koeficientov mi a ll pre i=1,...,n a l=1,...,m,
- Zostavenie váhových matíc M a L,
- Výpočet matice silovej odozvy G a matice voľnej odozvy S,
- Ak je požiadavka na obmedzenie u(k) alebo y(k) potom pokracuj bodom 7.,
- Výpočet vektora predikcie akčného zásahu u podľa vyššie uvedeného vzťahu,
- Pokračuj bodom 8.,
- Výpočet vektora predikcie akčného zásahu u s použitím funkcie quadprog,
- u(k) je prvých n prvkov vektora u,
- Výpocet sa opakuje pre další krok výpoctu od bodu 1.