Проектируйте основанный на оптимизации ПИД-регулятор для линеаризированной модели Simulink (GUI)

В этом примере показано, как выполнить систему управления на основе оптимизации в приложении 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]

Сконфигурируйте приложение Control System Designer для основанных на оптимизации Систем управления

Чтобы спроектировать линейный контроллер для модели Simulink, сначала сконфигурируйте сеанс Control System Designer приложения.

  1. Откройте Control System Designer сеанса приложения для линеаризированной модели Simulink.

    Введите следующую команду в MATLAB® приглашение:

    controlSystemDesigner('sldo_model2.mat')

    sldo_model2.mat файл содержит предварительно сконфигурированный сеанс Control System Designer приложения. Этот сеанс была сохраняем после линеаризации программного обеспечения Simulink Control Design sldo_model2.

    Приложение Control System Designer открывается следующими графиками:

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

    • Выход Controller блок

  2. Чтобы выполнить оптимизацию отклика, в выпадающем списке Tuning Methods выберите Optimization Based Tuning.

    В окне Response Optimization можно задать параметры контроллера и требования проекта, а также выполнить оптимизацию.

Проектирование начального ПИД-регулятора для соответствия требованиям к величине и запасам по фазе

Задайте параметры контроллера

Чтобы задать параметры контроллера, которые должны быть оптимизированы:

  1. В окне Оптимизация отклика выберите вкладку Compensators.

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

    • Value - значение параметров токового контроллера

    • Initial Guess - Начальное значение параметров контроллера

    • Minimum и Maximum - Ограничения параметров контроллера

    • Typical Value - Масштабный коэффициент для параметра контроллера

    Примечание

    Элементы или параметры компенсатора не могут иметь неопределенность при использовании с оптимизацией отклика на основе частотной области.

    Параметры контроллера появляются в виде полюсов и нулей в Compensator elements столбце:

    • Усиление - Общее усиление контроллера

    • Реальные нули - Нули, следующие из дифференциатора и интегратора

    • Действительный полюс - полюс, получающийся из низкочастотного фильтра дифференциатора

    Совет

    Просмотр структуры Controller блокируйте, щелкните правой кнопкой мыши блок в модели и выберите Mask > Look Under Mask.

  2. Измените параметры ПИД-регулятора на формат параметров маски блока Simulink.

    Щелкните правой кнопкой мыши строку sldo_model2/Controller и выберите Parameterized format.

    Параметры контроллера теперь отображаются как параметры маски блока Simulink, P, I, и D. Для получения дополнительной информации смотрите Проект Линейных Контроллеров для Моделей Simulink. Дополнительные сведения о параметрах маски см. в разделе «Параметры маски».

  3. Выберите параметры контроллера для оптимизации.

    В Optimize столбце выберите P, I, и D.

Задайте требования к проектированию величины и запаса по фазе

Задайте требование к нижнему пределу величины Бода:

  1. На вкладке Design requirements нажмите Add new design requirement. Откроется диалоговое окно Новое требование к проекту (New Design Requirement).

  2. В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Bode magnitude lower limit.

  3. В раскрывающемся списке Requirement for response выберите Open Loop 1.

  4. Задайте область значений Frequency следующим 1e-3 на 1.

  5. Задайте область значений Magnitude следующим 0 на 0.

  6. Нажмите OK.

    Нижний предел величины Bode добавляется к вкладке Design requirements.

    Окно Control System Designer приложения обновляется, чтобы показать диаграмму Боде в Bode Editor. Требования проекта отображаются как сегмент черной линии.

Задайте требование к запасу по фазе:

  1. Щелкните правой кнопкой мыши пустое пространство диаграммы Боде и выберите Design Requirements > New, чтобы открыть диалоговое окно Новое требование к проекту (New Design Requirement).

  2. В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Gain & phase margins.

  3. Установите флажок Phase margin и укажите запас по фазе следующим 60.

  4. Нажмите OK.

    В окне Оптимизация отклика (Response Optimization) вкладка Design requirements обновляется, чтобы отобразить потребность в запасе по фазе.

    В приложении, в редакторе Bode Editor, график обновляется, чтобы отобразить требование запаса по фазе.

Проектирование контроллера

