Аэро - фото и видеосъемка в Украине, России, СНГ и по всему Миру

Заказ аэрофотосъемки:
+38 067-710-78-57
pilot@aerophoto.com.ua
Дмитрий Следюк

 

Настройка PID регуляторов для мультиротора MK (MikroKopter)

Настройка PID регуляторов для MikroKopter (MK)

Предлагаю вашему вниманию литературный перевод статьи посвященной теоретическим и практическим аспектам настройки PID регуляторов, написанную предположительно пользователем «brashley» взятой с сайта RCGroups: (http://www.rcgroups.com/forums/showpost.php?p=11062770&postcount=3824)

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

Кое-где в статье встречаются неточности и опечатки, которые я исправляю с указанием оригинального варианта. Есть места, написанные довольно путано, и по мере возможности я приводил их в более понятный вид. Статья написана в декабре 2008 года, и некоторые параметры в MK-Tools с тех пор изменились. Сравнение с современным, на момент перевода статьи (октябрь 2011), вариантом содержится в примечаниях переводчика в конце статьи.

Теория PID регулирования (Часть I.)

Гироскопы выдают скорость изменения угла. Что это означает с точки зрения ПИД-регулирования, см. http://www.embedded.com/2000/0010/0010feat3.htm и http://en.wikipedia.org/wiki/PID_controller это начальная информация о PID регуляторах.

«Гиро-Р» это пропорциональный фактор изменения значений угловой скорости гироскопа или «D» в терминах ПИД-регулирования в управлении углом наклона МК. Теперь, если взять интеграл от изменения угловой скорости вы получите угол, который будет «Гиро-I», или «P» в ПИД-регулировании управления углом наклона МК.

Что это значит? Ну, думаю, по аналогии с маятником (исходя из объяснений пользователя «kilagreg» о «GPS-P» и «D») «P» это та сила, которая пытается переместить отклоненный маятник обратно к вертикали. Чем дальше маятник от центра (вертикали) тем больше сила, стремящаяся переместить его обратно, к вертикальному положению. Когда маятник попадает в среднее положение, сила действующая на него равна нулю, но имеющийся импульс несет его и дальше через центр, создавая силу действующую в противоположном направлении, чтобы попытаться еще раз  вернуть его обратно уже с противоположной стороны. Так работает маятник. Если вы увеличиваете «P» («Гиро-I») вы по существу увеличение силу для возвращения МК обратно к правильному положению (горизональному, в нашем случае с MK). Если уровень «P» слишком велик, это будет как толчок к центру при раскачивании на качелях, и если вы толкаете их слишком сильно, размах будет все больше и больше (MK будет колебаться). Если значение «P» слишком мало, это было бы как уменьшение силы тяжести, и качели качаются медленнее (MK бы выравнивался медленно). Таким образом «Р» это сила выравнивания MK из отклоненного состояния.

Совсем не желательно получить поведение MK подобно качелям, колеблющимся вперед-назад и в стороны, как маятник. Для устранения этого явления (по аналогии с качелями или маятником) вам понадобится добавить в систему силу трения. Вот где понадобится параметр «D» («Гиро-P»). «D» пытается ограничить скорость изменения угла и обеспечивает силу противодействия, замедляющую движение, если оно приближается к центру слишком быстро. Для маятника это как усиление трения в шарнире. Таким образом, когда маятник движется к центру он замедляется и колебания затухают быстро или не возникают вообще. Если «D» слишком велико, как сильное трение в оси маятника, движение может прекратиться даже раньше, чем маятник вернется в вертикальное положение (MK не выравнивается после наклонов). Если «D» слишком мал, маятником будет долго качаться взад-вперед (MK просто колеблется какое-то время) Так что «D» работает как сила трения.

Теперь, что произойдет, если ветер отклонит маятник? Даже в состоянии покоя маятник будет висеть наклонно. Для МК, что тоже будет не хорошо. Что-то необходимо, чтобы определить и устранить накопившуюся ошибку (средний уровень отклонения от центра) и обеспечить силу способную отклонение от вертикали исправить. Это параметр «I» в ПИД-регулировании. Это интеграл от «P». Что такое «I» в МК, это «Hauptregler I-Anteil» (подобен параметру «Gyro-I-Anteil»). Это «I» - поправка на среднюю погрешность смещения.

А что происходит, если ваш МК имеет большой уровень вибрации? Поскольку параметр «I» является усредняющим, то любой шум, просто будет усреднен. Отклонение «P» при вибрации передает шум (так что это похоже на быстрые небольшие изменения угла вокруг «0» вроде такого: 1, 4, 2, -1, 3, 1, -3, и т.д.). Для «D», это совсем другая история. «D» является скоростью изменения угла, так изменения от «P» и будет означать, что для «D», похоже, это движения то в одну сторону, то в другую, то медленно, то быстро, и т.д. Для «D» шум усиливается. MK будет дергаться.

Цель настройки PID состоит в том, чтобы маятник очень быстро вернулся к центру, а затем остановился. Как вы уже себе представили, вся настройка представляет собой сплошной компромисс, и затронув один параметр, вы неизбежно вынуждены будете изменить другие, для получения результата. Добавьте к этому тот факт, что параметры МК в целом, и особенности вашего МК в частности, также оказывают свои влияния. Как быстро могут изменяться обороты двигателей, длина лучей и их масса, положение центра тяжести, эффективность системы привода, чувствительность датчиков, аэродинамическое сопротивление рамы и т.д. Если вы измените эти параметры, это изменит параметры ПИД-регулирования. Даже такое незначительное изменение как изменение жесткости винтов, изменит эффективность на различных оборотах моторов, затем потребует подстройки, вероятно, для «P» (с последующей проверкой других параметров, разумеется). Кроме того, гироскопы не так точны и стабильный (т.е. ошибки могут накапливаться, особенно в интеграле), так что акселерометры используются для подстройки и исправления ошибок гироскопов через «ACC/Gyro Comp» параметр. В сущности, это определяет, насколько быстро получено соответствии в чтении значений гироскопов и акселерометров.

Даже настройка чувствительности к отклонениям ручек передатчика (расходов и экспонент) может быть отражена в настройках МК ПИД. Если PID очень «жесткий» то вам придется сильно отклонять ручку передатчика для движения аппарата. Если настройки PID МК «мягкие» удерживать MK будет трудно, аппарат буде все время «уводить» в разные стороны. Все эти вещи взаимосвязаны. Даже с GPS параметрами.

Настройка параметров ПИД для мультикоптера (Часть II. )

Сначала я оттримировал мой МК, чтобы он не дрейфовал вперед и в стороны, и установил значение «Stick-D» в 0. Для подбора параметров «Гиро-I» (это параметр «Р» в терминах PID системы), и «Гиро-Р» (это «D» в системе PID), я начал с «Гиро-P» на нуле и «Гиро-I» на 60  и назначил оба параметра на «Poti» для возможности их изменения в полете. «Гиро-Р» (скорость изменения угла) на самом деле это параметр «D» в PD контроллере. Если взять интеграл от изменения угловой скорости вы получите угол (приблизительно). Это означает, что «Гиро-I» на самом деле «P». Таким образом, вы имеете PD контроллер, без компонента «I» а не PID-контроллер)

