MultiWii - обсуждаем и отлаживаем Alt Hold
Странно, по этой ссылке у меня та же ошибка nekaka.com/d/goCWk9pImD при компиляции, попробую скачать ArduinoIDE 1.0 , Можно просто переименовать файл с расширением MultiWii_1_alexmos.ino в MultiWii_1_alexmos.pde и запускать в 022 ИДЕ - это не помогло.
Проверил содержимое своего архива в Arduino022, Arduino023 - нормально компилируется. Необходимо соблюдать стандратные условия для скетчей - все файлы должны быть в папке MultiWii (по имени скетча) и окрывать MultiWii.pde через меню File (или при по расширению, если настроено).
По вашему скриншоту видно, что вы неправильно открыли (первая вкладка явно лишняя).
все файлы должны быть в папке MultiWii (по имени скетча)
Так и есть, дело оказалось в имени папки, после распаковки архива она имеет имя MultiWii_r15, убрал _r15 и все заработало.
Собираюсь сегодня залить, настроить и попробовать подлетнуть, кроме Алексея еще летает кто, как оно?
Залил, настроил, в GUI все работает отлично, аксель по шести точкам показывает примерно ±255, сонар точно показывает высоту, при запуске в руках и небольшом газе задний левый мотор пуляет и ставит коптер под 45 градусов и успокаивается, онлайн в GUI посмотреть в чем дело не могу, с этой прошивкой почему то не работает блютус. Похоже на неправильную калибровку акселя, но в статике в гуи то все нормально , рол и питч стоят ровно.
вылазит ошибка ( echo повесил на D12) , как вернуть работу второго тумблера?
Видимо Aux2 заведен через неиспользуемое ранее прерывание, которое нужно сонару. У меня использует SumPPM и прерывание свободно, я его и взял на сонар. Насколько я знаю, на 328p больше их не осталось. Давайте посмотрим как зарулят сонар в официальной версии. Сейчас - либо SumPPM либо отказаться от AUX2
Залил, настроил, в GUI все работает отлично, аксель по шести точкам показывает примерно ±255, сонар точно показывает высоту
Тут все правильно.
при запуске в руках и небольшом газе задний левый мотор пуляет и ставит коптер под 45 градусов и успокаивается, онлайн в GUI посмотреть в чем дело не могу, с этой прошивкой почему то не работает блютус. Похоже на неправильную калибровку акселя, но в статике в гуи то все нормально , рол и питч стоят ровно.
А зачем блютус, я тестирую через кабель (если держать в руках). Если AltHold не включен, то все остальные алгоритмы работают как и в стандртной прошивке, туда я не лез. Если ROLL и PITCH ровно стоят и отражают реальные налоны, то и аксель откалиброван верно. Нужно обязательно смотреть что происходит в GUI при включенных моторах.
Видимо Aux2 заведен через неиспользуемое ранее прерывание, которое нужно сонару. У меня использует SumPPM и прерывание свободно, я его и взял на сонар
Понял, приемник с РРМ имеется, воткну его, ну а блютус как бы уже установлен и прекрасно работает, с ним гораздо удобней!
Давайте посмотрим как зарулят сонар в официальной версии.
Сонар будет в официалке?! Барометр до сих пор в официалке никакой, почувствовал работу барометра пока что только в MultiWii_1_9_a2 от mahowik.
блютус как бы уже установлен и прекрасно работает, с ним гораздо удобней!
И заливать прошивку с ним научился? Я тоже прикрутил блютус для отладки, но на поле когда отошел подальше от ноута, коптер пару раз сходил с ума (хорошо что в руках был на тот момент). Подозреваю что при увеличенни дистанции блютус увеличивает мощность и забиавает р/у канал (частоты то одинаковые). Так что очень настороженно теперь к нему отношусь.
Сонар будет в официалке?! Барометр до сих пор в официалке никакой, почувствовал работу барометра пока что только в MultiWii_1_9_a2 от mahowik.
Рано или поздно будет, сейчас на оф.форуме обсуждается активно.
И заливать прошивку с ним научился? Я тоже прикрутил блютус для отладки, но на поле когда отошел подальше от ноута, коптер пару раз сходил с ума (хорошо что в руках был на тот момент). Подозреваю что при увеличенни дистанции блютус увеличивает мощность и забиавает р/у канал (частоты то одинаковые). Так что очень настороженно теперь к нему отношусь.
Нее, когда лью прошивку выдергиваю блютус из Crius MultiWii и пихаю USB-UART FT232RL , на поле не знаю как (холодно и не удобно с нотиком), в помещении отпускал не более чем на 5 метров, блютус не дурил.
Чет не получается у меня с акселем в MultiWii_r15, коптер встает криво и все тут, кстати заметил что после калибровки по шести точкам в GUI тоже стоит криво, нужно прогнать еще кажется по двум-трем дополнительно, наверно в этом дело, буду ждать официалку, очень понравилось как сонар точно выдает высоту в GUI.
Можете не калибровать по 6 точкам, можно как и раньше, по Z один раз. Попробуйте так и напишите что получится.
Можете не калибровать по 6 точкам, можно как и раньше, по Z один раз. Попробуйте так и напишите что получится.
Отцепил я уже сонар, пришло недостающее крепление к давно собранному подвесу, буду экспериментировать с ним.
Привет Алексей!
Сорри за паузу… выпал немного из контекста…
Неделю назад вмержил r15 в MultiWii_dev_20120225, но без калибровки по 6-ти осям…
в ГУИ скрость ведет себя не стабильно, т.е. при полном покое (0, 0, +128) иногда плавно уходит в +/-60…100. Такое ощущение что ПИД регулятор в интеграторе не может стабилизироваться. Предположив что в динамике/полете этого не будет, чуть не улетел в небо пару раз )), т.е. примерно тоже поведение, как описывал чел на офф. форуме…
Я когда ранее переводил твой интегратор (его более раннюю и простую версию) на 50гц, наблюдал похожее поведение “по скорости” при определенних сочетаниях коэф-в. Т.е. я к тому что вероятно коэф-ы интегратора не оптимальны сейчас, либо у тебя сейчас жесткая привязка к +/-255, т.к. у меня acc_1g=128.
Могу выложить результат мержа, не исключено что я накосячил гдето…
Вообще если не трудно, опиши изменения в алгоритме, т.к. ты его значительно усложнил (сейчас он менее прозрачен) и возможно там бомба в коде… ))
з.ы. твои идеи однозначно сильны, потому есть смысл довести до конца… марбалоновский альт холд у меня вообще не работает, при малейшем ветерке носит коптер как Г в проруби…
т.е. доведем до конца тогда мот и в офф. прошиву пропихнем, т.к. “для себя” это круто конечно, но отдача будет многократной, когда на этом будет летать все вии сообщество 😉
Я тоже выпал - то работа, то здоровье шалит, то новый квадрик делал помельче (чтоб в ограниченном пространстве летать). Сейчас все готово и даже камеру прикрутил, так что скоро будет видео, как погода наладится.
в ГУИ скрость ведет себя не стабильно, т.е. при полном покое (0, 0, +128) иногда плавно уходит в +/-60…100
Во первых новость, что бывает 1G = 128. Надо посмотреть код, может я где константу 255 (или что то подразумевающее 255) использую.
Я залил на новую платформу прошивку, там все абсолютно другое, датчики и электроника (Crius MWC) но так же с первого раза с первыми же PID стабилизирует высоту отлично.
иногда плавно уходит в +/-60…100
А что показывает барометр при этом? Сейчас фактически два набора внутренних PID - когда AltHold режим не включен, высота почти что чисто с барометра берется и следует за ним. Этого достаточно чтобы при включении и подлете устранить постоянную ошибку. Когда включается режим, то PID меняется и работает акселерометр уже более “чисто”. Т.е. коптер даже с сильной привязкой к высоте плавает медленно, и любое возмущеие отслеживает агрессивно.
Могу выложить результат мержа, не исключено что я накосячил гдето…
Выложи, я ужее давно просил. На SVN удобно.
Кстати я тоже планирую мержить, как новая версия, уже достаточно стабильна? прежняя 1.9 мне нравится, не хочется рисковать 😃
Вообще если не трудно, опиши изменения в алгоритме, т.к. ты его значительно усложнил (сейчас он менее прозрачен) и возможно там бомба в коде… ))
Изменения описывал: rcopen.com/forum/f123/topic265409/53 Новых пока нет.
з.ы. твои идеи однозначно сильны, потому есть смысл довести до конца… марбалоновский альт холд у меня вообще не работает, при малейшем ветерке носит коптер как Г в проруби…
Неудивительно, неоткуда взять D-часть. хотя может силная привязка и не всем нужна.
т.е. доведем до конца тогда мот и в офф. прошиву пропихнем
Ну это было бы здорово т.к. чем меньше различий тем мне проще потом мержиться 😃 Но боюсь в таком виде не примут (и цикл надо уменьшать и оТ такого кол-ва float избавляться). Все в планах, но вот времени маловато.
Я вот потестировал платку с Гудлака. Со своим кодом пробовал отлаженный алгоритм по фильтрации баро с акселерометром. Алгоритм испытан на MPU6050 c MS5611. Так вот на этой платке из-за медленного акселя результат отрицательный. То есть сам баро с частотой считывания 40 Гц с алгоритмом - раз читаем температуру 4 раза баро работает лучше без акселерометра.
то работа, то здоровье шалит
tazhe fignya…
Во первых новость, что бывает 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…
с первыми же PID стабилизирует высоту отлично.
povtori kakie PID pls…
А что показывает барометр при этом? Сейчас фактически два набора внутренних PID - когда AltHold режим не включен, высота почти что чисто с барометра берется и следует за ним. Этого достаточно чтобы при включении и подлете устранить постоянную ошибку. Когда включается режим, то PID меняется и работает акселерометр уже более “чисто”. Т.е. коптер даже с сильной привязкой к высоте плавает медленно, и любое возмущеие отслеживает агрессивно.
barometr vrode ne prigaet pri etom… nado pereproverit’…
Выложи, я ужее давно просил. На SVN удобно.
nu da, svn rulit, sedlay mne branch pls…
Кстати я тоже планирую мержить, как новая версия, уже достаточно стабильна? прежняя 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
Но боюсь в таком виде не примут (и цикл надо уменьшать и оТ такого кол-ва 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
Только что отлетал 4 пака на улице, в целом все нормально - по барометру высоту держит в пределах метра иогда медленно дрейфует до 2.
При ускорениях, быстром полете, болтанке на месте, высота сильно не меняется.
Абсолютно необходимая доработка - сигнализация коррекции высоты. Т.е. когда выводим ручку газа из alt hold deadband, коптер должен мигать и пищать, чтобы было понятно. А то подруливая по курсу, сбивается газ, и из-за экспоненты на нем сразу не видно, что уже вышли из допуска и высота начала меняться… И когда необходимо поменять высоту, трудно вернуть газ в то же место.
С сонаром вообще сказка, на 10см можно летать с высокой скоростью, и до 2 метров держит практически любые маневры. На высоте 4 метра при переходе на барометр, заметил какую то нестабильность но были неподходящие уловия, чтобы отследить что не так, по GUI. Нужен второй человек 😃
Ещё сонар абсолютно не перенес цифровую серву, которая подруливала подвесом камеры. Выдает гребенку, когда она включается. Попробую перенести ее на другой BEC.
Раз всё так хорошо с сонаром, может пора автовзлет (увеличение высоты удержание несколько циклов)/автопосадку(аналогично, но уменьшать высоту) сделать? и подумать над ограничением высоты? =) скоро детальки дойдут - соберу пепелац и буду мучить его
В общем разобрался в чем проблема была с мержем в dev_20120225. Там изменили механизм вызова getEstimatedAltitude() на каждую четвертую итерацию цикла. Таким образом цикл тайм для алт-холд интегратора был в 4 раза больше и соот-но коэф. не подходили. В общем запустил, работает. В среднем держит +/-1м, но иногда прыгает до 2-х…
THROTTLE_ANGLE_CORRECTION только мешает. Точнее в началее движения компнсация правильная (только 100 для моего конфига оч. много), НО при маневрах (при смене направления двиения к примеру), его и так подкидывает по инерции, а если еще THROTTLE_ANGLE_CORRECTION включен, то скачки до 3-4м…
Остальное потом опишу… надо бежать…
Раз всё так хорошо с сонаром, может пора автовзлет (увеличение высоты удержание несколько циклов)/автопосадку(аналогично, но уменьшать высоту) сделать? и подумать над ограничением высоты? =) скоро детальки дойдут - соберу пепелац и буду мучить его
С взлетом проблем нет, но газ надо набирать быстро и подпрыгивать надо, чтобы ветром на старте с раскрученными винтами не завалило. При посадке та же проблема при ветре - выключение моторов на высоте 40 см не помогает. Наверно в регулях лучше тормоз включать, иначе ветром переворачивает. Прошлой весной игрался.
Раз всё так хорошо с сонаром, может пора автовзлет (увеличение высоты удержание несколько циклов)/автопосадку(аналогично, но уменьшать высоту) сделать? и подумать над ограничением высоты? =) скоро детальки дойдут - соберу пепелац и буду мучить его
Честно говоря не вижу смысла… Какие могу быть проблемы при взлете? С удержанием высоты есть один нюанс - нужно выставить газ на зависание и потом газ должен быть только в этой точке (это необходимо т.к. пр отключении режима коптер не должен рухнуть камнем вниз). Можно что то придумывать, но результат не стоит усилий - сама процедура взлета не проблемная.
А посадка в режиме alt hold и сейчас работает - просто начинаем медленное снижение и с сонаром оно проходит достаточно линейно до полного приземления. С барометром похуже - он может подпрыгнуть у земли, т.к. создается подушка, но тоже садиться можно.
Честно говоря не вижу смысла…
начало автономного полета, позицию по GPS говорят уже держит и домой летает, значит и до полета по маршруту не далеко