1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получить 200р за регистрацию? Хотите получать кэшбэк с покупок в online-магазинах? Сервис "LetyShops" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

PID контроллер Ардукоптер

Тема в разделе "Информация и полезные материалы по контроллеру", создана пользователем SergDoc, 28 дек 2015.

  1. SergDoc

    SergDoc F4BY Hardwar developer Команда форума

    Регистрация:
    11 мар 2015
    Сообщения:
    217
    Город:
    Belarus Slonim
    Имя:
    Сергей Липницкий
    Статья - Заметки о настройке PID
    Настройки PID в попытке избавиться от болтанки.

    -------------------------------------------------------------------------

    PID контроллер Ардукоптер:
    Пропорционально-интегрально-дифференцирующий (ПИД) регулятор — устройство в управляющем контуре с обратной связью. Используется в системах автоматического управления для формирования управляющего сигнала с целью получения необходимых точности и качества переходного процесса.

    ПИД-регулятор был изобретен еще в 1910 году, позже, в 1942 г., Зиглер и Никольс разработали методику его настройки.

    Немного расскажу откуда ноги растут у этого страшного чуда, которое необходимо всем для того чтобы ваш коптер не переворачивался и не болтался как нечто в проруби...

    Разговор поведём сейчас о самой важной части данного мероприятия rate

    upload_2015-12-28_14-8-47.png

    Основные параметры: P - пропорция, D - дифференциальная составляющая, I - интегральная составляющая, слова мудрёные но ничего страшного в них нет :) Сейчас попробуем разобраться...
    Введение:
    Кто учил математику тот может пропустить данный раздел. Кто не учил или учил, но забыл, тем к прочтению обязательно!
    И так Интеграл - проволока согнутая буквой зю, ∫ - искаженное большое S, первая буква латинского слова «Summa». Этот значок назван интегралом.
    Дифференциал - короче та же проволока но ещё не изогнутая Дифференциа́л (от лат. differentia — разность, различие) — линейная часть приращения функции.

    Проще понять что это такое на примере физической задачи со скоростью и пройденным путём:

    путь = ∫скорость*dt - непонятно, а как там в школьной физике? путь=скорость*время, ну и тут тоже самое только путь это сумма из маленьких отрезков того самого пути которые были пройдены за интервал времени dt - зачем такая премудрость? А затем, что у нас всё не прямолинейно и не равномерно и если мы найдём, скажем, среднюю скорость и из неё найдём путь, то он будет очень далёк от правды :(
    Дифференцирование - это обратный процесс, т.е. из пути пройденного за время dt нам надо вычислить скорость, как там в физике скорость=путь/время, ну почти так же скорость=скорость предыдущая-путь/dt.

    Регулятор:
    P -
    пропорция (угол)
    Система зарегистрировала, что отклонена по каким-то причинам от "горизонта" на какой-то угол и нам надо это исправить как можно быстрее!
    Так вот P отвечает за скорость устранения ошибки, чем меньше P тем медленней будет исправляться ошибка, коптер будет плавать туда - сюда или вообще валиться и переворачиваться, управление тоже будет вялым. Большое значение P приведёт к так называемому переруливанию, т.е. после того как коптер уже исправил своё положение он будет двигаться дальше - выглядеть это будет так постоянная раскачка из стороны в сторону и вечное жу-жу-жу, управление будет резким.
    D - дифференциальная составляющая (угловая скорость - надеюсь понятно что я написал сверху)
    Зачем оно, а затем чтобы гасить любую угловую скорость будь то большая пропорция или ветерок дунувший - неважно. Конечно можно летать даже чисто на ней пропорцию убрав в 0 (ноль) но к сожалению система не будет стремиться вернуться в горизонт и нам придётся периодически делать это ручками...
    Выглядит так: пропорция дала команду моторам, но есть проскок положения - D гасит угловую скорость чтобы остановить вращение, чтобы не было жу-жу-жу. Ну и конечно D гасит всякие возмущения типа: турбулентности, ветерка, птичка нагадила божия два раза на проп... Короче если коптер на быстром спуске или при взлёте начинает колбасить - вам точно надо добавлять D.
    А почему D по YAW всегда в нуле? - хороший вопрос, простое объяснение - а по YAW не надо держаться в горизонте, а держаться там куда направили - это раз, PID по YAW основан на угловой скорости - это два. Можно конечно сказать, что есть компас и т.п. можно знать угол относительно сторон света по нему сделать PID - бред. Во первых компас очень шумный датчик, а во вторых ориентацией занимается инерциалка - которой мы сейчас не интересуемся. Если у кого будет интерес можете добавить немного D по YAW увидите картину - поворачиваете коптер - ну например на 90 градусов - боком к себе, а он зараза отворачивается на градусов 25-30 обратно :)

    I - интегральная составляющая (ну мы поняли что интеграл - это сумма чего-то там)
    для чего нужна и как работает?
    Представим картину коптеру нужно было вернуться в горизонт, но пропорцией он не довернул слегка - помешали какие-то внешние факторы - опять же турбулентность и т.п.
    Чтобы исправить это в следующий раз к пропорции добавляется некая величина (зависит какую цыфирку поставили), чтобы было понятней если I=1 тогда к пропорции в следующий раз добавится ещё одна пропорция... короче - штука увеличивающая пропорцию в зависимости от внешних неизвестных факторов... и так оно будет прибавляться пока не достигнет IMAX - можно сказать максимальное количество этих прибавленных кусочков - дабы не переборщить с прибавлениями и не перевернуться....
     
    Последнее редактирование модератором: 5 сен 2016
    Rusdotkon, Serg370, Qorioni и 9 другим нравится это.
  2. pogarjuga

    pogarjuga Студент

    Регистрация:
    26 июн 2016
    Сообщения:
    187
    Город:
    Харьков
    Имя:
    Димон
    Помогите пожалуйста новичку. На Ваш взгляд параметры выставленны более менее правильно? Для такого квадрика
    --- Сообщения объединены, 28 июн 2016 ---
    Апм 2.6, аккум 5500 мах
     

    Вложения:

  3. SergDoc

    SergDoc F4BY Hardwar developer Команда форума

    Регистрация:
    11 мар 2015
    Сообщения:
    217
    Город:
    Belarus Slonim
    Имя:
    Сергей Липницкий
    по видео сказал бы, а так пальцем в небо???
     
  4. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.325
    Город:
    Zhigulevsk
    Имя:
    Александр
    По раме и весу и стандартные бы подошли. Да и по пропеллерам тоже. В Stabilize просто взлет должен быть нормальным на стандартных.
     
  5. pogarjuga

    pogarjuga Студент

    Регистрация:
    26 июн 2016
    Сообщения:
    187
    Город:
    Харьков
    Имя:
    Димон
    А у меня взлет как то не очень получаеться
     
  6. SergDoc

    SergDoc F4BY Hardwar developer Команда форума

    Регистрация:
    11 мар 2015
    Сообщения:
    217
    Город:
    Belarus Slonim
    Имя:
    Сергей Липницкий
    в каком плане не очень - хоть на словах опишите? регули какие?
     
    Dasmen нравится это.
  7. Uolg

    Uolg Студент

    Регистрация:
    4 янв 2016
    Сообщения:
    435
    Город:
    Руза
    Имя:
    Олег
    Великолепно описано, главное на пальцах и все понятно (в институте ТАУ темным лесом была :( , а тут все просто)!
    Вот только как как это применить при настройке.... Kартина у меня такая: рама Х 550 вес 1900, моторы Х3108, кв 900 винты 1238.
    Изначально поставил P=09, (поскольку на по умолчанию он дрожит весь) D 0.004, I- по умолчанию (не помню) взлет - резковат как-то, настраиваю Автотюном. - стал вялым все параметры уменьшились вдвое.
    Начал испытывать на резких полетах - упал.
    Начал руками подстраивать вернул в начало, как было. начал летать, Stabilaze/roll-pitch вывел на 5, Rate P=0.9, D=0.005 после этого он стал резкий и после того как отпускаешь стик он делает движение в противоположную сторону. в режиме Loiter летал хорошо. Так вот, зайдя в тупик с настройками я вновь решил настроить автотюном, но под виброплатформу подставил полистирола чтоб уменьшить гашение.
    что получилось:
    при регулировании по крену он делал очень резкие движения и хорошо проседал и в конечном счете упал, порубив в щепки пластиковую крышку на которой GPS стоял, все остальное осталось цело. Но меня это не остановило, я убрал ГПС, отключил Арминг и снова взлелтел, на этот раз по крену он завершил настройку, перешел к тангажу и...в какой-то момент моторы сделали быстро ввв-ввв-ввв и он воткнулся в землю сломав 1 луч...не пойму то ли перерегулировался, то ли не дорегулировался... и ведь хотел с видео настраивать но операторы все заняты были...а бортовую камеру потавил лишь для груза...
    в общем как настравать ума не приложу.
    как мысль (поправьте если неправ или расскажите как надо) :)
    1. ставлю P в момент когда пропадают осцилляции (у меня это как раз где-то 0,9-1,1 тут вот не пойму, что лучше больше или меньше?)
    2. Вывожу D до момента когда он без резких движений начнет останавливаться и в тоже время не будет колебаний.
    3. I - тут все сложнее и как мне кажется надо как-то считать, а то легко раскачать и перевернуть, для начала думаю вывести в минимум.
    4. После этого настраиваю Stabilize Roll - как больше нравится - вялый или резкий?

    Вообще как я понял настроить можно 2мя путями - Большим-P и маленьким D, или наоборот, так ли это?
    --- Сообщения объединены, 15 июл 2016 ---
    у меня схожая конфигурация и он на стандартных дрожит, а на 0.9 ОК.

    Вообще почему я решил взяться за пиды, просто упал квадрик от ветра вот теперь хочу исключить малейшую болтанку и увеличить устойчивость к внешним воздействиям.
    --- Сообщения объединены, 15 июл 2016 ---
    отличная идея с крестом промежног, скажите много весит? а то я мучаюсь эти ноги постоянно ломаются, уже 3 комплекта сменил...
     
  8. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.094
    Город:
    Реж
    Имя:
    Тимур
    Та же самая фигня. Плюс ещё с преподом не повезло - он половину курса читал с авторских лекций собственного написания, в итоге некоторые люди (включая меня) - так и не сдали ему "цифру". Просто у заочников должно быть несколько разных источников информации для надежного понимания предмета.
    Для начала I можно вообще поставить равным нулю. И настроить только P и D - это будет скорость реакции. Только после гашения возмущающего воздействия - коптер может "устояться" не в горизонте (если речь идет про ПИДы стабилизации) - а например слегка под наклоном. И потом уже, для доводки до горизонта - вот тут работает I.
    Если у вас рама симметричная - то и по ролл и по питч у вас будут одинаковые значения.
     
  9. Uolg

    Uolg Студент

    Регистрация:
    4 янв 2016
    Сообщения:
    435
    Город:
    Руза
    Имя:
    Олег
    Ну по ТАУ нам повезло с преподом :) но вот на 1м курсе, когда читали курс Дифференциальных уравнений - не повезло (там студент читал которого больше волновало как от армии откосить) а поскольку вся ТАУ это одна большая Дуффура :) то и давалось это с трудом, хотя когда заходила речь о реальном регулировании, то там все легко и понятно считалось:)
    --- Сообщения объединены, 18 июл 2016 ---
    в обще колдовал с настройками, вывел чуть ниже осцилляций P и начал настраивать D, особых изменений в поведении в диапазон 0,002-0,01 - не заметил, изменения I тоже незаметно влияло. А вот Stabilize-P - вещь сильно влияющая на резкость поведения, я уменьшил до 0,4. Сейчас в штиль рулится легко, но что не нравится, так это то что когда летишь влево-впаво и отпускаешь стик - он продолжает лететь, пока противоположным движением не погасишь, какой параметр на это влияет - не понимаю.
    Вечером постараюсь выложить видео на ваш суд
    --- Сообщения объединены, 18 июл 2016 ---
    рама-то симметричная, но ведь аккумулятор висит вдоль, плюс всякие камеры, значит по тангажу надо чуть больше.
    --- Сообщения объединены, 18 июл 2016 ---
    Сейчас у меня P-0.09 по крену, 0.095 по тангажу, D-0.007 I - по умолчанию
     
  10. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.094
    Город:
    Реж
    Имя:
    Тимур
    А вот тут как раз похоже и надо поднимать I.
    Суть в следующем - P и D гасит кратковременные возмущения, а I - доводит до требуемой точки.
    Представьте что (у вас железные нервы и есть лишние пальцы) вы дергаете резко за луч висящего коптера и отпускаете его. Есть некое отклонение, которое надо погасить.
    Так вот, в этой ситуации - P - это на сколько градусов надо поднять луч чтобы вернуться в горизонт.
    Параметр D - это как быстро надо дёрнуть лучом. При низких D коптер будет ленивым, "тугим".
    А далее - самое интересное. Вот коптер как-то погасил колебание с высисленным P и вычисленным D. Но по какой-то причине (ошибки при оценке - то бишь ошибки акселя, опять же ветер дунул невовремя) - коптер не вернулся в горизонт. Вот тут нам поможет параметр I - насколько точно возвращаться к идеальной позиции. Этот параметр тоже может быть перерегулирован, поэтому его прибавлять потихоньку.
     
  11. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.094
    Город:
    Реж
    Имя:
    Тимур
  12. Uolg

    Uolg Студент

    Регистрация:
    4 янв 2016
    Сообщения:
    435
    Город:
    Руза
    Имя:
    Олег
    тут дело в том, что он в горизонт возвращается, но летит по инерции уже в горизонте. Вот если Stabilize-P поднять до 5 то коптер делает компенсирующий маневр, но сам при этом становится очень резким и при автонастройке ПИД падал 2 раза (см. выше)
     
  13. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.094
    Город:
    Реж
    Имя:
    Тимур
    Это уже ПИДами стабилизации не выправить - да и не надо.
    С этим дрейфом по инерции должен справиться уже Лоитер.
    Просто я подумал, что коптер в горизонт не выравнивается до конца.
     
  14. Uolg

    Uolg Студент

    Регистрация:
    4 янв 2016
    Сообщения:
    435
    Город:
    Руза
    Имя:
    Олег
    ну меня вполне устравает :)
    Как уже говорил Stabilize-P и он выравнивается почти, но делает компенсирующие маневры - страшновато смотреть на это :) в целом сейчас он у меня вращается вокруг оси без кренов и провалов, что тоже нравитсяю
     
  15. pogarjuga

    pogarjuga Студент

    Регистрация:
    26 июн 2016
    Сообщения:
    187
    Город:
    Харьков
    Имя:
    Димон
    Подскажите по пидам. Вчера поставил на 0,08. Поехал на полетушки, и вижу что квадрик очень вяло отрывался от земли, вечером вчера изменил на 0,12, вроде лучше, но все равно вяловато. В какую сторону менять, или поставить на 0,09? Да и вообще,. судя по скрину, у меня в норме остальные цифры? Скажу сразу. На борту аккумулятор 3S 5500 mAh, 2ух осевой подвес Валкера G-2D+sjcam 5000, TS832, телеметрия и шасси. Вес не маленький
     

    Вложения:

    • Пиды1.jpg
      Пиды1.jpg
      Размер файла:
      81,8 КБ
      Просмотров:
      67
  16. pogarjuga

    pogarjuga Студент

    Регистрация:
    26 июн 2016
    Сообщения:
    187
    Город:
    Харьков
    Имя:
    Димон
  17. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.094
    Город:
    Реж
    Имя:
    Тимур
    А почему такие низкие Rate Roll P и Rate Pitch P ?
    Как коптер стабилизируется - нормально, или "тупит"?
    Нагляднее смотрим так - коптер перед собой задом к нам. Висим в стабе (это наверное сложно, но постарайтесь). Отклоняем ролл от нейтрали в сторону и сразу назад на нейтраль (дернули коптер в сторону). Коптер при этом сначала наклонился по команде, а потом начал сам выправляться в горизонт.
    Как быстро он возвращается назад? Сколько корректирующих движений совершает? Как точно остановился по отношению к горизонту?

    Потренироваться в методике подбора можно на виртуальном коптере http://copterpilot.ru/custom-app/pid_roll2/
     
    pogarjuga нравится это.
  18. pogarjuga

    pogarjuga Студент

    Регистрация:
    26 июн 2016
    Сообщения:
    187
    Город:
    Харьков
    Имя:
    Димон
    В стабе еше не пробовал. Пробовал в режиме лоитер. Ну то ладно. Будем корректировать и учиться. Посоветуйте с каких цифр начать корректировку "P"?
     
  19. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.094
    Город:
    Реж
    Имя:
    Тимур
    Для начала попробуйте, сможете ли вы летать в Стабе.
    Потом попробовать временно вкинуть I на ноль и после этого начинаем крутить Р. В случае с симметричной рамой - дублируем по питчу и по роллу.
     
  20. davecbr

    davecbr Абитуриент

    Регистрация:
    20 июн 2016
    Сообщения:
    17
    Город:
    Рига
    Имя:
    Олег