А давайте обсудим Arducopter - APM

alexeykozin
Engelsit:

зачем тогда вообще существует параметр AHRS GPS GAIN?

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

а теперь берем модель летающую по кругу как жэто делает кордовая модель.
изза центростремительного ускорения 3д акселерометры начинают показывать силу тяготения не в чистом виде а в сумарном с центростемительным, если не учитывать движение по кругу то горизонт завалится в сторону центра.
параметр AHRS GPS GAIN =1 разрешает алгоритму вычитать из показаний акселерометра ускорения по жпс

ENGINEERUS

AHRS_GPS_GAIN - переменная, указывает насколько сильно в вычислениях используются данные с ЖПС., по моему ставить-0 не корректно, дополнительный источник для расчетов только уменьшает вероятность ошибок. Чем боьше источников тем лучше. Конечно при условии что ЖПС исправен.
Можно пробывать от 0.5 и выше.

Engelsit

Сейчас провел два эксперимента.
Эксперимент 1.
а. Включил AHRS_GPS_GAIN=1
б. Поставил квадрокоптер на ровный асфальт.
в. Заармил движки.
г. Наблюдал, как “горизонт” постоянно немного плавает в такт флуктациям координаты GPS.
Это наблюдалось и в Stabilize, и в AltHold!

Эксперимент 2.
а. Выключил AHRS_GPS_GAIN=0
б, в - то же самое
г. Наблюдал, что “горизонт” абсолютно стабилен!

Кстати, при AHRS_GPS_GAIN = 1 невозможно провести Auto_Tune! Горизонт колбасит со страшной силой. Видимо, в этом режиме, наклоны гораздо активнее высчитываются на основе GPS и гораздо меньше на основе других датчиков.

alexeykozin:

с тем чтобы он не валился существуют акселерометры

я правильно понял, что если у квадрокоптера есть и гироскоп, и акселерометр, то данных от GPS-датчика ему уже не нужно? Он же не кордовая модель. 😃
Или все же порекомендуете поставить AHRS_GPS_GAIN в какое-нибудь среднее (или минимальное) значение, вроде 0,1-0,5?

Мне кажется, что GPS врет значительно чаще, чем любые другие датчики, а потому ему лучше не вмешиваться в AHRS. Но мне очень важно Ваше мнение!

Спасибо!

P.S. Если кому-то интересно покопаться и посмотреть, что тут произошло - с меня огромное спасибо за попытку.

cloud.mail.ru/public/5N5P/JcW39Tdv3

Повторю мои пояснения: аппарат в режиме AltHold при плавном добавлении газа, резко взмыл вверх-назад. Я поймал его на лету.
В логе видно, что перед взлетом, нос ушел на 30 градусов вниз. Хотя аппарат стоял на асфальте.

Обратите внимание, до момента взлета, показания акселерометров находятся около нуля! При этом, если включить повтор записи, то видно, что нос опускается до -30 градусов! Выходит, этот завал носа был вызван GPS.

5yoda5
Engelsit:

Горизонт колбасит со страшной силой.

Да нууууу.
Может причина в другом всё же?
Есть у АРМа такая фича, знакомая держателям дешевых РТФ коптеров-китаелётов: Если сразу после включения коптер трясти - то аксели начинают потом жить своей жизнью вплоть до перезагрузки.
И у АРМа то же самое. После подачи напруги, пока перемаргиваются светики, идет инициализация сенсоров. Если в этот момент трясти коптер - то аксель потом начинает дурковать. Можете провести такой эксперимент 😃
Правильная процедура такова - подали напругу, поставили коптер, ждем пока проморгаются светики. Как только прошивка стартанет - там уже трясите или крутите коптер как угодно.

Возможно все ваши непонятки именно от этого.

alex_nikiforov

Читаю крайние посты и удивляюсь, летаю на апмке и все меня радует и устраивает. Ничего не крутил, все в стоке по дефолту. Прошивочка для апм крайняя 3.2.1, ведь ее обсуждаем? Горизонт ползает в небольших пределах, но это ни как не влияет на полет. Попробуйте поставить 3.1.5.

Engelsit
5yoda5:

