GPS с гироскопом и одометром.

Вот как обещал несколько картинок. Описалово осталось в конце предыдущей страницы форума. Вот как это выглядит. Все исполнение - автомобильное, разъемы, которые не отключаются при тряске, корпус действительно защищает и механически и от радиопомех. С “шумной” стороны usb-bt и выводные разъемы, с “тихой” стороны антенна GPS.

Вот пример установки в старый кайрон. Это конечно не я, это мастерская-студия так ставит carpcшная. Я только CAN адаптер доставал. Месяц шел.

Добавлю, что если у машины есть возможность подключиться к ABS сенсорами - это по сути те же счётчики оборотов на колёсах. Хорошо с этим обстоят дела у Skoda Fabia - можно отделаться оптроном с резистором, плюс очень высокое разрешение (2-4см на импульс, смотря как подключить). У других авто, говорят, сложнее, но я думаю решаемо.

А у меня для вас есть интересная картинка: абсолютная погрешность относительно RTK измерений:


Средняя погрешность составила 1.8м, максимальная 3.0м. Тест проводился в городском цикле, включая проезд через тоннель.

По тоннелю скажу отдельно: Длинна тоннеля была 320 метров, отклонение перед въездом в тоннель было 2.4м, и на выезде оно составило 2.6м. Последующие тесты показали схожие результаты, 20-50см набегает на этом подземном отрезке.


PS. Осторожно с gpsbabel! В нём обнаружилась ошибка (подтвердилась в версиях 1.4 и 1.5, как в 1.6 - не знаю, у меня она не заработала): При конвертации из nmea в gpx координаты и ещё половина параметров (а вторая половина - нет, лол) могут отставать от метки времени на одно измерение! Иллюстрация поехавших данных: http://svimik.com/gpsbabelfail1.png
Единственный workaroud - отключить при конвертации чтение gpgga (-i nmea,gprmc=1,gpgga=0). Параметров на выходе станет вдвое меньше (очевидно), но зато они не будут съехавшими. А лучше воспользоваться другим конвертером.

SviMik
Плюсану виртуально, спасибо за эксперименты.

PS: похоже все мои десяток девайсов с Sirf Star III сдохли после GPS week rollover (позиционируются только после hard reset, чипу-старожилу более десятка лет). Я правда не все проверял, образцовый TomTom Go 920/930 починил свою прошивку. Надо как-то найти Alexey Illarionov.

Off/2. Была инфа что дохнут не sif-lll, а ионисторы на плате, которые поддерживают память с эмферидами-альманахами. Есть смысл перепаять или (еще более грамотно) заменить заменяемой батарейкой как делают некоторые приборы. :wink:

Точность проезда тоннелей ухудшается от многократного изменения скорости движения в тоннеле (типа пробки-маневров итп) а также при поперечном уклоне проезжей части на виражах или просто для водоотведения. Если первый фактор может нивелироваться при многократных прогонах одного тоннеля, то что делать со вторым - непонятно. Трехосевой гироскоп не предлагать - на нем изза вертикальной тряски такие огромные массивы паразитных данных образуются что работает еще хуже. Полумываю о гиростабилизированных платформах. :roll_eyes:

у китов юблоксовских ничего вроде особенного и нет,
а прошивку тесловскую было бы неплохо и скачать и опубликовать :O)
я хотел 8U перепрошить на 8L но так никак и не собрался.

Надо будет поглядеть как там поживает мой зоопарк из sirf2, 3 и 4.
“Базовую” неделю наверняка можно перепрошить (но я ее в свое время не нашел AFAIR).

А в чём проблема M8 чипа? Я понял что их много и их никто не решил, но не понял, что за проблемы.

Я притащил NEO M8L и пытаюсь разобраться.
Я правильно понимаю, что в него вместо wheeltick и fwd можно выдавать посылки UBX-ESF-MEAS (0x10 0x02) ?
И писать ему надо время, кол-во тиков и направление?
Похоже выдача ему тиков напрямую выглядит более как-то более точно.
Не могу найти даташит на него, везде пишут что вся документация на него закрыта… может есть у кого?

У меня проблем с ним никаких, он показывает вертящиеся свои гироскопы и считает нормальные пульсы по мере их поступления, а не через какое-то время пока их некий счетчик сосчитает. Кроме того можно теоретически убиться и сделать передачу цифр с одной машины-марки, при этом запуск системы на другой марке-модели выливается в полный ниокр с нуля. 10 автомобилей - 10 ниокров, в трех из них почти нерешаемый изза какихто дурацких особенностей протоколов корейцев/китайцев/французов/немцев таких, немцев сяких. А vss - это как общепринятый формат данных, готовыми блоками 99% машин обслуживается, на стандартных блоках собирается.

