А давайте обсудим Arducopter - APM
Ну да, тогда каждая прошивка целые исследования.
Именно так, а сейчас с екф все стало еще сложнее…
Это опенсорс, и от изначального ардупилота под который сто лет назад писалась “инструкция” на которую тут приводил ссылку ваш друг по спору нынешний отличается весьма значительно…более менее актуальную информацию можно почерпнуть только на ресурсах где все это обсуждается(типа форума ардупилота) или от людей которые этот код ковыряют(та же команда ф4)…
Именно поэтому я имею спец. тестовый коптер на которым налетываю дохрена часов на каждой свежей прошивке чтоб максимально выявить все проблемы и особенности, чтоб потом небыло мучительно больно за боевые железки, на который уже падение может встать в серьезное бабло…
Кстати, из за скачущего GPS (неправильные конфиги в приемнике), я не смог настроить AUTO_TRIM. Хоть и делал его в STABILIZE. При включении режима АвтоТрим, горизонт аппарата в Миссион Пленнере начинало неистово колбасить!
Для тех, кто не верит во влияние GPS в ручных режимах, скажите, зачем тогда вообще существует параметр AHRS GPS GAIN? Ведь при установке его в 0, Лоитер продолжает раьотать стабильно? А этот параметр именно для режимов НЕ использующих GPS в явном виде.
Ручные режимы не используют координату GPS. Но, похоже, используют его значения ускорения.
Для тех, кто не верит во влияние GPS в ручных режимах
выдерни штекер от гпс из апм, сам убедишься .(я пробовал!)
зачем тогда вообще существует параметр AHRS GPS GAIN?
корекция центрифугальных ускорений.
изначально для контроля горизонта используются гироскопы, но со временем горизонт вычисляемый по гироскопам имеет свойство заваливаться,
с тем чтобы он не валился существуют акселерометры которые могут вычислить вектор земного притяжения к которому должен быть перпендикулярен горизонт,
к нормали силы тяготения потихоньку притягивают систему основанную на гироскопах.
а теперь берем модель летающую по кругу как жэто делает кордовая модель.
изза центростремительного ускорения 3д акселерометры начинают показывать силу тяготения не в чистом виде а в сумарном с центростемительным, если не учитывать движение по кругу то горизонт завалится в сторону центра.
параметр AHRS GPS GAIN =1 разрешает алгоритму вычитать из показаний акселерометра ускорения по жпс
AHRS_GPS_GAIN - переменная, указывает насколько сильно в вычислениях используются данные с ЖПС., по моему ставить-0 не корректно, дополнительный источник для расчетов только уменьшает вероятность ошибок. Чем боьше источников тем лучше. Конечно при условии что ЖПС исправен.
Можно пробывать от 0.5 и выше.
Сейчас провел два эксперимента.
Эксперимент 1.
а. Включил AHRS_GPS_GAIN=1
б. Поставил квадрокоптер на ровный асфальт.
в. Заармил движки.
г. Наблюдал, как “горизонт” постоянно немного плавает в такт флуктациям координаты GPS.
Это наблюдалось и в Stabilize, и в AltHold!
Эксперимент 2.
а. Выключил AHRS_GPS_GAIN=0
б, в - то же самое
г. Наблюдал, что “горизонт” абсолютно стабилен!
Кстати, при AHRS_GPS_GAIN = 1 невозможно провести Auto_Tune! Горизонт колбасит со страшной силой. Видимо, в этом режиме, наклоны гораздо активнее высчитываются на основе GPS и гораздо меньше на основе других датчиков.
с тем чтобы он не валился существуют акселерометры
я правильно понял, что если у квадрокоптера есть и гироскоп, и акселерометр, то данных от GPS-датчика ему уже не нужно? Он же не кордовая модель. 😃
Или все же порекомендуете поставить AHRS_GPS_GAIN в какое-нибудь среднее (или минимальное) значение, вроде 0,1-0,5?
Мне кажется, что GPS врет значительно чаще, чем любые другие датчики, а потому ему лучше не вмешиваться в AHRS. Но мне очень важно Ваше мнение!
Спасибо!
P.S. Если кому-то интересно покопаться и посмотреть, что тут произошло - с меня огромное спасибо за попытку.
cloud.mail.ru/public/5N5P/JcW39Tdv3
Повторю мои пояснения: аппарат в режиме AltHold при плавном добавлении газа, резко взмыл вверх-назад. Я поймал его на лету.
В логе видно, что перед взлетом, нос ушел на 30 градусов вниз. Хотя аппарат стоял на асфальте.
Обратите внимание, до момента взлета, показания акселерометров находятся около нуля! При этом, если включить повтор записи, то видно, что нос опускается до -30 градусов! Выходит, этот завал носа был вызван GPS.
Горизонт колбасит со страшной силой.
Да нууууу.
Может причина в другом всё же?
Есть у АРМа такая фича, знакомая держателям дешевых РТФ коптеров-китаелётов: Если сразу после включения коптер трясти - то аксели начинают потом жить своей жизнью вплоть до перезагрузки.
И у АРМа то же самое. После подачи напруги, пока перемаргиваются светики, идет инициализация сенсоров. Если в этот момент трясти коптер - то аксель потом начинает дурковать. Можете провести такой эксперимент 😃
Правильная процедура такова - подали напругу, поставили коптер, ждем пока проморгаются светики. Как только прошивка стартанет - там уже трясите или крутите коптер как угодно.
Возможно все ваши непонятки именно от этого.
+1.
Читаю крайние посты и удивляюсь, летаю на апмке и все меня радует и устраивает. Ничего не крутил, все в стоке по дефолту. Прошивочка для апм крайняя 3.2.1, ведь ее обсуждаем? Горизонт ползает в небольших пределах, но это ни как не влияет на полет. Попробуйте поставить 3.1.5.
Да нууууу.
Может причина в другом всё же?
Именно в этом причина. Вчера 3 раза повторял эксперимент. С включенным AHRS_GPS_GAIN = 1, если удержать стик после Арма еще 15-20 секунд, войдя в режим AutoTrim (если я писал АвтоТюн, прошу прощения, ошибся), то аппарат просто невозможно откалибровать, ибо горизонт колбасит даже когда аппарат стоит на земле.
Перевожу AHRS_GPS_GAIN в ноль, не передергивая аккумулутора и не перезагружая плату, и горизонт становится супер стабильным, и АвтоТрим удается провести просто великолепно!
Можно пробывать от 0.5 и выше.
в коде трактуется иначе, условие = 1 или не равно.
все что не равно 1 трактуется как ноль
по крайней мере в тех релизах где я заглядывал в код
Читаю крайние посты и удивляюсь, летаю на апмке и все меня радует и устраивает. Ничего не крутил, все в стоке по дефолту. Прошивочка для апм крайняя 3.2.1, ведь ее обсуждаем? Горизонт ползает в небольших пределах, но это ни как не влияет на полет. Попробуйте поставить 3.1.5.
Может, вы все же перевели параметр AHRS_GPS_GAIN в ноль? Или летаете в полях без помех GPS? Или у вас восьмой UBLOX и вы ловите целую стаю спутников?
Я летаю в условиях леса и двухэтажных зданий с металлическими крышами. Координата GPS от этого крайне не стабильна. В условиях полета между многоэтажками, все оказалось еще намного хуже.
От того, повторяю общую рекомендацию: AHRS_GPS_GAIN необходимо ставить в ноль.
Или летаете в полях без помех GPS? Или у вас восьмой UBLOX и вы ловите целую стаю спутников?
Это все до поры до времени, гпс вещь в данном смысле не надежная и словить глюк можно в любой момент на ровном месте…например при плотном тумане у меня ублоксы стабильно ловили глич, повторяемость великолепная была…
А когда я этот глюк впервые обнаружил я просто взлетал в стабе(я вообще взлетаю и сажусь онли в стабе), как раз на свежей прошивке в которой с данной проблемой столкнулись и другие, коптер у меня просто кувыркнулся при взлете…и так повторялось еще несколько раз бессистемно пока я не нагуглил этот параметр и что оный надобно отключать, и как бабка пошептала…
Сейчас я уже забыл что он там конкретно делает, на плавных поворотах корректирует уход инерциалки или помогает боротся со следствиями закона Бернулли, но в памяти твердо осело что нужно убирать…сейчас кстать со всякими екфами может и не критично, на пиксах и т.д. но я все равно убираю…
Дмитрий, нужен обязательно лог к тому тлогу. А то ни прошивки , не что за жпс и т.д.
То что перепроверяли 3 раза хорошо , но может быть накладка других причин.
У самого так было, типа грешил на прошивку, а оказалось виновато питание.
Вечером перепроверю (даже интересно стало).
Отключил параметр сразу после улета в лойтере. Но до отключения проблем с другими режимами не было. 3.1.5.
Проверим для статистики.
К сожалению, флешка для логов у меня мертвая. 😦
Ну, не может при трехкратном повторении эксперимента, горизонт становиться то абсолютно ровным, то понемногу гулять… В повторяемости эксперимента уверен на 99,99%. А эксперименты ставить я умею и люблю. 😉
в коде трактуется иначе, условие = 1 или не равно.
все что не равно 1 трактуется как ноль
по крайней мере в тех релизах где я заглядывал в код
не спутали с AHRS_GPS_USE ?
в прошивке 3.2.1 должен работать как переменная, в случаях если ведет себя не стабильно то параметр скидывают до 0.5 должно помочь. По крайней мере народ у кого были проблемы, так отчитывался. Как я понял то случаи были редкие.
Я так вообще не нарадуюсь последней прошивкой, после 2.9 (пару лет назад), так это просто сказка! AI теперь на высоте. Все тесты прошел на УРА! Практически без страха можно отпускать в автономку.
По моему личному мнению, если коптер на дефолтных настройках ведет себя не адекватно, то параметры это 3-е дело где надо искать проблему.
.
По моему личному мнению, если коптер на дефолтных настройках ведет себя не адекватно, то параметры это 3-е дело где надо искать проблему.
Проблема в нестабильности показаний GPS. От этого никуда не деться. Спутников может быть 11. HDOP будет 1.4, а показания будут все равно жутко брехать из за какого-нибудь отражения сигнала от стены.
Может, вы все же перевели параметр AHRS_GPS_GAIN в ноль? Или летаете в полях без помех GPS? Или у вас восьмой UBLOX и вы ловите целую стаю спутников?
AHRS_GPS_GAIN по дефолту, не менял. У меня оригинальный апм с ublox 6м. Ловит обычно около 7-8 спутников.
Про рекомендацию такую неоднократно слышал, только вот не понимаю, почему тогда программисты до сих пор значение параметра не изменят, ведь это улучшит эксплутационные качества многих аппаратов? Многие об этом ничего не знают.
понемногу гулять
В покое по телеметрии видно, что авиагоризонт туда-сюда плавает и это у всех, это гуляние в пределах нескольких градусов. Это может быть связано с дрейфом датчиков, с наводками. В момент включения авиагоризонт возвращается в нулевое положение, будто коптер был набоку.
В покое по телеметрии видно, что авиагоризонт туда-сюда плавает и это у всех, это гуляние в пределах нескольких градусов. Это может быть связано с дрейфом датчиков, с наводками.
А вот теперь отключите GAIN и посмотрите, что даже с заармленными движками, горизонт абсолютно неподвижен (дрейф горизонта становится незаметен глазу)!
У меня от этого параметра тоже, никаких проблем не было, пока я не попытался взлететь между многоэтажек. И при нулевых показаниях акселерометра, телеметрия показала уход носа на 30 градусов! Правда, был ветер, показания барометра тоже скакали. Но я был готов бороться с дрейфом высоты, но никак не ожидал скачка в сторону (назад).
А вы в полях летаете или в городе (извините, что повторяю вопрос, но мне действительно, очень интересно)?
Проблема в нестабильности показаний GPS. От этого никуда не деться. Спутников может быть 11. HDOP будет 1.4, а показания будут все равно жутко брехать из за какого-нибудь отражения сигнала от стены.
Если HDOP не скачет, то с показаниями жпс все ок.
К примеру пару лет назад коптер улетел в китай, грешил на прошивку, а причина оказалась в камере MOBIUS, которая неслабо глушила антену жпс.
Сейчас стоит аналогичный u-blox 6, вообще никаких проблем.
А вот теперь отключите GAIN и посмотрите, что даже с заармленными движками, горизонт абсолютно неподвижен (дрейф горизонта становится незаметен глазу)!
Шевелится он или нет, меня это вообще не парит.
А вы в полях летаете или в городе
Настройку выполняю в колодце дома. Приходится взлетать и в лесу с маленьких полян или прогалин, так как занимаюсь мониторингом насаждений.