Спроектируйте оптимизацию, чтобы отследить опорный сигнал (графический интерфейс пользователя)

В этом примере показано, как оптимизировать параметры контроллера, чтобы отследить опорный сигнал с помощью Response Optimizer. Вы задаете опорный сигнал, не добавляя блоков Проверки в модель.

Структура модели

Модель sldo_model1 включает эти блоки:

  • Блок Controller, ПИД-регулятор, управляет выходом Plant подсистема.

  • Блок Unit Step применяет вход шага.

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

  • Подсистема Plant является системой второго порядка с задержкой. Это содержит Передаточную функцию и Транспортные блоки Задержки.

Конструктивные требования

Выход модели должен отследить опорный сигнал y=1exp(0.1×t), где t время.

Задайте опорный сигнал

  1. Откройте Simulink® модель.

    sys = 'sldo_model1';
    open_system(sys);

    Чтобы узнать больше о модели, смотрите Структуру модели.

  2. Чтобы открыть Response Optimizer, в окне модели Simulink, от вкладки Apps, в галерее, под Control Systems, выбирают Response Optimizer.

  3. Выберите сигнал модели отследить опорный сигнал.

    1. В New выпадающий список выберите Signal, чтобы открыть окно Create Signal Set.

    2. Чтобы отобразить сигнал в окне, кликните по выходу блока Plant в окне модели Simulink.

    3. Выберите сигнал и нажатие кнопки, чтобы добавить его в набор сигнала.

    4. В Signal set введите PlantOutput как выбранное имя сигнала.

    Нажмите OK, чтобы создать переменную PlantOutput. Это появляется в области Data Response Optimizer.

  4. Задайте опорный сигнал для выхода модели, чтобы отследить.

    1. В New выпадающий список выберите Signal Tracking, чтобы открыть окно Create Requirement.

    2. В окне редактирования Name введите ref_sig.

    3. В окне редактирования Time vector введите linspace(0,50,200)

    4. В окне редактирования Amplitude введите 1-exp(-0.1*linspace(0,50,200)).

      Оставьте Tracking Method как SSE что означает, в каждой итерации оптимизации, решатель пытается уменьшать сумму квадратичных невязок между симулированным выходом и опорным сигналом.

    5. Нажмите Update reference signal data.

    6. В области Specify Signal to Track Reference Signal установите флажок, соответствующий сигналу, который вы выбрали на предыдущем шаге, и нажмите OK.

      Новая ссылка signalref_sig создается и появляется в области Data. Окно Response Optimization обновляется, чтобы построить опорный сигнал.

Задайте переменные проекта

Когда вы оптимизируете ответ модели, программное обеспечение изменяет значения переменных проекта, чтобы соответствовать конструктивным требованиям.

Во вкладке Response Optimization:

  1. Создайте новый набор переменных проекта.

    В Design Variables Set выпадающий список выбирают New.

    Окно Create Design Variables Set показывает параметры модели, что вы можете использовать в качестве переменных проекта и указываете на их местоположения в подсистемах модели.

  2. Добавьте параметры в набор переменных проекта.

    Выберите Kd, Ki, и Kp, и щелкните, чтобы добавить выбранные параметры.

    Список переменных проекта отображает следующие установки параметров:

    • Variable — 'ParameterName'

    • Значение Текущее значение параметров

    • Minimum и Maximum — Границы параметра

    • Шкала Масштабный коэффициент для параметра

  3. Ограничьте параметры положительными значениями. Для этого введите 0 для минимального значения каждого параметра в соответствующем поле Minimum, и нажимают Enter на вашей клавиатуре.

    Нажмите OK. Новая переменная DesignVars проекта создается и появляется в области Data Response Optimizer.

Оптимизируйте ответ модели

  1. Чтобы просмотреть ответ текущей модели, нажмите Plot Model Response.

    График показывает, что ответ модели не отслеживает опорный сигнал.

  2. Нажмите Optimize.

    В каждой итерации, решатель оптимизации Gradient descent (fmincon) изменяет параметры контроллера, чтобы минимизировать ошибку между симулированным откликом и опорным сигналом. Чтобы узнать больше, смотрите, Как Алгоритм Оптимизации Формулирует проблемы Минимизации.

    Сообщение Optimization converged в Оптимизации Отчет о выполнении работ указывает, что метод оптимизации нашел решение, которое отслеживает опорный сигнал в границах параметра и допусках. Для получения дополнительной информации о выводах, отображенных в Отчете о выполнении работ Оптимизации, смотрите Итеративное Отображение.

  3. Проверьте, что ответ отслеживает опорный сигнал путем наблюдения амплитуды по сравнению с графиком временной зависимости.

    Оптимизированный ответ тесно отслеживает опорный сигнал.

  4. Чтобы просмотреть оптимизированные значения параметров, нажмите DesignVars в области Data Response Optimizer. Просмотрите обновленные значения в области Variable Preview.

    Оптимизированные значения переменных проекта автоматически обновляются в модели Simulink.

Похожие темы