Моделирование MPC

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

Модель объекта управления

Можно задать модель объекта управления в одном из следующих форматов линейного независимого от времени (LTI):

  • Числовые модели LTI — Передаточная функция (tf), пространство состояний (ss), нули и полюса (zpk)

  • Идентифицированные модели (требует System Identification Toolbox™) — idss, idtf, idproc и idpoly

Контроллер MPC выполняет все вычисления оценки и оптимизации с помощью дискретного времени, системы пространства состояний без задержек с безразмерными переменными ввода и вывода. Поэтому, когда вы задаете модель объекта управления в контроллере MPC, программное обеспечение выполняет следующее в случае необходимости:

  1. Преобразование в пространство состояний — команда ss преобразовывает предоставленную модель в модель в пространстве состояний LTI.

  2. Дискретизация или передискретизирующий — Если образцовый шаг расчета отличается от диспетчера MPC шаг расчета (заданный в свойстве Ts), одно из следующего, происходит:

    • Если модель является непрерывным временем, команда c2d преобразовывает его в объект LTI дискретного времени с помощью шага расчета контроллера.

    • Если модель является дискретным временем, команда d2d передискретизирует его, чтобы сгенерировать объект LTI дискретного времени с помощью шага расчета контроллера.

  3. Задержите удаление — Если модель дискретного времени включает какой-либо вход, вывод или внутренние задержки, команда absorbDelay заменяет их на соответствующее количество полюсов в z = 0, увеличивая общее число дискретных состояний. InputDelay, OutputDelay и свойства InternalDelay получившейся модели в пространстве состояний являются всем нулем.

  4. Преобразование в безразмерные переменные ввода и вывода — контроллер MPC позволяет вам задать масштабный коэффициент для каждой переменной ввода и вывода объекта. Если вы не задаете масштабные коэффициенты, они принимают значение по умолчанию к 1. Программное обеспечение преобразовывает переменные ввода и вывода объекта в безразмерную форму можно следующим образом:

    xp(k+1)=Apxp(k)+BSiup(k)yp(k)=So1Cxp(k)+So1DSiup(k).

    где Ap, B, C и D являются постоянными матрицами пространства состояний, определенными на шаге 3, и:

    • Si является диагональной матрицей входных масштабных коэффициентов в технических модулях.

    • So является диагональной матрицей выходных масштабных коэффициентов в технических модулях.

    • xp является вектором состояния от шага 3 в технических модулях. Никакое масштабирование не выполняется на переменных состояния.

    • up является вектором безразмерных входных переменных объекта.

    • yp является вектором безразмерных выходных переменных объекта.

    Получившаяся модель объекта управления имеет следующую эквивалентную форму:

    xp(k+1)=Apxp(k)+Bpuu(k)+Bpvv(k)+Bpdd(k)yp(k)=Cpxp(k)+Dpuu(k)+Dpvv(k)+Dpdd(k).

    Здесь, Cp=So1C, Bpu, Bpv и Bpd являются соответствующими столбцами BSi. Кроме того, Dpu, Dpv и Dpd являются соответствующими столбцами So1DSi. Наконец, u (k), v (k) и d (k) является безразмерными переменными, которыми управляют, измеренными воздействиями и неизмеренными входными воздействиями, соответственно.

    Контроллер MPC осуществляет ограничение Dpu = 0, что означает, что контроллер не позволяет прямое сквозное соединение ни от какой переменной, которой управляют, ни до какого объекта вывод.

Введите возмущение

Если ваша модель объекта управления включает неизмеренные входные воздействия, d (k), входное возмущение задает тип сигнала и характеристики d (k). Смотрите Оценку состояния Контроллера для получения дополнительной информации о модели.

Команда getindist обеспечивает доступ к модели в использовании.

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

  • Динамический ответ на очевидные воздействия — символ ответа контроллера, когда измеренный объект вывел, отклоняется от своей предсказанной траектории, из-за неизвестного воздействия или ошибки моделирования.

  • Асимптотическое отклонение длительных воздействий — Если возмущение предсказывает длительное воздействие, корректировки контроллера, продолжается до объекта вывод возвращается к своей желаемой траектории, эмулируя классический интегральный контроллер обратной связи.