Некоторую путаницу вносят названия параметров в MK-Tools:

«Gyro-P»

«Gyro-I»

«Gyro-D»

К сожалению, они не соответствуют в таком порядке параметрам «P», «I» и «D» в  PID-регулировании, хотя очень похоже называются.

Вот как выглядят соответствия параметров MK и PID-системы у автора статьи:

P - «Гиро-

I - нет параметра

D - «Гиро-Р»

Мой MK был слишком чувствителен к управлению и был нестабилен. Я немного качнул стики передатчика, чтобы оценить поведение аппарата. В моем случае MK колебался один или два раза, а затем был устойчивым. Я тогда добавлял «Гиро-I» до тех пор пока МК стал почти непрерывно колебаться после толчка стика передатчика, затем уменьшил «Гиро-I» на один шаг. Не позволяйте колебаниям аппарата беспокоить вас, вы ??должны полностью контролировать МК (до тех пор, пока вы не получите слишком большой «Гиро-I»). Затем я начал повышать «Гиро-P». Это изменение настроек быстро погасило колебания. Я увеличивал значение «Гиро-P» и шевелил стик, чтобы оценить реакцию аппарата. Если значение «Гиро-P» станет слишком большим, вы начинаете замечать, что МК на самом деле не возвращается в исходное положение после отклонения ручки передатчика. Если уровень «Гиро-P» слишком мал, то аппарат будет немного колебаться после движения стика, но  будет быстро возвращаться к горизонту. Цель состоит в том, чтобы не было колебаний, но МК быстро возвращался в горизонт после движения стика. Когда я двигаю мой стик (roll) я даю  хороший толчок (особенно когда я приближаюсь к видимому результату  http://www.rcgroups.com/forums/showa...mentid=1845769). Просто играйте с ним. Давайте отклонения ручки тем больше, чем ближе вы к результату – MK быстро выравнивается и быстро возвращается обратно к горизонту. Это будет давать ощущение сопротивления или не давать быстрого ответа на воздействие. Я закончил со значениями «Gyro-P» = 67 и «Гиро-I» = 147. «Hauptregler I –Anteil»: это "I" для PID контроллера. Я играл с этим, а также (хотя и не очень много), и в конце концов остановился на значении около 28. Это будет влиять на другие параметры, поэтому, если вы играете с «Hauptregler I-Anteil» вам придется вернуться назад и заново настроить «Гиро-P» и «Гиро-I». Я только пытался сделать пару настроек здесь, но не чувствую этого параметра, хотя, когда у меня параметр был выше 35 мне не нравится, как МК. летал. Точность «ACC/Gyro-Comp» (или в коде программы это «GyroAccTrim») контролирует, как быстро разница между ACC и Gyro будут исправлены. В коде, это читается как "CorrectionPitch = IntegralErrorPitch / ParamSet.GyroAccTrim где «IntegralErroPitch» разница между «MeanIntegralPitch» (гироскопа) и «InegralAccPitch», то есть разница между расчетным углом (примерно) между ними. Большие значения «ACC/Gyro-Comp», оказывается, уменьшают влияние ACC  на точность коррекции. Я немного поиграл  (двигаясь вокруг экстремальных значений) и закончил с значением «ACC/Gyro-Comp» = 25, хотя это только мое мнение, но я думаю, что нужно больше учиться. Как только я получил желаемое, я прочитал значения (используя «LCD-menu 9», где были значения Poti) в их числовом значении и переназначил Poti на что-нибудь другое.

Настройка GPS-PID (Часть III)

GPS: (Обратите внимание, это ранний код для killagreg, для Конрад GPS Так как параметры NaviCtr для GPS-PID похожи, большинство людей успешно используют стандартные параметры H&I GPS для NaviCtr и МК-GPS. Для того чтобы МК был очень стабильным GPS, должен работать хорошо).

Объяснение GPS параметров: (переведено от killegreg)

P-параметр определяет силу управляющего воздействия, для удержания позиции, поэтому наш виртуальный GPS-помощник пилота сильнее стремится к цели, когда этот коэффициент увеличивают. Вы можете понять это, представляя маятник. Чем дальнейшее маятника от центра (дальше МК от цели), тем сильнее сила, возвращающая его обратно в центр. Увеличение P будет как увеличение силы тяжести или силы толкающей его обратно к вертикали. Происходит так, что маятник ускоряется двигаясь к вертикальному положения. В момент когда маятник достигнет вертикали уже не будет усилия двигающего его дальше (теперь уже от, а не в, вертикального положения ). Тем не менее, маятник все равно уже имеет некоторую скорость от импульса приведшего его к центру, и благодаря этому продолжит движение пройдя центр в противоположном от начального направлении. (МК будут двигаться мимо цели). Без силы трения, которая ослабляет колебательные движения, этот процесс продолжался бы вечно.Колебания действительно могут быть нежелательны. Так, чем выше P-параметр, тем сильнее «толчок» на маятник обратно к центру.

Вот почему мы имеем D-параметр, он обеспечивает пропорциональное управление скоростью. Это и есть виртуальная сила "трения" в системе управления. Он работает так же, как трение в маятниковой системе. Если трение слишком велико, то маятник, который отклонен от центра будет очень медленно двигаться назад, а затем просто остановиться, не дойдя до вертикального положения. Если трение слишком мало, то маятник будет просто качаться взад и вперед, долгое время.

Теперь нужно найти правильное соотношение силы возвращающей маятник (Р) и силы трения (D), которое позволило бы маятнику быстро вернуться к центру, а затем просто остаться там. Это те параметры, которые вы пытаетесь найти. Это реакция МК на виртуального GPS-помощника пилота. Это не влияет на настройки «P» и «D» в гироскопической системе которые определяют реакцию и поведение МК.

Следует учесть тот факт, что GPS-позиция и путевая скорость меняется даже тогда, когда МК неподвижен. Это из-за атмосферных возмущений и качества определения начальнойточки и т.д. Применительно к маятнику, это было бы как будто точка подвеса маятника также будет двигаться. Так будет, например, если пытаться удержать маятник без раскачки за точку подвеса вытянутой рукой, это было бы очень трудно. Маятник будет качаться вокруг центра, если «трение» (D) не было достаточно большим.

Настройка параметров GPS

Установить «GPS-P» (userparam5) в ноль Назначить «GPS-D» (userparam6) на Поти и установить Поти в ноль (как видно из Display-Menu) Вручную удерживаться в одном месте Постепенно увеличивайте с помощью Поти параметр «GPS-D», пока не появится легкое дрожание / биение. Затем немного вернуть Поти обратно Прочитайте значение Поти в МК-тулз (на Display-Menu) и установить «GPS-D» (userparam6) к этому значению Назначить «GPS-P» (userparam5) на Поти и установить Поти в ноль (как видно из Display-Menu) Снова вручную зависнуть на одном месте Постепенно увеличивайте с помощью Поти параметр «GPS-P», пока коррекция позиции оставаясь заметной будет не слишком велика и что МК. точно не колеблется. Прочитайте значение Поти в МК-тулз (на Display-Menu) и установить в «GPS-«P» (userparam5) это значение. В общем, соотношение между GPS D и P должен быть правильным. Если уровень P является слишком большим и слишком мал уровень D, MK начнет раскачиваться. Если уровень D является слишком большим, то МК будет дрожать / раскачиваться. Наконец, вы должны быть уверены, что компас самом деле указывает на север (угол от 350° до 10°, когда перед МК направлен на север). Если это не правильно, то управление GPS вызовет кружение МК круг вокруг заданного места или МК просто улетит.

Мои GPS Настройки

Снова я установил «GPS-P» и «GPS-D» на potis и оба установил в 0. На этот раз я начал с «GPS-D» (как это изложено у kilaggreg) и корректировал «GPS-D», пока не увидел круговые перемещения МК, и удержание но с  раскачиваниями. Я тогда несколько уменьшил GPS-D  и начал добавлять уровень «GPS-P», пока я не добился хорошего удержания. Это было не легко, так как позиции GPS не являются стабильными, и трудно почувствовать, что же на самом деле движется. Если вы получаете избыток «GPS-P» вы начинаете качать снова, слишком много GPS-D, и вы качаете ... Это вроде танца. Думая о «Р», как о силе, подталкивания обратно и о «D», как о трении, я оптимизировал параметры пока не добился удержания (у меня ушло на это 4 батареи). Я также заметил, что эти параметры очень чувствительны поэтому следует двигаться медленно и экспериментировать. Я, наконец, закончил с «GPS-P» = 26 и «GPS-D» = 112. Теперь я думаю, у меня есть работающий «GPS-hold» (предполагаю, я получаю хорошее удержание GPS). Это было при немного ветреной погоде и не кружило, было хорошее удержание... Я мог подойти к нему и толкать в сторону, и аппарат возвращался в исходное положение и останавливался. Я мог даже перетащить его на новое место и отпустить, и он изящно двигался вперед и остановился. Это не значит, что он всегда был в том же самом месте, позиция GPS немного смещалась. (Мне нужно установить GPS-shild на плату GPS, чтобы улучшить чувствительность GPS приемника) Я не думаю, что мои параметры GPS будут работать у кого-либо еще, потому что они зависят от других параметров. Так же, как я должен был вернуться и подправить таким же образом параметры Stick, GPS.

Я определенно рекомендую вернуться и по крайней мере попытается правильно установить для вашего МК параметры «Гиро-I» и «Гиро-P» (даже если вы не изменять какие-либо другие). Начальный уровень для «Гиро-P» на уровне 100 просто останавливает мой МК как только стик будет отпущен. Сейчас я на самом деле начинаю получать удовольствие от того, как эта штука летит, и это также намного облегчает полет.

Примечания переводчика:

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

P - «Gyro-Р»

I  - нет параметра

D - «Gyro-D»



Яндекс.Метрика