В этом примере показов, как оптимизировать параметры контроллера переходной характеристики чтобы удовлетворить требования проекта с помощью Response Optimizer. Требования к проекту задаются в блоке Check Step Response Characteristics.
Simulink® модели watertank_stepinput
включает нелинейную систему Бака с водой объекта и ПИ-контроллера в системе обратной связи с одним циклом.
Блок 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, чтобы открыть диалоговое окно «Параметры блоков раковины: проверяйте характеристики переходной характеристики».
В Rise time (seconds) введите 2.5
.
В Settling time (seconds) введите 20
.
В % Overshoot введите 5
.
В Initial value введите 1
.
В Final value введите 2
.
Нажмите OK.
Вместо того, чтобы задавать требования к временной области в блоках Check, можно задать их в Response Optimizer, не добавляя блоков. Для примера, который использует этот подход, см. «Оптимизация проекта для отслеживания опорного сигнала (GUI)».
Когда вы оптимизируете ответ модели, программное обеспечение изменяет значения переменных проекта, чтобы соответствовать требованиям проекта. Вы задаете, какие параметры модели может изменить программное обеспечение.
Откройте Response Optimizer сеанс для модели.
В окне модели Simulink, на вкладке Apps, в галерее, под Control Systems, выберите Response Optimizer.
Кроме того, в диалоговом окне «Параметры блоков раковины» нажмите кнопку Response Optimization.
Область, ограниченная черными сегментами линии в Time plot 1, показывает требования к переходной характеристике, заданные в блоке Check Step Response Characteristics.
Создайте набор переменных проектов.
В раскрывающемся списке Design Variables Set выберите New.
Диалоговое окно Create Design Variables Set показывает параметры модели, которые можно использовать в качестве конструктивных переменных, и указывает их местоположение в модели.
Примечание
В вашем приложении, если параметры модели, которые вы заинтересованы в оптимизации, не перечислены в диалоговом окне Create Design Variables Set, сначала задайте эти параметры как переменные. См., Добавьте параметры модели как переменные для Оптимизации.
Добавьте параметры в набор конструктивных переменных.
Выберите Ki
и Kp
, и щелкните, чтобы добавить выбранные параметры.
В списке переменных проектов отображаются следующие настройки переменной:
Variable - Имя переменной
Value - Ток значения переменных
Minimum и Maximum - Переменные границы
Scale - Масштабный коэффициент для переменной
Ограничьте конструктивные переменные положительными значениями. Для этого введите 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.
В окне Сохранить сеанс укажите имя сеанса в поле Session.
Совет
Чтобы открыть сохраненные сеансы, в Response Optimizer для модели, в раскрывающемся списке Open Session, щелкните Open from model workspace опции.