Переменное блокирование, которым управляют,

Manipulated variable blocking является альтернативой более простой концепции горизонта управления (см., Выбирают Sample Time и Horizons), и это обладает многими из тех же преимуществ. Переменное блокирование, которым управляют:

  • Обеспечивает больше настраивающейся гибкости

  • Может сглаживать переменные корректировки, которыми управляют,

  • Может улучшить робастность контроллера

Задайте блокирующиеся длины интервала

Чтобы использовать переменное блокирование, которым управляют, разделите горизонт предсказания на серию блокирующихся интервалов путем определения горизонта управления как вектора из размеров блока, [m 1, m 2, …]. Сумма размеров блока должна совпадать с горизонтом предсказания p. Если вы задаете вектор, сумма которого:

  • Меньше, чем горизонт предсказания, затем контроллер добавляет блокирующийся интервал. Длина этого интервала такова, что суммой длин интервала является p. Например, если p =10 и вы задаете горизонт управления m =[1 2 3], затем диспетчер использует четыре интервала с длинами [1 2 3 4].

  • Больше, чем горизонт предсказания, затем интервалы являются усеченными, пока сумма длин интервала не равна p. Например, если p =10 и вы задаете горизонт управления [1 2 3 6 7], затем диспетчер использует четыре интервала с длинами [1 2 3 4].

Контроллер вычисляет M свободные перемещения, где M является количеством блокирующихся интервалов. Первое свободное перемещение применяется ко временам k через k +m1-1, второе свободное перемещение применяет со времени k +m1 через k +m1+m2-1 и так далее. Здесь, k является текущим контрольным интервалом.

По умолчанию контроллер затем содержит переменную константу, которой управляют, в каждом блоке; то есть, перемещения управления являются кусочной константой через каждый интервал. Например, следующий рисунок показывает перемещения оптимального управления для горизонта управления m =[2 3 2] и горизонт предсказания p =7.

Для каждого блока переменная, которой управляют, u, является постоянной, который является:

  • u (0) = u (1)

  • u (2) = u (3) = u (4)

  • u (5) = u (6)

Рекомендуемый подход к блокированию должен разделить горизонт предсказания на 3 - 5 блоков и использовать одну из следующих альтернатив блокирования:

  • Равные размеры блока (одна пятая к одной трети горизонта предсказания, p)

  • Увеличение размеров блока. Например, с p =20, можно попробовать три блока интервалами длины 3, 7, и 10.

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

  • Никакие ограничения

  • Никакая ошибка предсказания; то есть, модель предсказания контроллера должна быть идентична модели объекта управления

Чтобы протестировать каждый контроллер на устойчивость и проблемы робастности, используйте review функция.

Интерполируйте перемещения блока для нелинейного MPC

Как с линейным контроллером MPC, когда вы используете переменное блокирование, которым управляют, нелинейный диспетчер MPC использует кусочные постоянные интервалы блокирования по умолчанию. Этот подход часто слишком строг для оптимальных приложений планирования пути. Чтобы произвести менее - строгая, лучше обусловленная проблема нелинейного программирования, можно задать кусочные линейные переменные интервалы блокирования, которыми управляют. Для этого установите Optimization.MVInterpolationOrder свойство вашего nlmpc объект контроллера к 1.

Следующий рисунок показывает перемещения оптимального управления для горизонта управления m =[2 3 2] и горизонт предсказания p =7.

В кусочном постоянном случае по умолчанию, вычисленных значениях переменных, которыми управляют, 1, 3, и 2 являются постоянными на их соответствующих интервалах блокирования.

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

Для получения дополнительной информации о нелинейных контроллерах MPC смотрите Нелинейный MPC.

Примечание

Линейная интерполяция блокирования перемещений не поддерживается для неявных, адаптивных, или запланированных на усиление контроллеров MPC.

Смотрите также

|

Похожие темы