MultiWii - обсуждаем и отлаживаем Alt Hold
а что за аксель
Аксель ADXL345, относительно гиры не повёрнут (точки на микрухах в одну сторону смотрят). При первой калибровке ускорение по Z = 256. если перевернуть, то ускорение показывается -310. Если поменять знак ускорения по Z и откалибровать в 2 положениях, то всё с точностью до отрицательного знака (т.е. -256 и -700), значок коптера в гуях перевёрнут.
acc_1G = 256
Вот ещё что хотел спросить - а гуи какие-то конкретные надо, или стандартные сойдут? Я юзаю MultiWii Win GUI, им не надо яву, а с ней почему-то не дружит ноут на работе.
Я с ADXL345 не сталкивался, но если одна ось сильно отличается от остальных - с ним что-то не то. Я так понимаю, такая же ситуация и с оригинальной мульивийной прошивкой? Возможно, сенсор бракованный.
Возможность ГУИ сильно зависит от протокола. В каждой версии (в т.ч. и промежуточныХ) слегка меняют протокол, так что работать будет именно с тем гуи, которй был на момент совмещения кодов. Смержился я с первой официальной 2.0, с его гуи и будет работать.
Проверил в оригинальной 2.0 релизной прошивке. Такая же фигня после калибровки - по оси Z 256 в нормальном положении, в остальных экстремальных точках - 300…310 по питчу и роллу, вверх ногами по Z -320. Может, у меня какой “не такой” аксель? Может значение 1G изменить на 300? =)
Ещё один вопрос появился. Допустим, получится у меня с 1G=300. а как калибровка на поле происходит? Ну то есть стиками пульта? Выполняется стандартная калибровка и остальные калибровочные параметры стираются? Или как?
Точно также можно по всем осям калибровать со стиков. Эта команда равносильна нажатию кнопки в ГУИ
Давно летаю FPV на самолетах, на коптерах не складывалось, как то все по другому, основная проблема отсутствие чувства высоты. Так вот к чему это я, решаю эту проблему (привыкаю к FPV на коптере) с помощью сонара, рекомендую всем кто не может пересесть с самолета на коптер по FPV, подключаете сонар, заливаете прошивку от alexmos, завешиваете коптер на высоте 1 метр, одеваете очки и наслаждаетесь спокойным полетом по периметру стадиона. Прошивка alexmos_r23, вчера отлетал 2 пака в очках, высоту держит отлично, полет не напрягает вообще, хочу сегодня подняться метра на 4 и попробовать по баро, если будет падать ниже 2 метров - сонар должен подхватить.
Хотел спросить такую вещь - скошенный газон для сонара - это нежелательная поверхность? Или вполне “летабельная”?
Летал на футбольном поле, трава 0 - 10 см, полет нормальный.
офтоп,
хочу сегодня подняться метра на 4 и попробовать по баро
винты 12х4.5 с rctimer гуано, не рекомендую если вес коптера более 1.5 кг, отстрел одной лопасти в полете, хорошо летал по очкам на сонаре 0.5 метра от земли, повреждений 0% 😃
Взял пару HCSR04, погонял их для теста и обнаружил такой эффект - один сонар когда теряет поверхность, выдает дистанцию что-то типа 35м, второй наоборот - 0. Игрался питанием и пинами, результат стабилен 😦 Какой лючше подойдет для квадро?
Хотел спросить такую вещь - скошенный газон для сонара - это нежелательная поверхность? Или вполне “летабельная”?
конечно ухудшается работа, но я летал и над полуметровой травой, - когда мозг видит много ошибок сонара, плавно переключаемтся на барометр и коптер не сходит с ума а держится вполне стабильно. Лучше всего над асфальтом - тогда визуально высота не более ±10 см плавает.
Взял пару HCSR04, погонял их для теста и обнаружил такой эффект - один сонар когда теряет поверхность, выдает дистанцию что-то типа 35м, второй наоборот - 0. Игрался питанием и пинами, результат стабилен Какой лючше подойдет для квадро?
придется оба попробовать… У меня тоже какая-то глючная разовидность этих сонаров - при потере сигнала выдают вполне нормальные 1-2метра. Но при этом существенно увеличивается время отклика - таким образом и отлавливаю ошибки. Проверьте время отклика у своих и гляньте пороговые настройки в Sonar.pde
Поменял в настройках Sensors.ino параметр acc_1G, сделал его равным 320. Теперь при переворачивании коптера по оси Z -256 =). Поставить 288 что ли?
А ещё хотел уточнить - при наличии незатухающих осцилляций по высоте, периодом примерно 2-3 секунды и амплитудой около полутора метров (сонар есть) - что изменять? уменьшать P? А в каком из регуляторов, их там три - Altitude, Velocity и Level?
Поменял в настройках Sensors.ino параметр acc_1G, сделал его равным 320. Теперь при переворачивании коптера по оси Z -256
Для моей прошивки, калибруйте по 6-ти точкам - как раз для таких случаев, поможет выровнять. Но это только при условии линейности, то есть если на концах 255, -255 - то при отсутвии ускорения в центре 0. Иначе, лучше поменять датчик.
А ещё хотел уточнить - при наличии незатухающих осцилляций по высоте, периодом примерно 2-3 секунды и амплитудой около полутора метров (сонар есть) - что изменять? уменьшать P? А в каком из регуляторов, их там три - Altitude, Velocity и Level?
Для высоты только Altitude P, I, D крутите. Если осцилляции - уменьшить I (можно в 0), уменьшить P и/или увеличить D (можно даже до больших значений типа 30-40). И проверьте как при наклонах себе ведет. при плохо откалиброванном акселе при наклонах будет очень плохо 😦
Вынужден перейти на 2.1 для работы GPS, вмерживать в 2.1 поддержку сонара планируется? 😃
Да, начал, но все руки не дойдут закончить. В отличие от 2.0, в 2.1 поменяли очень много и автоматический мержинг средствми SVN не прошел, так что все вручную.
Отлично, значит перешиваю все свои коптеры на 2.1 , разбираюсь чего там нового и как работает, а тут и Ваша прошивка выйдет!
Да, начал, но все руки не дойдут закончить. В отличие от 2.0, в 2.1 поменяли очень много и автоматический мержинг средствми SVN не прошел, так что все вручную.
Может попробовать убрать из 2.1 код для сонара i2c и вместо него вкорячить для аналогового ? ( заменив функции ) ?
Наскошько я помню спецификации 2.1, там сонар не рабочий, так что добавлять надо очень много. У меня собственный алгоритм удержания высгты и туда сонар интегрирован с баро, в 2.1 этого нет
У меня собственный алгоритм удержания высгты и туда сонар интегрирован с баро
думаю стоит смиксить стоковый алт-холд и твой драйвер сонара + error based алгоритм перехода баро-сонар, т.к. стоковый по отзывам довольно не плохо держит на ms5611 + хорошо бы уйти от использованоя акселя в алт-холде… причин много, думаю помниш еще 😃
так же в стоке совсем тупо хреново написана корректировка/изменение высоты газом, на включенном алть-холд соот-но…
Наскошько я помню спецификации 2.1, там сонар не рабочий, так что добавлять надо очень много. У меня собственный алгоритм удержания высгты и туда сонар интегрирован с баро, в 2.1 этого нет
Да ты прав на 1000% . В IMU нет ни одной строчки про сонар.У меня сонар в гуи в дебуге показывает , реакции никакой.
Удалил
думаю стоит смиксить стоковый алт-холд и твой драйвер сонара + error based алгоритм перехода баро-сонар, т.к. стоковый по отзывам довольно не плохо держит на ms5611 + хорошо бы уйти от использованоя акселя в алт-холде… причин много, думаю помниш еще так же в стоке совсем тупо хреново написана корректировка/изменение высоты газом, на включенном алть-холд соот-но…
Да можно, но у меня не дошли руки даже затестить стоковый алгоритм, хотя баро MS5611 есть 😃 А руление высотой у меня сейчас тоже неправильно сделано. Работает только потому, что мой алгоритм позволяет сделать сильный PID и он быстро гасит ошибку. По хорошему, надо делать каскадный PID с Feed Forward (и его же использовать для руления в режиме level, т.к. стоковый тоже неправильно сделан), для режима GPS-ASSIST (GPS держит позицию, а мы управляемм координатой), для OpricalFlow. Т.е. этот каскадный PID с FF будет очень нужным дополнением, но MWC тупо не рассчитан на него - надо реструктурировать тонны кода и вводить новые параметры в интерфейс, поэтому даже начинать не хочется - потеряется всякая связь с официальным релизом и мержить новые фичи будет мегасложно.
Этот алготртм с самомго начал заложил в свой контроллер Дмитрий (ziss_dm) - поэтому проще переключиться на его проект 😃