Пример интегрированного CAN-VSS адаптера.

С 8 чипом одна проблема - он по-умолчанию считает high-forward, то есть любая нормальная машина все время едет у него задним ходом, поэтому калибрация даже не начинается и узнать что он думает в тоннелях при этом невозможно.
Да, и проблема с документацией есть, все методом тыка и снифферов делается. Доков и ответов на вопросы нет.

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

Вторая сомнительная идея - засовывание гироскопов в сборку с кучей цифровых шумов. Сколько мы сломали копий раздвигая эти блоки, экранируя, снижая шумы, еле добились приемлимых результатов на LEA-6R, как все в помойку у 8ых, все свалили в одну кучу.

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

временная метка (прямо из CAN пакета), скорость и бит направления.

Для 6R была некая урезанная докуметнация остальное можно додумать из дизассемблированного
u-center.exe
Возьметесь описать в вики детали, я добавлю свои 5 копеек.
Приемник с LEA-6R (на старомодной плате Intel Galileo-1) и EVK-M8L (и M8U и M8F и F9T и тд) у меня есть.

На 6R как раз нормальная была документация, описание протокола и system integration manual. А что еще нужно?

Спасибо, примерно понятно. M8U вполне понятная история, очень много применений, где wheeltick даже рядом нет.
А GPS + инерционная система, это сильно лучше, чем только GPS. В последней прошивке, они пообещали, что без импульсов скорости она будет работать как m8u. Но у меня чип с предыдущей. И где найти свежую, не ясно.
В общем надо пробовать.

Посмотрел вчера/сегодня в can своего автобуса. Раз в 100мс он обновляет счетчик инкрементов и пишет скорость. И даже направление вращения колеса есть. (Как он определил напр. вращения по одному датчику, пока загадка) Всё по каждому колесу 48 импульсов на оборот. А вот общей скорости пока не обнаружил…

Надо все 4 колеса отдавать? Или два задних достаточно?

А что можно достать из дизассембл. u-center?

Писать в вики пока рано. Надо что-то запустить. Хотя бы в режиме proof-of-concept.

9 серия на 27% больше каналов и 4 одновременные спутниковые системы, любопытно…

+100

Раз в 100мс - это супер. 48пульсов на оборот - мега супер. Не знаю что за автобус, но скорее всего digitalcar can адаптер прочитает его и нагенерит пульсов. Он с переключаемыми частотами и настраеваемый. Задний ход в CANах обычно еще проще находится.

Берут сигнал с одного заднего колеса. Если нужен трек биже к осевой линии дороги - то на левое. Если в OSM чаще приходится отрисовывать рисунок бордюрных камней - то на правое. Антенну тоже есть смысл магнитить куда-то в районе этого же колеса.

Автобус Мерседес Виано.
Антенна уже стоит штатная, думаю что её и использую. Кан адаптер мне не нужен, я сам его его соберу, это для меня не сложно, а скорее интересно. Ну и чем меньше “черных ящиков” тем проще дебажить. Но, попробую, сначала, через meas сообщение закидывать ему данные. Думаю, возможно это лучше чем преобразовывать в тики и подсовывать тики.

Вот только мне кажется лучше два колеса ему подсовывать. Там же в сообщениях есть 5 полей. 4 колеса и общая скорость.
Думаю, что 4 не нужно, а вот 2 колеса, левое/правое, то что надо. В теории m8l может по ним понимать, поворачивает машина или нет.
А кстати остальные колеса, могут помочь при пробуксовках, автобус заднеприводный.

PS. А вы телеграмом не пользуетесь? Может туда перенести совсем технические обсуждения, они тут, по-моему, не совсем в тему?
Например сюда - @carpc

Да, были такие чипы, которые по разнице вращения задних колес определяли поворот, вместо гироскопа. Navis такие делал и достиг практических результатов. Но у них именно два счетчика стоит на входе.

10 лет катаюсь с инерциалками и оказалось очень сложно ее обмануть - даже 6чип четко отображает полный комплект скольжений, боевых-полицейских разворотиков итп. Единственный случай ошибки - если отключить антибукс и буксовать долго и упорно (привет акпп) - курсор на карте на секундочку убегает вперед и примерно за секунду оказывается в нужном месте после сцепления колес с дорогой – поворт же он не с руля берет, а истинный поворот корпуса всего авто считает.

