RSS лента

mahowik

MahoWii RC2

Рейтинг: 4.94. Голосов: 17.
24.02.2013 в 08:27 (37318 Показов)
Прошивка была готова уже месяц назад, но все знают как лень писать доки. Собственно выродил наконец

1) Потратил много времени на получение мгновенной высоты по акселю. Сейчас модно называть это "предсказанием высоты", где по сути по акселю выполняется очень быстрое и относительно точное измерение высоты при быстрых перемещениях, а инертный баро корректирует ошибку двойного интегрирования. Пипец, чеб удержать двойной интеграл, пришлось ввести динамические коэффициенты в комплиментарный фильтр...
- качество удержания высоты (альт холд - АХ) субъективно выросло в 1.5-2 раза
- дает более точную регулировку высоты, как на мелких корректировках (10-ки сантиметров), так и при изменении в несколько метров. Т.е. мгновенное определение высоты и активация висения в момент, где стик принял центр после резких подъемов/спусков. В RC1 есть лаги/задержка, т.к. высота берется по баро, где сам баро-сенсор довольно инертный...
- меньше проблем с воздушной подушкой на взлете/посадке, а также с висением в помещении где полно вихревых и отраженных потоков воздуха, т.к. баро только для корректировки акселя.

Ложка дегтя: вибрации на борту могут убить все конфетки...

2) Уменьшил диапазон регулировки скорости примерно до +/- 3м/с (в RC1 было около +/- 5м/с). Теперь проще задать плавное снижение, к примеру 20-30см/с.

3) Улучшения в калибровке газа висения. Введена доп. калибровка при переходе из регулировки высоты на висение, либо при активации АХ. Т.е. если летать в АХ, то на переходах "регулировка высоты" => "висение" (и обратно), каждый раз выполняется корректировка.

4) Добавлена плавная калибровка Z оси акселя в полете (в RC1 только до старта). Поможет от уплывания акселя при смене температуры и связанных с этим глюков в АХ.

5) Поднял дефолтные пиды на АХ (с повышением точности определения высоты). Потому при заливке RC2, настройки (боксы, пиды) от RC1 сбросятся. Теперь после после резких подъемов/спусков практически мгновенная остановка на висение.

6) По мотивам комментов RC1 добавил дефайн DISABLE_YAW_ON_MIN_THROTTLE_DURING_AH:

Если арминг НЕ задан с тумблера в ГУИ (т.е. арминг задан при комбинации мин. газ + макс. yaw):
а) и новый дефайн DISABLE_YAW_ON_MIN_THROTTLE_DURING_AH активирован:
- проверка на "режим AH выключен" перед армингом НЕ выполняется
- при мин. газе + заведенных движках + включенном АХ, yaw игнорируется (чтобы избежать "макс. газа по YAW" при дизарме стиками)
б) и дефайн DISABLE_YAW_ON_MIN_THROTTLE_DURING_AH отключен:
- проверка на "режим AH выключен" перед армингом выполняется
- при мин. газе + заведенных движках + включенном АХ, yaw НЕ отключается (т.е. останется "макс. газа по YAW" при дизарме стиками), но это для тех, кому нужен свободный yaw в АХ, даже на мин. скорости спуска... пример использования выше...

Если арминг задан с тумблера в ГУИ, то проверка "режим AH выключен" перед армингом НЕ выполняется + yaw на мин. газе свободный. Т.е. DISABLE_YAW_ON_MIN_THROTTLE_DURING_AH в этом случае игнорируется...

Код:
/* yaw stick will be disabled (in center, i.e. 1500 value) in case of throttle stick in min/low position during AltHold and copter armed
     * it helps to avoid max yaw-ing before disarm
     *
     * if this define activated: for arming from stick (min throttle + max yaw) it's not required "AH switch OFF"  
     * if this define disabled: for arming from stick (min throttle + max yaw) it's required "AH switch OFF"
     * note: if ARM set to switch (ARM box in GUI) this define is ignored
     */
    #define DISABLE_YAW_ON_MIN_THROTTLE_DURING_AH
Примечание (28.02.13): Добавил проверку, если арм выполняется стиками, то дизарм можно будет выполнить только при отключенном АХ. Детали тут.

7) Более быстрый улучшенный драйвер барометра из арду, который впилили в дев. оф. версию.

8) Буквально на днях раскопал на просторах инета крутую чтуку - "умный" Headfree, который использует ГПС. В арду такое вроде тоже есть.
Включается дефайном ADV_HEADFREE (по умолчанию выключен). Работает так:
1. На взлете запоминает направление/ориентацию головы как в обычном Headfree.
2. Пока коптер находится в круге радиусом ADV_HEADFREE_RANGE от точки взлета, действует обычный Headfree. Где ориентация может быть сброшена/перезапомнена, используя функцию HEADADJ.
3. Как только коптер за кругом, headfree ориентация всегда будет от точки взлета. Т.е. виртуалний зад будет смотреть на пилота (точнее точку взлета).
4. Если 3D фикс от ГПС отвалился, либо спутников меньше 5-ти, то работает как обычный Headfree.

Учитывая точность ГПС, радиус не стоит выставлять менее 10..15м. Сам не пробовал еще, но по отзувам пашет на ура!

Код:
/* Advanced Headfree mode.
       When the copter is out of defined range, the headfree orientation will be always towards from home position.
       Generally that means, when pull the pitch stick, copter will come closer. Once copter is inside defined range again,
          it will maintain the last headfree orientation. This  orientation can be still reset using HEADADJ function (only inside  defined range).
       Please note that the default orientation before getting out of range is the armed position (just like before). */

    //#define ADV_HEADFREE
    #define ADV_HEADFREE_RANGE 15          // in m - activation range around home point
9) Еще немного поджаты фильтры на уменьшение влияния вибраций в левел моде/режиме, а также в АХ.

10) баги найденные в RC1 (подробности в комментах RC1)

Кстати, рекомендую ГУИ из последней дев. оф. версии. Он совместим с 2.1, более красив и вполне стабилен.

Остальные детали по прошивке читайте в теме RC1, а также в комментариях темы.

Примечание: Надо учесть, что прошивка (АХ плюшки в особенности) ориентирована на АИО контроллер, либо контроллер с atmega1280/2560 + mpu6050 + ms5611 на борту.

Обновлено 03.08.2016 в 19:33 [ARG:5 UNDEFINED]

Категории
Без категории

