Azzera filtri
Azzera filtri

How to add disturbances into the model predictive control as an input?

17 visualizzazioni (ultimi 30 giorni)
hello everyone,
so I have a Model Predictive Control, and I have a plant model with a state space representation (figure 1), and I also have a disturbance acting on the plant model and I want to add it as an input TO MPC, but the problem is I want also to add a matrice that quantifies the effect of disturbances on the states. So how can I do that without adding the disturbance as an input to the plant model, only as in input to MPC.
  4 Commenti
Sam Chak
Sam Chak il 8 Apr 2023
I'm thinking, if the disturbance is measurable such that it can be compensated by the feedforward technique later, then in theory, should it be true that the disturbance effect can be nullified when the MPC algorithm is run.
I'm wondering if the following is applicable to your case. Correct me if I'm wrong.
Let , where . Thus,
If the disturbance is perfectly compensated, then
If you don't want to add the disturbance as an input to the plant model, and the disturbance can be compensated by the feedforward loop, then the MPC should be able to take care of the disturbance-free plant.
jana nassereddine
jana nassereddine il 8 Apr 2023
hey sam,
I want the controller to anticipate the effect of the disturbances on the output. but i didn't really get your last 2 phrases, or the equation, why do you have 2 letter B? it should be different right?

Accedi per commentare.

Risposte (1)

Sam Chak
Sam Chak il 10 Apr 2023
The matrix expression is equivalent to
where is the input vector.
If you want to anticipate the measured disturbance (md), then you can add the disturbance as shown below:
  1 Commento
kawsar il 11 Apr 2023
that's great, thanks sam,
but the problem is now, I found a way to add the disturbances into the state space representation but I don't know how create a block for that, because it's giving me an error for it,
so I have created a matlab function with the code: for the same state representaion(above)
function [SOC,LOH] = statespace(PH2,Pgrid,d)
A = [1 1;1 1];
B = [0.0936 0.0936;-0.339 0];
C = [1 1;1 1];
D = 0;
K = [0.0936;0];
[SOC,LOH] = idss(A,B,C,D,K);
and the figure:
now i think the error is:

Accedi per commentare.


Scopri di più su Linear Plant Specification in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by