№146 · Управление и автопилот
Зачем дрону регулятор
Мультикоптер сам по себе неустойчив: без непрерывной коррекции он мгновенно опрокидывается. Полётный контроллер тысячи раз в секунду сравнивает то, что задал пилот (желаемую угловую скорость по крену, тангажу, рысканью), с тем, что реально измеряет гироскоп, и подбирает обороты моторов так, чтобы свести разницу к нулю. Математический механизм, который вычисляет нужную поправку по этой разнице, и есть PID-регулятор. Разница между желаемым и реальным называется ошибкой (error), и вся работа регулятора — грамотно реагировать на эту ошибку.
PID расшифровывается как пропорционально-интегрально-дифференциальный: три слагаемых, каждое из которых реагирует на ошибку по-своему. Их сумма и определяет управляющее воздействие на моторы. Понимание роли каждого члена — ключ к осмысленной настройке, а не к «кручению цифр наугад».
Пропорциональный член (P)
P реагирует на текущую ошибку прямо пропорционально её величине: чем сильнее аппарат отклонился от заданного, тем сильнее коррекция. Это основная «сила» регулятора, обеспечивающая отклик на команды и сопротивление возмущениям. Высокий P делает аппарат острым и жёстким — он резко возвращается к заданному. Но слишком высокий P приводит к перерегулированию и осцилляциям: коррекция настолько сильна, что аппарат «проскакивает» цель, потом корректируется в обратную сторону и начинает раскачиваться на высокой частоте. Характерный признак избытка P — высокочастотная тряска и горячие моторы.
Слишком низкий P, наоборот, делает аппарат вялым: он слабо сопротивляется ветру и командам, «плавает». Поэтому P настраивают как компромисс между остротой и отсутствием осцилляций — поднимают до появления раскачки, затем отступают.
Интегральный член (I)
I накапливает ошибку во времени: он реагирует не на мгновенное отклонение, а на то, как долго оно сохраняется. Задача I — устранять постоянную установившуюся ошибку, с которой P справиться не может. Например, при боковом ветре или несбалансированной нагрузке P удерживает аппарат близко к заданному, но с небольшим постоянным смещением; I постепенно накапливает это смещение и добавляет коррекцию, пока ошибка не исчезнет полностью. Именно I обеспечивает, что аппарат «держит» заданный угол/скорость точно, а не приблизительно, и не сносится ветром.
Избыток I вреден: он делает управление «вязким», медленным, вызывает низкочастотную раскачку и эффект «намотки» (windup), когда накопленная ошибка не успевает разрядиться. Недостаток I проявляется как медленный увод и неспособность точно держать заданное под постоянным возмущением.
Дифференциальный член (D)
D реагирует на скорость изменения ошибки — он предсказывает, куда ошибка движется, и гасит её заранее. По сути это демпфер: он противодействует быстрым изменениям, сглаживая отклик и подавляя перерегулирование, которое создаёт P. Правильный D позволяет поднять P выше без раскачки — аппарат становится и острым, и стабильным. D особенно важен для чистого гашения возмущений: удар ветра, задевание — D быстро успокаивает аппарат.
Но D — самый капризный член. Он усиливает шум: поскольку реагирует на скорость изменения, любой шум гироскопа (от вибраций) многократно усиливается в D и идёт прямо в моторы, вызывая нагрев и высокочастотную тряску. Именно поэтому D требует чистого сигнала и фильтрации, а избыток D — главная причина горячих моторов. Слишком мало D — перерегулирование и «отскоки»; слишком много — нагрев, шум и резкость на грани.
Как члены работают вместе
В полёте три члена складываются: P даёт основную силу отклика, D демпфирует и позволяет поднять P, I устраняет остаточную ошибку. Хорошая настройка — это баланс: достаточно P для остроты, достаточно D для гашения без нагрева, достаточно I для точного удержания без вязкости. Все три взаимосвязаны: подняли P — может понадобиться больше D; много I — появляется медленная раскачка. Поэтому меняют по одному члену за раз и наблюдают результат, а не крутят всё сразу.
Связь с механикой и фильтрами
PID работает поверх сигнала гироскопа, поэтому его качество ограничено чистотой этого сигнала. Вибрации и шум не дают поднять P и D до желаемого — они усиливаются и греют моторы. Вот почему настройку всегда начинают с механики (баланс винтов, виброразвязка, жёсткая рама) и фильтров (RPM-фильтр), и только потом трогают PID. Пытаться «зажать» настройку на грязном аппарате бесполезно: шум упрётся в потолок раньше, чем аппарат станет острым.
Порядок настройки на практике
Осмысленная настройка идёт по порядку, а не наугад. Сначала приводят в порядок механику и фильтры — без чистого сигнала гироскопа поднять P и D не получится. Затем настраивают внутреннюю петлю угловой скорости: поднимают P до появления высокочастотной раскачки, слегка отступают, добавляют D для гашения перерегулирования (следя за нагревом моторов — избыток D греет), затем I для точного удержания. Меняют по одному члену за раз и оценивают результат в полёте или по логам. Такой пошаговый метод превращает набор из трёх коэффициентов в понятную процедуру, где каждое изменение имеет предсказуемый смысл.
Диагностика по симптомам
Понимание ролей P, I и D позволяет читать поведение аппарата как диагностическую карту. Высокочастотная тряска и горячие моторы — избыток P или D (или грязный сигнал, который они усиливают). Медленная, «валкая» раскачка — часто избыток I. Аппарат вялый, «ватный», плохо держит на ветру — мало P или I. Перерегулирование, «отскок» после резкого движения — мало D. «Увод» под постоянным ветром — мало I. Такая связь симптомов с членами регулятора экономит часы: вместо случайного перебора цифр вы сразу знаете, какой член трогать и в какую сторону.
Итог
PID — это три реакции на ошибку: P отвечает на её величину (сила и острота), I — на её длительность (точность удержания), D — на скорость её изменения (демпфирование и предсказание). Их баланс определяет «характер» аппарата: острый и стабильный при хорошей настройке, вялый или раскачивающийся при плохой. Понимание роли каждого члена превращает настройку из гадания в осмысленный процесс, а чистая механика и фильтры задают потолок, до которого эту настройку вообще можно довести.