В этом примере показано, как оптимизировать параметры контроллера, чтобы отследить опорный сигнал с помощью Response Optimizer. Вы задаете опорный сигнал, не добавляя блоков Проверки в модель.
Модель sldo_model1
включает эти блоки:
Блок Controller, ПИД-регулятор, управляет выходом Plant
подсистема.
Блок Unit Step применяет вход шага.
Можно также использовать другие типы входных параметров, такие как пандус, чтобы оптимизировать ответ, сгенерированный такими входными параметрами.
Подсистема Plant является системой второго порядка с задержкой. Это содержит Передаточную функцию и Транспортные блоки Задержки.
Выход модели должен отследить опорный сигнал , где t время.
Откройте модель Simulink®.
sys = 'sldo_model1';
open_system(sys);
Чтобы узнать больше о модели, смотрите Структуру модели.
Чтобы открыть Response Optimizer, в окне модели Simulink, от вкладки Apps, в галерее, под Control Systems, выбирают Response Optimizer.
Выберите сигнал модели отследить опорный сигнал.
В New выпадающий список выберите Signal, чтобы открыть окно Create Signal Set.
Чтобы отобразить сигнал в окне, кликните по выходу блока Plant в окне модели Simulink.
Выберите сигнал и нажатие кнопки, чтобы добавить его в набор сигнала.
В Signal set введите PlantOutput
как выбранное имя сигнала.
Нажмите OK, чтобы создать переменную PlantOutput
. Это появляется в области Data Response Optimizer.
Задайте опорный сигнал для выхода модели, чтобы отследить.
В New выпадающий список выберите Signal Tracking, чтобы открыть окно Create Requirement.
В окне редактирования Name введите ref_sig
.
В окне редактирования Time vector введите linspace(0,50,200)
В окне редактирования Amplitude введите 1-exp(-0.1*linspace(0,50,200))
.
Оставьте Tracking Method как SSE
что означает, в каждой итерации оптимизации, решатель пытается уменьшать сумму квадратичных невязок между симулированным выходом и опорным сигналом.
Нажмите Update reference signal data.
В области Specify Signal to Track Reference Signal установите флажок, соответствующий сигналу, который вы выбрали на предыдущем шаге, и нажмите OK.
Новая ссылка signalref_sig
создается и появляется в области Data. Окно Response Optimization обновляется, чтобы построить опорный сигнал.
Когда вы оптимизируете ответ модели, программное обеспечение изменяет значения переменных проекта, чтобы соответствовать конструктивным требованиям.
Во вкладке Response Optimization:
Создайте новый набор переменных проекта.
В Design Variables Set выпадающий список выбирают New.
Окно Create Design Variables Set показывает параметры модели, что вы можете использовать в качестве переменных проекта и указываете на их местоположения в подсистемах модели.
Добавьте параметры в набор переменных проекта.
Выберите Kd
, Ki
, и Kp
, и щелкните, чтобы добавить выбранные параметры.
Список переменных проекта отображает следующие установки параметров:
Variable — 'ParameterName'
Значение Текущее значение параметров
Minimum и Maximum — Границы параметра
Шкала Масштабный коэффициент для параметра
Ограничьте параметры положительными значениями. Для этого введите 0
для минимального значения каждого параметра в соответствующем поле Minimum, и нажимают Enter на вашей клавиатуре.
Нажмите OK. Новая переменная DesignVars
проекта создается и появляется в области Data Response Optimizer.
Чтобы просмотреть ответ текущей модели, нажмите Plot Model Response.
График показывает, что ответ модели не отслеживает опорный сигнал.
Нажмите Optimize.
В каждой итерации, решатель оптимизации Gradient descent
(fmincon
) изменяет параметры контроллера, чтобы минимизировать ошибку между симулированным откликом и опорным сигналом. Чтобы узнать больше, смотрите, Как Алгоритм Оптимизации Формулирует проблемы Минимизации.
Сообщение Optimization converged
в Оптимизации Отчет о выполнении работ указывает, что метод оптимизации нашел решение, которое отслеживает опорный сигнал в границах параметра и допусках. Для получения дополнительной информации о выводах, отображенных в Отчете о выполнении работ Оптимизации, смотрите Итеративное Отображение.
Проверьте, что ответ отслеживает опорный сигнал путем наблюдения амплитуды по сравнению с графиком временной зависимости.
Оптимизированный ответ тесно отслеживает опорный сигнал.
Чтобы просмотреть оптимизированные значения параметров, нажмите DesignVars
в области Data Response Optimizer. Просмотрите обновленные значения в области Variable Preview.
Оптимизированные значения переменных проекта автоматически обновляются в модели Simulink.