mpcsimopt

Опции симуляции MPC

Описание

При симуляции неявного или явного контроллера MPC, использующего sim функция, можно задать опции дополнительной симуляции с помощью mpcsimopt объект.

Создание

Синтаксис

Описание

пример

options = mpcsimopt; создает набор по умолчанию опций для определения дополнительных параметров для симуляции контроллера MPC с sim функция. Чтобы задать значения не по умолчанию для свойств, используйте запись через точку.

Свойства

развернуть все

Начальное состояние модели объекта управления симуляции в виде вектора с длиной равняется состояниям номера в модели объекта управления, используемой для симуляции. Чтобы использовать номинальное состояние по умолчанию модели объекта управления симуляции, установите PlantInitialState к [].

Если вы не задаете Model опция, затем модель объекта управления, используемая для симуляции, является внутренней моделью объекта управления от диспетчера. В этом случае начальное состояние контроллера по умолчанию равно mpcobj.Model.Nominal.X.

Если вы задаете Model опцией, затем модель объекта управления, используемая для симуляции, является Model.Plant. В этом случае начальное состояние контроллера по умолчанию равно Model.Nominal.X.

Контроллер MPC условие начальной буквы в виде mpcstate объект. Установка ControllerInitialState = [] эквивалентно установке ControllerInitialState = mpcstate(mpcobj).

Неизмеренный сигнал воздействия для симуляции воздействий, происходящих в неизмеренных входных параметрах воздействия модели объекта управления симуляции в виде массива со столбцами Nud и до строк Nt, где Nud является количеством неизмеренных воздействий и Nt, является количеством шагов симуляции. Если вы задаете меньше, чем строки Nt, то значения в итоговой строке массива расширены в конец симуляции.

Переменный шумовой сигнал, которым управляют, для симуляции воздействий загрузки, происходящих во вводах переменной, которыми управляют, с моделью объекта управления симуляции в виде массива со столбцами Nmv и до строк Nt, где Nmv является количеством переменных, которыми управляют и Nt, является количеством шагов симуляции. Если вы задаете меньше, чем строки Nt, то значения в итоговой строке массива расширены в конец симуляции.

Измеренный выходной сигнал шума для симуляции воздействий, происходящих при измеренном выходе модели объекта управления симуляции в виде массива со столбцами Ny и до строк Nt, где Ny является количеством измеренных выходных параметров и Nt, является количеством шагов симуляции. Если вы задаете меньше, чем строки Nt, то значения в итоговой строке массива расширены в конец симуляции.

Отметьте указание, использовать ли ссылку, предварительно просматривающую в процессе моделирования в виде одного из следующего:

  • 'off' — Не используйте ссылочный предварительный просмотр.

  • 'on' — Используйте ссылочный предварительный просмотр.

При симуляции явного контроллера MPC необходимо установить RefLookAhead к 'off'.

Отметьте указание, использовать ли измеренное воздействие, предварительно просматривающее в процессе моделирования в виде одного из следующего:

  • 'off' — Не используйте измеренный предварительный просмотр воздействия.

  • 'on' — Используйте измеренный предварительный просмотр воздействия.

При симуляции явного контроллера MPC необходимо установить MDLookAhead к 'off'.

Отметьте указание, разрешить ли ограничения в процессе моделирования в виде одного из следующего:

  • 'on' — Используйте ограничения, заданные в контроллере в процессе моделирования.

  • 'off' — Симулируйте контроллер без любых ограничений.

Модель объекта управления, чтобы использовать для симуляции в виде одного из следующего:

  • [] — Симулируйте контроллер против его внутренней модели объекта управления (mpcobj.Model). В этом случае нет никакого несоответствия модели объекта управления.

  • Системный объект LTI — Симулирует контроллер против заданного объекта LTI. Заданный объект должен иметь ту же настройку группы ввода и вывода как mpcobj.Model.Plant. Чтобы установить эту настройку, использовать setmpcsignals.

  • Структура с полями Plant и Nominal — Симулируйте контроллер, использующий заданный объект (Plant) и номинальные условия (Nominal).

