Как правильно настраивать PID

PID (Пропорционально-интегрально-дифференциальный) регулирование является основным методом используемым для стабилизации квадрокоптера.

Пропорциональня P = немедленная коррекция: чем дальше от нас (значения), тем больше делается коррекция

Интегральная I = сверхурочная или постоянная коррекция: если мы не в состоянии добиться результата дополнительной коррекции.

Дифференциальная D = легкая коррекция: коррекция быстрая, замедлим ее немного, что бы избежать перерегулировки.

7ec22ab6766ffa70d9341f88dfbd5c42-1-9818316

Как PID используется для стабилизации квадрокоптера

Квадрокоптер — неустойчивая динамическая система: без активного управления он сразу теряет ориентацию.
PID-регуляторы работают в замкнутом контуре управления, постоянно сравнивая:

  • заданное состояние ↔ фактическое состояние

и корректируя тягу моторов.

Вот видео настройки PID на контроллере CC3D в ПО OpenPilot.

Подстройка PID в поле показана на видео ниже.

А общие правила настройки PID можно сформулировать следующим образом:

Rate p — определяет сколько мощности дать на преодоления инерции рамы — угловой скорости по питчу и ролу — чем инертнее рама и меньше тяга винто-моторной группы тем больше.

Rate d — определяет дозирование энергии на раскрутку и торможение пропеллера — чем больше диаметр пропеллера и меньше тяга мотора тем параметр больше

