exponenta event banner

mpcstate

Состояние контроллера MPC

Описание

mpcstate объект представляет состояние неявного или явного контроллера MPC. Использовать mpcstate для инициализации объекта контроллера перед моделированием.

Состояние контроллера включает в себя:

  • Состояния установки, возмущения и шумовые модели контроллера.

  • Управляемые переменные, использовавшиеся в предыдущем контрольном интервале.

  • Матрица ковариации состояния для контроллера.

mpcstate обновляют объекты во время моделирования с использованием внутреннего наблюдателя состояния на основе расширенной модели прогнозирования. Общее состояние обновляется из измеренного выходного ym (k) линейным наблюдателем состояния. Сведения о режиме см. в разделе Оценка состояния контроллера.

Создание

Описание

пример

x = mpcstate(mpcobj) создает объект состояния контроллера для неявного или явного контроллера MPC mpcobjустановка для свойств объекта состояния значений по умолчанию.

x = mpcstate(mpcobj,plant,disturbance,noise,lastMove,covariance) задает для свойств объекта состояния указанные значения, не являющиеся значениями по умолчанию. Чтобы использовать значения по умолчанию для данного свойства, задайте для соответствующего входного аргумента значение [].

Входные аргументы

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

Объект контроллера MPC, указанный как mpc или explicitMPC объект.

Свойства

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

Оценки состояния модели установки, указанные как вектор. Оценочные значения состояния установки находятся в технических единицах и являются абсолютными; то есть они включают в себя смещения состояний. По умолчанию Plant свойство равно Model.Nominal.X свойства контроллера, используемого для создания mpcstate объект.

Если модель завода контроллера включает задержки, Plant свойство включает состояния, моделирующие задержки. Поэтому количество элементов в Plant больше, чем порядок модели установки без задержки контроллера.

Оценки состояния модели возмущения, определенные как вектор. Оценки состояния возмущения включают в себя состояния входной модели возмущения, за которыми следуют состояния выходной модели возмущения. По умолчанию Disturbance свойство является нулевым вектором, если контроллер имеет состояния модели возмущения и пуст в противном случае.

Для просмотра моделей входных и выходных возмущений контроллера используйте getindist и getoutdist соответственно.

Оценки состояния модели шума выходного измерения, заданные как вектор. По умолчанию Noise свойство является нулевым вектором, если контроллер имеет состояния шумовой модели и пуст в противном случае.

Оптимальное управление управляемыми переменными перемещается от предыдущего интервала управления, заданного как вектор с длиной, равной числу обрабатываемых переменных. По умолчанию LastMove свойство равно номинальным значениям обрабатываемых переменных.

Во время моделирования mpcmove функция автоматически устанавливает значение LastMove.

Если фактические управляющие сигналы, поступившие на установку в предыдущем интервале управления, не соответствуют расчетному оптимальному значению, не используйте LastMove для указания фактических управляющих сигналов. Вместо этого используйте mpcmoveopt.

Ковариационная матрица для оценок состояния контроллера, заданная как симметричная матрица Ns-by-Ns, где Ns - сумма состояний числа, содержащихся в Plant, Disturbance, и Noise поля. T

Если контроллер использует оценку состояния по умолчанию, то матрицей ковариации по умолчанию является ковариация установившегося состояния, вычисленная в соответствии с допущениями в оценке состояния контроллера. Дополнительные сведения см. в описании P выходной аргумент kalmd функция.

Если контроллер использует пользовательскую оценку состояния, Covariance пустое и не используемое свойство.

Во время моделирования не изменять Covariance. mpcmove функция автоматически устанавливает значение Covariance на каждом контрольном интервале.

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

mpcmoveВычислите оптимальное действие управления и обновите состояния контроллера
mpcmoveAdaptiveВычисление оптимального управления с обновлением модели прогнозирования
mpcmoveMultipleВычислить действие управления MPC с планированием усиления в один момент времени
mpcmoveExplicitВычисление оптимального управления с помощью явного MPC

Примеры

свернуть все

Создайте прогнозирующий контроллер модели для установки с одним входом и одним выходом (SISO). Для этого примера установка включает в себя задержку на входе 0,4 единицы времени и интервал управления до 0,2 единицы времени.

H = tf(1,[10 1],'InputDelay',0.4);
MPCobj = mpc(H,0.2);
-->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.

Создайте соответствующий объект состояния контроллера, в котором все состояния имеют значения по умолчанию.

xMPC = mpcstate(MPCobj)
-->Converting the "Model.Plant" property of "mpc" object to state-space.
-->Converting model to discrete time.
-->Converting delays to states.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
MPCSTATE object with fields
          Plant: [0 0 0]
    Disturbance: 0
          Noise: [1x0 double]
       LastMove: 0
     Covariance: [4x4 double]

Модель установки, H, является функцией переноса первого порядка с непрерывным временем. Plant имущества mpcstate содержит два дополнительных состояния для моделирования двух интервалов задержки. По умолчанию контроллер содержит модель возмущений на выходе первого порядка (Disturbance свойство - скаляр) и модель статического шума усиления (Noise пустое свойство).

Доступ к свойствам объекта состояния контроллера можно получить с помощью точечной нотации. Например, просмотрите матрицу ковариации по умолчанию.

xMPC.Covariance
ans = 4×4

    0.0624    0.0000    0.0000   -0.0224
    0.0000    1.0000    0.0000    0.0000
    0.0000    0.0000    1.0000   -0.0000
   -0.0224    0.0000   -0.0000    0.2301

Представлен до R2006a