Можно обеспечить входное возмущение как пространство состояний LTI (ss), передаточная функция (tf) или объект (zpk) нулей и полюсов с помощью setindist. Контроллер MPC преобразовывает входное возмущение в дискретное время, без задержек, система пространства состояний LTI с помощью тех же шагов раньше преобразовывала модель объекта управления. Результат:

xid(k+1)=Aidxid(k)+Bidwid(k)d(k)=Cidxid(k)+Didwid(k).

где Aid, Bid, Cid и Did являются постоянными матрицами пространства состояний, и:

  • xid (k) является вектором nxid ≥ 0 входных состояний возмущения.

  • dk (k) является вектором nd безразмерные неизмеренные входные воздействия.

  • wid (k) является вектором nid ≥ 1 безразмерные белые шумовые входные параметры, принятые, чтобы иметь нулевое среднее значение и модульное отклонение.

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

Выведите возмущение

Выходное возмущение является особым случаем более общего входного возмущения. Его вывод, yod (k), непосредственно добавляется к объекту вывод вместо того, чтобы влиять на состояния объекта. Выходное возмущение задает тип сигнала и характеристики yod (k), и это часто используется на практике. Смотрите Оценку состояния Контроллера для получения дополнительной информации о модели.

Команда getoutdist обеспечивает доступ к выходному возмущению в использовании.

Можно задать пользовательское выходное возмущение как пространство состояний LTI (ss), передаточная функция (tf) или объект (zpk) нулей и полюсов с помощью setoutdist. Используя те же шаги что касается модели объекта управления, контроллер MPC преобразовывает заданное выходное возмущение в дискретное время, без задержек, система пространства состояний LTI. Результат:

xod(k+1)=Aodxod(k)+Bodwod(k)yod(k)=Codxod(k)+Dodwod(k).

где Aod, Bod, Cod и Dod являются постоянными матрицами пространства состояний, и:

  • xod (k) является вектором nxod ≥ 1 выходное состояние возмущения.

  • yod (k) является вектором ny безразмерные выходные воздействия, которые будут добавлены к безразмерному объекту выходные параметры.

  • wod (k) является вектором nod безразмерные белые шумовые входные параметры, принятые, чтобы иметь нулевое среднее значение и модульное отклонение.

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

  • Никакие воздействия не оцениваются, который не является никакими интеграторами, добавляются, для неизмеренного объекта выходные параметры.

  • Интегратор добавляется для каждого измеренного вывода в порядке уменьшения выходного веса.

    • Для изменяющихся во времени весов сумма абсолютных значений в зависимости от времени рассматривается для каждого выходного канала.

    • Для равных выходных весов выполнен приказ в выходном векторе.

  • Для каждого измеренного вывода не добавляется интегратор, если выполнение так вызвало бы нарушение наблюдаемости состояния. Вместо этого усиление со значением нуля используется вместо этого.

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

Модель шума измерения

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

Используя те же шаги что касается модели объекта управления, контроллер MPC преобразовывает модель шума измерения в дискретное время, без задержек, система пространства состояний LTI. Результат:

xn(k+1)=Anxn(k)+Bnwn(k)yn(k)=Cnxn(k)+Dnwn(k).

Здесь, An, Bn, Cn и Dn являются матрицами пробела постоянного состояния, и:

  • xn (k) является вектором nxn ≥ 0 шумовых образцовых состояний.

  • yn (k) является вектором nym безразмерные шумовые сигналы, которые будут добавлены к безразмерному измеренному объекту выходные параметры.

  • wn (k) является вектором nn ≥ 1 безразмерные белые шумовые входные параметры, принятые, чтобы иметь нулевое среднее значение и модульное отклонение.

Если вы не предоставляете шумовую модель, значением по умолчанию является единица статическое усиление: nxn = 0, Dn является nym-by-nym единичная матрица, и An, Bn, и Cn пуст.

Для контроллера mpc объект, MPCobj, свойство MPCobj.Model.Noise обеспечивает доступ к модели шума измерения.

Примечание

Если минимальное собственное значение DnDnT меньше, чем 1x10–8, контроллер MPC добавляет 1x10–4 в каждый диагональный элемент Dn. Эта корректировка делает успешное значение по умолчанию вычислением усиления Кальмана более вероятно.

Похожие темы