Фильтр по тематике

Настройка системы управления в Simulink

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

15.05.2015 466 0
Настройка системы управления в Simulink

Настройка системы управления может оказаться довольно сложной задачей, если полагаться только на собственный опыт и заниматься отладкой каждого элемента системы вручную. В частности, это касается систем управления со множественными цепями обратной связи или настраиваемыми компонентами, как, например, в случае каскадных ПИД-регуляторов, систем управления с прямыми и обратными связями или контуров управления MIMO-систем с выраженными перекрёстными связями. Обычно разработчики занимаются настройкой одновременно только одного элемента или контура управления. Помимо того что данный подход требует выполнения множества итераций и отнимает много времени, он не гарантирует достижение оптимального результата. Кроме того, специалист, использующий при разработке системы эту методологию, должен обладать солидным опытом работы.

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

Система управления полётом вертолёта: архитектура и требования

На рисунке 1 показана блок­схема системы управления полётом вертолёта, смоделированная в графической среде Simulink.

Динамические характеристики вертолёта моделируются в блоке Helicopter. Система управления полётом формирует команды ds, dc, и dТ в градусах, соответственно, для продольного управления циклическим шагом несущего винта, бокового управления циклическим шагом несущего винта и управления хвостового рулевого винта. Управление основывается на измерениях следующих параметров: угла тангажа (theta), угла крена (phi), скорости крена, тангажа и рыскания (p, q и r). Контроллер состоит из двух контуров обратной связи. Внутренний контур (блок обратной связи со статическим выходом (SOF), обозначенный светло-голубым цветом) обеспечивает повышение устойчивости и развязку. Внешний контур (блоки PI, обозначенные оранжевым цветом) обеспечивает отслеживание уставки на заданном уровне.

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

  • отслеживание изменений уставки по параметрам theta, phi и r с нулевой установившейся ошибкой, временем регулирования не более двух секунд, минимальным перерегулированием и минимальной перекрёстной связью;
  • обеспечение по всем переменным достаточных запасов по амплитуде и фазе;
  • ограничение полосы пропускания замкнутой системы для предохранения от воздействия высокочастотных помех из-за движения винта и шумов измерений.

Чтобы частично обеспечить соблюдение третьего пункта требований, в системе управления полётом используется фильтр нижних частот (ФНЧ) с отсечкой в 40 рад/с.

Задача настройки параметров системы управления

Система управления имеет 21 настраиваемый параметр: 6 коэффициентов для трёх PI-контроллеров во внешнем контуре и 15 значений (3 × 5) коэффициентов матрицы усиления во внутреннем контуре. Начальные значения всех коэффициентов PI-контроллеров равны единице, а начальные значения коэффициентов матрицы усиления во внутреннем контуре – нулю. После запуска моделирования с этими значениями параметров наблюдается неустойчивое поведение ненастроенной системы (см. рис. 2).

Для стабилизации поведения системы и обеспечения всех требований необходимо настроить все парамет­ры (21 значение). Эту задачу следует выполнять с помощью функции systune из пакета инструментов Robust Control Toolbox, которая позволяет совместно настроить внутренние и внешние контуры управления.

Процесс автоматизированной настройки системы управления

Функция systune настраивает систему управления, смоделированную в Simulink в соответствии с совокупностью требований, заданных одновременно во временно¢й и частотной областях. Процесс настройки включает в себя четыре основных этапа:

  1. Определение блоков модели Simu­link, которые нужно настроить.
  2. Определение требований.
  3. Настройка параметров системы управления.
  4. Обновление блоков Simulink с наст­роенными значениями параметров, и проверка результата настройки при моделировании.

Определение блоков для настройки

Используя интерфейс slTunable из пакета расширений Simulink Control Design, нужно указать название мо­дели Simulink и имена блоков для настройки. SlTunable автоматически линеаризует модель Simulink и устанавливает задание по настройке параметров для функции systune. Модель системы описывается следующим образом: 

ST0 = slTuner(‘rct_helico’,{‘PI1’,’PI2’,’PI3’,’SOF’});

 

Определение требований

