linvinus писал(а):разрешение датчика 12бит т.е. 360/(2^12-1) = 0.0879121 градус на бит (LSB)
Это у вас цифры в вакууме. В реальности, вся эта штука безбожно шумит, по этому все измерения производят только в динамике (от сюда и Гц, накопительная система). По этому Дима как всегда прав, что нужно делать механический гироскоп, а не юзать эту ширпотребную, кремниевую муть. Если хотим стабильность. Кстати говоря, в серьёзных системах так до сих пор и делают...
в смысле у оригинального вроде моушин с примерами или еще чем-то должен идти + сами файлы это 1 в 1 или были какие изменения. вот это немного непонятно. ну просто есть смысл потом в сети копаться или нет. точно нельзя? просто пока только или всё через фифо брал или всё только через регистры. комбинировать, когда часть через регистры, а часть через фифо еще не пробовал. если к вечеру время выкрою, нужно попробовать. а если нет, так нет - буду всё на 1кгц через фифо. хлам или нет, зависит от задачи. понимая, что со своими знаниями и навыками из каждого набора датчиков можно выжать, знаешь для каких задач можно использовать. как раз смысл есть. если просто взять рукой помотылять платой(ами), так начальное и конечное положение почти совпадает. скидывается лог и потом спокойно можно экспериментировать с фильтрами/параметрами, пытаясь снизить погрешность. помотылять несколько раз можно, меняя ту же скорость перемещения/вращения. не сохраняя логи, допустим вы, будете при изменении пары строчек или параметров фильтра, гонять свою машинку не пару секунд. а логируя можете за секунды прогонять громадное количество логов. можно и не рукой в воздухе мотылять, вариантов море - можно сделать так, что бы примерно знать когда были какие ускорения и повороты. потом почти точно повторять все движения, только у датчика выставлять другие параметры - скорость опроса, чувствительность, фнч, добавляя датчики и меняя их взаимное расположение,... ещё отличие в том, что у вас мелкая машинка, которую приспокойно можете по квартире гонять, а мне для ла нужно. будет лучше понятно с какими параметрами считывать и как коптера/крыло погонять, можно будет съездить и прицепив мои платки сделать логов. "в этом нет никакого практического смысла, лучшее соотношение сигнал/шум у mpu6050 при +-250dps + LPF 10Гц (выборка 1кГц) но о быстрых перемещениях можно забыть." не видел этого в спецификации, так что если это отсебятина или прочтено где в неофициальных источниках, так и бабка на двое сказала, что есть на самом деле. те и куча других исходников в копилку давно закинул, постепенно всё будет перевариваться. в том видео по ссылке выше, это во-первых ни о чём, во-вторых пока рано вникать, что там за кубик с числами на экране, как его мотыляли и какую оно реально ошибку даёт. нет единых чисел для всех, что есть быстро, что медленно, какие реальные вибрации в каждом конкретном случае будут и какая допустимая погрешность. один датчик, потом несколько + эксперементируя со взаимным расположением, экранированием, тепло/виброизоляцией и хз, что ещё. моделей датчиков не много, но зато имеющиеся в более чем предостаточном количестве. не выпустили с дублированными внутри датчиками, значит в этом было смысла 0 по модулю для их ниши/цены.
Dmitry__ писал(а):300гц тут вообще никаким боком, или я ничего не понял )
Все в тему, это надо для расчета битности сумматора. Интегрирование - это площадь под функцией амплитуды гира по Y и времени по X.
linvinus писал(а):по акселям тоже не понял, он самый что ни наесть абсолютный, если измерять притяжение земли
Да, только аксель в абсолютном режиме нужен только для коррекции гиров по осям, которые не нужны на роботе (все оси кроме курса). А вот для инерциалки, от акселя требуется только относительный режим, т.е. опять интегрирование. Ты же, о пройденном расстоянии, узнаешь от акселя по интегрированию сил ускорения. Сила притяжения Земли вообще никак не используется в инерциалке... Или мы опять в параллельных мирах?
Dmitry__, назойливо повторяешся о высокой точности, пилите локальную систему позиционирования для машинок? просто для коптеров и ла ИНОГДА большие точности и не нужны, да и без спутника при некоторых условия можно, допустим по камере уточнять примерное положение.
ну и логически несложно понять если повесить на выходе гироскопа ФНЧ с частотой среза 10гц шум уменьшится.
когда часть через регистры, а часть через фифо еще не пробовал.
так можно, без проблем, т.е. данные гиро 8кГц кладём и читаем через fifo и между делом разово читаем регистры акселя.
вашу позицию понял,но основные проблемы не от шума а от дрейфа, который в свою очерь вызван зависимостью от температуры, а scale factor ещё и от ускорения.
Для летательных аппаратов AHRS используется только для ориентации (тангаж,крен) ЛА в простренстве, GPS для точного курса и выстоты, у них с этим всё просто и уже давно отработано в ardupilot и прочих открытых проектах. Т.е. там как таковой инерциальной навигации нет, там стабилизация. А навигация по точкам GPS.
Или мы опять в параллельных мирах?
мне казалось что вас только курс интересовал, да конечно для полноценной инерциальной навигации нужно уметь снимать ускорения самого объекта а не силу притяжения. но это вообще отдельная тема, аксель также нужно калибровать и компенсировать зависимость от температуры.
вообще если всё по хорошему делать то нужно делать в матлабе, с учётом всех погрешностей, а уж потом пробовать перенести всё в МК.
Берем 3 гира, только не перочинные ножи с 100500 сенсорами на одном кристалле, а нормальные одноосные гиры. Ставим их на одну ось. Данные снимаем и усредняем с 2-х гиров, третий гир корректируется. Так по кругу раз в минуту. Гиры , соотв., нужны которые умеют блокировать внутр. сенсор - т.е. он выдает свой дрейф нуля, но не реагирует на угловую скорость. Так устроены операционники с зеродрифт, почитай о них... Но это все равно дороже 50$
да и тему с self-test'ами можно закрывать, этот режим не позволяет увидеть чистый bias (дрейф нуля), да и четно говоря я не могу представить как это можно увидеть если отключиться от гироcкопа.
я возвращаюсь к теме с автокалибровкой компаса, и более точной калибровкой гиро (с учётом температуры и scale фактора)
Последний раз редактировалось linvinus 01 июл 2016, 14:45, всего редактировалось 1 раз.
эту табличку про шум кучу раз видел, но что оно означает пока загадка. возможно собственный шум, который измеряли с виброизоляцией стола и звукоизоляцией комнаты аля "делаем лазером голографические снимки". собственный шум и температура естественно влияет, но не меньше же влияет как датчик перемещается, как выгребать и обрабатывать данные. кстати питание же нужно постабильней - смотрю я на эти китавайские платки и понимаю, что как минимум не помешает фильтр из бусинки/индуктивности. не всегда. спутник не везде есть, ещё его могут давить или подменять координаты (увод простеньких/хоббийных ла или коряво разработанных, что особенно улыбает для вариантов ла с ценником больше ляма). когда давят или подменяют данные, это нужно вовремя выловить и по какому-нибудь алгоритму или продолжить лететь дальше по курсу или уйти в зону, где скорей всего не пакостят со спутником. высоту по барометру можно. скорость не очень точно иногда можно так же по барометру. ещё популяризируется ориентация на местности по камере, могу ошибаться, но вроде в том же 4ом фантоме собирались реализовать.
Последний раз редактировалось Angel71 01 июл 2016, 14:53, всего редактировалось 1 раз.
invensense уверяет что они "первые в мире ..." кто совместил аналоговые схемы и цифрововой микроконтроллер в одном чипе и обеспечили развязку аналоговой части. так что думаю дополнительные фильтры уже мало что смогут.
да часть проблем вызвана ускорением (вибрациями), но это уже вообще отдельная и очень сложная тема, и тут скорее важна конструкция гироскопа а не математика.
вот неплохой документ изучающий возможность использования недорогого гироскопа для навигации, реализован алгоритм автокомпенсации дрейфа
там чуть выше абзацик про спутник, не успел сразу докинуть. глушить или подменять сигналы не обязательно же в радиусе нескольких километров - могут и с направленными антеннами пакостить. и кстати не думайте, что у вас в обозримом будущем не станут глушить спутник или подменять его данные. это один из вариантов принудительной посадки или перехвата управления ла. в японии пока просто большим коптером всякую мелочь на подобии фантомов сеткой отлавливают - не положено тута летать, а ну ловись квадрик большой и маленькай. могут канал управления подавить или используя дырки в них (в mavlink с этим у кучи популярных коптеров были проблемы), перехватить управление. и т.д. по поводу помех по питанию это из-за этой таблички.
в любом случае иногда стоит экранировать или фильтровать питание, особенно когда недалеко моторы или мощные импульсники и используются ацп, важны частоты генераторов и т.д. допустим к беспроводным камерам иногда докидывают фильтр и на больших дистанциях меньше ряби.
понятно значит вас GPS не устраивает, ну тогда добро пожаловать в клуб инерциальной навигации
вообще я выше уже говорил, на ЛА хорошо может помогать компас, если он правильно откалиброван.
о том какие помехи бывают у компасов хорошо и кратко рассмотрено в документе о котором я упомянул тут post356871.html#p356871
ну и видеокамеры конечно помогут стабилизировать курс, но на обработку видео нужно много ресурсов, тут простым МК не обойтись, а значит меньшее время полёта.
да, у нас тут если не полеталки на пару десятков метров, иногда может быть и полный комплект всяких интересностей с кучей моментов и возможных последствий. не, спутник это один из источников данных - есть возможность, будет использоваться. но нужно изначально рассчитывать, что в один прекрасный момент этот канал данных будет недоступен. делать допустим простые мелкие квадрики давно не интересно - этот хлам в китае стоит копейки. из покупного очень хорошие фантомы, но и ценник же $500-1400. мелкому крылу всякие иму вроде и не совсем нужно - радиус маленький, да и по камере управлять можно. если с функцией автономного полёта, так это имхо для "манюнь" лучше. а перед тем как делать манюню, можно же сразу и чего под хотелки подобрать. допустим из популярного и не сильно мелкого что-то на подобии x5, x8, queen bee, godiscover и т.д. - немного доп. железок может и не особо ощутимо сказаться на время полёта.
мне кажется если gps пропадёт то всё, можете забыть про квадрокоптер, если он улетел автономно на несколько километров. максимум можно добиться того что он постарается вернуться назад к вам как можно ближе, не не в точку отправления, и при помощи радио маяка возможно отыщется.
Сырые данные с гироскопа (не важно цифрового или аналогового), пусть это будет крус (yaw).
42.png (6.31 КиБ) Просмотров: 2037
вычтем bias который мы определили пока гироскоп был в спокойном положении. (-500)
43.png (6.32 КиБ) Просмотров: 2046
проинтегрируем данные
44.png (4.6 КиБ) Просмотров: 2060
приведём к размерности градус
45.png (4.27 КиБ) Просмотров: 2063
Однако в реальности bias который мы вычислили в начальный момент будет меняться во времени,из за чего возникнет ошибка интегрирования
46.png (4.92 КиБ) Просмотров: 2062
Новая идея, - датчик курса.
Есть 3D гироскоп, и аксель на одной плате. берём две микросервы так чтобы можно было вращать датчик вокруг оси X, Y (гимбал на две оси)
1) стабилизируем плоскость X,Y строго горизонтально поверхности земли, так чтобы вектор гравитации акселя был строго по оси Z в таком случае ось Z гироскопа - рабочая (показывает курс), а оси X,Y "не рабочие", т.е. изменение курса они не видят а значит в этот момент всё что они показывают и есть bias, соответственно калибруем bias по X,Y и пользуемся показаниями курса с Z.
2) спустя непродолжительное время поворачиваем датчик так чтобы на место оси Z встала ось Y. при этом получится что ось Y (новая Z) уже откалибрована, а ось Z теперь курс не видит и её можно калибровать.
вот так туда сюда и гоняем, нужно только подбирать оптимальные моменты когда можно поворачивать.
маяк? пульт же в каком-то смысле уже маяк. делать что-то дополнительно может и не быть смысла, не на сигнал же теле/радиовышки лететь. можно переключаться на другую частоту или на другой трансивер с очень другой частотой. если близко, допустим с 433 на 2.4 или 5.8. ну то такое - каждого плющит по своему. с примитивной прошивкой теряются, даже когда могли и не теряться. очень часто ничего лучше, чем наворачивать круги люди не могут придумать. лететь обратно это один из вариантов. как со спутником в хоббийных, понятия не имею, но при той же потери канала связи ла с малым радиусом полётов иногда именно назад и возвращают. а так смотря какая скорость, полётное время, как далеко работает канал связи. немного простых расчётов и можно понять, на что рассчитывать. канал легко может бить на десятки км, летать со скоростями в десятки и более км/час от десятков минут до пары-тройки часов. т.е. +- несколько км легко может и не быть проблемой даже при не очень точной иму.
Angel71 , по практическим вопросам (маяки пульты и т.п) вам лучше на rcdesign поговорить, я не фанат ЛА, хотя вариант летающее крыло мне симпатичен, но это вообще другая область, и её изучать времени нет.
с точки зрения практики нужно исходить из того сколько стоит ЛА и сколько вы потеряете если поставить гиро за $5 или за $60.
единственное, что можно за $5 , возможно, это правильно откалибровать компас, я два раза сглаживаю эллипс чтобы получить точные показания , это недорогой способ как получить более менее точный курс из хлама, в воздухе должно работать качественно, без дополнительных калибровок (по сравнению с квартирой).
но на гиро за $5 сильно рассчитывать точно не стоит. компас даст абсолютную ошибку +-2 градуса, т.е. вполне может пролететь мимо, недалеко от места запуска, а гиро даст относительную +-20, если повезёт.