Специальные цены   новые товары
Закрытая тема
Показано с 1 по 36 из 36

Разработка программы стабилизации многороторного ЛА

Тема раздела Квадрокоптеры. Общие вопросы в категории Квадрокоптеры и мультироторы; Доброго времени суток! Я с другом начинаем разрабатывать собственное ПО для коптера, и в этой теме я предлагаю обсудить сей ...

  1. #1

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57

    Разработка программы стабилизации многороторного ЛА

    Доброго времени суток!
    Я с другом начинаем разрабатывать собственное ПО для коптера, и в этой теме я предлагаю обсудить сей вопрос. Итак, начну.
    Нет, я не собираюсь делать "еще один MultiWii", а собираюсь разработать программу стабилизации, основанную на несколько иной концепции.

    Существующие системы стабилизации, доступные коптеростроителям работают примерно по следующему принципу: система стремится компенсировать внешние воздействия и привести ЛА к положению, которое задается пилотом. При этом нет абсолютно никакой гарантии, что комманда пилота (к примеру, резкий крен на большой угол) не приведет, при условии что она будет выполнена, к потери стабильности и падению.

    Кроме того, если говорить о MultiWii в частности, то неверно и высказывание "положение, которое задается пилотом". ШИМ сигнал двигателей складывается из ШИМ с канала газа, к которому прибавляется ШИМ управления (т.е. в зависимости от конфигурации ЛА и рассматриваемого мотора это будет ШИМ крена, тангажа, рыскания или двух из них вместе). И уже к полученному результату добавляестя ШИМ, полученный ПИД регуляторами, чтобы скомпенсировать уход ЛА от требуемого положения. (Да, я знаю, что я очень не точно описал работу мультивия, но я сделал это, чтобы не растягивать введение)

    Именно эти недостатки я хочу исправить в своей программе стабилизации.
    Комманды пилота с пульта управления задают только требуемое положение коптера (курс, скорость по осям, высоту) и не управляют двигателями непосредственно. В то же время система стабилизации выполняет эти комманды не буквально, а так, чтобы не допустить падения аппарта. К примеру, если пилот сделал резкий крен на слишком большой угол, ПО определяет, что отклонение на такой угол чревато потерей стабильности, и отклонит ЛА только на допустимы угол.

  2.  
  3. #2

    Регистрация
    13.01.2011
    Адрес
    Москва, ЗАО
    Возраст
    42
    Сообщений
    17,433
    Записей в дневнике
    26
    Без обид, ну хоть бы один из n-цать начинателей собственного ПО написал: мы уже сделали! смотрите! пользуйте!
    Неужели так трудно сначала покурить соседние ветки про собственное ПО, приобрести наработки и сделать уже отдельный топик о свершившемся, а не о намерениях?

  4. #3

    Регистрация
    07.01.2010
    Адрес
    Камышлов, Свердловской обл
    Возраст
    41
    Сообщений
    3,768
    Цитата Сообщение от MAFia Посмотреть сообщение
    Комманды пилота с пульта управления задают только требуемое положение коптера (курс, скорость по осям, высоту) и не управляют двигателями непосредственно
    У какого то контроллера по другому ?

  5. #4
    ndn
    ndn вне форума
    Забанен
    Регистрация
    13.01.2012
    Адрес
    Днепропетровск, Украина
    Возраст
    44
    Сообщений
    441
    Цитата Сообщение от MAFia Посмотреть сообщение
    ... ПО определяет, что отклонение на такой угол чревато потерей стабильности, и отклонит ЛА только на допустимы угол.
    Ой! А я чоЙто думал чо усе мозги в режиме стабилизации так и делаютЬ...

  6.  
  7. #5

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57
    Итак, собственно мои мысли по реализации поставленной задачи.

    Задать максимальный угол откланения жестко нельзя, т.к. он зависит от констуркции коптера (вес, центровка, мощность двигателей, длина лучей итд итп), погодных условий итп, то главное - определять момент, когда коптер начнет терять стабильность.

    Я рассуждал так:
    Пусть некий параметр - показатель стабильности (ПК) - это среднее откланение коптера от требуемого положения. Чем он больше, тем больше "болтает" коптер. Я предполагаю, что чем больше будет угол откланения коптера от горизонтали, тем больше будет показатель стабильности, и так до потери управления.
    Сначала ПО необходимо адаптироваться под данный коптер. Пилот совершает маневры, а программа собирает статистику, как зависит ПК от положения коптера, от
    выполняемого маневра. После завершения обучения, программа при получении комманды пилота будет определять пк, записанный в результате обучения и, если он превышает допустимый предел, будет ограничивать комманду (к примеру, пропорционально превышению записанного ПК над максимальным). Если программа замечает, что ПК полсле выполнения "безобидной" комманды превышает записаныый для этой комманды, то, вероятно, произошло ухудшение условий внешней среды, нарушилась центровка коптра, т.е вероятность упасть возросла, то максимально допустимый ПК будет уменьшен.

    Вот такие были мои рассуждения, поправте меня, если я ошибаюсь. Конструктивная критика преветствуется!

    Цитата Сообщение от devv Посмотреть сообщение
    У какого то контроллера по другому ?
    multiwii. Откройте конфигуратор и подвигайте стики передатчика. С пулта идет trottle 1500, и если другие стики не двигать, и коптер неподвижен, то значение всех двигателей будет 1500. Сдвинь стик "вперед" на 50 относительно середины и получишь (для "+" квадрика) спереди 1550, сзади 1450.

    P.S. Хотел сделать два поста подряд, чтобы читать удобнее было, а вы меня опередили :-)

  8. #6

    Регистрация
    07.01.2010
    Адрес
    Камышлов, Свердловской обл
    Возраст
    41
    Сообщений
    3,768
    Вариант: Запретить отклоняться больше 30гр. Разрешить юзеру править показатель максимального наклона под свои цели и задачи.

  9. #7

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57
    Цитата Сообщение от devv Посмотреть сообщение
    Вариант: Запретить отклоняться больше 30гр. Разрешить юзеру править показатель максимального наклона под свои цели и задачи.
    ответ я написал и тут инет рухнул!!! Скажу кратко.
    Мне кажется это не гуд, потому что при ухудшении условий полета, максимальный угол уменьшится. Предлагаю два варианта:
    1)Определить максимальный показатель стабильности (его надо 1 раз для данного квадрика определить), а затем ограничивать по этому показателю
    2)Определить макс. угол, а коптер летает и определяет ПС. Если вдруг стабильность стала ухудшаться, то уменьшаем предельно допустимый угол. Это самый простой вариант (после жестко заданного угла), но далеко не лучший. Надо думать.

  10.  
  11. #8

    Регистрация
    05.04.2012
    Адрес
    Марик
    Возраст
    45
    Сообщений
    293
    честно говоря, так и не понял какая задача поставлена...
    У "немцев" есть функция "ограничение угла поворота". Любые манипуляции - порывы ветра, тапка в пол по любой оси или всем сразу, смещение ЦТ, да хоть что, но я еще не видел, чтоб его больше чем на 45 град. поворачивало. Без каких либо дополнительных настроек и привязки к конкретному аппарату - галочку поставил/галочку убрал.
    Вы об этом? ))

  12. #9

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57
    "У немцев" - это что? Я просто не припомню...

  13. #10
    ndn
    ndn вне форума
    Забанен
    Регистрация
    13.01.2012
    Адрес
    Днепропетровск, Украина
    Возраст
    44
    Сообщений
    441
    Цитата Сообщение от MAFia Посмотреть сообщение
    "У немцев" - это что?
    mikrokopter или просто немцы
    Для начала хотябы просмотрите, что создано до вас...

  14. #11

    Регистрация
    29.01.2011
    Адрес
    Окленд, Новая Зеландия
    Возраст
    30
    Сообщений
    4,911
    Записей в дневнике
    78
    Цитата Сообщение от MAFia Посмотреть сообщение
    Именно эти недостатки я хочу исправить в своей программе стабилизации.
    ну дык и в чем проблема? исправляйте, выкладывается, проверим как оно работает =)
    Цитата Сообщение от MAFia Посмотреть сообщение
    и отклонит ЛА только на допустимы угол.
    если память не изменяет, то все контроллеры со стабом так делают (т.е. считай вообще все кроме кука), мне вот не удается перевернуть ни multiwii, ни megapirate, даже если стик в край отлонить

  15. #12

    Регистрация
    13.01.2011
    Адрес
    Москва, ЗАО
    Возраст
    42
    Сообщений
    17,433
    Записей в дневнике
    26
    Цитата Сообщение от MAFia Посмотреть сообщение
    Доброго времени суток!
    Нет, я не собираюсь делать "еще один MultiWii", а собираюсь разработать программу стабилизации, основанную на несколько иной концепции.
    Комманды пилота с пульта управления задают только требуемое положение коптера (курс, скорость по осям, высоту) и не управляют двигателями непосредственно. В то же время система стабилизации выполняет эти комманды не буквально, а так, чтобы не допустить падения аппарта. К примеру, если пилот сделал резкий крен на слишком большой угол, ПО определяет, что отклонение на такой угол чревато потерей стабильности, и отклонит ЛА только на допустимы угол.
    ЧТо-то мое занудство мне подсказывает, что человек просто не разобрался в Мультивие, не просек что у него есть помимо acro onlygyro mode еще и stab mode (не догадался поставить галочку на чекбокс в гуи) и думает, что мультивий недоработанная система, ущербная, коптер переворачивает стаб мод включи, товарищ!

  16. #13

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57
    Я только в Stab и летаю. И бывало, что "стик в пол" и коптер падал.
    P.S. И уж что-то я не считаю, что "мультивий недоработанная система, ущербная"

    Пойду пущу коптер, опять проверю, что будет, если "стик в пол". Проверю вашу правоту...

  17. #14

    Регистрация
    07.01.2010
    Адрес
    Камышлов, Свердловской обл
    Возраст
    41
    Сообщений
    3,768
    Видимо движки противоположные тем что увеличили обороты останавливались в 0.
    И это не проблема кода Вия.

  18. #15

    Регистрация
    13.01.2011
    Адрес
    Москва, ЗАО
    Возраст
    42
    Сообщений
    17,433
    Записей в дневнике
    26
    mintrottle должен быть 1300 минимум

  19. #16
    DVE
    DVE вне форума

    Регистрация
    16.06.2008
    Адрес
    EU
    Возраст
    38
    Сообщений
    4,392
    В принципе доработать тот же Multiwii введя пределы максимальных углов по всем осям, наверно не так уж сложно, для этого не надо даже писать все заново Можно даже сгладить сигналы стиков каким-нибудь ФНЧ, чтобы даже при резких движениях квадрик поворачивал плавно. Более того, уверен что это сделано в той же Назе, уронить/перевернуть которую практически невозможно.

    В целом, всем софтостроителям рекомендую брать пример с уважаемого Александра: http://forum.rcdesign.ru/blogs/83206/blog15204.html
    Человек решил, взял и сделал, выложил всем желающим.
    Если авторы ветки сделают также и выложат свою прошивку и она будет лучше оригинальной, все только спасибо скажут. Хотя я сомневаюсь что писать с нуля тут целесообразно, все же по количеству человеко-часов оптимальнее наверно доработать то что уже есть. Ведь любая прошивка это не только летающий "прототип", но и куча доп.фич типа всяких carefree, возврата домой и пр, и писать все заново с нуля выйдет слишком долго.

  20. #17

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57
    DVE, естественно я сам очень желаю довести разработку до конца, и приложу все усилия, чтобы желание не расходилось с действительностью. Конечно, основываться на имеющемся коде проще, я скорее всего так и поступлю. Просто добавить ограничители углов в Вий легко. Добавить динамическое определение этих углов (см. пост №5) уже сложнее, и это будет наслоение, legacy-legacy-legacy. Кроме того, задумка отличается от вия не только ограничениями углов. Наиболее рационально на мой взгляд - это использовать не вий целиком, а его части, хорошо отлаженные (чтение данных с датчиков, с пульта, управление двигателями и "дополнительные фичи").
    В итоге планирую получить следующее: систему стабилизации, которая может
    1)Исправлять ошибки пилота и не допускать падение из-за них
    2)Компенсировать снос за счет ветра итп акселем (вий так не может. Во всяком случае я так и не смог сделать это, не вмешиваясь в код вия)
    3)Динамически изменять коэффициенты ПИДов, делая их оптимальными для текущих условий окр среды и стиля пилотирования
    4)И если получится сделать п1-3, то дополнительные фичи: возврат домой, автопосадка, carefree итп.

    P.S. завтра, если получится, выложу, чего удалось достичь по первым 3-м пунктам (алгоритмы).

  21. #18

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    37
    Сообщений
    4,529
    Записей в дневнике
    9
    А что (мосх) вам это всё считать будет?

  22. #19
    DVE
    DVE вне форума

    Регистрация
    16.06.2008
    Адрес
    EU
    Возраст
    38
    Сообщений
    4,392
    2 MAFia:
    А что считать ошибкой пилота? Любой современный квадрик должен просто выровняться и зависнуть если пилот отпустил стики, и этого вполне достаточно.

    Дело авторов конечно, но имхо - добавьте лучше в Wii нормальный полет по точкам (с указанием не только точек но и куда должен "смотреть" нос во время облета), отсутствие этого сейчас самый большой недостаток Wii имхо. Если сделаете, всемирная известность в узких рамках rc-community обеспечена

    Насчет legacy - если не выходить за рамки GNU GPL, то проблем нет. Или Вы хотите создать очередной Мега/Руссокоптер, с закрытыми исходниками и платами на продажу?

  23. #20

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57
    да нет, не на продажу. скорее чисто из "спортивно"-программистского интереса...

  24. #21

    Регистрация
    23.06.2011
    Адрес
    Мурманск
    Возраст
    47
    Сообщений
    1,715
    Записей в дневнике
    4
    Человеку нужна поддержка, стимул, заряд энергии от вас.
    Вы полегче с ним, а то загубите все начинания на корню, может быть это новое начало...
    Возможно он и не добьется того, что задумал, но народ, большинство идей рубится на корню не получив должного внимания и поддержки со стороны.
    Мысли в слух...

  25. #22

    Регистрация
    13.01.2011
    Адрес
    Москва, ЗАО
    Возраст
    42
    Сообщений
    17,433
    Записей в дневнике
    26
    Цитата Сообщение от sulaex Посмотреть сообщение
    Человеку нужна поддержка, стимул, заряд энергии от вас.
    Александр, все самые выдающиеся изобретения появлялись в этом мире наперекор судьбе и противодействию извне. Никогда не думал, что тем же Sir Alex, Mahovik, Alexmos, Syberian и т.д. нужна поддержка и заряд энергии чтобы они сели и перелопатили код, написали свой. Парни садятся и делают, показывают результаты, а потом получают всеобщее признание и уважение. Топикстартеру не 16 и даже не 20, о чем вы говорите) Меня больше всего задело, что ни раз в топике упоминается мультивий, а на лицо не понимание принципов работы программы, отдельных частей алгоритма. Собственно поэтому я и настолько скептически отношусь ко всему что декларируется в этом топике.

    Цитата Сообщение от DVE Посмотреть сообщение
    добавьте лучше в Wii нормальный полет по точкам (с указанием не только точек но и куда должен "смотреть" нос во время облета), отсутствие этого сейчас самый большой недостаток Wii имхо.
    Дмитрий, я вами поражаюсь)) у Мультивия нет недостатков)

  26. #23

    Регистрация
    17.11.2008
    Адрес
    Самара
    Возраст
    37
    Сообщений
    1,291
    Записей в дневнике
    22
    Цитата Сообщение от Covax Посмотреть сообщение
    у Мультивия нет недостатков)
    ))

    Я с вас поражаюсь Сергей..., если у вия нет недостатков, почему же Вы тогда пользуете НАЗУ..???

  27. #24

    Регистрация
    13.01.2011
    Адрес
    Москва, ЗАО
    Возраст
    42
    Сообщений
    17,433
    Записей в дневнике
    26
    Николай, а кто сказал уважаемому самаритянину что я не использую Мультивий? ))) вы нашли выход на вебкамеру из моей мастерской? еептам нет у меня мультивий аж на bma020 и гирах с настоящего wii летает просто апупительно. А вот CC OP и Ardu лежат без дела, это да.

  28. #25
    DVE
    DVE вне форума

    Регистрация
    16.06.2008
    Адрес
    EU
    Возраст
    38
    Сообщений
    4,392
    Цитата Сообщение от sulaex Посмотреть сообщение
    Человеку нужна поддержка, стимул, заряд энергии от вас.
    Просто авторам надо понимать, что задача "просто повисеть" для квадриков не стоит уже пару лет как И действительно, сложно будет получить понимание с клоном "еще одного Multiwii".

    Висеть сейчас умеют более-менее все квадрики, а аксель для выравнивания есть даже на самых дешевых контроллерах за 30$. Основной интерес сейчас именно в дополнительных функциях: осд, сонар, автопосадка, всякие там возвраты домой, облеты точек и пр.

    Ну а просто повисеть, можно конечно делать для себя, но вряд ли стоит надеяться что все сразу ломанутся ставить новую супер-прошивку на свой квад

    Цитата Сообщение от Covax Посмотреть сообщение
    у Мультивия нет недостатков)
    Говорили что нет у Вуконга, я слышал

  29. #26

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    41
    Сообщений
    1,497
    Цитата Сообщение от DVE Посмотреть сообщение
    Сообщение от Covax у Мультивия нет недостатков) Говорили что нет у Вуконга, я слышал
    Есть один недостаток, лично для меня, чужой код трудно читаем (особо это относиться к Арду), и наличие большого количества костылей на 8ми битах, хочется более "гладкой" математики.

  30. #27

    Регистрация
    29.01.2011
    Адрес
    Окленд, Новая Зеландия
    Возраст
    30
    Сообщений
    4,911
    Записей в дневнике
    78
    Цитата Сообщение от rual Посмотреть сообщение
    недостаток, лично для меня, чужой код трудно читаем
    тогда надо всем писать с нуля свои мозги, иначе код всегда будет чужим... если честно, ничего сложного в самой структуре кода нет ни у multiwii ни у ардукоптера, для меня полный затык начинается когда идет математика и кунгфу с низкоуровневым шаманством

  31. #28

    Регистрация
    22.08.2011
    Адрес
    Калининград
    Возраст
    36
    Сообщений
    1,040
    Записей в дневнике
    2
    Цитата Сообщение от DVE Посмотреть сообщение
    при резких движениях квадрик поворачивал плавно.

    Да для этого не нужно ничего дорабатывать, сделал лучи подлинне подопустил P задрал D вот и кисельный квадрик готов =))

  32. #29

    Регистрация
    02.04.2012
    Адрес
    Волгоград
    Возраст
    32
    Сообщений
    57
    А я и не претендую на создание убийцы вия. Я создал этот топик, чтобы проконсультироваться у много знающих людей в случае каких-либо затруднений. А прогу пишу практически исключительно для себя. Для удавольствия. Хотя, я думаю (начинаю думать, почитав сообщения знающих людей), что выбранное мной направление создания "проги для себя", а именно фишка со над-стабилизатором не нужна. Ну, написать много чего можно. И будет интересно. Когда допишу "леталку" " для себя" (управление, двигатели, датчики, пиды) и оно начнет летать, подумаю, что дальше делать. Может быть, сконцентрируюсь на автоматическом полете. (Замечу в скобках, причиной, толкнувшей меня на идею об ограничении углов являлся мой пилотский нубизм. Теперь, более-менее научившись летать, понимаю, что это действительно абсурдно. Идею не так просто выкинуть).

    P.S. Обещал алгоритмы, но выкладывать не буду, т.к пришли к выводу, что ограничения углов, коэффициенты стабильности нафиг не кому не нужны и я "откланил эту терию идею"

  33. #30

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    37
    Сообщений
    4,529
    Записей в дневнике
    9
    А я всё больше склоняюсь, что КУК -самая совершенная система - на полетать, просто висеть однако не интересно, а коли уже заниматся проф. съёмкой, тут уж только дорогие рещения нужны, при чём полёт отдельно - подвес отдельно

  34. #31

    Регистрация
    29.01.2011
    Адрес
    Окленд, Новая Зеландия
    Возраст
    30
    Сообщений
    4,911
    Записей в дневнике
    78
    а что делать тем, кто хочет не профессионально полетать блинчиком и поснимать?

  35. #32

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    37
    Сообщений
    4,529
    Записей в дневнике
    9
    Однозначно КУК Пля моя мелкая железяка так классно летает в Acro, что я уже начал задумыватьса - а ЗАЧЕМ мне на борту аксель, барометр и компас

  36. #33

    Регистрация
    29.01.2011
    Адрес
    Окленд, Новая Зеландия
    Возраст
    30
    Сообщений
    4,911
    Записей в дневнике
    78
    кхм, гекса с подвесом блинчиком на куке? о_0 неее, пасибо =) AllInOne pro + multiwii/mpng как то лучше выглядит, да и цена не особо кусается

  37. #34

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    37
    Сообщений
    4,529
    Записей в дневнике
    9
    Глеб, о вкусах не спорят

  38. #35

    Регистрация
    23.11.2011
    Адрес
    Москва Партизанская
    Возраст
    52
    Сообщений
    7,695
    Не спорят когда не пробовал)))

  39. #36

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    37
    Сообщений
    4,529
    Записей в дневнике
    9
    Хто???? у меня на КУКе самодельном 4 аппарата было: 2 квадрика, трёшка, Y4 - только положительные эмоции

Закрытая тема

Похожие темы

  1. Системы спасения наших многороторных ЛА
    от Covax в разделе Квадрокоптеры. Общие вопросы
    Ответов: 388
    Последнее сообщение: 10.07.2017, 13:27
  2. Датчики систем стабилизации для многороторных систем. Теория и практика.
    от zvuk_Irkutsk в разделе Коптеры. Комплектующие, сборка, настройка.
    Ответов: 14
    Последнее сообщение: 15.03.2012, 00:09
  3. Продам системы стабилизации (FY90Q,XAircraft,HeliCommand,Copilot)
    от RID в разделе Барахолка. Вертолеты
    Ответов: 2
    Последнее сообщение: 02.11.2011, 17:27

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения