MultiWii - обсуждаем и отлаживаем Alt Hold

Musgravehill
gensek:

Запускаю arduino-0022, перетаскиваю в его окно 14 файлов из MultiWii_r15

У меня R15 отлично работает под ArduinoIDE 1.0

soliada
gensek:

Запускаю arduino-0022, перетаскиваю в его окно 14 файлов из MultiWii_r15

Можно просто переименовать файл с расширением MultiWii_1_alexmos.ino в MultiWii_1_alexmos.pde и запускать в 022 ИДЕ.
Кстати да,оказалось что скачанная по ссылке code.google.com/p/multiwii-al...q=#makechanges
прошивка не компилируется,а скачанная по этой ссылке nekaka.com/folder/view/fflQygFI компилируется.

gensek

Странно, по этой ссылке у меня та же ошибка nekaka.com/d/goCWk9pImD при компиляции, попробую скачать ArduinoIDE 1.0 , Можно просто переименовать файл с расширением MultiWii_1_alexmos.ino в MultiWii_1_alexmos.pde и запускать в 022 ИДЕ - это не помогло.

soliada:

Можно просто переименовать файл с расширением MultiWii_1_alexmos.ino в MultiWii_1_alexmos.pde и запускать в 022 ИДЕ.
Кстати да,оказалось что скачанная по ссылке code.google.com/p/multiwii-al...q=#makechanges
прошивка не компилируется,а скачанная по этой ссылке nekaka.com/folder/view/fflQygFI компилируется.

alexmos
gensek:

Странно, по этой ссылке у меня та же ошибка nekaka.com/d/goCWk9pImD при компиляции, попробую скачать ArduinoIDE 1.0 , Можно просто переименовать файл с расширением MultiWii_1_alexmos.ino в MultiWii_1_alexmos.pde и запускать в 022 ИДЕ - это не помогло.

Проверил содержимое своего архива в Arduino022, Arduino023 - нормально компилируется. Необходимо соблюдать стандратные условия для скетчей - все файлы должны быть в папке MultiWii (по имени скетча) и окрывать MultiWii.pde через меню File (или при по расширению, если настроено).

По вашему скриншоту видно, что вы неправильно открыли (первая вкладка явно лишняя).

gensek
alexmos:

все файлы должны быть в папке MultiWii (по имени скетча)

Так и есть, дело оказалось в имени папки, после распаковки архива она имеет имя MultiWii_r15, убрал _r15 и все заработало.

gensek

Собираюсь сегодня залить, настроить и попробовать подлетнуть, кроме Алексея еще летает кто, как оно?

gensek

Ага, первый вопрос, в прошивке 1.9 использовал второй тумблер передатчика на пин 8 #define RCAUXPIN8, если раскоментировать в MultiWii_r15 вместе #define RCAUXPIN8 и #define SONAR
вылазит ошибка ( echo повесил на D12) , как вернуть работу второго тумблера?

gensek

Залил, настроил, в GUI все работает отлично, аксель по шести точкам показывает примерно ±255, сонар точно показывает высоту, при запуске в руках и небольшом газе задний левый мотор пуляет и ставит коптер под 45 градусов и успокаивается, онлайн в GUI посмотреть в чем дело не могу, с этой прошивкой почему то не работает блютус. Похоже на неправильную калибровку акселя, но в статике в гуи то все нормально , рол и питч стоят ровно.

alexmos
gensek:

вылазит ошибка ( echo повесил на D12) , как вернуть работу второго тумблера?

Видимо Aux2 заведен через неиспользуемое ранее прерывание, которое нужно сонару. У меня использует SumPPM и прерывание свободно, я его и взял на сонар. Насколько я знаю, на 328p больше их не осталось. Давайте посмотрим как зарулят сонар в официальной версии. Сейчас - либо SumPPM либо отказаться от AUX2

gensek:

Залил, настроил, в GUI все работает отлично, аксель по шести точкам показывает примерно ±255, сонар точно показывает высоту

Тут все правильно.

gensek:

при запуске в руках и небольшом газе задний левый мотор пуляет и ставит коптер под 45 градусов и успокаивается, онлайн в GUI посмотреть в чем дело не могу, с этой прошивкой почему то не работает блютус. Похоже на неправильную калибровку акселя, но в статике в гуи то все нормально , рол и питч стоят ровно.

А зачем блютус, я тестирую через кабель (если держать в руках). Если AltHold не включен, то все остальные алгоритмы работают как и в стандртной прошивке, туда я не лез. Если ROLL и PITCH ровно стоят и отражают реальные налоны, то и аксель откалиброван верно. Нужно обязательно смотреть что происходит в GUI при включенных моторах.

gensek
alexmos:

Видимо Aux2 заведен через неиспользуемое ранее прерывание, которое нужно сонару. У меня использует SumPPM и прерывание свободно, я его и взял на сонар

