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