В этом примере показано, как использовать Simulink® Design Optimization™, чтобы отследить опорный сигнал и оптимизировать ответ с неопределенностью в модели объекта управления. Модель объекта управления состоит из передаточной функции объекта и включает блок Saturation и блок Rate Limits. Чтобы просмотреть результаты, используйте следующие шаги.
Откройте pidtrack_demo модель с помощью команды ниже и запуска симуляция. Симуляция производит неоптимизированный переходной процесс и исходные данные для оптимизации.
open_system('pidtrack_demo')

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

Дважды кликните Step Response Specifications блокируйтесь, чтобы просмотреть ограничения на ответ объекта, включая время нарастания, время урегулирования и максимальное перерегулирование.
Дважды кликните Reference Tracking Specifications блокируйтесь, чтобы просмотреть опорный сигнал, который должен отследить контроллер.
Можно запустить Response Optimizer с помощью меню Apps в панели инструментов Simulink или sdotool команда в MATLAB. Можно запустить предварительно сконфигурированную задачу оптимизации в Response Optimizer путем открытия сначала модели и путем двойного клика на оранжевом блоке в нижней части модели. От Response Optimizer нажмите кнопку Plot Model Response, чтобы симулировать модель и показать, как хорошо первоначальный проект удовлетворяет конструктивным требованиям.

Сплошные линии в графиках указывают на ответ объекта, не рассматривая неопределенности, и пунктирные линии указывают на неопределенные ответы.
Мы запускаем оптимизацию путем нажатия кнопки Optimize от Response Optimizer.
Настроенные параметры являются усилениями ПИД-регулятора Kp, Ki, и Kd. Параметры объекта a1 и a2 только известны в 10% (неопределенность).
Оптимизация стремится минимизировать разрыв между фактическими и идеальными ответами для номинальной стоимости (сплошные линии) и значения min (пунктирные линии) / макс. значения (пунктирные линии) a1 и a2.
Графики обновляются, чтобы указать, что конструктивным требованиям теперь удовлетворяют.


% Close the model bdclose('pidtrack_demo')