Понял, приемник с РРМ имеется, воткну его, ну а блютус как бы уже установлен и прекрасно работает, с ним гораздо удобней!

alexmos:

Давайте посмотрим как зарулят сонар в официальной версии.

Сонар будет в официалке?! Барометр до сих пор в официалке никакой, почувствовал работу барометра пока что только в MultiWii_1_9_a2 от mahowik.

alexmos
gensek:

блютус как бы уже установлен и прекрасно работает, с ним гораздо удобней!

И заливать прошивку с ним научился? Я тоже прикрутил блютус для отладки, но на поле когда отошел подальше от ноута, коптер пару раз сходил с ума (хорошо что в руках был на тот момент). Подозреваю что при увеличенни дистанции блютус увеличивает мощность и забиавает р/у канал (частоты то одинаковые). Так что очень настороженно теперь к нему отношусь.

gensek:

Сонар будет в официалке?! Барометр до сих пор в официалке никакой, почувствовал работу барометра пока что только в MultiWii_1_9_a2 от mahowik.

Рано или поздно будет, сейчас на оф.форуме обсуждается активно.

gensek
alexmos:

И заливать прошивку с ним научился? Я тоже прикрутил блютус для отладки, но на поле когда отошел подальше от ноута, коптер пару раз сходил с ума (хорошо что в руках был на тот момент). Подозреваю что при увеличенни дистанции блютус увеличивает мощность и забиавает р/у канал (частоты то одинаковые). Так что очень настороженно теперь к нему отношусь.

Нее, когда лью прошивку выдергиваю блютус из Crius MultiWii и пихаю USB-UART FT232RL , на поле не знаю как (холодно и не удобно с нотиком), в помещении отпускал не более чем на 5 метров, блютус не дурил.
Чет не получается у меня с акселем в MultiWii_r15, коптер встает криво и все тут, кстати заметил что после калибровки по шести точкам в GUI тоже стоит криво, нужно прогнать еще кажется по двум-трем дополнительно, наверно в этом дело, буду ждать официалку, очень понравилось как сонар точно выдает высоту в GUI.

alexmos

Можете не калибровать по 6 точкам, можно как и раньше, по Z один раз. Попробуйте так и напишите что получится.

gensek
alexmos:

Можете не калибровать по 6 точкам, можно как и раньше, по Z один раз. Попробуйте так и напишите что получится.

Отцепил я уже сонар, пришло недостающее крепление к давно собранному подвесу, буду экспериментировать с ним.

mahowik

Привет Алексей!

Сорри за паузу… выпал немного из контекста…
Неделю назад вмержил r15 в MultiWii_dev_20120225, но без калибровки по 6-ти осям…
в ГУИ скрость ведет себя не стабильно, т.е. при полном покое (0, 0, +128) иногда плавно уходит в +/-60…100. Такое ощущение что ПИД регулятор в интеграторе не может стабилизироваться. Предположив что в динамике/полете этого не будет, чуть не улетел в небо пару раз )), т.е. примерно тоже поведение, как описывал чел на офф. форуме…
Я когда ранее переводил твой интегратор (его более раннюю и простую версию) на 50гц, наблюдал похожее поведение “по скорости” при определенних сочетаниях коэф-в. Т.е. я к тому что вероятно коэф-ы интегратора не оптимальны сейчас, либо у тебя сейчас жесткая привязка к +/-255, т.к. у меня acc_1g=128.
Могу выложить результат мержа, не исключено что я накосячил гдето…

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

з.ы. твои идеи однозначно сильны, потому есть смысл довести до конца… марбалоновский альт холд у меня вообще не работает, при малейшем ветерке носит коптер как Г в проруби…
т.е. доведем до конца тогда мот и в офф. прошиву пропихнем, т.к. “для себя” это круто конечно, но отдача будет многократной, когда на этом будет летать все вии сообщество 😉

alexmos

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

mahowik:

в ГУИ скрость ведет себя не стабильно, т.е. при полном покое (0, 0, +128) иногда плавно уходит в +/-60…100

Во первых новость, что бывает 1G = 128. Надо посмотреть код, может я где константу 255 (или что то подразумевающее 255) использую.
Я залил на новую платформу прошивку, там все абсолютно другое, датчики и электроника (Crius MWC) но так же с первого раза с первыми же PID стабилизирует высоту отлично.

mahowik:

иногда плавно уходит в +/-60…100

А что показывает барометр при этом? Сейчас фактически два набора внутренних PID - когда AltHold режим не включен, высота почти что чисто с барометра берется и следует за ним. Этого достаточно чтобы при включении и подлете устранить постоянную ошибку. Когда включается режим, то PID меняется и работает акселерометр уже более “чисто”. Т.е. коптер даже с сильной привязкой к высоте плавает медленно, и любое возмущеие отслеживает агрессивно.

