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

조회 수: 17 (최근 30일)
jana nassereddine
jana nassereddine 2023년 4월 6일
댓글: kawsar 2023년 4월 11일
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
Sam Chak
Sam Chak 2023년 4월 8일
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 2023년 4월 8일
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?

댓글을 달려면 로그인하십시오.

답변 (1개)

Sam Chak
Sam Chak 2023년 4월 10일
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
kawsar
kawsar 2023년 4월 11일
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);
end
and the figure:
now i think the error is:

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Linear Plant Specification에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by