GPS-приемники для квадрокоптеров
Да уже не раз писали про стойку
Я не про стойку пишу, а про показания компаса. Они же нормальные, без глюков. В чем тогда проблема для контроллера держать направление?
Они же нормальные, без глюков.
А в чем нормальные, а как решили, что без глюков? На глаз? И погрешность вычислили?
При полетах с ЖПС ПК использует данные по азимуту по ЖПС и компасу. Вернее пока коптер висит в точке по компасу, при движении по ЖПС (ЖПС не умеет определять азимут без движения).
Пока компас не на стойке он ловит наводки от силового тока, отчего азимут сбивается.
Вот и получается, что при ошибке в координате при зависании в точке ПК начинает сдвигать коптер в новую точку по азимуту кривого компаса. При этом приходит в неправильные координаты (из-за погрешности по азимуту), пытается снова скорректироваться, опять неудача и так по кругу. Вот и унитазинг.
это универсальные USB-UART , поддерживающие RS232 как TTL уровни так и двуполярные , а так же 485 интерфейс …
для настройки GPS можно обойтись даже сверхбюджетным вариантом типа такого aliexpress.com/item/…/32697561383.html
и даже такого aliexpress.com/item/…/32390188346.html
Мне просто еще и COM порт нужен…
С телефона не работает цитата. Отвечаю насчет унитазинга. Да, я вижу в осд правильные показания компаса, которые соответствуют реальным сторонам света. Они не прыгают, их не колбасит, максимальное изменение плюс минус 1 градус. То есть такое же точно, как и у коптера с нормально работающей навигацией. Большая там погрешность или нет - я не знаю. Но она явно меньше 1 градуса. Я также не понимаю, почему коптер несет вбок, вместо того чтобы поворачивать куда надо нос. Каким образом смещение коптера в стороны без изменения ява может скорректировать неправильный азимут? Чем больше об этом думаю, тем сильнее ощущение, что код навигации слишком тупой. Придется лезть в исходники, чтобы все понять.
С телефона не работает цитата.
Обычно в этом случае копирую текст, выделяю и жму кнопочку выделение текста (крайняя справа).
Придется лезть в исходники, чтобы все понять.
Если мне что не понятно, то обычно ищу ответы в инете, а потом делаю свои проверки и опыты. Спрашивать народ больше того, что общепринято бесполезно, но то, что общепринято надо изучить.
Но в большинстве случаев чужого опыта достаточно. В остальном можно найти просто логику.
Каким образом смещение коптера в стороны без изменения ява может скорректировать неправильный азимут?
Потому что корректировка положения делается смещением по азимуту на столько-то см. А не поворотом по азимуту и только потом смещение. Если еще поворачивать, то коптер кроме унитазинга будет еще и волчком крутиться.
вместо того чтобы поворачивать куда надо нос.
Обычно надо, чтобы нос держал строго заданное направление, поворачивал только по команде пилота, а не тогда, когда ему вздумается.
И к слову. Электромагнитные помехи, если что, никто не отменял. Самое простое решение техническое (стойка, экранирование).
ощущение, что код навигации слишком тупой.
Ну есть и продвинутый код, например в арду (современном). Там после пролета по прямой компас просто отключается, если он превышает погрешность по отношению к ЖПС. И дальше только на ЖПС.
Но в большинстве случаев чужого опыта достаточно.
Ну какого опыта? Ставить гпс на стойку что ли? Так я знаю про этот опыт, и тоже ставлю на стойку. Вопрос-то не про это был.
А по коду мне проще разобраться, и тем более это единственное, что даст однозначный ответ.
Обычно надо, чтобы нос держал строго заданное направление
Да, согласен. Это я не учел.
Ну какого опыта? Ставить гпс на стойку что ли?
Защищать компас от наводок.
Защищать компас от наводок.
Ну для этого на стойку и ставят, нет?
У меня немного вправо смещался при быстром полёте по прямой. Обнаружил в шлеме-картинка немного уходила влево. Унитазинг был при этом еле заметным, практически на месте, но был. Буквально чуть-чуть стронул модуль GPS влево, и всё стабилизировалось. Там же стелочка на модуле и всё, не линия прицеливания, как на оружии, так что глаз ошибается:)
Сегодня пробовал летать с гпс без стойки. Унитазит сильно. Но вот чего я не пойму. Унитазит - значит помехи на компас. Но компас в ОСД совершенно спокойно, без скачков, показывает текущий азимут. То есть вот они, показания компаса, и никаких помех. А что ж тогда заставляет унитазить?
Я так понимаю у вас pixhawk… там проблем быть не должно если все правильно смонтировано и заэкранированно + компасмот при необходимости(у меня работает все отлично и с ним и без)… я выше постил фото как должно быть для примера… все что я там писал в пояснениях крайне важно, и экранирование и установка модуля выше плоскости остальной электроники\моторов и т.д… я этому вопросу посвятил определенное время дабы получить беспроблемную работу без вляких стоек и т.д. и соответственно получил… тоесть все возможно, но нужно делать все правильно.
Можете запостить фото как вы установили, подскажу что скорее всего не так.
Я так понимаю у вас pixhawk…
Нет, был матек.
все что я там писал в пояснениях крайне важно, и экранирование и установка модуля выше плоскости остальной электроники\моторов
Я уже в третий раз пытаюсь объяснить - я не спрашиваю, как правильно установить.
У меня не было такой цели, если бы была, я бы просто поставил на стойку и все.
Я спрашиваю, почему при том, что показания компаса - в принципе правильные, коптер тем не менее жестко унитазит.
То есть это проблема сама по себе, в отрыве от каких-то конкретных сетапов.
Вот есть правильные показания компаса, вот происходят какие-то действия с ними, вот появляется унитазинг. Почему - мне непонятно. Я считаю, что причин для этого нет, и дело исключительно в коде. Я буду заниматься этим вопросом позже, как руки дойдут.
Можете запостить фото как вы установили, подскажу что скорее всего не так.
Фото не смогу - коптер утонул 😃 Но установил просто. Внутри рамы размера 250, строго посередине, у меня стояла башенка из ESC 4in1, Matek F405 STD, приемник X4RSB в люльке и сверху всего - видеопередатчик AKK FX2. Над передатчиком еще вплотную под верхней палубой (карбон) прижимался алюминиевый уголок с прикрученным радиатором сбоку. В носу рамы стояла еще одна башенка из PDB + Runcam Split. Сзади торчала антенна видеопередатчика.
Налепил GPS модуль просто сверху рамы в центре. Я знал, что будет унитазить, но я специально хотел посмотреть, что в это время показывает компас. Он показывал нормальные данные.
То есть это проблема сама по себе, в отрыве от каких-то конкретных сетапов.
Вы изначально идете по неверному пути принимая данные в осд за некие объективные… я не знаю логику работы айнав но предполагаю что в осд вы получаете некие “усредненные” данные оптимизированные для вывода в визуальном виде… соответственно в арду для анализа подобных вещей есть как логи так и онлайн инструменты(как то например визуализация екф через телеметрию, и да, наблюдая визуально бепроблемную работу в осд например в этот же самый момент екф может сыпать ошибками и коптер будет унитазить и т.д., это нормально)…
я не знаю логику работы айнав но предполагаю что в осд вы получаете некие “усредненные” данные оптимизированные для вывода в визуальном виде
Пусть даже и так.
Смотрите в чем суть: я, человек, глядя на эти данные, как угодно усредненные, могу понять, что и куда надо поправить. А Айнав не может.
Может быть, задачи у нас с Айнавом разные: я хочу, чтобы коптер делал что угодно, но никуда не улетал, а Айнав хочет, чтобы коптер в любую долю секунды соблюдал позицию с максимальной точностью.
Из-за этого любая мелкая погрешность для него становится фатальной.
А вот в моем случае возможно он бы и не держал хорошо позицию, пусть бы даже болтался на плюс-минус 10 метров и медленно реагировал, но его бы и не уносило невесть куда.
Следовательно, проблема в алгоритмах. Может быть, Айнав надо заставить работать тоже с усредненными данными. Пусть он работает неточно и медленно, но задача - сделать, чтоб не улетал далеко.
Вот до этого я и хочу докопаться.
Или я пойму, что алгоритм неправ, или пойму, что я неправ, и там действительно ничего нельзя улучшить.
Айнав надо заставить работать тоже с усредненными данными.
Это делает екф в ардупилоте например… проблема в том что коптер по сранению с вами достаточно не то что бы тупой… он просто немного иначе решает задачу… не вдаваясь в долгие объяснения сути, в ардупилоте сейчас это довольно непрохо работает, позволяя в большинстве случаев справляться с подобными вашей проблемами… а айнав летает в этих “авторежимах” как я понимаю ныне примерно как ардупилот лет так …цать назад на меге(в до екфную эру так сказать) … тоесть имеем небольшие наводки на компас или в баро поддувает и все хана… унитаз или проблемы с удержанием высоты… и ничего “усреднить” у вас не выдет, потому что все несколько сложнее и нужно грубо говоря не усреднять а делать интеллектуальную выборку -> екф (хотя это тоже не отменяет все что я выше написал насчет правильного “строительства”)
Выше плоскости моторов. как на фото у вас - это все равно получается уже мини-стойка. У меня такая есть, вся железная, высотой 5 см, с бортиками по краям, с ней нормально летало.
А компас отдельно по какой причине стоит? Так лучше или просто дешевле? Я себе сейчас тоже отдельно ставлю, но так, чисто по приколу попробовать.
с ней нормально летало.
У меня примерно на пару сантиметров выше плоскости моторов в геометрическом центре рамы… хотя вполне вероятно что если заменить пикс на айнав в таком же сетапе будет то же самое что у вас…
А компас отдельно по какой причине стоит? Так лучше или просто дешевле? Я себе сейчас тоже отдельно ставлю, но так, чисто по приколу попробовать.
Их вообще то два как и гпс-модуля, сейчас просто по одному стоит так как эксперементирую с точностью удержания позиции на разных модулях гпс
Причин почему магнитометры отдельно несколько:
- Для удобства замены модулей гпс без перекалибровки магнитометров
- Для надежности, на большинстве моделей питание магнитометра и гпс идет от одного источника, что не совсем надежно и оптимально как по мне… используя же внешние модули я делаю максимально независимую конфигурацию… 3 магнитометра(2 внешних и один встроенный в пикс) и два модуля гпс в режиме blending…
заменить пикс на айнав в таком же сетапе будет то же самое что у вас…
у меня стойка совсем короткая, и тот же айнав.
но по РТХ возвращается в круг около 1.5 метров
где то есть параметр, которым этот круг можно зажать, но меня устраивает, что он садится ровно, и висит ровно.
пробовал оттянуть висящий коптер за раму и отпустить - он просто вернулся в точку и опять замер
То есть проблема не в айнаве. И не в высоте.
То есть проблема не в айнаве. И не в высоте.
То что он у вас висит ничего не значит, проблемы с магнитометрами всегда вылезают при активном маневрировании и т.д.(как и с гпс)… все эти оттягивания за раму и т.д… это придумали люди которые не летают а висят и оттягивают… реальные тесты выглядят совершенно иначе, все это уже не раз описано… и методика совершенно иная, не на глаз а по логам\телеметрии…
Например, из последнего, сильный ветер, задувает везде где можно тем не менее коптер почти не меняет высоту и висит(тут висение уместно) в точке:
Магнитометры и т.д. нужно гонять крутя воронки, активно руля по рудеру и т.д.
почему при том, что показания компаса - в принципе правильные
Откуда Вы знаете, что они правильные? Вот принципиальный вопрос… Если компас дает полетнику один азимут, а по ЖПС он другой, какой из них считать правильным?
Он показывал нормальные данные.
Что значит нормальные? При унитазинге нос коптера всегда смотрит в одну сторону, разумеется, показания компаса будут одинаковыми, но нормальные они и правильные ли, можно определить только инструментальным способом… В градусах, минутах и секундах, не на глаз…)
Ну а можно не заниматься наукообразной хренью, а тупо доворачивать компас или подбирать величину склонения до полной потери унитазинга…)
Как это делает огромное большинство пилотов.
Ну а можно не заниматься наукообразной хренью
Можно. Только я все-таки позанимаюсь, потому что могу, ладно?
А вот еще загадка: компас работает, показывает 0 градусов на север, но если коптер развернуть ровно на 180, то компас показывает не 180, а 160. Т.е. коптер надо еще довернуть, и причем заметно, чтобы стало 180. Если относительно этого положения снова развернуть на 180 - то получаем опять не 0, а 340 допустим. То есть между показаниями 0 и 180 получается разница не в 180 градусов, а в 160.