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

alexmos

Точно также можно по всем осям калибровать со стиков. Эта команда равносильна нажатию кнопки в ГУИ

skyrider

Давно летаю FPV на самолетах, на коптерах не складывалось, как то все по другому, основная проблема отсутствие чувства высоты. Так вот к чему это я, решаю эту проблему (привыкаю к FPV на коптере) с помощью сонара, рекомендую всем кто не может пересесть с самолета на коптер по FPV, подключаете сонар, заливаете прошивку от alexmos, завешиваете коптер на высоте 1 метр, одеваете очки и наслаждаетесь спокойным полетом по периметру стадиона. Прошивка alexmos_r23, вчера отлетал 2 пака в очках, высоту держит отлично, полет не напрягает вообще, хочу сегодня подняться метра на 4 и попробовать по баро, если будет падать ниже 2 метров - сонар должен подхватить.

gorbln

Хотел спросить такую вещь - скошенный газон для сонара - это нежелательная поверхность? Или вполне “летабельная”?

skyrider

Летал на футбольном поле, трава 0 - 10 см, полет нормальный.

офтоп,

skyrider:

хочу сегодня подняться метра на 4 и попробовать по баро

винты 12х4.5 с rctimer гуано, не рекомендую если вес коптера более 1.5 кг, отстрел одной лопасти в полете, хорошо летал по очкам на сонаре 0.5 метра от земли, повреждений 0% 😃

Uvis

Взял пару HCSR04, погонял их для теста и обнаружил такой эффект - один сонар когда теряет поверхность, выдает дистанцию что-то типа 35м, второй наоборот - 0. Игрался питанием и пинами, результат стабилен 😦 Какой лючше подойдет для квадро?

alexmos
gorbln:

Хотел спросить такую вещь - скошенный газон для сонара - это нежелательная поверхность? Или вполне “летабельная”?

конечно ухудшается работа, но я летал и над полуметровой травой, - когда мозг видит много ошибок сонара, плавно переключаемтся на барометр и коптер не сходит с ума а держится вполне стабильно. Лучше всего над асфальтом - тогда визуально высота не более ±10 см плавает.

Uvis:

Взял пару HCSR04, погонял их для теста и обнаружил такой эффект - один сонар когда теряет поверхность, выдает дистанцию что-то типа 35м, второй наоборот - 0. Игрался питанием и пинами, результат стабилен Какой лючше подойдет для квадро?

придется оба попробовать… У меня тоже какая-то глючная разовидность этих сонаров - при потере сигнала выдают вполне нормальные 1-2метра. Но при этом существенно увеличивается время отклика - таким образом и отлавливаю ошибки. Проверьте время отклика у своих и гляньте пороговые настройки в Sonar.pde

gorbln

Поменял в настройках Sensors.ino параметр acc_1G, сделал его равным 320. Теперь при переворачивании коптера по оси Z -256 =). Поставить 288 что ли?
А ещё хотел уточнить - при наличии незатухающих осцилляций по высоте, периодом примерно 2-3 секунды и амплитудой около полутора метров (сонар есть) - что изменять? уменьшать P? А в каком из регуляторов, их там три - Altitude, Velocity и Level?

alexmos
gorbln:

Поменял в настройках Sensors.ino параметр acc_1G, сделал его равным 320. Теперь при переворачивании коптера по оси Z -256

Для моей прошивки, калибруйте по 6-ти точкам - как раз для таких случаев, поможет выровнять. Но это только при условии линейности, то есть если на концах 255, -255 - то при отсутвии ускорения в центре 0. Иначе, лучше поменять датчик.

gorbln:

А ещё хотел уточнить - при наличии незатухающих осцилляций по высоте, периодом примерно 2-3 секунды и амплитудой около полутора метров (сонар есть) - что изменять? уменьшать P? А в каком из регуляторов, их там три - Altitude, Velocity и Level?

Для высоты только Altitude P, I, D крутите. Если осцилляции - уменьшить I (можно в 0), уменьшить P и/или увеличить D (можно даже до больших значений типа 30-40). И проверьте как при наклонах себе ведет. при плохо откалиброванном акселе при наклонах будет очень плохо 😦

1 month later
skyrider

Вынужден перейти на 2.1 для работы GPS, вмерживать в 2.1 поддержку сонара планируется? 😃

alexmos

Да, начал, но все руки не дойдут закончить. В отличие от 2.0, в 2.1 поменяли очень много и автоматический мержинг средствми SVN не прошел, так что все вручную.

skyrider

Отлично, значит перешиваю все свои коптеры на 2.1 , разбираюсь чего там нового и как работает, а тут и Ваша прошивка выйдет!

Олег24
alexmos:

Да, начал, но все руки не дойдут закончить. В отличие от 2.0, в 2.1 поменяли очень много и автоматический мержинг средствми SVN не прошел, так что все вручную.

Может попробовать убрать из 2.1 код для сонара i2c и вместо него вкорячить для аналогового ? ( заменив функции ) ?

alexmos

Наскошько я помню спецификации 2.1, там сонар не рабочий, так что добавлять надо очень много. У меня собственный алгоритм удержания высгты и туда сонар интегрирован с баро, в 2.1 этого нет

mahowik
alexmos:

У меня собственный алгоритм удержания высгты и туда сонар интегрирован с баро

думаю стоит смиксить стоковый алт-холд и твой драйвер сонара + error based алгоритм перехода баро-сонар, т.к. стоковый по отзывам довольно не плохо держит на ms5611 + хорошо бы уйти от использованоя акселя в алт-холде… причин много, думаю помниш еще 😃
так же в стоке совсем тупо хреново написана корректировка/изменение высоты газом, на включенном алть-холд соот-но…

Олег24
alexmos:

Наскошько я помню спецификации 2.1, там сонар не рабочий, так что добавлять надо очень много. У меня собственный алгоритм удержания высгты и туда сонар интегрирован с баро, в 2.1 этого нет

Да ты прав на 1000% . В IMU нет ни одной строчки про сонар.У меня сонар в гуи в дебуге показывает , реакции никакой.

alexmos
mahowik:

думаю стоит смиксить стоковый алт-холд и твой драйвер сонара + error based алгоритм перехода баро-сонар, т.к. стоковый по отзывам довольно не плохо держит на ms5611 + хорошо бы уйти от использованоя акселя в алт-холде… причин много, думаю помниш еще так же в стоке совсем тупо хреново написана корректировка/изменение высоты газом, на включенном алть-холд соот-но…

Да можно, но у меня не дошли руки даже затестить стоковый алгоритм, хотя баро MS5611 есть 😃 А руление высотой у меня сейчас тоже неправильно сделано. Работает только потому, что мой алгоритм позволяет сделать сильный PID и он быстро гасит ошибку. По хорошему, надо делать каскадный PID с Feed Forward (и его же использовать для руления в режиме level, т.к. стоковый тоже неправильно сделан), для режима GPS-ASSIST (GPS держит позицию, а мы управляемм координатой), для OpricalFlow. Т.е. этот каскадный PID с FF будет очень нужным дополнением, но MWC тупо не рассчитан на него - надо реструктурировать тонны кода и вводить новые параметры в интерфейс, поэтому даже начинать не хочется - потеряется всякая связь с официальным релизом и мержить новые фичи будет мегасложно.

Этот алготртм с самомго начал заложил в свой контроллер Дмитрий (ziss_dm) - поэтому проще переключиться на его проект 😃

mahowik
alexmos:

надо делать каскадный PID с Feed Forward

в тырнете как обычно дофига всего, где лучше почитать про PID с Feed Forward, чеб моск не сломать? 😃

alexmos:

Этот алготртм с самомго начал заложил в свой контроллер Дмитрий (ziss_dm) - поэтому проще переключиться на его проект

чета заснул он… никаких обновлений с марта… наверное наконец то человека заметили и взяли куда надо 😃

alexmos

Но тем не менне он уже сделал что-то летающее и рабочее 😃 По поводу ПИД-контрллеров - не нашел ссылки у себя. Видимо ходил, читал все подряд. Погугли, принцип каскадного соединения и feed forward довольно часто описывается.
Мльтивий хороший проект, но там столько всего уже надо оптимизировать - а вместо этого делают какую то фигню типа inflight acc calibration и поддерку кучи железа, не думая хоть как то структурировать это. как следствие код жутко замусорен. Исчезла его простота.

mahowik
alexmos:

Мльтивий хороший проект, но там столько всего уже надо оптимизировать - а вместо этого делают какую то фигню типа inflight acc calibration и поддерку кучи железа, не думая хоть как то структурировать это. как следствие код жутко замусорен. Исчезла его простота.

как то пару месяцев назад я тоже уже лил желчь по этому поводу 😃

Олег24
mahowik:

как то пару месяцев назад я тоже уже лил желчь по этому поводу 😃

+1000 Давно можно было сделать в 2.1 сонар…
Я подключил сонар и GPS через “I2C переходник” на Tiny 2313 работает… сонара в IMU так и нет…