Да нууууу.
Может причина в другом всё же?

Именно в этом причина. Вчера 3 раза повторял эксперимент. С включенным AHRS_GPS_GAIN = 1, если удержать стик после Арма еще 15-20 секунд, войдя в режим AutoTrim (если я писал АвтоТюн, прошу прощения, ошибся), то аппарат просто невозможно откалибровать, ибо горизонт колбасит даже когда аппарат стоит на земле.

Перевожу AHRS_GPS_GAIN в ноль, не передергивая аккумулутора и не перезагружая плату, и горизонт становится супер стабильным, и АвтоТрим удается провести просто великолепно!

alexeykozin
ENGINEERUS:

Можно пробывать от 0.5 и выше.

в коде трактуется иначе, условие = 1 или не равно.
все что не равно 1 трактуется как ноль
по крайней мере в тех релизах где я заглядывал в код

Engelsit
alex_nikiforov:

Читаю крайние посты и удивляюсь, летаю на апмке и все меня радует и устраивает. Ничего не крутил, все в стоке по дефолту. Прошивочка для апм крайняя 3.2.1, ведь ее обсуждаем? Горизонт ползает в небольших пределах, но это ни как не влияет на полет. Попробуйте поставить 3.1.5.

Может, вы все же перевели параметр AHRS_GPS_GAIN в ноль? Или летаете в полях без помех GPS? Или у вас восьмой UBLOX и вы ловите целую стаю спутников?

Я летаю в условиях леса и двухэтажных зданий с металлическими крышами. Координата GPS от этого крайне не стабильна. В условиях полета между многоэтажками, все оказалось еще намного хуже.

От того, повторяю общую рекомендацию: AHRS_GPS_GAIN необходимо ставить в ноль.

ufk
Engelsit:

Или летаете в полях без помех GPS? Или у вас восьмой UBLOX и вы ловите целую стаю спутников?

Это все до поры до времени, гпс вещь в данном смысле не надежная и словить глюк можно в любой момент на ровном месте…например при плотном тумане у меня ублоксы стабильно ловили глич, повторяемость великолепная была…
А когда я этот глюк впервые обнаружил я просто взлетал в стабе(я вообще взлетаю и сажусь онли в стабе), как раз на свежей прошивке в которой с данной проблемой столкнулись и другие, коптер у меня просто кувыркнулся при взлете…и так повторялось еще несколько раз бессистемно пока я не нагуглил этот параметр и что оный надобно отключать, и как бабка пошептала…
Сейчас я уже забыл что он там конкретно делает, на плавных поворотах корректирует уход инерциалки или помогает боротся со следствиями закона Бернулли, но в памяти твердо осело что нужно убирать…сейчас кстать со всякими екфами может и не критично, на пиксах и т.д. но я все равно убираю…

arb

Дмитрий, нужен обязательно лог к тому тлогу. А то ни прошивки , не что за жпс и т.д.
То что перепроверяли 3 раза хорошо , но может быть накладка других причин.
У самого так было, типа грешил на прошивку, а оказалось виновато питание.
Вечером перепроверю (даже интересно стало).
Отключил параметр сразу после улета в лойтере. Но до отключения проблем с другими режимами не было. 3.1.5.
Проверим для статистики.

Engelsit

К сожалению, флешка для логов у меня мертвая. 😦
Ну, не может при трехкратном повторении эксперимента, горизонт становиться то абсолютно ровным, то понемногу гулять… В повторяемости эксперимента уверен на 99,99%. А эксперименты ставить я умею и люблю. 😉

ENGINEERUS
alexeykozin:

в коде трактуется иначе, условие = 1 или не равно.
все что не равно 1 трактуется как ноль
по крайней мере в тех релизах где я заглядывал в код

не спутали с AHRS_GPS_USE ?

в прошивке 3.2.1 должен работать как переменная, в случаях если ведет себя не стабильно то параметр скидывают до 0.5 должно помочь. По крайней мере народ у кого были проблемы, так отчитывался. Как я понял то случаи были редкие.

Я так вообще не нарадуюсь последней прошивкой, после 2.9 (пару лет назад), так это просто сказка! AI теперь на высоте. Все тесты прошел на УРА! Практически без страха можно отпускать в автономку.