Комментарии

  1. Аватар для omegapraim
    Блин ну ты голова)))), Спасибо огромное за проделанную работу.
  2. Аватар для mahowik
    Спасибо!

    Владельцам RC1 только что сделал рассылку RC2. Если кого забыл, пишите в личку или на мыло (предварительно проверив, что письмо не попало в спам ).
  3. Аватар для omegapraim
    Ща буду настраивать и отпишусь что да как)))) может даже сегодня полетать схожу))))
  4. Аватар для mahowik
    Я сегодня в тесной мастерской висел в АХ перед носом (т.к. снег валил за окном), в квадрате полтора на полтора метра. Легка!
    Потом попытался тоже самое проделать на свободном газе (без АХ), так чуть в потолок и в стенку не влепил...
  5. Аватар для Armin
    Алекс, это просто огонь!!! Потестил в комнате, офигенно! Спасибо!
    Буду продолжать тестировать в разных режимах.
  6. Аватар для Covax
    Ну ты крутой)
  7. Аватар для Armin
    чоткая прошивка для чотких пацанов ))
  8. Аватар для akira
    Александр, спасибо!
  9. Аватар для jekmv
    8 пункт - так работает немец, радиус тоже выставляется)
    засниму видео с rc1 и rs2 с одинаковыми пидами - можно будет сравнить изменения
  10. Аватар для mixachev
    Полетал немного на RC-2 . В целом для плавно - средних полетов AX отрабатывает достойно. Для FPV полетов вообще вещь не заменимая. Если начинаешь подруливать Рудером при резких поворотах высоту теряет метра на три.
    Сама плата в коробке с под дисков, Баро без поролона. Стоит его приклеить? Погода солнечная.Ветер 2-3 мс.Т-0с.
    Никто эксперименты не проводил с Ublox CN-06 .Имеет смысл переводить его с протокола NMEA на UBLOX ?Да и если переводить в NMEA все четыре фильтра отключать?
    Можно в будущем задействовать три входа на плате для мониторинга 3S Акка .С выводом на Turningy с FrSKy .Делить вроде не нужен.
    Обновлено 24.02.2013 в 20:14 [ARG:5 UNDEFINED]
  11. Аватар для mahowik
    Цитата Сообщение от mixachev
    Полетал немного на RC-2 . В целом для плавно - средних полетов AX отрабатывает достойно. Для FPV полетов вообще вещь не заменимая. Если начинаешь подруливать Рудером при резких поворотах высоту теряет метра на три.
    Конкретно руддер тут точно не причем. Провалы могут быть из-за резкой смены направления движения.

    Цитата Сообщение от mixachev
    Сама плата в коробке с под дисков, Баро без поролона. Стоит его приклеить? Погода солнечная.Ветер 2-3 мс.Т-0с.
    http://forum.rcdesign.ru/blogs/83206/blog15180.html
  12. Аватар для mahowik
    Цитата Сообщение от mixachev
    Никто эксперименты не проводил с Ublox CN-06 .Имеет смысл переводить его с протокола NMEA на UBLOX?
    По идее ublox протокол более легкий/сжатый для хавания контроллером, соот-но нагрузка на контроллер будет меньше при потоке данных от GPS модуля в ublox формате. НО контроллер вроде как и так справляется пока легко + в NMEA есть плюшки типа SBAS... Я за NMEA )
  13. Аватар для dROb
    Наконец отпишусь и я Попробовал на днях RC1, а сегодня и RC2 - всё работает отлично! Реакции коптера вроде лучше, не говоря уже о ALTHOLD, который у меня работал как то совсем не очень, а теперь заработал просто суперски!

    Я настолько осмелел что попробовал сегодня HEADFREE, хотя на столе мне не нравилось как работал магнетометр - оказалось что в небе он работает лучше

    И наконец, подключил давно сделанный i2c-GPS на базе MTK3339. Здесь вышло такое - при попытке активировать HOLD, коптер некоторое время висит спокойно, потом видимо начинает уплывать, начинает компенсировать положение, в результате чего начинает двигаться туда-сюда с широкой, увеличивающейся амплитудой. Уже на третьем качке, в попытке возврата на точку его скорость достигает такого значения, что я в ужасе отключал режим. С GPS сталкиваюсь в первый раз. Подскажите, куда копать?
    PID такие:
    Pos Hold: 0.11 0
    Pos R: 2 0.08 0.045
    Nav R: 1.4 0.2 0.08
  14. Аватар для mahowik
    Спасибо за отзыв!

    Цитата Сообщение от dROb
    начинает компенсировать положение, в результате чего начинает двигаться туда-сюда с широкой, увеличивающейся амплитудой
    Из собственного опыта это на 99% проблема с магнитометром. Также читал не раз на оф. форуме про подобные симптомы, если компас врет. Тут примерно так, система не знает в каком направлении давать компенсацию, если врет компас и начинается раскачка...
    Посмотрите тут http://forum.rcdesign.ru/blogs/83206/blog15000.html там есть ссылки как минимизировать влияние силовых проводов на компас, если с этим проблема...
    А вообще гарантия работы ГПС - это рабочий headfree, т.к. он еще более "раним" к погрешностям компаса...
  15. Аватар для dROb
    Цитата Сообщение от mahowik
    Спасибо за отзыв!



    Из собственного опыта это на 99% проблема с магнитометром. Также читал не раз на оф. форуме про подобные симптомы, если компас врет. Тут примерно так, система не знает в каком направлении давать компенсацию, если врет компас и начинается раскачка...
    Посмотрите тут http://forum.rcdesign.ru/blogs/83206/blog15000.html там есть ссылки как минимизировать влияние силовых проводов на компас, если с этим проблема...
    А вообще гарантия работы ГПС - это рабочий headfree, т.к. он еще более "раним" к погрешностям компаса...
    Хмм, дело в том, что за 5 минут до этого я как раз благополучно опробовал режим HeadFree, и он, хотя и с небольшими погрешностями, работал нормально

    Ладно, если нет других идей - погоняю ка ещё HeadFree и GPS ... Может ещё какие симптомы проявятся
  16. Аватар для mahowik
    1) Если у вас АИО контроллер, то подрубите ГПС стандартно через UART. Возможно в i2c-GPS косяк какой или прошивка не та. Я тут сильно не в курсе на какой стадии сейчас i2c-GPS прошивка.
    2) Второе, наводки на ГПС может давать все что угодно, типа: видеолинк, силовые провода (вроде) или даже камера. Не зря его на мачте выносят вместе с компасом... Буквально час назад общался с корешем, так у него ГПС при включении видеолинка врет до 30 метров! Коптер при этом на земле в одной точке...
    Проверить можно в поле, к прмеру через прогу MultiWii EZ-GUI Она уже умеет показывать трек по карте и вроде как даже в оффлайн, с предварительной закачкой карты на андроид соот-но...
    Обновлено 25.02.2013 в 03:25 [ARG:5 UNDEFINED]
  17. Аватар для {gorbln}
    Такой вопрос: Есть ли в этой прошивке аналог Horizon mode из офпрошивки? Ну, то бишь, пока правый стик не в центре - акро, а как в центре - стабле.
  18. Аватар для Dynamitry
    я настолько "подсел" на RC1 c альтхолдом, что уже не мыслю полетов без АХ. Пойду тестить RC2.
  19. Аватар для Dynamitry
    предложение по улучшению информативности пищалки в этом моде.
    Сигнал пищалки должен состоять из точек и одного тире.
    Набор высоты "несколько точек, пропорционально скорости подъема" + "тире"
    Удержание высоты только "тире"
    Снижение "тире" а за ним "несколько точек, пропорционально скорости снижения".
    Что скажете?

    P.S. I2C GPS работает нормально.
  20. Аватар для mahowik
    Цитата Сообщение от {gorbln}
    Такой вопрос: Есть ли в этой прошивке аналог Horizon mode из офпрошивки? Ну, то бишь, пока правый стик не в центре - акро, а как в центре - стабле.
    Это фенька еще неотрелиженной 2.2 оф. версии... RC1/RC2 на базе 2.1, где из дев версий взято уж совсем "часто спрашиваемое" и нужное типа поддержка ublox
  21. Аватар для dROb
    Цитата Сообщение от mahowik
    1) Если у вас АИО контроллер, то подрубите ГПС стандартно через UART. Возможно в i2c-GPS косяк какой или прошивка не та. Я тут сильно не в курсе на какой стадии сейчас i2c-GPS прошивка.
    2) Второе, наводки на ГПС может давать все что угодно, типа: видеолинк, силовые провода (вроде) или даже камера. Не зря его на мачте выносят вместе с компасом... Буквально час назад общался с корешем, так у него ГПС при включении видеолинка врет до 30 метров! Коптер при этом на земле в одной точке...
    Проверить можно в поле, к прмеру через прогу MultiWii EZ-GUI Она уже умеет показывать трек по карте и вроде как даже в оффлайн, с предварительной закачкой карты на андроид соот-но...
    Контроллер не AIO, поэтому и пользуюсь этими приблудами...

    Сделал ещё одну проверку сейчас только что, правда использовал другой i2c-gps, но в общем на той же начинке. В общем оказалось что удержание какбы работает, но мотает коптер по кругу радиусом в метров 10. Последняя итерация правда привела к более сильному качку, а поскольку был (как оказалось) включен режим HEADFREE - то я быстренько всё усугубил, в результате чего рухнул на крышу 15метрового ангара....

    На земле, с включенными пропеллерами, и в воздухе возле себя, GPS дает весьма хорошую точность, показалось что около 1-2 метров. Наводок не замечено. 9 спутников спустя пару минут было.

    Видимо надо писать логи - смотреть что выдает GPS в реальном полете.

    Жаль пропы кончились Придется пока на земле замеры делать, что в общем тоже неплохо.

    P.S. Проверил HEADFREE - работает весьма хорошо.
    P.P.S. Задумался, а может этот современный MTK3339 настолько хитер, что когда стоит на месте (когда я висел около себя) - хитро выдает якобы нулевой дрифт, зато положение сильно ухудшается когда начинается движение? Надо проверить..
  22. Аватар для mahowik
    Цитата Сообщение от Dynamitry
    предложение по улучшению информативности пищалки в этом моде.
    Думал о подобном, что бы слышать разницу подъем/спуск, но пока руки не дошли + пока и так вполне хватает...
  23. Аватар для Dynamitry
    но мотает коптер по кругу радиусом в метров 10.
    Удержание позиции работает хреново, весьма не точно. Зато возврат в точку взлета работает шикарно. Мне так понравилось, я настроил его вместо FS и проверил как работает с выключенным пультом.
  24. Аватар для mahowik
    Цитата Сообщение от Dynamitry
    Удержание позиции работает хреново, весьма не точно.
    все зависит еще на сколько хорошо сбалансирован коптер, от ГПС модуля, на сколько точно ГПС отдает координаты, от наводок и глюков конкретной конфигурации, от настроек... 1000+1 нюанс... у меня на стоке в безветрие держит в окне 2-3 метра...
    когда кто нить осмелится аксель на X,Y прикрутить, вот тут ситуация поменяется в корне... я пробовал и даже с кой какими успехами, но до конца не довел... забросил...

    Кстати у меня активирован SBAS. Вот почитайте http://www.ecomgeo.com/articles/about_SBAS.htm
  25. Аватар для Dynamitry
    Отлетал 2 пака сегодня на RC2. Я в восторге! Похоже у меня на пульте освободится теперь много каналов управления. Нет смысла в переключении режимов. Аксель, альтхолд и компас можно теперь не выключать. Только RTH нужен с пульта и все. Акро я не летаю. Как человек, никогда не летавший на Назе я теперь совсем не понимаю зачем она нужна. Если связка AIO+GPS+I2C Nav+Mobidrone(самоделка) + Donate обходится в 3 раза дешевле чем NAZA + GPS. Жаль о полете кино полно желе. Я его выложу и дам линк, поглядите что да как.
    Обновлено 26.02.2013 в 16:46 [ARG:5 UNDEFINED]
  26. Аватар для RicLab
    Вчера отлетал 4 пака в порывистый ветер 7-8 м/сек. Коптер уверенно держал высоту несмотря на то что наклонял его градусов на 20 что бы удержать на месте, так как при таком ветре GPS hold не справлялся.
    В общем СУПЕР!
    Александр браво!
  27. Аватар для mahowik
    Спасибо!
  28. Аватар для Dynamitry

    вот так я летал сегодня. Взлет на второй минуте. За желе не пинайте, крышка от бокса камеры гремела.
  29. Аватар для mahowik
    про удержание позиции http://forum.rcdesign.ru/f123/thread...ml#post4005870
  30. Аватар для mixachev
    Вот мой привычный стиль полета. Прошивка 2.1 b1. Смотреть с 0,30 м.Конечно камера немного в низ смотрит.

    Сегодня летал на RC-2 . Фильтр на гиру поставил на 42.Дул приличный ветерок. Коптер вел себя достойно.Не дрожал . Даже удержание позиции.Разогнал его до 88 кмч по ветру. После очередного разгона с целью побить рекорд. Отвлекся на пульт глянуть максимальную скорость, буквально на 5 сек. И скидыш . Два карбоновых пропа и луч. Вывод не отвлекайтесь во время пилотирования.
  31. Аватар для mahowik
    Цитата Сообщение от mixachev
    Фильтр на гиру поставил на 42
    в mpu6050 этот фильтр среза не только на гиру, но и на аксель... выставленные 20гц вполне справляются с полетами в среднем и плавном стилях (+ доп. защита от вибраций на борту!), хотя возможно для крутых акро перцев уже и маловато такой скорости гир, тогда можно 42гц поставить на срез, а так незачем...
    Обновлено 28.02.2013 в 01:01 [ARG:5 UNDEFINED]
  32. Аватар для Dynamitry
    я на 42 гц летаю всегда. Очень ОК!
  33. Аватар для mahowik
    если платформа "пристарела", типа движки вибряТ и пропы не фонтан, либо недобалансированы, либо если не видна разница 20/42 в динамике полета, то 20гц самое оно
  34. Аватар для Dynamitry
    Вот не по теме конечно, но мне очень хочется понять, как это работает. В обработке звука, которой я много профессионально занимался, если бы мне сказали вырезать звук пропеллера, который вращается со скоростью строго 3000 об/мин, я вырезал бы частоты 50, 100, 200, 400 гц параметрическим эквалайзером и остаток шума давил бы обычным шумодавом (это если нужно оставить остальной звук не тронутым), либо срезал-бы частоты ниже 50Гц включительно, если басы не интересуют и убил-бы верхние обертона. У меня на коптере пропы крутятся в диапазоне 50-70 Гц, следовательно срез НЧ должен стоять не ниже 70Гц, какого лешего я ставлю фильтр ниже основной частоты шума?
  35. Аватар для mahowik
    Чем уже диапазон, который мы можем оставить для корректной работы контроллера, тем меньше вероятность, что контроллер схавает один из возможнных резонансов. А это резонансы конструкции, индивидуальные для каждой конфигурации (лучи, крепления, габариты, вес...), + моторы ух какой спектр в связке с конструкцией дают и самое гадкое это резонансы самих мемс-сенсоров, т.е. акселей гир и т.д.

    Eсли уж совсем научно подходить, то надо рассматривать конкретный конфиг - рама, моторы, пропы, вес... Далее гонять по всему диапазону оборотов, писать полную статистику спектра вибраций, которая доползает до контроллера. И только потом анализ всей картины проводить, делая выводы, что "дааа, на моем конфиге НЧ фильтр можно вообще не включать!" Игрался не раз с виброметром (выкладывал в ветке "Виброизоляция, виброразвязка ...") и ведел все эти пики гармоник и другие гадости, которые вылазят на разных полочках газа...
    А так прошива то народная и лететь должно на стоке, потому все зажать (без ущерба полетных характеристик конечно)!

    И потому в основном опытным путем, который показывает что на 20гц стабильнее даже на глаз. К примеру мой коптер сейчас еле дышит. Рама ломана-переломана + пропы балансированы на отвертке Переход с 42 на 20 виден сразу. Меньше горизонтальный дрейф, стабилнее АХ и т.д.
  36. Аватар для mahowik
    Кстати, если регули шитые то ROLL/PITCH P можно поднять на 20-40%. Будет лучше ветер держать и на спусках стабильнее. У меня сейчас ROLL/PITCH P=6.5, но даже при 7.5 перекомпенсации нет. Регули шиты прошивой от SimonK. Хочу wii-esc от ziss_dm опробовать, но руки пока не дошли. Зисс гений, уверен что у него лучше прошива! Он даже рекуперацию (возврат энергии в АКБ при торможении) замутил... крутой чувак!
  37. Аватар для Dynamitry
    Чем уже диапазон, который мы можем оставить для корректной работы контроллера, тем меньше вероятность, что контроллер схавает один из возможнных резонансов.
    Тоесть если стоит фильтр на 20Гц, то на контроллер идет все, что от 0 до 20 ? Или, как я думал, от 20 до плюс бесконечности???
  38. Аватар для mahowik
    первое, т.е. от 0 до 20... потому крутым скоростным акро перцам 20гц может быть маловато, а вот для спокойных полетух самое оно!
  39. Аватар для RicLab
    Цитата Сообщение от mahowik
    про удержание позиции http://forum.rcdesign.ru/f123/thread...ml#post4005870
    Читал, в курсе.
    У меня так и выходит в безветрие 2-3 метра дрейф.
    SBAS к сожалению для меня не актуально.
  40. Аватар для fpv mutant
    В Crius SE (mega 328) кто-нибудь заливал,есть толк?