mahowik:

Могу выложить результат мержа, не исключено что я накосячил гдето…

Выложи, я ужее давно просил. На SVN удобно.
Кстати я тоже планирую мержить, как новая версия, уже достаточно стабильна? прежняя 1.9 мне нравится, не хочется рисковать 😃

mahowik:

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

Изменения описывал: rcopen.com/forum/f123/topic265409/53 Новых пока нет.

mahowik:

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

Неудивительно, неоткуда взять D-часть. хотя может силная привязка и не всем нужна.

mahowik:

т.е. доведем до конца тогда мот и в офф. прошиву пропихнем

Ну это было бы здорово т.к. чем меньше различий тем мне проще потом мержиться 😃 Но боюсь в таком виде не примут (и цикл надо уменьшать и оТ такого кол-ва float избавляться). Все в планах, но вот времени маловато.

igor_v_t

Я вот потестировал платку с Гудлака. Со своим кодом пробовал отлаженный алгоритм по фильтрации баро с акселерометром. Алгоритм испытан на MPU6050 c MS5611. Так вот на этой платке из-за медленного акселя результат отрицательный. То есть сам баро с частотой считывания 40 Гц с алгоритмом - раз читаем температуру 4 раза баро работает лучше без акселерометра.

mahowik
alexmos:

то работа, то здоровье шалит

tazhe fignya…

alexmos:

Во первых новость, что бывает 1G = 128

nu tak da, dlya kazhdogo akselya svoy acc_1g… seychas dlya adxl345 i bma180 eto 256 (dlya bma180 ranshe bilo 512), a dlya bma020 64 vsego, t.k. pri range 8g eto max resolushn dlya nego… a u menya dlya bma020 eto 128 (+ oversampling v IMU dlya podnyatiya razresheniya) t.k. 64 malo dlya ustoychivogo level mode…

alexmos:

с первыми же PID стабилизирует высоту отлично.

povtori kakie PID pls…

alexmos:

А что показывает барометр при этом? Сейчас фактически два набора внутренних PID - когда AltHold режим не включен, высота почти что чисто с барометра берется и следует за ним. Этого достаточно чтобы при включении и подлете устранить постоянную ошибку. Когда включается режим, то PID меняется и работает акселерометр уже более “чисто”. Т.е. коптер даже с сильной привязкой к высоте плавает медленно, и любое возмущеие отслеживает агрессивно.

barometr vrode ne prigaet pri etom… nado pereproverit’…

alexmos:

Выложи, я ужее давно просил. На SVN удобно.

nu da, svn rulit, sedlay mne branch pls…

alexmos:

Кстати я тоже планирую мержить, как новая версия, уже достаточно стабильна? прежняя 1.9 мне нравится, не хочется рисковать

proveryal level mode poka na MultiWii_dev_20120225 - vse ok,
no sudya po anonsu k 2.0pre1 tam ochen mnogo vkusnogo www.multiwii.com/forum/viewtopic.php?f=8&t=1290
mozhno podozhdat’ konechno nemnogo poka bagi utryasut

alexmos:

Но боюсь в таком виде не примут (и цикл надо уменьшать и оТ такого кол-ва float избавляться). Все в планах, но вот времени маловато.

esli budet 100% rabochiy algoritm to i s float prokatit dumayu, t.k. te komu nuzhen alt hold za cycle time ne gonyatsya… min cycle time principialen tol’ko dlya acro mode…

p.s. tut merzhe v MultiWii_dev_20120225

alexmos

Только что отлетал 4 пака на улице, в целом все нормально - по барометру высоту держит в пределах метра иогда медленно дрейфует до 2.
При ускорениях, быстром полете, болтанке на месте, высота сильно не меняется.

Абсолютно необходимая доработка - сигнализация коррекции высоты. Т.е. когда выводим ручку газа из alt hold deadband, коптер должен мигать и пищать, чтобы было понятно. А то подруливая по курсу, сбивается газ, и из-за экспоненты на нем сразу не видно, что уже вышли из допуска и высота начала меняться… И когда необходимо поменять высоту, трудно вернуть газ в то же место.

С сонаром вообще сказка, на 10см можно летать с высокой скоростью, и до 2 метров держит практически любые маневры. На высоте 4 метра при переходе на барометр, заметил какую то нестабильность но были неподходящие уловия, чтобы отследить что не так, по GUI. Нужен второй человек 😃
Ещё сонар абсолютно не перенес цифровую серву, которая подруливала подвесом камеры. Выдает гребенку, когда она включается. Попробую перенести ее на другой BEC.

SovGVD

Раз всё так хорошо с сонаром, может пора автовзлет (увеличение высоты удержание несколько циклов)/автопосадку(аналогично, но уменьшать высоту) сделать? и подумать над ограничением высоты? =) скоро детальки дойдут - соберу пепелац и буду мучить его