В этом примере показано, как использовать 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')