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

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

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

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

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

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

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

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

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

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

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

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

    sys = 'sldo_model1';
    open_system(sys);

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

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

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

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

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

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

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

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

  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 Optimization.

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

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

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

  2. Нажмите Optimize.

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

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

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

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

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

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

Похожие темы