В этом примере показано, как выполнить систему управления на основе оптимизации в приложении Control System Designer (Control System Toolbox), когда у вас есть программное обеспечение Control System Toolbox™. Вы проектируете ПИД-регулятор для линеаризированного Simulink® модель.
Вы выполняете следующие задачи:
Задайте требования к величине и запасу по фазе в частотном диапазоне.
Разработайте начальный контроллер, чтобы соответствовать требованиям частотного диапазона.
Доработайте первоначальный проект контроллера, чтобы ограничить выходной сигнал контроллера.
Модель Simulink, sldo_model2
, содержит Controller
блок, который является ПИД-регулятором. Этот блок управляет выходами Plant
подсистема.
Используя программное обеспечение Simulink Control Design™, модель была линеаризирована в рабочей точке, указанной в модели. The sldo_model2.mat
файл содержит предварительно сконфигурированный сеанс Control System Designer приложения, сохраненный после линеаризации модели. Чтобы узнать больше о линеаризации моделей Simulink для проектирования управления, смотрите Разработку системы управления и настройку (Simulink Control Design).
The Plant
Подсистема моделируется как система второго порядка с задержкой. Он содержит блоки Передаточная функция и Transport Delay.
Дополнительные сведения о блоках см. на страницах с описанием на блоки Transfer Fcn и Transport Delay.
Проектируемый компенсатор должен соответствовать следующим проектным требованиям:
Задайте нижнюю величину 0 в частотной области значений 1e-3 до 1 рад/с
Запас по фазе более 60 степени
Контроллер выходы в области значений [-250 550]
Чтобы спроектировать линейный контроллер для модели Simulink, сначала сконфигурируйте сеанс Control System Designer приложения.
Откройте Control System Designer сеанса приложения для линеаризированной модели Simulink.
Введите следующую команду в MATLAB® приглашение:
controlSystemDesigner('sldo_model2.mat')
sldo_model2.mat
файл содержит предварительно сконфигурированный сеанс Control System Designer приложения. Этот сеанс была сохраняем после линеаризации программного обеспечения Simulink Control Design sldo_model2
.
Приложение Control System Designer открывается следующими графиками:
Замкнутая переходная характеристика системы
Выход Controller
блок
Чтобы выполнить оптимизацию отклика, в выпадающем списке Tuning Methods выберите Optimization Based Tuning
.
В окне Response Optimization можно задать параметры контроллера и требования проекта, а также выполнить оптимизацию.
Чтобы задать параметры контроллера, которые должны быть оптимизированы:
В окне Оптимизация отклика выберите вкладку Compensators.
На вкладке Compensators отображаются следующие настройки параметров:
Value - значение параметров токового контроллера
Initial Guess - Начальное значение параметров контроллера
Minimum и Maximum - Ограничения параметров контроллера
Typical Value - Масштабный коэффициент для параметра контроллера
Примечание
Элементы или параметры компенсатора не могут иметь неопределенность при использовании с оптимизацией отклика на основе частотной области.
Параметры контроллера появляются в виде полюсов и нулей в Compensator elements столбце:
Усиление - Общее усиление контроллера
Реальные нули - Нули, следующие из дифференциатора и интегратора
Действительный полюс - полюс, получающийся из низкочастотного фильтра дифференциатора
Совет
Просмотр структуры Controller
блокируйте, щелкните правой кнопкой мыши блок в модели и выберите Mask > Look Under Mask.
Измените параметры ПИД-регулятора на формат параметров маски блока Simulink.
Щелкните правой кнопкой мыши строку sldo_model2/Controller и выберите Parameterized format.
Параметры контроллера теперь отображаются как параметры маски блока Simulink, P
, I
, и D
. Для получения дополнительной информации смотрите Проект Линейных Контроллеров для Моделей Simulink. Дополнительные сведения о параметрах маски см. в разделе «Параметры маски».
Выберите параметры контроллера для оптимизации.
В Optimize столбце выберите P
, I
, и D
.
Задайте требование к нижнему пределу величины Бода:
На вкладке Design requirements нажмите Add new design requirement. Откроется диалоговое окно Новое требование к проекту (New Design Requirement).
В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Bode magnitude lower limit
.
В раскрывающемся списке Requirement for response выберите Open Loop 1
.
Задайте область значений Frequency следующим 1e-3
на 1
.
Задайте область значений Magnitude следующим 0
на 0
.
Нажмите OK.
Нижний предел величины Bode добавляется к вкладке Design requirements.
Окно Control System Designer приложения обновляется, чтобы показать диаграмму Боде в Bode Editor. Требования проекта отображаются как сегмент черной линии.
Задайте требование к запасу по фазе:
Щелкните правой кнопкой мыши пустое пространство диаграммы Боде и выберите Design Requirements > New, чтобы открыть диалоговое окно Новое требование к проекту (New Design Requirement).
В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Gain & phase margins
.
Установите флажок Phase margin и укажите запас по фазе следующим 60
.
Нажмите OK.
В окне Оптимизация отклика (Response Optimization) вкладка Design requirements обновляется, чтобы отобразить потребность в запасе по фазе.
В приложении, в редакторе Bode Editor, график обновляется, чтобы отобразить требование запаса по фазе.
Для проектирования контроллера с заданными проектными требованиями:
В окне Оптимизация отклика, на вкладке Optimization, нажмите Start Optimization.
При каждой итерации оптимизации, метод оптимизации по умолчанию, Gradient descent
, уменьшает расстояние между текущей характеристикой и сегментом линии требования величины путем изменения параметров контроллера. Одновременно программное обеспечение также вычисляет запас по фазе и уменьшает расстояние между текущей характеристикой и запасом по фазе. Чтобы узнать больше о доступных методах оптимизации, нажмите кнопку Optimization Options, а затем нажмите Help в диалоговом окне Опции (Options).
После завершения оптимизации на вкладке Optimization отображаются итерации оптимизации и состояние.
Сообщение о состоянии, Successful termination
, указывает, что метод оптимизации нашел решение, соответствующее требованиям проекта. Дополнительные сведения о выходах, отображаемых в таблице Optimization progress, см. в разделе Итерационное отображение.
Исследуйте параметры контроллера и отклик системы:
На вкладке Compensator просмотрите оптимизированные значения параметров в столбце Value.
Исследуйте отклик системы на следующих графиках:
Далее Диаграмма Боде:
Величина системы, отображаемая в виде синей кривой на верхнем графике, находится вне желтой области. Это указывает, что система выполнила требование величины Бода.
На графике фазы отображается значение запаса по фазе ( PM) 86,1 степеней. Это указывает на то, что система достигла уровня запаса по фазе проекта превышающего 60 степени.
Замкнутая переходная характеристика системы:
График показывает, что реакция системы с обратной связью стабильна. Система с разработанным контроллером, таким образом, удовлетворяет требованиям как величины, так и запаса по фазе.
Выход Controller
блок:
График показывает, что пиковое значение контроллер выхода составляет около 1100, что является большим и может повредить объект. Чтобы ограничить контроллер выход, примените нижнюю и верхнюю границы сигнала, как указано в Проектных требованиях.
Чтобы настроить параметры компенсатора, чтобы соответствовать границам на контроллер выходе:
Добавьте верхнюю границу на контроллер выходе:
На выходном графике контроллера щелкните правой кнопкой по белой области и выберите Design requirement > New.
В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Upper time response bound
.
Задайте область значений Time следующим 0
на Inf
.
Задайте область значений Amplitude следующим 550
на 550
.
Нажмите OK.
Добавьте нижнюю границу на контроллер выходе:
На выходном графике контроллера щелкните правой кнопкой по белой области и выберите Design requirement > New.
В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Lower time response bound
.
Задайте область значений Time следующим 0
на Inf
.
Задайте область значений Amplitude следующим -250
на -250
.
Нажмите OK.
В окне Оптимизация отклика (Response Optimization) вкладка Design requirements обновляется, чтобы отобразить границы на контроллер выходе.
График выхода Controller
блок отображает новые требования к проекту.
Оптимизируйте параметры, чтобы соответствовать проект требованиям на контроллер выход:
В окне Оптимизация отклика, на вкладке Compensators, выберите строки, содержащие P
, I
, и D
, и нажмите Use Value as Initial Guess.
Значения в Initial Guess столбце обновляются. Когда вы запускаете оптимизацию снова, метод оптимизации использует обновленные значения параметров в качестве начальной точки для уточнения значений.
На вкладке Optimization нажмите Start Optimization. При каждой итерации оптимизации метод оптимизации уменьшает расстояние между текущей характеристикой и верхней и нижней границами сигнала. После завершения оптимизации на вкладке Optimization отображаются итерации оптимизации и состояние.
Сообщение о состоянии, Successful termination
, указывает, что метод оптимизации нашел решение, соответствующее требованиям проекта.
Исследуйте графики отклика.
Как показывают Диаграммы Боде, после доработки проекта система продолжает соответствовать требованиям к величине и запасам по фазе, указанным в проектных требованиях.
Проверьте, что реакция системы с обратной связью остается стабильной после уточнения проектирования контроллера.
График выхода Controller
блок показывает, что выход находится между 550 и -250, и, таким образом, удовлетворяет требованиям проекта на границах контроллер выхода.
Исследуйте значения параметров оптимизированного контроллера.
В окне Оптимизация отклика, на вкладке Compensators, просмотрите оптимизированные значения параметров контроллера в столбце Value.
Запишите оптимизированные значения параметров контроллера в Controller
блок в модели Simulink.
В приложении Control System Designer нажмите Update Blocks.
Сохраните сеанс с оптимизированными параметрами контроллера.
В приложении Control System Designer выберите Save Session и укажите имя для сеанса.