exponenta event banner

Оптимизация конструкции в соответствии с требованиями к ступенчатому ответу (GUI)

В этом примере показано, как оптимизировать параметры контроллера в соответствии с требованиями к разработке ответа на шаг с помощью оптимизатора ответа. Требования к конструкции задаются в блоке «Проверка характеристик ответа шага».

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

Модель Simulink ®watertank_stepinput включает в себя установку нелинейной системы водоемов и ПИ-контроллер в одноконтурной системе обратной связи.

Блок Step применяет ввод шага. Для оптимизации отклика, генерируемого такими входами, можно также использовать другие типы входных данных, такие как наклонные.

На этом рисунке показана система резервуаров для воды.

Вода поступает в бак наверху со скоростью, пропорциональной открытию клапана. Открытие клапана пропорционально напряжению В, приложенному к насосу. Вода выходит через отверстие в основании резервуара со скоростью, пропорциональной квадратному корню высоты воды Н. Наличие квадратного корня в расходе воды приводит к нелинейной установке.

В следующей таблице описаны переменные, параметры, дифференциальные уравнения, состояния, входы и выходы системы водоемов.

Переменные

H - высота воды в резервуаре.

Vol - объём воды в баке.

V - напряжение, приложенное к насосу.

Параметры

А - площадь поперечного сечения резервуара.

b - постоянная, связанная с расходом в резервуар.

а - постоянная, связанная с расходом из резервуара.

Дифференциальное уравнение

ddtVol = AdHdt = bV − aH

ГосударстваH
Исходные данныеV
ПродукцияH

Требования к конструкции

Высота воды в баке, H, должны соответствовать следующим требованиям ответа на шаг:

  • Время нарастания менее 2,5 секунд

  • Время установки менее 20 секунд

  • Перерасход менее 5%

Укажите требования к ответу на шаг

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

    sys = 'watertank_stepinput';
    open_system(sys);

  2. Добавьте в модель блок «Проверить характеристики ответа шага».

    В окне Модель симуляции (Simulink model) выберите пункт Библиотека (Library) в разделе Моделирование (Simulation). Разверните узел Simulink Design Optimization и выберите Signal Constraints.

    Перетащите блок Проверить характеристики ответа шага в окно модели и подключите блок к выходу. Блок подключается к сигналу, для которого требуется указать требования к конструкции.

  3. Укажите требования к ответу на шаг.

    Дважды щелкните блок «Проверка характеристик ответа шага», чтобы открыть диалоговое окно «Параметры блока приемника: проверка характеристик ответа шага».

    • В поле Время нарастания (секунды) введите 2.5.

    • В поле Время настройки (секунды) введите 20.

    • В% Overshoot введите 5.

    • В поле «Начальное значение» введите 1.

    • В поле «Окончательное значение» введите 2.

    Нажмите кнопку ОК.

Вместо указания требований к временной области в блоках Check можно указать их в оптимизаторе ответа без добавления блоков. Пример использования этого подхода см. в разделе Оптимизация конструкции для отслеживания опорного сигнала (GUI).

Задание конструктивных переменных

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

  1. Откройте сеанс оптимизатора отклика для модели.

    В окне Модель Simulink на вкладке Приложения в галерее в разделе Системы управления выберите Оптимизатор ответа.

    Либо в диалоговом окне Параметры блока раковины (Sink Block Parameters) щелкните Оптимизация отклика (Response Optimization).

    Область, ограниченная сегментами черных линий на графике времени 1, показывает требования ответа на шаг, указанные в блоке «Проверка характеристик ответа на шаг».

  2. Создайте набор конструктивных переменных.

    В раскрывающемся списке «Набор конструктивных переменных» выберите «Создать».

    В диалоговом окне Создать набор конструктивных переменных (Create Design Variables Set) отображаются параметры модели, которые можно использовать в качестве конструктивных переменных, и их расположение в модели.

    Примечание

    Если в приложении параметры модели, которые требуется оптимизировать, не перечислены в диалоговом окне Создать набор конструктивных переменных (Create Design Variables Set), сначала задайте эти параметры в качестве переменных. См. раздел Добавление параметров модели в качестве переменных для оптимизации.

  3. Добавьте параметры в набор конструктивных переменных.

    Выбрать Ki и Kpи нажмите для добавления выбранных параметров.

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

    • Переменная - имя переменной

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

    • Минимум и максимум - переменные границы

    • Масштаб - коэффициент масштабирования переменной

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

    Нажмите кнопку ОК. Новая конструктивная переменная DesignVars создается и появляется в области Данные оптимизатора ответа. Можно щелкнуть переменную, чтобы просмотреть ее содержимое в области Просмотр переменной (Variable Preview).

Если модель имеет много параметров, сначала можно использовать анализ чувствительности для определения наиболее влиятельных параметров для оптимизации или для получения начальных предположений для конструктивных переменных. Чтобы открыть анализатор чувствительности, на вкладке Оптимизация отклика (Response Optimization) щелкните Анализ чувствительности (Sensitivity Analysis). В анализаторе чувствительности можно исследовать пространство проектирования оптимизации отклика путем изменения конструктивных переменных, определения параметров, которые в наибольшей степени влияют на задачу оптимизации, и вычисления начальных значений.

Оптимизация реакции модели

  1. Чтобы просмотреть текущий отклик модели, щелкните График (Plot) Отклик модели (Model Response).

    На графике показан выход модели, изображенный синей линией, лежащий вне области заданного ответа шага.

  2. Щелкните Оптимизировать (Optimize).

    Решатель оптимизации по умолчанию Gradient descent (fmincon) изменяет конструктивные переменные в каждой итерации таким образом, что моделируемый отклик лежит внутри сегментов линий требований конструкции. Дополнительные сведения см. в разделе Как алгоритм оптимизации формулирует проблемы минимизации.

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

  3. Убедитесь, что выходные данные модели соответствуют требованиям ответа на шаг.

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

  4. Просмотрите оптимизированные значения параметров. Щелкнуть DesignVars в рабочей области модели и просмотрите обновленные значения в области Предварительный просмотр переменной (Variable Preview).

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

Сохранить сеанс

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

На вкладке Оптимизация ответа (Response Optimizer) в выпадающем списке Сохранить сессию (Save Session) выберите Сохранить в рабочее пространство модели (Save to model workspace).

В окне Сохранить сеанс укажите имя сеанса в поле Сеанс.

Совет

Чтобы открыть сохраненную сессию, в оптимизаторе отклика для модели в выпадающем списке Открыть сессию (Open Session) выберите опцию Открыть из рабочей области модели (Open from model workspace).

Связанные темы