Для проектирования контроллера с заданными проектными требованиями:

  1. В окне Оптимизация отклика, на вкладке Optimization, нажмите Start Optimization.

    При каждой итерации оптимизации, метод оптимизации по умолчанию, Gradient descent, уменьшает расстояние между текущей характеристикой и сегментом линии требования величины путем изменения параметров контроллера. Одновременно программное обеспечение также вычисляет запас по фазе и уменьшает расстояние между текущей характеристикой и запасом по фазе. Чтобы узнать больше о доступных методах оптимизации, нажмите кнопку Optimization Options, а затем нажмите Help в диалоговом окне Опции (Options).

    После завершения оптимизации на вкладке Optimization отображаются итерации оптимизации и состояние.

    Сообщение о состоянии, Successful termination, указывает, что метод оптимизации нашел решение, соответствующее требованиям проекта. Дополнительные сведения о выходах, отображаемых в таблице Optimization progress, см. в разделе Итерационное отображение.

  2. Исследуйте параметры контроллера и отклик системы:

    1. На вкладке Compensator просмотрите оптимизированные значения параметров в столбце Value.

    2. Исследуйте отклик системы на следующих графиках:

      • Далее Диаграмма Боде:

        • Величина системы, отображаемая в виде синей кривой на верхнем графике, находится вне желтой области. Это указывает, что система выполнила требование величины Бода.

        • На графике фазы отображается значение запаса по фазе ( PM) 86,1 степеней. Это указывает на то, что система достигла уровня запаса по фазе проекта превышающего 60 степени.

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

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

      • Выход Controller блок:

        График показывает, что пиковое значение контроллер выхода составляет около 1100, что является большим и может повредить объект. Чтобы ограничить контроллер выход, примените нижнюю и верхнюю границы сигнала, как указано в Проектных требованиях.

Улучшите проектирование контроллера, чтобы соответствовать выходным границам контроллера

Чтобы настроить параметры компенсатора, чтобы соответствовать границам на контроллер выходе:

  1. Добавьте верхнюю границу на контроллер выходе:

    1. На выходном графике контроллера щелкните правой кнопкой по белой области и выберите Design requirement > New.

    2. В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Upper time response bound.

    3. Задайте область значений Time следующим 0 на Inf.

    4. Задайте область значений Amplitude следующим 550 на 550.

    5. Нажмите OK.

  2. Добавьте нижнюю границу на контроллер выходе:

    1. На выходном графике контроллера щелкните правой кнопкой по белой области и выберите Design requirement > New.

    2. В диалоговом окне New Design Requirement, в раскрывающемся списке Design requirement type, выберите Lower time response bound.

    3. Задайте область значений Time следующим 0 на Inf.

    4. Задайте область значений Amplitude следующим -250 на -250.

    5. Нажмите OK.

    В окне Оптимизация отклика (Response Optimization) вкладка Design requirements обновляется, чтобы отобразить границы на контроллер выходе.

    График выхода Controller блок отображает новые требования к проекту.

  3. Оптимизируйте параметры, чтобы соответствовать проект требованиям на контроллер выход:

    1. В окне Оптимизация отклика, на вкладке Compensators, выберите строки, содержащие P, I, и D, и нажмите Use Value as Initial Guess.

      Значения в Initial Guess столбце обновляются. Когда вы запускаете оптимизацию снова, метод оптимизации использует обновленные значения параметров в качестве начальной точки для уточнения значений.

    2. На вкладке Optimization нажмите Start Optimization. При каждой итерации оптимизации метод оптимизации уменьшает расстояние между текущей характеристикой и верхней и нижней границами сигнала. После завершения оптимизации на вкладке Optimization отображаются итерации оптимизации и состояние.

      Сообщение о состоянии, Successful termination, указывает, что метод оптимизации нашел решение, соответствующее требованиям проекта.

  4. Исследуйте графики отклика.

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

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

    График выхода Controller блок показывает, что выход находится между 550 и -250, и, таким образом, удовлетворяет требованиям проекта на границах контроллер выхода.

  5. Исследуйте значения параметров оптимизированного контроллера.

    В окне Оптимизация отклика, на вкладке Compensators, просмотрите оптимизированные значения параметров контроллера в столбце Value.

  6. Запишите оптимизированные значения параметров контроллера в Controller блок в модели Simulink.

    В приложении Control System Designer нажмите Update Blocks.

  7. Сохраните сеанс с оптимизированными параметрами контроллера.

    В приложении Control System Designer выберите Save Session и укажите имя для сеанса.

Похожие темы