Model устанавливает фактический объект, что контроллер симулирован против (не внутренняя модель предсказания контроллера). Используйте эту опцию, чтобы задать объект, который отличается от диспетчера внутренняя модель объекта управления (несоответствие модели).

Если вы не задаете номинальные условия, Model.Nominal.U и Model.Nominal.Y наследованы от mpcobj.Model.Nominal. Model.Nominal.X и Model.Nominal.DX только наследованы, если оба объекта являются объектами пространства состояний с той же размерностью состояния.

Чтобы задать начальное состояние этой модели объекта управления симуляции, используйте PlantInitialState опция.

Отметьте указание, отобразить ли строку состояния симуляции в виде одного из следующего:

  • 'off' — Не отображайте строку состояния.

  • 'on' — Отобразите строку состояния.

Последовательность переменных, которыми управляют, чтобы использовать во время симуляции разомкнутого контура в виде массива со столбцами Nmv и до строк Nt, где Nmv является количеством переменных, которыми управляют и Nt, является количеством шагов симуляции. Если вы задаете меньше, чем строки Nt, то значения в итоговой строке массива расширены в конец симуляции. Заданные переменные сигналы, которыми управляют, должны включать любые переменные смещения, которыми управляют.

Если вы задаете MVSignal, затем контроллер не вычисляет действия управления, и опорный сигнал симуляции проигнорирован.

Отметьте указание, запустить ли симуляцию разомкнутого контура в виде одного из следующего:

  • 'off' — Не отображайте строку состояния.

  • 'on' — Отобразите строку состояния.

Функции объекта

simСимулируйте контроллер MPC в замкнутом цикле с линейным объектом

Примеры

свернуть все

Симулируйте MPC управление мультивходом, мультивыведите (MIMO) систему с несоответствием между предсказанными и фактическими моделями объекта управления. Система имеет две переменные, которыми управляют, два неизмеренных воздействия и два измеренных выходных параметров.

Задайте предсказанную модель объекта управления.

p1 = tf(1,[1 2 1])*[1 1;0 1];
plantPredict = ss([p1 p1]);
plantPredict.InputName = {'mv1','mv2','umd3','umd4'};

Задайте типы сигнала MPC.

plantPredict = setmpcsignals(plantPredict,'MV',[1 2],'UD',[3 4]);

Создайте контроллер MPC.

mpcobj = mpc(plantPredict,1,40,2);
-->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.

Задайте неизмеренное входное возмущение, используемое контроллером.

distModel = eye(2,2)*ss(-0.5,1,1,0);
mpcobj.Model.Disturbance = distModel;

Задайте фактическую модель объекта управления, которая отличается от предсказанной модели и имеет непредвиденные неизмеренные входные параметры воздействия.

p2 = tf(1.5,[0.1 1 2 1])*[1 1;0 1];
plantActual = ss([p2 p2 tf(1,[1 1])*[0;1]]);
plantActual = setmpcsignals(plantActual,'MV',[1 2],'UD',[3 4 5]);

Сконфигурируйте неизмеренное воздействие и выведите ссылочные траектории.

dist = ones(1,3);
refs = [1 2];

Создайте и сконфигурируйте набор опции симуляции.

options = mpcsimopt(mpcobj);
options.UnmeasuredDisturbance = dist;
options.Model = plantActual;

Симулируйте систему.

sim(mpcobj,20,refs,options)
-->Converting model to discrete time.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
-->Converting model to discrete time.
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->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.

Figure contains 5 axes. Axes 1 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 2 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 3 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 4 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 5 contains an object of type line. These objects represent Driving inputs, MPC response1.

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent Driving inputs, MPC response1. Axes 2 contains 2 objects of type line. These objects represent Driving inputs, MPC response1.

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