Пакет Robust Control Toolbox обеспечивает выполнение полного набора задач настройки, в том числе слежение за уставкой, подавление помех, формирование передаточной функции по частотной характеристике, задание запасов по фазе и амплитуде, а также размещение полюсов замкнутой системы. Для нашего примера мы используем следующие требования:

  • отслеживание изменения уставки с заданным временем отклика не более двух секунд и установившейся ошибкой не более 1%:
    TrackReq = TuningGoal.StepTracking({‘theta-ref’,’phi-ref’,’r-ref’},{‘theta’,’phi’,’r’},2,1e-2); 
  • обеспечение устойчивости системы при отклонении сигналов по амплитуде до 5 дБ и по фазе до 40° на входах и выходах объекта управления (независимо друг от друга или одновременно во всех каналах):
    MarginReq1 = TuningGoal.Margins(‘u’,5,40);
    MarginReq2 = TuningGoal.Margins(‘y’,5,40); 
  • ограничение собственной частоты по­люсов замкнутой системы до 20 рад/с:
    PoleReq = TuningGoal.Poles(); PoleReq.MaxFrequency=20; 

Настройка параметров системы управления

Теперь всё готово для использования функции systune для совместной настройки всех (21) параметров системы управления. Функция systune возвращает настроенную версию ST1 модели системы управления ST0: 

AllReqs = [TrackReq,MarginReq1,MarginReq2,PoleReq];
[ST1,fSoft,~,Info] = systune(ST0,AllReqs); 

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

Обновление и проверка модели

Запишем значения параметров, полученные в результате настройки системы, в модель Simulink: 

writeBlockValue(ST1). 

Результаты моделирования системы с новыми значениями параметров подтверждают, что контроллер обеспечивает устойчивый отклик с надёжным отслеживанием уставки и эффективной развязкой (см. рис. 4).

Возможности настройки

Функция systune позволяет настраивать большинство блоков, используемых для создания системы управления в Simulink. К ним относятся усилитель, ПИД-регулятор, передаточная функция, модель в пространстве состояний, модель полюсов­нулей, дискретный фильтр и блоки LTI-систем. Можно настроить любую конфигурацию системы управления, содержащей эти блоки.

Изменяя требования к настраиваемым параметрам, можно найти оптимальное соотношение между производительностью и надёжностью системы. Можно также сравнить различные архитектуры управления и исследовать возможность уменьшения сложности конечного решения для системы управления. Например, путём установки коэффициента усиления блока SOF в ноль и перенастройки контуров PI-блоков при помощи команды systune можно проверить, является ли необходимым внутренний контур обратной связи. Сравнение результатов моделирования с исходной двухконтурной архитектурой показывает, что внутренний контур важен для стабилизации системы и должен быть сохранён.

Также можно применить команду systune для настройки системы управления по нескольким моделям объектов управления, которые отражают различные условия эксплуатации, номинальные и критичные рабочие режимы или естественное отклонение параметров системы. Например, систему управления полётом можно настроить в соответствии с минимальными требованиями по реакции и устойчивости не только для нормально функционирующего летательного аппарата, но и для случаев возможных отказов каких-либо приводов и датчиков.

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

Наконец, для инженеров, знакомых с методами проектирования на базе LQG и H­бесконечности, функция systune открывает две дополнительные возможности. Можно выполнить синтез системы управления на базе LQG или H-бесконечности с заданным порядком и фиксированной структурой, а также оптимизировать параметры системы управления с использованием совокупности требований методов проектирования на основе LQG (H-2) и H-бесконечности.

Функция systune использует современные методы негладкой оптимизации для настройки параметров системы управления [1, 2]. В отличие от «грубых» методов оптимизации, которые основаны на расширенной модели Simulink, systune формулирует и решает задачу настройки системы в частотной области. В результате функция systune позволяет выполнить настройку большинства систем за считанные секунды и с высоким качеством. Кроме того, как показывает пример системы управления полётом вертолёта, функция systune не требует хорошей начальной проработки решения. Настройка может быть начата на произвольном этапе, когда настраиваемые параметры ещё окончательно не установлены.

Литература

  1. Apkarian P., Noll D. Nonsmooth H-infinity Synthesis. – IEEE Transactions on Automatic Control. 2006. 51. Pp. 71–86. 
  2. Apkarian P., Noll D. Nonsmooth Optimi­zation for Multiband Frequency­Domain Control Design. Automatica. 2007. 43. Pp. 724–731.

Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

15.05.2015 466 0
Комментарии
Рекомендуем

ООО «ИнСАТ» ИНН 7734682230 erid = 2SDnjbrfM5E
ООО «ИнСАТ» ИНН 7734682230 erid = 2SDnjcxRpdr
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться