Бюджетный AeroQuad на Wii сенсорах

mahowik

Есть довольно таки интересный и развивающийся Open Source проект AeroQuad.

aeroquad.com

Current Features:
Gyro stabilized flight with separate PID loops for roll, pitch and yaw axes
PWM update rates to ESC’s increased to 400 Hz
Single pole low pass filter implementation for reducing sensor noise
Improved calibration process for gyros and accelerometers
Additional user defined values able to be saved to EEPROM
Code restructured to allow for easier user modification
XBee for long distance communication
Capability to fly in + or x mode
3 axis magnetometer for heading hold capability
Voltage detection/warning of battery level
Windows configuration application
Realtime graphs of flight data
GUI for configuration of PID and other flight parameters

Planned Features:
Hands Free Auto level flight utilizing low cost 6DOF IMU
GPS for transmission of location and determination of altitude
Custom shield for On Screen Display of live video
Customizable flight LED display pattern

Проект становится особо интересным т.к. добавлена поддержка wii сенсоров:
aeroquad.com/showthread.php?1658-Tutorial-for-usin…

Также вроде как можно обойтись без aeroquad shield:
www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=128274721…

т.е. по железу тот же Multiwii ток с другой прошивкой.

Кто нить летал на AeroQuad с Wii?

Covax

На каких же он wii сенсорах? Multiwii строители мечтают перейти на нормальные сенсоры, и уйти скорее от wiimotion+ и нунчак, а кто-то с AeroQuad хочет wii сенсоры добровольно ставить? 😃

mahowik
Covax:

На каких же он wii сенсорах? Multiwii строители мечтают перейти на нормальные сенсоры, и уйти скорее от wiimotion+ и нунчак, а кто-то с AeroQuad хочет wii сенсоры добровольно ставить?

ну я говорил о возможности использования и поддержке wii сенсоров в AeroQuad, вот жеж ссылка:
aeroquad.com/showthread.php?1658-Tutorial-for-usin…

т.е. это вовсе не значит что он поддерживает только их 😃

mahowik:

Single pole low pass filter implementation for reducing sensor noise

вот этого к примеру в Multiwii может и нет, а было бы здорово иметь учитывая шумность wii сенсоров

Covax
mahowik:

ну я говорил о возможности использования и поддержке wii сенсоров в AeroQuad, вот жеж ссылка:

спасибо, я в курсе 😃 уж скоро год как слежу за летающими табуретками на основе Ардуино 😉

Musgravehill
mahowik:

Single pole low pass filter implementation for reducing sensor noise

Однополюсной ФНЧ прост как 2 копейки:
a0:=0.15;
b1:=0.85;
выход[t]:= a0*вход[t]+b1*выход[t-1];

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

gyroData[axis] = (gyroADC[axis]*3+gyroADCprevious[axis]+16)/4/8; // /4 is to average 4 values ; /8 is to reduce the sensibility of gyro
gyroADCprevious[axis] = gyroADC[axis];
gyroADCinter[axis] = gyroADC[axis]+gyroADCp[axis];
// empirical, we take a weighted value of the current and the previous values
gyroData[axis] = (gyroADCinter[axis]+gyroADCprevious[axis]+12)/3/8; // /3 is to average 3 values ; /8 is to reduce the sensibility of gyro
gyroADCprevious[axis] = gyroADCinter[axis]/2;

Оба ФНЧ самые примитивные, зато не требуют много ресурсов и тяжелой настройки.

mahowik
Covax:

уж скоро год как слежу за летающими табуретками на основе Ардуино

Неужели руки не чешутся попробовать AeroQuad?! 😃

Тем более что по железу тот же Multiwii, т.е. шилду не обязательно подрубать.

Musgravehill:

Оба ФНЧ самые примитивные, зато не требуют много ресурсов и тяжелой настройки

PWM update rates to ESC’s increased to 400 Hz

А по поводу этого что? В мультиви вроде ESC 50 герц?

Musgravehill
mahowik:

PWM update rates to ESC’s

В мультивии частота ШИМ 490 Гц. По-моему, “за глаза” на фоне инерции мотора и пропеллера.

Те, у кого проблемы с ESC - как раз хотели бы попробовать запустить мультивии с ШИМ 50Гц.

1 month later
SovGVD

расстроился я чего то с MultiWii, решил подпилить AeroQuad под свои сенсоры: wmp (idg650 и еще какой то) + adxl335, вот что получилось:

пока небольшие непонятки с алгоритмами, там предлагается ARG и MARG… ARG толи не работает, толи не должен горизонт показывать, а MARG вроде как еще датчиков хочет, но работает адекватно =)
еще чего то там в коде с делением данных с WMP на 16 o_0 - не многовато ли? горизонт еле двигается, поубивал нафиг - стал адекватнее + для adxl335 accelScaleFactor = 414.0 / 9.81;
вот хз теперь… это испробовать или multiwii дальше мучить (в GUI снова моторы работают как хотят, при нормальном горизонте, а сам коптер колбасит до переворотов, смена PID вообще никак не влияет о_0)
зы: там из гуи можно регули откалибровать ^_^

YAN=

Глеб, что-то я ни как не могу схему найти, на их сайте. Если знаешь где искать. ткни носом.

SovGVD

схемы нет, искал в коде куда чего покдлючается (с i2c то понятно, а вот остальное надо искать) + там например нельзя использовать сразу wmp и аналоговый датчик - немного снова код менять - у них расчитано что купишь шилд и на него напаяешь всё

SovGVD

если интерено, dl.dropbox.com/u/1638929/…/AeroQuad_sovgvd.zip - то что вчера поковырял (по коду можно искать ник sovgvd - там где менял), рассчитано на wm+, adxl335 и 4х канальный приемник, PIDы переставлены так, чтобы была совместимость с Multiwii (не перепаивать же)
пока что не летал - гира шумит и горизонт плывет

Romb89

А что вообще общественность думает по поводу этого проекта, AeroQuad? Просто очень мало отзывов о нем в интернете. Я вот планирую собрать квадрик на ардуине и никак не могу выбрать, на основе какого проекта это сделать. MultiWii как-то не очень нравиться, не хочется wii контроллер расковыривать. Может кто-нибудь подскажет какие из проектов квадриков на ардуине сейчас самые перспективные и популярные?

SovGVD
Romb89:

MultiWii как-то не очень нравиться, не хочется wii контроллер расковыривать.

в MultiWii от Wii уже давно мало что осталось, да и сами Wii клоны фиговенькие стали попадаться - почти рулетка =)
на почтиардуине еще интересный проект ArduQuad, с дальномерами, GPS и прочими плюшками
про этот проект - хз, just4fun попрбовал адаптировать под свои сенсоры… гира шумит, горизонт плывет, забил

3 months later
targetorsk

а где почитать последовательность действий по заливке софта в коптер?
Первый скетч заливаю, ошибок вроде нет, запускаю сервер вижу только белое окно, в чем проблемка.
Пробовал wiicopter софт там в каталоге сервера тоже .pde лежит, что с ней делать ?

17 days later
wlad
targetorsk:

а где почитать последовательность действий по заливке софта в коптер?

C официального сайта Аэроквада www.aeroquad.com переходим во вкладку Downloads и скачиваем всё оттуда (под вашу ОС), конфигуратор пока 2.7.1, так как 3-ий иногда глючит, хотя может уже что-то подправили…

Стабильная прога 2.4.2 aeroquad.googlecode.com/…/AeroQuad_v2.4.2.zip

Далее скачиваем последний ардуино: arduino.cc/en/Main/Software (выберете вашу ОС)

Теперь так как вы решили делать Аэроквад, определитесь с конфигурацией:

  • Атмега 328 (32кб флэш) - в неё влезет гира (или аналоговый или I2c) + аксель (или аналоговый или I2c) + 6-ти канальный приёмник + 6 канальный выход PWM.
  • Атмега 1280 (128кб флэш) - в неё влезет ещё пара фишек, а также комбинация аналоговых и I2c датчиков, мигалки светодиодные, контроль батареи, остальное по коду смотреть надо (нету у меня атмеги 1280 пока)
  • Атмега 2560 (256кб флэш) влезет всё по максимуму на текущий момент.

Итак определилилсь…

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

Предположим решили брать - идём по этой ссылке: aeroquad.com/showwiki.php и в конце видим картинку, где выписаны все конфигурации из готовых вариантов…

Далее как пример максимальной фаршировки: aeroquad.com/showwiki.php?title=Hardware+Assembly+…

Теперь касательно компиляции:

если вы купили готовый комплект, то прошивать его желательно из под Arduino 022, открываете Aeroquad.pde и у вас в окне появится прога на С++ и заголовочные файлы (куча целая).

В них вам надо будет задефайнить или раздефайнить ваши конфигурации, т.е выбрать вначале шилд, задать полётную конфигурацию, включить алгоритм определения углов, активировать ваши датчики. P.s по умолчанию основные датчики (гиры и аксели прописаны сразу и активны для конкретной конфигурации).

Потом выбрать во вкладке Tools - board вашу плату (справа появится список) и номер COM порта (Tools - serial port), ну собственно жмите кнопку Upload и через 15-50 сек прошивка скомпиленная зальётся в проц.
p.s Скомпиленную прошивку можно изъять при активной проге ардуино из папки windows - temp - build тут номер… длинный, прошивка всегда у вас будет называться aeroquad.cpp.hex (тока расширение не будет показано).

Далее нажмите Reset на шилде вашем, если такая кнопка есть и запустите программу Aeroquad_configurator 2.7 и выставьте скорость COM порта 115200 и номер COM порта.

P.s Подразумеваем что среда ардуино уже закрыта.

В конфигураторе активируется ваша плата и конфигурация… далее рекомендую посмотреть это видео, поможет при ознакомлении…

у вас почти такой же конфигуратор, тока автор там показывает мультипилот.

Ну и в заключении… вам придётся неоднократно обращаться к форуму аероквада или тут у народа Pid настройки клянчить, хотя для готовых конфигураций вроде как почти всё есть.

Ещё p.s тут тоже всё скачайте, это code.google.com/p/aeroquad/source/browse/ хранилище последних вариантов документации и софта, там же схемы и инструкции

Удачи! 😉

10 months later
Milchar

Доброе время суток! Не подскажите с таким вопросом, сам начал заниматься этим совсем недавно и столкнулся с такой проблемой - не хотят стартовать движки, т.е. при подключении напрямую через ресивер все замечательно, при подключении через Arduino с шилдом AeroQuad v2.1.2 ноль реакции, причем остальные модули (баро, аксель и пр.) работают нормально. Движки и ESC (LJLV700) от Scorpion. На движки сигнал какой-то идет, ибо без него они постоянно пищат.