ПИД, настраивающийся с неопределенностью отслеживания уставки и объекта

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

Откройте pidtrack_demo модель с помощью команды ниже и запуска симуляция. Симуляция производит неоптимизированный переходной процесс и исходные данные для оптимизации.

open_system('pidtrack_demo')

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

Дважды кликните Step Response Specifications блокируйтесь, чтобы просмотреть ограничения на ответ объекта, включая время нарастания, время урегулирования и максимальное перерегулирование.

Дважды кликните Reference Tracking Specifications блокируйтесь, чтобы просмотреть ссылочный сигнал, что контроллер должен отследить.

Можно запустить Response Optimization Tool с помощью меню Apps в панели инструментов 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')