Этот пример показывает, как использовать Simulink® Design Optimization™, чтобы отследить ссылочный сигнал и оптимизировать ответ с неуверенностью в модели объекта управления. Модель объекта управления состоит из передаточной функции объекта и включает блок Saturation и блок Rate Limits. Чтобы просмотреть результаты, используйте следующие шаги.
Откройте модель pidtrack_demo
с помощью команды ниже и запустите симуляцию. Симуляция производит неоптимизированный переходной процесс и исходные данные для оптимизации.
open_system('pidtrack_demo')
Дважды кликните блок Scope
, чтобы просмотреть неоптимизированный переходной процесс.
Дважды кликните блок Step Response Specifications
, чтобы просмотреть ограничения на ответ объекта, включая время нарастания, время установления и максимальное перерегулирование.
Дважды кликните блок Reference Tracking Specifications
, чтобы просмотреть ссылочный сигнал, что контроллер должен отследить.
Можно запустить Response Optimization Tool с помощью меню Analysis в Simulink или команды sdotool
в MATLAB. Можно запустить предварительно сконфигурированную задачу оптимизации в Response Optimization Tool первым открытием модель и путем двойного клика на оранжевом блоке в нижней части модели. От Response Optimization Tool нажмите кнопку Plot Model Response, чтобы моделировать модель и показать, как хорошо первоначальный проект удовлетворяет конструктивные требования.
Сплошные линии в графиках указывают на ответ объекта, не рассматривая неуверенности, и пунктирные линии указывают на неопределенные ответы.
Мы запускаем оптимизацию путем нажатия кнопки Optimize от Response Optimization Tool.
Настроенные параметры являются усилениями ПИД-регулятора Kp
, Ki
и Kd
. Параметры объекта a1
и a2
только известны в 10% (неуверенность).
Оптимизация стремится минимизировать разрыв между фактическими и идеальными ответами для номинальной стоимости (сплошные линии) и значения min (пунктирные линии) / макс. значения (пунктирные линии) a1
и a2
.
Графики обновляются, чтобы указать, что конструктивные требования теперь удовлетворены.
% Close the model bdclose('pidtrack_demo')