В-общем при картографировании есть много проблем как вести машину с ИНС для качественных теков, но проблема пробуксовок в этом списке примерно на последнем месте. С автобусом кстати придется напрячься и избегать многочастных разворотов во дворах.

Спасибо за приглашение, @carpc, осваиваюсь…

Антенна (встроенная) на крыше обычно стоит над задней осью и прошивке надо (в идеале) сообщить
о смещении в ENU (смотрите мануал на u-blox8).
Передавать можно и 4 колеса, но этот DR вариант (ESFDWT) скорее всего не используется после LEA-4R.

Много чего. Например добавьте опцию “-sfdr” в u-center ‘Settings’ (Preferences->Program options).

Датчик должен знать вращается колесо по часовой или против часовой стрелки.

Не, датчик не может этого знать, импульсы симметричные, энкодерные зубцы ступицы пока не изобрели, зато любое CAN устройство видит включение задней передачи так как этот бит есть и CAN-high и в CAN-low, вобщем везде продублирован. Для проверки можете скатиться задом с горки на нейтралке не включая задней передачи. :smiley: только не забудьте тормозом полностью остановить машину прежде чем включать какие-либо другие передачи.

Положение антенны по-центру задней оси вообще ничем не ухудшит навигацию так как в dr режиме спутниковые сигналы играют лишь вспомогательную роль и плюсминус полметра без rtk не дадут. То есть если у Вас будет несколько треков одной и тойже дороги снятые в разные дни с разным расположерием спутников (возможно) эти все треки придется параллельным сдвигом положить друг на друга т.к. относительная точность ИНС на порядок выше абсолютной точности GPS.

Что-то я поискал ENU в protocol description и ничего не нашел.
Это смещение чего от чего? Антенны от модуля? Модуля от колеса?

Я так понимаю, что модуль M8L надо ставить как можно ниже, к оси колес, что бы он меньше ловил “паразитных” перемещений кузова при кренах и кочках. Или пофигу?
А расстояние от антенны до модулю, кроме ослабления сигнала, как-то еще влияет?
На взгляд дилетанта, длина провода добавляется к каждому “измерению сигнала спутника”. В моём случае это 4-5 метров. Должно же влиять.

Я был такого же мнения, пока позовчера не проснифил кан.

Машина поднята на подъемнике, включено зажигание, руками вращается колесо. АКПП на нейтрали, машина заднеприводная.
Руками вращается любое(!) колесо и я в кане вижу: счетчик импульсов, что-то пропорцианальное скорости вращение колеса и направление вращения(!!!) колеса.
Думаю, что датчики на ступице научились измерять направление вращения. Это догадка, но я обязательно это выясню.
Я сам прифигел, когда это увидел. Но вроде лажануть-то тут негде…

Старые датчики, что холла, что импульсные, конечно, этого не умели.

Там использутся NED (тот же ENU только EN переставлены местами а U заменено на D - вверх/вниз).
и обсуждается геометрическая связь VRP, CRP и IMU
Включите “-sfdr” и увидите установки ESFLA и т.п.
Кстати в ESF-MEAS сообщении 11 (Speed) скорость только положительная ?


0       No Data
1?      Front Wheel Angle
2?      Rear Wheel Angle
3?      Pitch
4?      Steering Wheel Angle
5       Gyroscope Z
6       Wheel Tick FL
7       Wheel Tick FR
8       Wheel Tick RL
9       Wheel Tick RR
10      Single Tick
11      Speed
12      Gyroscope Temp.
13      Gyroscope Y
14      Gyroscope X
15?     Proc. Latency
16      Accelerometer X
17      Accelerometer Y
18      Accelerometer Z
19?     Barometer
20?     Azimuth
21?     Roll
22?     Magnetometer X
23?     Magnetometer Y
24?     Magnetometer Z
25?     Barometer Temp.
26?     Compass Temp.
27?     Temperature

Что-то, ничего не меняется от добавления -sfdr в Tools->Preferences->Generic->Program options.
u-center v.19.08.01
Судя по даташиту:
поля 6-10 bit 0-22 unsigned int; bit 23 direction.
поле 11 m/s * 1e-3 signed.

Должны появиться дополнительные сообщения в F9->UBX типа CFG-ESFLA.

Это для тиков (6,7,8,9), тогда надо вычислять их из скоростей отдельных колес, зная средний радиус колеса.
Я имел в виду Speed (11), что такое “24бита signed”, старший 24бит это знак/направление ?