MULTICOPTER.RU
http://multicopter.ru/forum/

Перевод статьи о методике настройки PID регуляторов на MK
http://multicopter.ru/forum/viewtopic.php?f=3&t=1297
Страница 1 из 1

Автор:  painter12 [ 15 окт 2011, 19:13 ]
Заголовок сообщения:  Перевод статьи о методике настройки PID регуляторов на MK

На форуме проскакивала ссылка на статью посвященную теоретическим и практическим аспектам настройки PID регуляторов, написанную предположительно пользователем «brashley» и взятой с сайта RCGroups: (http://www.rcgroups.com/forums/showpost ... count=3824) Были пожелания коллег получить перевод.
Я сделал перевод этой статьи, и публикую тут часть, посвященную практике настройки PID на MK. В полном варианте перевод с моими комментариями слишком велик, около семи страниц, так что возможно выложу частями если будет интересно. Полный вариант в любом случае будет доступен на моем сайте. Кроме того, предлагаю в этой ветке писать о своем опыте настройке PID-ов


Часть 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»
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 на что-нибудь другое.

Автор:  TeHoTaMy [ 15 окт 2011, 20:19 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

painter12 писал(а):
Если взять интеграл от изменения угловой скорости вы получите угол (приблизительно).
Для получения угла (даже приблизительно) правильнее брать интеграл от скорости изменения угла, т.е. угловой скорости.
P.S. Тяжелое чтиво. Попробую завтра с утра на свежую голову осилить это -.
Цитата:
MK быстро выравнивается и быстро возвращается обратно к горизонту. Это будет давать ощущение сопротивления или не давать быстрого ответа на воздействие.

Автор:  liutas4x4 [ 31 янв 2012, 10:54 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

painter12 писал(а):
Полный вариант в любом случае будет доступен на моем сайте. Кроме того, предлагаю в этой ветке писать о своем опыте настройке PID-ов


Приветствую,

на странице http://aerophoto.com.ua/pid.html - только шапка.
полного текста уже (или еще) нет?

Автор:  Andrey-multicopter [ 31 янв 2012, 12:26 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

liutas4x4 писал(а):
painter12 писал(а):
Полный вариант в любом случае будет доступен на моем сайте. Кроме того, предлагаю в этой ветке писать о своем опыте настройке PID-ов


Приветствую,

на странице http://aerophoto.com.ua/pid.html - только шапка.
полного текста уже (или еще) нет?


Вы лучше читайте английский оригинал в таком случае.

Автор:  painter12 [ 31 янв 2012, 14:57 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

liutas4x4 писал(а):
painter12 писал(а):
Полный вариант в любом случае будет доступен на моем сайте. Кроме того, предлагаю в этой ветке писать о своем опыте настройке PID-ов


Приветствую,

на странице http://aerophoto.com.ua/pid.html - только шапка.
полного текста уже (или еще) нет?

Виноват, недовыложил! Вроде как интерес народ не проявил (судя по отсутствию ответных постов), я и забыл... Постараюсь на днях выложить.
В связи с этим у меня вопрос ко всем, в новых версиях МКТулз сохранились те же самые параметры на тех же самых буквах, или с какой то версии их привели в соответствие с теорией PID-регулирования? Это надо понимать, иначе смысл этой статьи полностью теряется! Может гн. Леталкин сможет это прояснить?

Автор:  Andrey-multicopter [ 08 фев 2012, 08:13 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

Вот еще статья о PID-регулировании: http://en.wikipedia.org/wiki/PID_controller

Автор:  painter12 [ 08 фев 2012, 11:11 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

andrkolom писал(а):
Вот еще статья о PID-регулировании: http://en.wikipedia.org/wiki/PID_controller

Спасибо, Андрей. На мой взгляд, проблема у нас в том, что параметры "P", "I", "D" в МКТулз не соответствуют одноименным параметрам описанным в статьях на тему ПИД-регулирования. Более того, у меня ощущение, что от версии к версии МКТулз смысл этих параметров и их влияние претерпевает изменения. По этому, повторяю свою просьбу к Гн. Леталкину, дать его комментарий о нынешнем значении (смысле) этих параметров в МКТулз.

Свое обещание поместить полный перевод я выполнил. Вот ссылка на него:http://aerophoto.com.ua/pid.html

Автор:  Zheleznyi [ 08 фев 2012, 21:59 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

Улыбнуло, легко и красиво как разжевали принцип работы PID регулятора
http://www.asu-tp.org/index.php?option= ... &Itemid=68

Автор:  Cossacs [ 09 фев 2012, 04:01 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

Действительно, некоторая путаница есть, но немцы вполне адекватные люди, чтобы не придумывать все с воздуха :)

Gyro, т.е. гироксопы - датчики, которые показывают значения угловой скорости, но никак не угла. Угол считает программа. Поэтому в терминах угловой скорости мы имеем полноценный PID регулятор.

Поскольку угловая скорость для стабилизации по горизонту сама по себе не имеет смысла, она управляется внешним циклом, который оперирует абсолютными значениями угла к горизонту. Такое регулирование для коптеров со стабилизацией по горизонту часто называют "Двойной регулятор".

В терминах абсолютного угла к горизонту, для крена и тангажа:
- Angle P = Gyro I - интеграл по угловой скорости, т.е. угол
- Angle D = Gyro P - ошибка отклонения (производная) значения угла, или разница между текущим и предыдущим значением угла, т.е. угловая скорость
- Gyro D = ошибка отклонения (производная) угловой скорости, должно быть достаточно маленькое значение, т.к. угловая скорость (мгновенное значение ошибки), в отличии от угла (интегральное значение ошибки), выдерживается достаточно точно.

Цикл по курсу управляет угловой скоростью, а не значением угла, для него достаточно обычного PI-регулятора.

Надеюсь, не запутал :)

Автор:  liutas4x4 [ 14 фев 2012, 02:04 ]
Заголовок сообщения:  Re: Перевод статьи о методике настройки PID регуляторов на M

Спасибо Андрею и Художнику#12.

Так как у немцев Вики ужасная (по структуре), то только сейчас нашел их собственный опус на заданную тему:

http://www.mikrokopter.de/ucwiki/en/MKTools-Setup

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

Оттуда же, из таблицы, попадаем в rcgroups к великому гуру ОММ и видим видео кому как удалось настроить.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/