exponenta event banner

Рабочий процесс проектирования для явного MPC

Чтобы создать явный контроллер MPC, необходимо сначала разработать традиционный (неявный) контроллер MPC. Затем создается явный контроллер MPC на основе традиционного дизайна контроллера.

Традиционное (неявное) проектирование MPC

Сначала разработайте традиционный (неявный) MPC для вашего приложения и протестируйте его в моделировании. Основные соображения заключаются в следующем:

  • Программное обеспечение Model Predictive Control Toolbox™ в настоящее время поддерживает следующие независимые переменные для явного MPC:

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

    • ny (≥ 1), где ny - количество выходных переменных установки.

    • nv (≥ 0) измеренные сигналы возмущения установки.

    Таким образом, необходимо исправить большинство параметров конструкции MPC перед созданием явного контроллера MPC. Фиксированные параметры включают модели прогнозирования (завод, помехи и шум измерений), масштабные коэффициенты, горизонты, штрафные веса, манипулируемые переменные цели и границы ограничений.

    Сведения о разработке традиционного контроллера MPC см. в разделе Создание контроллера.

    Сведения о настройке традиционных контроллеров MPC см. в разделе Уточнение.

  • Предварительный просмотр опорных и измеренных возмущений не поддерживается. В каждом интервале управления текущие ny опорных и nv измеренных сигналов возмущения применяются для всего горизонта прогнозирования.

  • Чтобы ограничить количество областей, необходимых для явного MPC, включите только существенные ограничения.

    • При включении ограничения на управляемую переменную (MV) используйте короткий горизонт управления или блокировку MV. См. раздел Выбор времени образца и горизонтов.

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

  • Установите верхнюю и нижнюю границы для каждой из независимых переменных nx = nxc + ny + nv. Вы можете знать некоторые из этих границ априори. Однако необходимо выполнить моделирование, в котором регистрируются по крайней мере состояния контроллера nxc, когда система работает в диапазоне ожидаемых условий. Важно не недооценивать этот диапазон, поскольку явная функция управления MPC не определена для независимых переменных вне диапазона.

    Сведения об указании границ см. в разделе generateExplicitRange.

    Сведения о моделировании традиционного контроллера MPC см. в разделе Моделирование.

Явное формирование MPC

Учитывая постоянные расчетные параметры ПДК и nx верхние и нижние границы по независимым переменным закона управления, то есть

xl≤x (k) ≤xu,

generateExplicitMPC определяет области nr. Каждая из этих областей определяется ограничением неравенства и соответствующими константами закона управления:

Hix (k) ≤Ki , i = 1 к nru (k) = Fix  (k ) + Gi, i = 1 к nr

explicitMPC содержит константы Hi, Ki, Fi и Gi для каждой области. Объект Explicit MPC Controller также содержит исходную (неявную) конструкцию и независимые переменные границы. Пока x (k) остается в пределах заданных границ и сохраняются все nr области, явный объект MPC обеспечивает те же самые оптимальные корректировки MV, u (k), что и эквивалентный неявный объект MPC.

Для получения подробной информации о явном MPC см. [1]. Для получения подробной информации о том, как создается явный контроллер MPC, см. [2].

Явное упрощение MPC

Даже относительно простой явный контроллер MPC может потребовать, чтобы многие области (nr > > 100) полностью охарактеризовали решение QP. Если количество регионов велико, следует учитывать следующее:

  • Визуализация решения с помощью plotSection команда.

  • Используйте simplify для уменьшения количества областей. Иногда это сокращение может быть сделано без (или незначительного) влияния на оптимальность закона контроля. Например, пары смежных областей могут использовать по существу одинаковые постоянные Fi и Ki. Если это так, и если объединение двух областей образует выпуклое множество, они могут быть объединены в одну область.

    Кроме того, можно исключить относительно небольшие области или сохранить только выбранные области. Во время работы, если текущий x (k) не содержится ни в одной из сохраненных областей, явный MPC возвращает неоптимальный u (k) следующим образом:

    u (k) = Fjx (k) + Gj.

    Здесь j - индекс области, ограничивающее ограничение Hjx (k) ≤ Kj которой нарушено в наименьшей степени .

Внедрение

Во время работы для данного x (k) явный контроллер MPC выполняет следующие шаги:

  1. Проверяет, что x (k) удовлетворяет указанным границам, x1 ≤ x (k) xu. В противном случае контроллер возвращает состояние ошибки и устанавливает u (k) = u (k-1).

  2. Начиная с области i = 1, проверяет области поочередно, чтобы определить, принадлежит ли x (k). Если Hix (k) Ki, то x (k) принадлежит области I. Если x (k) принадлежит области i, то контроллер:

    • Получает Fi и Gi из памяти и вычисляет u (k) = Fix (k) + Gi.

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

    • Возврат без тестирования остальных областей.

    Если x (k) не принадлежит области i, контроллер :

    • Вычисляет член нарушения vi, который является наибольшей (положительной) составляющей вектора (Hix (k) - Ki ).

    • Если vi является минимальным нарушением для этого x (k), контроллер устанавливает j = i и устанавливает vmin = vi .

    • Затем контроллер увеличивает i и проверяет следующую область.

  3. Если все области были протестированы и x (k) не принадлежит ни одной области (например, из-за проблемы численной точности), контроллер:

    • Получает Fj и Gj из памяти и вычисляет u (k) = Fjx (k) + Gj.

    • Задание статуса для указания неоптимального решения и возврата.

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

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

Моделирование командной строки можно выполнять с помощью sim или mpcmoveExplicit команды.

Блок явного контроллера MPC можно использовать для подключения явного MPC к установке, смоделированной в Simulink ®.

Ссылки

[1] А. Бемпорад, М. Морари, В. Дуа и Е. Н. Пистикопулос, «Явный линейный квадратичный регулятор для систем с ограничениями», Automatica, vol. 38, no. 1, pp. 3-20, 2002.

[2] А. Бемпорад, «Мультипараметрический алгоритм квадратичного программирования с многогранными вычислениями на основе неотрицательных наименьших квадратов», 2014, Представлен для публикации.

См. также

| |

Связанные темы