Этот пример показывает, как оптимизировать параметры контроллера, чтобы отследить ссылочный сигнал с помощью инструмента Response Optimization. Вы задаете ссылочный сигнал, не добавляя блоков Проверки в модель.
Модель sldo_model1
включает эти блоки:
Блок Controller, ПИД-регулятор, управляет выводом подсистемы Plant
.
Блок Unit Step применяет вход шага.
Можно также использовать другие типы входных параметров, такие как пандус, чтобы оптимизировать ответ, сгенерированный такими входными параметрами.
Подсистема объекта является системой второго порядка с задержкой. Это содержит Передаточную функцию и Транспортные блоки Задержки.
Образцовый вывод должен отследить ссылочный сигнал , где t время.
Откройте модель Simulink®.
sys = 'sldo_model1';
open_system(sys);
Чтобы узнать больше о модели, смотрите Образцовую Структуру.
Чтобы открыть инструмент Response Optimization, выберите Analysis> Response Optimization.
Выберите образцовый сигнал отследить ссылочный сигнал.
В New выпадающий список выберите Signal, чтобы открыть окно Create Signal Set.
Чтобы отобразить сигнал в окне, кликните по выводу блока Plant в окне модели Simulink.
Выберите сигнал и нажатие кнопки, чтобы добавить его в набор сигнала.
В Signal set введите PlantOutput
как выбранное имя сигнала.
Нажмите OK, чтобы создать переменную PlantOutput
. Это появляется в области Data инструмента Response Optimization.
Задайте ссылочный сигнал для образцового вывода, чтобы отследить.
В 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 Optimization.
Чтобы просмотреть ответ текущей модели, нажмите Plot Model Response.
График показывает, что образцовый ответ не отслеживает ссылочный сигнал.
Нажмите Optimize.
В каждой итерации решатель оптимизации Gradient descent
(fmincon
) изменяет параметры контроллера, чтобы минимизировать ошибку между моделируемым ответом и ссылочным сигналом. Чтобы узнать больше, смотрите, Как Алгоритм Оптимизации Формулирует проблемы Минимизации.
Optimization converged
сообщения в Отчете о выполнении работ Оптимизации указывает, что метод оптимизации нашел решение, которое отслеживает ссылочный сигнал в границах параметра и допусках. Для получения дополнительной информации о выводах, отображенных в Отчете о выполнении работ Оптимизации, смотрите Итеративное Отображение (Optimization Toolbox).
Проверьте, что ответ отслеживает ссылочный сигнал путем наблюдения амплитуды по сравнению с графиком временной зависимости.
Оптимизированный ответ тесно отслеживает ссылочный сигнал.
Чтобы просмотреть оптимизированные значения параметров, нажмите DesignVars
в области Data инструмента Response Optimization. Просмотрите обновленные значения в области Variable Preview.
Оптимизированные значения переменных проекта автоматически обновляются в модели Simulink.