По моему личному мнению, если коптер на дефолтных настройках ведет себя не адекватно, то параметры это 3-е дело где надо искать проблему.

Engelsit
ENGINEERUS:

.

По моему личному мнению, если коптер на дефолтных настройках ведет себя не адекватно, то параметры это 3-е дело где надо искать проблему.

Проблема в нестабильности показаний GPS. От этого никуда не деться. Спутников может быть 11. HDOP будет 1.4, а показания будут все равно жутко брехать из за какого-нибудь отражения сигнала от стены.

alex_nikiforov
Engelsit:

Может, вы все же перевели параметр AHRS_GPS_GAIN в ноль? Или летаете в полях без помех GPS? Или у вас восьмой UBLOX и вы ловите целую стаю спутников?

AHRS_GPS_GAIN по дефолту, не менял. У меня оригинальный апм с ublox 6м. Ловит обычно около 7-8 спутников.
Про рекомендацию такую неоднократно слышал, только вот не понимаю, почему тогда программисты до сих пор значение параметра не изменят, ведь это улучшит эксплутационные качества многих аппаратов? Многие об этом ничего не знают.

Engelsit:

понемногу гулять

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

Engelsit
alex_nikiforov:

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

А вот теперь отключите GAIN и посмотрите, что даже с заармленными движками, горизонт абсолютно неподвижен (дрейф горизонта становится незаметен глазу)!

У меня от этого параметра тоже, никаких проблем не было, пока я не попытался взлететь между многоэтажек. И при нулевых показаниях акселерометра, телеметрия показала уход носа на 30 градусов! Правда, был ветер, показания барометра тоже скакали. Но я был готов бороться с дрейфом высоты, но никак не ожидал скачка в сторону (назад).

А вы в полях летаете или в городе (извините, что повторяю вопрос, но мне действительно, очень интересно)?

ENGINEERUS
Engelsit:

Проблема в нестабильности показаний GPS. От этого никуда не деться. Спутников может быть 11. HDOP будет 1.4, а показания будут все равно жутко брехать из за какого-нибудь отражения сигнала от стены.

Если HDOP не скачет, то с показаниями жпс все ок.
К примеру пару лет назад коптер улетел в китай, грешил на прошивку, а причина оказалась в камере MOBIUS, которая неслабо глушила антену жпс.
Сейчас стоит аналогичный u-blox 6, вообще никаких проблем.

alex_nikiforov
Engelsit:

А вот теперь отключите GAIN и посмотрите, что даже с заармленными движками, горизонт абсолютно неподвижен (дрейф горизонта становится незаметен глазу)!

Шевелится он или нет, меня это вообще не парит.

Engelsit:

А вы в полях летаете или в городе

Настройку выполняю в колодце дома. Приходится взлетать и в лесу с маленьких полян или прогалин, так как занимаюсь мониторингом насаждений.

Engelsit

Как сказано вот здесь: forum.navitel.ru/index.php?showtopic=451&view=find…
HDOP не учитывает помехи от ионосферы, а также отражения сигналов. Это всего лишь показатель, высчитанный на основе расположения созвездия спутников.
А потому, данный показатель, вовсе не… показатель, извините за тавтологию.

И тем более, что делать, когда HDOP высокий, а летать надо, хотя бы в ALT_HOLD или STABILIZE?

Так что, ставим на 0. 😉

alex_nikiforov:

Настройку выполняю в колодце дома. Приходится взлетать и в лесу с маленьких полян или прогалин, так как занимаюсь мониторингом насаждений.

Сами полеты вы осуществляете без многоэтажек, стоящих вокруг. Потому и не испытываете (даже редких) проблем.

alex_nikiforov:

Шевелится он или нет, меня это вообще не парит.

Наличие шевелений говорит о влиянии GPS. Пока не «шевельнется», градусов на 30, вам будет плевать. Вероятность низкая, но я бы все же ее исключил.

arb
Engelsit:

К сожалению, флешка для логов у меня мертвая. 😦

Тогда хотя бы сообщите прошивку, тип жпс, какое питание апм.

alex_nikiforov

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