Model Predictive Toolbox

Model Predictive Control Toolbox предоставляет функции, приложение и блоки Simulink для проектирования и моделирования регуляторов для управления с прогнозирующими моделями (MPC). Инструмент позволяет указать модели объектов управления и возмущений, горизонты, ограничения и веса. При помощи симуляций закрытого контура выполняется оценка быстродействия регулятора.

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

Для быстрого создания прототипов и реализации на встраиваемых системах поддерживается генерация C-кода и структурированного текста IEC 61131-3.

Model Predictive Toolbox

Проектирование регуляторов для управления с прогнозирующими моделями

Разработка MPC регуляторов с помощью команд MATLAB
Разработка MPC регуляторов с помощью команд MATLAB
Разработка MPC регуляторов с помощью команд MATLAB
Разработка MPC регуляторов с помощью команд MATLAB

Для проектирования регуляторов для управления с прогнозирующими моделями могут быть использованы функции командной строки MATLAB. С их помощью определяется внутренняя модель объекта управления, настраиваются коэффициенты весов, ограничения и другие параметры регулятора, а затем моделируется реакция системы с обратной связью для оценки производительности регулятора. При проектировании регуляторов в Simulink используя блок MPC Controller и другие блоки, предоставляемые инструментом. С помощью Simulink Control Design выполняется обрезка и линеаризации модели Simulink для вычисления внутренней линейной не зависящей от времени модели объекта управления и вычисляются номинальные значения для входов и выходов. Интерактивное приложение MPC Designer App используется для определения модели объекта управления и корректировки горизонтов, весов и ограничений.

Приложения для автоматизированного вождения

Использование готовых блоков Simulink для создания систем адаптивного круиз-контроля
Использование готовых блоков Simulink для создания систем адаптивного круиз-контроля

Ускорение разработки ADAS систем достигается с использованием готовых блоков Simulink или опорных примеров. Готовые регуляторы переносятся на целевую платформу с помощью генераторов кода. 

Готовые блоки Adaptive Cruise Control System, Lane Keeping Assist и Path Follow Control System используются как основа для пользовательских ADAS приложений и их настройки уточняются по мере необходимости. В состав инструмента входят опорные примеры, которые помогут при разработке и развертывании регуляторов MPC для автоматизированных систем вождения. Они также демонстрируют, как можно моделировать различные части вашей системы с разными уровнями точности.

Использование готовых блоков Simulink для создания систем адаптивного круиз-контроля
Использование готовых блоков Simulink для создания систем адаптивного круиз-контроля

Управление с прогнозирующими моделями для линейных моделей

Указание внутреннего объекта для разработки линейного MPC регулятора
Указание внутреннего объекта для разработки линейного MPC регулятора
Указание внутреннего объекта для разработки линейного MPC регулятора Указание внутреннего объекта для разработки линейного MPC регулятора

Разработка линейных MPC регуляторов осуществляется для систем с линейным постоянным временем (LTI) из Control System Toolbox или линеаризованных с помощью Simulink Control Design моделей Simulink. Так же можно использовать модель, созданную с помощью System Identification Toolbox из измеренных данных ввода-вывода. Проектирование и моделирование адаптивных MPC регуляторов осуществляется с использованием функций командной строки и блока Adaptive MPC Controller. Для оценки состояний используется встроенный линейный нестационарный фильтр Калмана с гарантией асимптотической устойчивости. Блок Multiple MPC Controllers служит для разработки MPC регулятора с табличным управлением.

Параметры проектирования, оценка состояний и проверка проекта

Указание параметров регулятора в приложении MPC Designer
Указание параметров регулятора в приложении MPC Designer

После определения внутренней модели объекта управления для проектирования MPC регулятора требуется указать время выборки, горизонты прогнозирования и управления, масштабные коэффициенты, ограничения на вход и выход, а также значения коэффициентов весов. Поддерживается смягчение ограничений и изменяющиеся во времени ограничения и веса. Оценка состояния контроллера осуществляется по измеренным выходам с использованием встроенной системой оценки состояния. Также доступна оценка состояний с помощью пользовательских функций. Мodel Predictive Control Toolbox позволяет обнаружить потенциальные проблемы устойчивости и надежности MPC регулятора с помощью встроенных функции диагностики.

Указание параметров регулятора в приложении MPC Designer
Указание параметров регулятора в приложении MPC Designer

Интерактивная настройка параметров и мониторинг производительности

Обнаружение неисправностей регулятора в режиме реального времени
Обнаружение неисправностей регулятора в режиме реального времени
Обнаружение неисправностей регулятора в режиме реального времени
Обнаружение неисправностей регулятора в режиме реального времени

Весовые коэффициенты времени исполнения и ограничения MPC регулятора изменяются интерактивно во время симуляции для оптимизации производительности без изменений и повторной реализации самого регулятора.

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

Разработка быстрых MPC регуляторов

Создание явного регулятора из неявного
Создание явного регулятора из неявного

Поддерживается генерация явного MPC регуляторов из неявного MPC регулятора. Далее выполняется упрощение сгенерированного явного MPC регулятора для уменьшения занимаемой памяти.

Кроме того, инструмент позволяет выполнять проектирование, симуляции и развертывание MPC регуляторов с гарантированным временем выполнения в худшем случае с использованием приближенного (субоптимального) решения.

Создание явного регулятора из неявного
Создание явного регулятора из неявного

Нелинейное управление с прогнозирующими моделями

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

Нелинейные MPC регуляторы используются для приложений оптимального планирования, которые требуют нелинейных моделей с нелинейными затратами или ограничениями. Выполняются симуляции управления в замкнутом контуре нелинейными объектов в условиях нелинейных затрат и ограничений. По умолчанию нелинейные MPC регуляторы используют Optimization Toolbox ™ для решения проблемы нелинейного программирования. Кроме того, доступно использование пользовательского нелинейного решатель. Инструмент позволяет использовать модели линейного и нелинейного прогнозирования, пользовательские функции нелинейных затрат и пользовательские нелинейные ограничения.

Поддержка генерации кода

С-код, сгенерированный из блока MPC Controller
С-код, сгенерированный из блока MPC Controller

После того, как была разработка MPC регулятора была выполнена в Simulink, регулятор реализуется как С-код или IEC 61131-3 Structured Text с использованием Simulink Coder ™ или Simulink PLC Coder ™ соответственно. MATLAB Coder ™ используется для генерации C- кода из алгоритмов MATLAB и развертывания для использования регуляторов для управления в реальном времени. Стандартный решатель квадратичного программирования (QP), входящий в Мodel Predictive Control Toolbox поддерживает генерацию кода для эффективной реализации на встраиваемых платформах. Кроме того, поддерживается генерация кода для пользовательского решателя квадратичного программирования (QP).

С-код, сгенерированный из блока MPC Controller
С-код, сгенерированный из блока MPC Controller