Ограничения на линейные комбинации входов и выходов

Можно ограничить линейные комбинации входных и выходных переменных объекта. Для примера можно ограничить конкретную управляемую переменную (MV) большей, чем линейная комбинация двух других MV.

Общая форма таких ограничений заключается в следующем:

$$Eu\left( {k + i} \right) + Fy\left( {k + i} \right) +
Sv\left( {k + i} \right) \le G + {\varepsilon _k}V$$

Здесь:

  • ${\varepsilon _k}$ - переменная ослабления QP, используемая для смягчения ограничений. Для получения дополнительной информации см. «Смягчение ограничений».

  • $u\left( {k + i} \right)$ являются${N_{mv}}$ управляемыми значениями переменных в технических модулях.

  • $y\left( {k + i} \right)$ -$N_y$ прогнозируемые выходы объекта в технических модулях.

  • $v\left( {k + i} \right)$ -${N_{md}}$ измеренные входы нарушения порядка объекта в технических модулях.

  • $E$$F$,,, $S$$G$и являются$V$ постоянными матрицами и векторами. Для получения дополнительной информации смотрите setconstraint.

Как и с функцией стоимости QP, предсказание выхода с использованием наблюдателя состояния делает эти ограничения функцией переменных решения QP.

Чтобы задать смешанные ограничения ввода/вывода контроллера MPC, используйте setconstraint функция. Чтобы получить существующие ограничения от контроллера, используйте getconstraint.

При использовании смешанных ограничений ввода/вывода примите к сведению следующее:

  • Смешанные входные/выходные ограничения по умолчанию являются размерными.

  • Обновление смешанных входных/выходных ограничений во время выполнения поддерживается в командной строке и в Simulink ®. Для получения дополнительной информации см. раздел «Обновление ограничений во время выполнения».

  • Использование смешанных ограничений ввода/вывода не поддерживается в MPC Designer.

В качестве примера рассмотрим контроллер MPC для объекта с двойным интегратором со смешанными ограничениями ввода/вывода.

Создайте начальный контроллер MPC

Базовая настройка контроллера MPC включает в себя:

  • Двойной интегратор как модель предсказания

  • Горизонт предсказания 20

  • Горизонт управления 20

  • Входные ограничения: $- 1 \le u\left( t \right) \le 1$

plant = tf(1,[1 0 0]);
Ts = 0.1;
p = 20;
m = 20;
mpcobj = mpc(plant,Ts,p,m);
mpcobj.MV = struct('Min',-1,'Max',1);
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Задайте смешанные входные/выходные ограничения

Ограничьте сумму входа u(t) и выход y(t) должны быть неотрицательными и быть меньше 1,2:

$$0 \le u\left( t \right) + y\left( t \right) \le 1.2$$

Чтобы наложить это комбинированное (смешанное) ограничение ввода-вывода, сформулируйте его как набор ограничений неравенства, связанных с$u\left( t \right)$ и.$y\left( t \right)$

$$\begin{array}{l}
u\left( t \right) + y\left( t \right) \le 1.2\\
 - u\left( t \right) - y\left( t \right) \le 0
\end{array}$$

Чтобы задать эти ограничения с помощью setconstraint function, установите константы ограничений следующим образом:

$$E = \left[ {\begin{array}{*{20}{c}}
1\\
{ - 1}
\end{array}} \right],\;F = \left[ {\begin{array}{*{20}{c}}
1\\
{ - 1}
\end{array}} \right],\;G = \left[ {\begin{array}{*{20}{c}}
{1.2}\\
0
\end{array}} \right]$$

setconstraint(mpcobj,[1;-1],[1;-1],[1.2;0]);

Симулируйте контроллер

Симулируйте управление с обратной связью линейной модели объекта управления в Simulink. Контроллер mpcobj задается в блоке MPC Controller.

mdl = 'mpc_mixedconstraints';
open_system(mdl)
sim(mdl)
-->Converting the "Model.Plant" property of "mpc" object to state-space.
-->Converting model to discrete time.
   Assuming no disturbance added to measured output channel #1.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Контроллер MPC сохраняет сумму$u+y$ между 0 и 1.2 при отслеживании уставки,.$r = 1$

bdclose(mdl)

См. также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте