MultiWii

kenguru

У меня проблемка… Не могу отключить failsafe в multiwii 2.3
Закомментировал строку //#define FAILSAFE // uncomment to activate the failsafe functionJ

Один хрен при выключении передатчика начинает раскручивать пропеллеры, даже на стоячем на земле квадрике. Не хочется как то получить по рукам нечаянно выключивши передатчик.
Помогите пожалуйста побороть. Плата от хоббикинга с usb портом, приемыш оттуда же orange dsm2.

kostya-tin

а на самом приемнике как настроен феилсейф?

kenguru

Всем спасибо, разобрался!! отключил в приемыше файлсэйф

serenya

Это зря, лучше настройте ФС на приемыше, и что бы при арме моторы крутились, тогда видно что он заармлен и нехрен к нему лезть.

e-serg

В MultiWii, смотрел в версиях 2.1 и 2.3, в коде есть нехорошие места. Сбой через ~1ч11мин. после включения или сброса, и дальше кратно этому промежутку времени.
==========================
if (currentTime < ***.deadline) return;
***.deadline = currentTime;
***.deadline += 10000;
==========================

serenya

Об этом уже писалось, правда как быть ХЗ. Рядовой пользователь не держит борт включенным так долго, да и аппараты столько не летают. А долголеты на мультивие наверное не делают, хотя Андрей Сивохин (ctakah), любящий летать на маховии, возможно и ставит на свои долголеты. Интересно было бы услышать его комментарий.

kostya-tin

Люди, может кто то знает, куда копать. собрал мозг на основе Arduino pro mini и MPU6050. так вот проблема нарисовалась с осями. получается так, что гироскоп относительно акселерометра повернут на 90 град. уже задолбался критуть строки

/* enforce your individual sensor orientation - even overrides board specific defaults */
      #define FORCE_ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;}
      #define FORCE_GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] =  X; gyroADC[YAW] = -Z;}
      //#define FORCE_MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  X; magADC[PITCH]  =  Y; magADC[YAW]  = Z;}

коптер постоянно критит по YAW или переворачивает. пытался добиться реакции гироскопа, как в моей рабочей AIOP, но вот с осями гироскопа получается заминка

fat_hamster
kostya-tin:

получается так, что гироскоп относительно акселерометра повернут на 90 град

т.е. именно у вас какая-то хитрая плата, в которой чип так вот устроен?

других причин не может быть - ну даже ориентация собственно платы?..

kostya-tin

Датчик установил так, что по оси X у меня перед (стрелка указывает направление), соответственно по Y у меня бока. В дневнике последняя запись, там видно, как стоит датчик. Посмотрите, кому не сложно

fat_hamster

ну если на фото камера на квадрике смотрит вперед, то плату надо повернуть; сейчас она стоит “боком”

я не готов спорить “как правильно”, но вот фото мое

плата датчика на первый взгляд такая же

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

kostya-tin

Ладно, вечером буду пробовать, хотя тогда хреново получается, так платка удобно влезла, а если ее боком повернуть, прийдется городить какое то крепление

serenya

Попробуйте сравнить расположение мпу на мозгах aiop/apm с Вашим датчиком (расположение точки). К сожалению на банггуде не видно точки. Если есть различия то будет понятно куда крутить. Можно и программно попробовать крутануть, но надо и гирик и аксель получа5тся крутить если они в коде отдельно.

mahowik
kostya-tin:

Люди, может кто то знает, куда копать. собрал мозг на основе Arduino pro mini и MPU6050. так вот проблема нарисовалась с осями. получается так, что гироскоп относительно акселерометра повернут на 90 град. уже задолбался критуть строки

на основном вики www.multiwii.com/wiki/index.php?title=FAQ#How_shou…

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

Владимир#

Что то так и не могу разобраться. Не реагирует не на какие комбинации стиков. Что где смотреть то?

Art_Nesterov
Владимир#:

Не реагирует не на какие комбинации стиков

Нужно увеличить расхода на аппаратуре. В ГУИ должно быть примерно 1050-1950, тогда гарантировано срабатывает.

alexmos

Кто следит за развитием мультивия и сможет подсказать, он уже научился определять центробежные ускорения по GPS и компассу, и компенсирвоть их в IMU?

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

mataor
alexmos:

он уже научился определять центробежные ускорения по GPS и компассу, и компенсирвоть их в IMU?

да какой там… они даж баро никак не могут довести до уровня маховия… если есть желание - нужно копать код арду - там вроде как подобное как раз присутствует

кстати Александр начал внедрять ИНС, но так и не закончил до конца

П.С. даж странно было вас обоих увидеть таки в этой темке в один считай день после столь долгого отсутствия

kostya-tin

Ура, все получилось. вначале не подумал, что можно еще и назначение осей менять в этих дефайнах. теперь все работает и датчик смог разместить так, как мне удобно. Всем спасибо за помощь

mahowik
mataor:

кстати Александр начал внедрять ИНС, но так и не закончил до конца

Ну в теме пару раз в месяц бываю и даж сажусь пописать иногда RC4 😃
Но да, времени не много… с июня работа новая, а до этого курсы, по робототехнике, машинному оучению и конкретно по автономным дронам… последний к сожалению оказался не оч. полезным, т.к. лектор бестолковый, хотя сам тему понимает отлично!
Ощее предстабление конечно дали, куда копать… да и калман стал менее похожим на магию 😃 + Симулятор они сделали суперский! Прям в браузере пишешь код (всю математику по заданию) на pyton и сразу видишь результат в 3D!

Также разбирался пару месяцев назад в арду ИНС и даже по идее баг нашел, но Randy на мои последние комменты не ответил… github.com/diydrones/ardupilot/issues/1030

Неделю назад написал про причину прыжков на взлете в альт холде… и в ответ тишина ))

А через неделю новый видос вышел 😃

p.s. Свою ИНС тоже крутил, но похоже достойный результат будет возможен лишь на более мощных процах… да да, с калманом 😉
Вероятно возможен вариант и на atmega, НО с “быстрым float” типом… типа как в BradWii github.com/bradquick/bradwii

mahowik
alexmos:

Кто следит за развитием мультивия и сможет подсказать, он уже научился определять центробежные ускорения по GPS и компассу, и компенсирвоть их в IMU?

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

С GPS не прокатит, т.к. задержки с него в среднем 400мс и шум дай бог. И с такой задержкой ничего хорошего не будет…
Это если ИНС иметь с мизерным шумом на выходе (что не реально), тогда через дифференциал скорости можно получить ускорение нужное…

Попробуй просро понизить планку ускорения, которое принимается в расчет для коррекции гирика. НО не так как в вие сделано, а:

  1. найти горизонтальные ускорения по x,y (для вия у меня есть нужная матрица поворота)
  2. получить их средний квадрат (это тоже есть)
  3. по планке среднего квадрата отключай аксель в ИМУ из коррекции

наработки есть, пиши на почту…