MATLAB Answers

0

mpcDesigner scenario output disturbance

Asked by Francis Gagnon on 1 Feb 2018
Latest activity Answered by Francis Gagnon on 9 Mar 2018
Hi,
I’m having a problem with the simulated scenarios of the mpcDesigner app (Model Predictive Control Toolbox). From my understanding, by default, the output disturbance model is integrated noise summed at each measured output. It should allow rejecting step-like output disturbance at any measured output in closed-loop. To illustrate, if we take the simple MIMO process model:
G = [tf(+1.9,[18 1]) , tf(+1.9,[18 1]);...
tf(-0.74,[8 1]) , tf(+0.74,[8 1])]
and keep the default output disturbance model of the mpcDesigner, any unmeasured step-like output disturbance should be rejected in steady-state. Hence, by simulating an unmeasured unit-step disturbance on the second output at t=30sec, the measured output should reach back the setpoint in steady-state (with t>>30sec). But that is not what I see in the plotted scenario. There is a static error. At t=60sec, the simulated output value is 0 while the setpoint is still 1:
For the load disturbance, there is no static error:
I’ve included the mpcDesigner session for my example in the attached files.
Thanks for your time,
Francis Gagnon.

  0 Comments

Sign in to comment.

1 Answer

Answer by Francis Gagnon on 9 Mar 2018
 Accepted Answer

MathWorks gave me the answer :
" The output response plot in the MPCDesigner app (as well as the output of the "sim" command) is just the plant output "Yp". It does not include the disturbance signal "Yod". However, what the MPC Controller sees is actually "Yp + Yod" (measured). So after disturbance rejection, the MPC Controller will maintain "Yp + Yod" as it's set point at steady state.
In the case that you have sent, the value "Yp + Yod" must be maintained at "1". Since the disturbance "Yod" is 1 in this scenario, the output "Yp" will appear as "0" in the plot (such that "Yp + Yod" is maintained at the setpoint). Specifically, at t = 30 seconds in the plot you have attached, the value of "Yod" is 1, so the value of "Yp" should go to zero to allow "Yp + Yod" to be kept at the setpoint.
Refer to the following documentation page for a diagram of the above: MPC Modeling "

  0 Comments

Sign in to comment.