По донастройке PID`ов (n.ybyue) есть несколько советов:

Если обнаруживаете осциляции — увеличивайте rate d.

Если аппарат ведет себя «как пьяный» то одновременно и rate p и rate d по 10%.

Раскачка бывает нескольких видов — «мелкодрожащая» когда моторы меняют свой тон многократно в течение секунды и «висит как на струне мелко дрожа» — это перекачанный rate p.

Если аппарат трудно взлетает любой ветерок его плавно отклоняет из стабильного положения (ведет себя как брошенная на пол круглая крышка — волной по окружности — унитазит квадрокоптер) — это недостаточный rate p.

Если висит ровно, ветра нет, а он чуть чуть дергает то одним лучом, то другим, раз в секунду, то вероятно великоват rate d.

Если аппарат принудительно немного качнуть стиком, а он вместо того чтобы выполнить маневр в одно движение делает один-два затухающих качка — это значит маловат rate d.

Внимание!

Не советуется ускорять процесс увеличивая пид более чем на 10% за раз очень легко пролететь нужный порог и потом уже начинаются неожиданные явления типа внезапных рывков

Что именно регулируется PID

Обычно PID применяется по осям:

  • Roll (крен)
  • Pitch (тангаж)
  • Yaw (рысканье)

Часто — отдельный PID для каждой оси.

Также могут быть отдельные PID:

  • по углам (Angle mode)
  • по угловым скоростям (Rate / Acro mode)
  • по высоте или позиции (в более сложных системах)

Роль каждого компонента PID

P — пропорциональный

  1. Реагирует на текущую ошибку угла или скорости.
  2. Чем больше отклонение — тем сильнее коррекция моторов
  • Основа стабилизации
  • Слишком большой P → колебания
  • Слишком маленький P → «ватное» управление

I — интегральный

  • Компенсирует постоянные ошибки
  • Убирает дрейф, вызванный:
    • разным весом моторов
    • центром масс
    • ветром
  • Без I квадрокоптер «уплывает»
  • Избыток I → медленные раскачки

D — дифференциальный

  • Реагирует на скорость изменения ошибки
  • Гасит колебания и резкие движения
  •  Делает полёт «плотным» и точным
  • Слишком большой D → шумы, перегрев моторов

Как PID влияет на моторы

PID-выход → микшер → изменение оборотов моторов:

  • если крен вправо → левые моторы ускоряются
  • если тангаж вперёд → задние моторы ускоряются
  • yaw управляется разницей моментов вращения

Все корректировки происходят с частотой сотни–тысячи раз в секунду.

Почему PID — основной метод

  • Прост в реализации
  • Работает в реальном времени
  • Не требует точной математической модели
  • Эффективен для быстродинамических систем

Формулы PID-регулирования

Строгие формулы PID-регулирования, именно в том виде, в каком они применяются в системах стабилизации квадрокоптера (БПЛА).

Классическая непрерывная формула PID

u(t) = KP e(t) + KI 0 t e(τ) dτ + KD de(t) dt

где:

  • u(t)u(t) — управляющее воздействие (коррекция тяги моторов)

  • e(t)=r(t)−y(t)e(t) = r(t) — y(t) — ошибка

  • r(t)r(t) — заданное значение (угол или угловая скорость)

  • y(t)y(t) — измеренное значение (гироскоп / IMU)

  • KP,KI,KDK_P, K_I, K_D — коэффициенты PID

Ошибка в квадрокоптере

Для углов (Angle mode)

eθ(t) = θset − θmeas

Для угловых скоростей (Rate / Acro mode)

eω(t) = ωset − ωmeas

Дискретная форма PID (реальная в полётных контроллерах)

Поскольку контроллер работает с фиксированным шагом Δt:

Пропорциональная часть (P)

Pk = KP · ek

Интегральная часть (I)

Ik = Ik-1 + KI · ek · Δt

(обычно с ограничением — anti-windup)

Дифференциальная часть (D)

Dk = KD · (ek − ek-1) / Δt

Итоговый PID-выход

uk = Pk + Ik + Dk

D по измерению (как в дронах)

В БПЛА почти всегда используют D по измерению, а не по ошибке:

Dk = — KD · yk — yk-1 Δt

Почему:
  • меньше шумов
  • стабильнее реакция
  • гироскоп даёт хорошую производную

Каскадное PID-управление (стандарт для квадрокоптеров)

Внешний контур — углы (Angle PID)

Формула:
ωset = KP,θ · (θset − θmeas)

Внутренний контур — угловые скорости (Rate / Acro PID)

Формула:
u = KP,ω · eω + KI,ω · ∫ eω dt + KD,ω · dω/dt

На моторы подаётся именно выход rate-PID, а angle-PID задаёт целевую скорость.

Распределение PID на моторы (пример: Roll)

M1 = T + uroll + upitch − uyaw
M2 = T − uroll + upitch + uyaw
M3 = T − uroll − upitch − uyaw
M4 = T + uroll − upitch + uyaw

Где:

  • T — общий газ
  • uroll, upitch, uyaw — коррекции PID по крену, тангажу и рысканию соответственно

Что реально крутят при настройке PID

  • KP → жёсткость и отзывчивость
  • 𝐾𝐼 → удержание угла / компенсация ветра
  • 𝐾𝐷 → подавление колебаний

Физический смысл PID для квадрокоптера

Член PID Формула Физический смысл Цвет
P — Пропорциональный Pk = KP · ek Мгновенная реакция на текущую ошибку (угол или скорость). Чем больше отклонение — тем сильнее корректировка моторов. Красный
I — Интегральный Ik = Ik-1 + KI · ek · Δt Компенсирует постоянные ошибки (дрейф, ветер, смещённый центр масс). Убирает «уплывание» квадрокоптера. Зелёный
D — Дифференциальный Dk = KD · (ek − ek-1) / Δt Гасит колебания, предсказывает изменение ошибки. Делает полёт плавным и точным. Синий

Итоговый PID-выход: uk = Pk + Ik + Dk.
На моторы подаётся эта сумма для коррекции крена, тангажа и рыскания.

Графическое отображение P, I и D во времени

 

Сигнал управления u(t) = P + I + D. Здесь показано влияние каждого члена PID на ошибку.

 

 

 

 

P — мгновенная реакция
I — накопленная ошибка
D — предсказание изменения

Анимация PID-сигнала квадрокоптера

Красный — P, зелёный — I, синий — D. Высота блока показывает вклад каждого члена PID во время стабилизации.

P — мгновенная реакция I — накопленная ошибка D — предсказание изменения

Симптомы ошибок, причины и решения для P/I/D

Член PID Симптомы ошибки Причины Исправление
P — Пропорциональный Слишком низкий: дрон «ватный», медленно реагирует Слишком высокий: колебания, дерганый отклик, вибрации Неправильный коэффициент относительно массы и мощности моторов Игнорирование частоты обновления контроллера Настраивать постепенно: увеличить до быстрого, но устойчивого отклика Тестировать короткими импульсами управления
I — Интегральный Слишком низкий: дрон «уплывает», не удерживает угол Слишком высокий: медленные раскачки, дергания (integral windup) Накопление ошибки без ограничения (anti-windup не включён) Слишком сильное влияние на PID-сигнал Включить ограничение интеграла (anti-windup) Настраивать после P Использовать малые корректировки I
D — Дифференциальный Слишком низкий: дерганый отклик, колебания не гаснут Слишком высокий: шумы, вибрации, перегрев моторов Сырой сигнал гироскопа без фильтрации Неправильная частота дискретизации Фильтровать сигнал гироскопа (low-pass) Начинать с малого D и увеличивать до гашения колебаний
Общие ошибки Нестабильный полёт, дерганый отклик, дрейф, вибрации Неправильный порядок настройки PID Игнорирование веса/инерции дрона Слишком быстрые изменения Отсутствие фильтров Неправильная частота обновления контроллера Настраивать по порядку: P → D → I Учитывать вес и инерцию дрона Малые шаги настройки Добавить фильтры Обеспечить высокую частоту обновления

Интерактивная настройка PID по осям квадрокоптера

Настраивайте P, I и D для каждой оси. Таблицы подсвечиваются в зависимости от слишком низких или слишком высоких значений.

Roll



Pitch



Yaw



Roll PID

Член Симптомы Исправление
PСлишком низкий/высокийНастройка P
IСлишком низкий/высокийAnti-windup, малые корректировки
DСлишком низкий/высокийФильтры, постепенное увеличение

Pitch PID

Член Симптомы Исправление
PСлишком низкий/высокийНастройка P
IСлишком низкий/высокийAnti-windup, малые корректировки
DСлишком низкий/высокийФильтры, постепенное увеличение

Yaw PID

Член Симптомы Исправление
PСлишком низкий/высокийНастройка P
IСлишком низкий/высокийAnti-windup, малые корректировки
DСлишком низкий/высокийФильтры, постепенное увеличение
Picture of quad-copter.ru
quad-copter.ru
Оглавление
Квадрокоптер с камерой — Syma X22Wю Обзор и тесты

Публикатор:  КвадроЛетчик Это по счету мой третий коптер, и первый из тех, который я не смогла разбить не то что в первый день, а даже за неделю. А это многое значит :)))))))) Камера тут просто для галочки, и надпись HD

Читать полностью »
5 советов для съемки с квадрокоптера

Публикатор:  КвадроЛетчик Съемка высотных объектов Если вы снимаете высокий объект или стороение, то начинайте съемку с квадрокоптера сверху. Это позволит вам спрогнозировать расход аккумулятора, так как самые энергозатратные кадры — это на высоте. Там квадрокоптеру приходится бороться с ветром и

Читать полностью »
Где купить гексакоптер Walkera QR Y100

Публикатор:  КвадроЛетчик Гексакоптер Walkera QR Y100 разработан для начинающих любителей мультикоптеров или для тех, кому нужен небольшой мультикоптер с точным управлением и возможностью полета по FPV. Не смотря на малые размеры 22х25 см и полетный вес всего в 146 грамм

Читать полностью »
Обзор и отзывы Makerfire Armor 85mm FPV Racing Drone F3 FC OSD Caddx Turtle V2 HD Cam 5.8G 40CH 25/100mW VTX 2-3S

Публикатор:  konst CineWhoop Makerfire Armor 85 HD V2 — это минидрон для киносъемки оборудованный камерой CADDX Turtle V2 способной не только передавать видео пилоты, но и писать его в HD качестве во время полета! Полетный вес дрона составляет около 100 грамм и

Читать полностью »