В этом примере показано, как настроить ПИД-регуляторы, используемые в управлении отношением и положением маленького quadcopter только в одной симуляции с помощью блока Closed-Loop PID Autotuner.
В этом примере мультиротор моделируется в Simulink® с помощью компонентов UAV Toolbox. Эта модель основана на uavPackageDelivery
UAV Toolbox модель. Для получения дополнительной информации смотрите Доставку Пакета UAV (UAV Toolbox).
Чтобы начать, настройте и откройте Проект Simulink.
run('scdUAVPIDAutotuningStart.m')
Топ-модель состоит из следующих подсистем и моделей - ссылок:
Станция Наземного управления — Используемый к управлению и монитору самолет, в то время как в рейсе.
Внешние Датчики - Lidar & Camera — Используемый, чтобы соединиться с ранее спроектированным сценарием или фотореалистической средой симуляции. Они производят показания Лидара из среды, когда самолет летит через нее.
На борту Компьютера — Используемый, чтобы реализовать алгоритмы означал запускаться в бортовом компьютере, независимом от Автопилота.
Мультиротор — Включает низкое качество и середину режима точности, а также контроллера рейса включая его логику руководства.
Данные проектирования модели содержатся в словаре данных Simulink в папке данных (uavPackageDeliveryDataDict.sldd
). Кроме того, модель использует Различные Подсистемы, чтобы управлять различными настройками модели. Переменные, помещенные в базовое рабочее пространство, конфигурируют эти варианты без потребности изменить словарь данных.
Этот пример использует блок Closed-Loop PID Autotuner из программного обеспечения Simulink Control Design™, чтобы настроить восемь контроллеров, используемых в управлении отношением и положением мультиротора. Можно использовать много способов настроить контроллеры, включая настройку руководства и эмпирические вычисления. При помощи Автотюнера ПИДа С обратной связью можно настроить систему управления загодя и затем выполнить настройку всех восьми циклов с процессом с одним нажатием кнопки. Это делает целый настраивающий процесс повторяемым и легко корректируемым для будущей настройки. В этом примере вы используете шесть моделей степени свободы мультиротора в Simulink. Однако можно также использовать Автотюнер ПИДа С обратной связью на оборудовании, чтобы выполнить тот же процесс с помощью действительного мультиротора. Большинство других настраивающих методов затрудняет, чтобы реализовать на фактических мультироторах, может занять много времени и не легко повторяемо.
При помощи Автотюнера ПИДа С обратной связью для настройки контроллеров в этом примере вы не должны совершенствовать знание настраивающих методов управления.
Чтобы упростить автонастройку ПИД-регулятора, исходная модель поставки пакета UAV изменяется с этими изменениями:
Наведите режим, добавленный к полной подсистеме Логики Руководства
Третий вариант Mission добавляется к подсистеме Станции Наземного управления
Четыре блока Автотюнера ПИДа С обратной связью добавляются к Подсистемам контроллера Контроллера и Положения Отношения в Высококачественной Модели
ПИД-регуляторы в диспетчере Подсистем контроллера Контроллера и Положения Отношения Параметерсе Соерсе, измененном от internal
к external
Блоки памяти Хранилища данных добавляются к подсистеме Мультиротора
Усиления контроллера по умолчанию изменяются
К Рабочей области, добавленной к корневой модели уровня
Эти изменения позволяют, чтобы мультиротор взлетел и остался на фиксированной высоте, в то время как автоматическая настройка происходит и обновить коэффициенты усиления ПИД-регуляторов, всех в одной симуляции.
Используйте Ярлыки Проекта, чтобы продвинуться через пример. Каждый ярлык настраивает необходимые переменные для проекта.
Кликните по Начинающему ярлыку проекта, который настраивает модель для четырех-waypoint миссии с помощью высокочастотной модели объекта управления мультиротора. Запустите uavPIDAutotuning
модель, которая показывает взлет мультиротора, муху и землю в 3-D графике.
Модель использует блок UAV Path Manager, чтобы определить, который является активным waypoint в течение рейса. Активный waypoint передается в Guidance Mode Selector
График Stateflow®, чтобы сгенерировать необходимый внутренний цикл управляет командами.
Используйте Инспектора Данных моделирования, чтобы визуализировать UAVState выход модели мультиротора.
Вы видите, что мультиротор занимает почти 150 секунд, чтобы завершить четыре waypoint пути с исходным набором усилений. Для того, чтобы улучшать эту производительность, повторно настройте ПИД-регуляторы, используемые в мультироторе.
Если вы можете управлять основной миссией, вы готовы автоматически настроить циклы управления отношения и положения, чтобы улучшать производительность мультиротора. Система управления для этого примера содержит восемь ПИД-регуляторов. Система имеет четыре каскадных цикла управления. Каждый цикл содержит два контроллера, один для каждой оси. Эта схема показывает, как эти восемь контроллеров настраиваются с блоками Автотюнера ПИДа С обратной связью для того, чтобы выполнить автоматическую настройку.
Блоки Автотюнера ПИДа С обратной связью вводят сигналы возмущения к выходу каждого из восьми существующих ПИД-регуляторов. Автотюнеры затем используют сигналы обратной связи и выход ПИД-регуляторов для того, чтобы выполнить процесс автоматической настройки. За исключением самых внутренних циклов управления, уровня продольного и поперечного крена, эти две оси, которыми управляют, разъединяются друг от друга. Например, x скорость и y скоростные циклы разъединяются друг от друга. Это позволяет вам настраивать эти два цикла одновременно, который уменьшает полное время, чтобы выполнить автоматическую настройку. Для уровня тангажа и циклов уровня крена, настройте циклы управления последовательно, потому что они связываются. Это приводит к следующей последовательности для настройки ПИД-регуляторов:
Передайте уровень
Прокрутите уровень
Продольный и поперечный крен
Скорость X и Y
Положение X и Y
Кликните по ярлыку проекта ПИД-регуляторов Автоматической настройки, который настраивает модель, чтобы навести на низкой высоте и автоматически настроить эти четыре ПИД-регулятора, затем запускает ту же четыре-waypoint миссию от первого шага.
Блоки Автотюнера ПИДа С обратной связью для каждого цикла управления настраиваются с различными критериями эффективности в зависимости от цикла управления. Для каскадного управления, такого как используемый в этом примере, внутренний цикл должен иметь более высокую полосу пропускания, чем внешний контур, чтобы избежать нестабильности. В данном примере это означает, что циклы управления уровня продольного и поперечного крена имеют самую высокую полосу пропускания, в то время как циклы управления положения X и Y имеют самые медленные полосы пропускания.
Настройки, используемые для циклов уровня продольного и поперечного крена:
Полоса пропускания — 50 рад/секунда
Запас по фазе — 60 градусов
Амплитуда возмущения — 0.001
Настройки, используемые для циклов продольного и поперечного крена:
Полоса пропускания — 20 рад/секунда
Запас по фазе — 60 градусов
Амплитуда возмущения — 0.1
Настройки, используемые для скоростных циклов X и Y:
Полоса пропускания — 5 рад/секунда
Запас по фазе — 60 градусов
Амплитуда возмущения — 0.02
Настройки, используемые для циклов положения X и Y:
Полоса пропускания — 1 рад/секунда
Запас по фазе — 60 градусов
Амплитуда возмущения — 0.1
Чтобы максимизировать эффективность, полоса пропускания для циклов уровня продольного и поперечного крена установлена в 50 рад/секунда. Время выборки из UAV система управления составляет 0,005 секунды, и Автотюнер ПИДа С обратной связью требует что полоса пропускания должен удовлетворить , что означает, что полоса пропускания должна быть 60 рад/секунда или меньше. Выберите полосу пропускания, таким образом, что она меньше необходимых 60 рад/секунда. Другие полосы пропускания собираются быть как можно больше, в то время как не порождение устойчивости выходит с внутренними циклами.
Запас по фазе для каждого цикла установлен в 60 градусов, когда это значение обычно является хорошим компромиссом между эффективностью и затуханием. Это поле является настройкой по умолчанию для блока Closed-Loop PID Autotuner.
Амплитуды возмущения установлены таким образом, что они меньше 5% максимального ожидаемого выхода отдельных контроллеров. Если значение для возмущений слишком высоко, оно может заставить мультиротор становиться нестабильным во время настройки. Если значение для возмущений является слишком низким, автотюнер не может получить точную оценку объекта, и расчетные усиления не могут соответствовать желаемой полосе пропускания или запасу по фазе.
Настройки для отдельных циклов содержатся в словаре данных, uavPackageDeliveryDataDict.sldd
. Следующие изображения показывают выборку того, как войти, эти настройки в блоках Автотюнера ПИДа С обратной связью раньше настраивали тангаж угловой уровень.
Запустите uavPIDAutotuning
модель, которая показывает взлет мультиротора, наводит, автоматически настраивает ПИД-регуляторы, муху и землю в 3-D графике.
Используйте Инспектора Данных моделирования, чтобы визуализировать UAVState выход модели мультиротора.
Как вы видите, мультиротор наводит сроком на время для того, чтобы выполнить автоматическую настройку. После того, как процесс автоматической настройки завершен, приблизительно 185 секунд в симуляцию, мультиротор следует за тем же четырьмя-waypoint путем как в первом шаге проекта, но quadcopter может завершить путь в намного более короткое время из-за настроенных усилений, увеличивающих эффективность.
Эти графики показывают ответы положения и отношения для мультиротора по пути. Синяя линия показывает эффективность мультиротора с исходным набором усилений, в то время как красная линия показывает эффективность мультиротора с настроенными усилениями. С настроенным набором усилений мультиротор может завершить путь приблизительно через 45 секунд. Между тем, с исходным набором усилений, мультиротор занимает почти 150 секунд.
Во время процесса автоматической настройки коэффициенты усиления обновляются для этих восьми контроллеров:
Передайте уровень — Kp = 0.00425, Ки = 0.01479, Kd = 0.0000045, N = 398
Прокрутите уровень — Kp = 0.003477, Ки = 0.01215, Kd = 0.0000031, N = 398
Передайте угол — Kp = 19.38
Крен — Kp = 18.95
X скоростей — Kp = 0.5153, Ки = 0.2581
Y скорость — Kp = 0.5201, Ки = 0.2979
X положений — Kp = 0.9365
Y положение — Kp = 0.9291
В этом примере вы изучили, как автоматически настроить P, я, D и N получаем для четырех отдельных парных циклов управления, используемых для управления отношением и положением. Однако эта модель в качестве примера содержит еще два цикла управления, один для высоты и один для угла рыскания или заголовка. Используя ту же методологию для автоматической настройки представленного в этом примере, можно добавить Автотюнер ПИДа С обратной связью в один или оба из этих других циклов управления и выполнить процесс автоматической настройки.
Для того, чтобы настроить контроллеры для любого из этих циклов, гарантируйте, что настройка происходит только, когда настройка не запускается для других контроллеров. Можно или отключить настройку других контроллеров, или можно настроить эти контроллеры после того, как настройка завершилась для контроллеров положения и отношения.
Когда вы закончите исследуя модели, закройте файл проекта.
close(prj)