В этом примере показано, как оптимизировать параметры контроллера, чтобы соответствовать конструктивным требованиям переходного процесса с помощью Response Optimizer. Вы задаете конструктивные требования в блоке Check Step Response Characteristics.
Модель watertank_stepinput
Simulink® включает нелинейный Системный объект Бака с водой и ПИ-контроллер в одноконтурной системе с обратной связью.
Блок Step применяет вход шага. Можно также использовать другие типы входа, такие как пандус, чтобы оптимизировать ответ, сгенерированный такими входными параметрами.
Этот рисунок показывает Систему Бака с водой.
Вода вводит бак наверху на уровне, пропорциональном открытию клапана. Открытие клапана пропорционально напряжению, V, применился к насосу. Вода уезжает посредством открытия в основе бака на уровне, который пропорционален квадратному корню из уровня воды, H. Присутствие квадратного корня в уровне потока воды приводит к нелинейному объекту.
Следующая таблица описывает переменные, параметры, дифференциальные уравнения, состояния, входные параметры и выходные параметры Системы Бака с водой.
Переменные | H является высотой воды в баке. Vol является объемом воды в баке. V является напряжением, приложенным к насосу. |
Параметры | A является площадью поперечного сечения бака. b является константой, связанной со скоростью потока жидкости в бак. a является константой, связанной со скоростью потока жидкости из бака. |
Дифференциальное уравнение |
|
Состояния | H |
Входные параметры | V |
Выходные параметры | H |
Высота воды в баке, H
, должен удовлетворить требования ответа следующего шага:
Время нарастания меньше чем 2,5 секунды
Время урегулирования меньше чем 20 секунд
Перерегулирование меньше чем 5%
Откройте модель Simulink.
sys = 'watertank_stepinput';
open_system(sys);
Добавьте блок Check Step Response Characteristics в модель.
В окне модели Simulink выберите Library под Simulation. Расширьте узел Simulink Design Optimization и выберите Signal Constraints.
Перетащите мышью блок Check Step Response Characteristics в окно модели и соедините блок с выходом. Блок соединяется с сигналом, для которого вы хотите задать конструктивные требования.
Задайте требования переходного процесса.
Дважды кликните блок Check Step Response Characteristics, чтобы открыть Параметры блоков Приемника: диалоговое окно Check Step Response Characteristics.
В Rise time (seconds) введите 2.5
.
В Settling time (seconds) введите 20
.
В % Overshoot введите 5
.
В Initial value введите 1
.
В Final value введите 2
.
Нажмите OK.
Вместо того, чтобы задать требования временного интервала в блоках Проверки, можно задать их в Response Optimizer, не добавляя блоки. Для примера, который использует этот подход, смотрите Оптимизацию Проекта, чтобы Отследить Опорный сигнал (графический интерфейс пользователя).
Когда вы оптимизируете ответ модели, программное обеспечение изменяет значения переменных проекта, чтобы соответствовать конструктивным требованиям. Вы задаете, какие параметры модели программное обеспечение может изменить.
Откройте сеанс Response Optimizer для модели.
В окне модели Simulink, от вкладки Apps, в галерее, под Control Systems, выбирают Response Optimizer.
В качестве альтернативы в диалоговом окне Sink Block Parameters, нажмите Response Optimization.
Область, ограниченная сегментами черной линии в Time plot 1, показывает требования переходного процесса, чтобы вы задали в блоке Check Step Response Characteristics.
Создайте набор переменных проекта.
В Design Variables Set выпадающий список выберите New.
Диалоговое окно Create Design Variables Set показывает параметры модели, что вы можете использовать в качестве переменных проекта и указываете на их местоположения в модели.
Примечание
В вашем приложении, если параметры модели вы интересуетесь оптимизацией, не перечислены в диалоговом окне Create Design Variables Set, сначала задают эти параметры как переменные. Смотрите, Добавьте Параметры модели как Переменные для Оптимизации.
Добавьте параметры в набор переменных проекта.
Выберите Ki
и Kp
, и щелкните, чтобы добавить выбранные параметры.
Список переменных проекта отображает следующие переменные настройки:
Variable — Имя переменной
Значение Текущее значение переменных
Minimum и Maximum — Переменные границы
Шкала Масштабный коэффициент для переменной
Ограничьте переменные проекта положительными значениями. Для этого введите 0
для минимального значения каждой переменной в соответствующем поле Minimum и нажимают Enter на вашей клавиатуре.
Нажмите OK. Новая переменная DesignVars
проекта создается и появляется в области Data Response Optimizer. Можно кликнуть по переменной, чтобы просмотреть ее содержимое в области Variable Preview.
Если ваша модель имеет много параметров, можно сначала использовать анализ чувствительности, чтобы определить самые влиятельные параметры, чтобы оптимизировать или получить исходные предположения для переменных проекта. Чтобы открыть Sensitivity Analyzer, во вкладке Response Optimization, нажимают Sensitivity Analysis. В Sensitivity Analyzer можно исследовать пробел проекта оптимизации ответа путем изменения переменных проекта, идентифицировать параметры, что большая часть влияния задача оптимизации, и вычисляет начальные значения.
Чтобы просмотреть текущий ответ модели, нажмите Plot Model Response.
График показывает, что выход модели, изображенный синей линией, находится за пределами области заданного переходного процесса.
Нажмите Optimize.
Решатель оптимизации по умолчанию Gradient descent
(fmincon
) изменяет переменные проекта в каждой итерации так, чтобы симулированный отклик нашелся в рамках линейных сегментов конструктивных требований. Для получения дополнительной информации смотрите, Как Алгоритм Оптимизации Формулирует проблемы Минимизации.
Сообщение Optimization converged
в Оптимизации Отчет о выполнении работ указывает, что решатель оптимизации нашел решение, которое соответствует конструктивным требованиям в границах параметра и допусках. Для получения дополнительной информации о выводах, отображенных в оптимизации, смотрите Итеративное Отображение.
Проверьте, что выход модели удовлетворяет требования переходного процесса.
График отображает последние пять итераций. Итоговый ответ с помощью оптимизированного переменного параметра появляется как толстая синяя линия. Оптимизированный ответ находится в белой области, ограниченной линейными сегментами конструктивных требований, и таким образом удовлетворяет требования.
Просмотрите оптимизированные значения параметров. Нажмите DesignVars
в Model Workspace и представлении обновленные значения в области Variable Preview.
Оптимизированные значения переменных проекта автоматически обновляются в модели Simulink.
После того, как вы оптимизируете ответ модели, чтобы соответствовать конструктивным требованиям, можно сохранить сеанс Response Optimizer, который включает оптимизированные значения параметров.
В Response Optimizer, во вкладке Response Optimization, в Save Session выпадающий список, выбирают Save to model workspace.
В окне Save Session задайте имя сеанса в поле Session.
Совет
Чтобы открыть сохраненный сеанс, в Response Optimizer для модели, в Open Session выпадающий список, кликают по опции Open from model workspace.