Моделирование 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. Эта корректировка делает успешное значение по умолчанию вычислением усиления Кальмана более вероятно.

Похожие темы