Comments 24
Вся статья про то, как не строить сложную IMU-калибровку, а просто взять скорость из CAN-шины и подкрутить её полиномом. И это, пожалуй, самый честный инженерный подход: не изобретать велосипед, а использовать то, что уже есть на борту. Респект
А можете вообще про DR прояснить? Вот есть у меня приёмник uBlox с поддержкой DR. Но, как я понял, само по себе это ничего не даёт - нужно приложение, которое будет всё это обрабатывать. Что же тогда такое DR? Просто акселерометр? Неужели нет готового приложения под андроид, которое будет обрабатывать с учётом этого аксилерометра и проксировать GNSS?
само по себе это ничего не даёт
да вроде как должно давать. обработка ускорений довольно сложный а значит дорогой процесс который давать на откуп android (и только android) очень нелогично: легко скопировать, отреверсить и что делать с системамии где нет anrdoid
Ну я тоже думал, что чип за 10т.р. должен давать что-то большее чем просто дополнительный акселерометр. Но нет: ведёт себя как обычный навигационный приёмник.
А вы какие сообщения из протокола UBX парсите? Насколько мне известно для DR отдельные сообщения в UBX предусмотрены стандартные отдают стандарную GPS позицию и с корость без DR. Также на вашейм Ublox-то вообще imu распаян, вы видели? Или требуется внешний imu развести на плате, если да он есть на плате?
Да я просто подключил его в автомобильному ГУ, и использую обычный транслятор GNSS для внешнего USB-приёмника. Чип всё-таки умеет отдавать скорректированные по DR координаты, но делает это через свой протокол, а через обычный NMEA не делает? Почему?
сколь я помню там нужно подавать особые команды для конфигурации нужного режима
Звучит как вопрос к Ublox. На NMEA помойму нет сообщений с DR, и вообще позиция Ublox по NMEA такая, что это текстовый протокол он человеко ориентированный старый это legacy, требует парсить строки текста что-бы переводить их в бинарный машинный код для устройства а UBX это бинарный протокол для общения машины с машиной сразу байтиками он более удобен и компактен (в бинарном виде данные предаются быстрее т.к. занимают меньше байт и могут загружаться сразу в ОЗУ без парсера) и потому развивают именно его!
Я бы к прекрасной математике, а лучше до неё, подключил физику. Надо прежде всего выяснить откуда физически в Кан шине скорость и какой датчик её обеспечивает, и нельзя ли получить сразу перемещение (обороты колеса). Трамвай -относительно простой случай, поскольку идёт по рельсам и по маршруту. При хорошей точности датчиков должен быть хороший результат. Возможно несложный копеечный лидар под днищем даст лучшую точность, причём сразу перемещение, а не скорость (как компьютерная мышка). И ещё для счисления (дэд рэконинга) важно и возможно в случае трамвая делать физическую коррекцию. Например, остановка, светофор, поворот. Математика - это круто, но ещё круче, если подумать и поработать до неё. Удач.
Опять московское княжество
Детсад на прогулке. А исходные данные - обороты колеса - с КАН шины, сразу и без заморочек, не судьба было получить? Вместо того, чтобы расстояние высчитывать, как производное от производного и потом мучатся с корректировкой неизбежно набежавших ошибок?
Для привязки к маршруту на остановках можно разместить радиочастотные метки, а на вагон - считыватель. За несколько рейсов наберёте данные для калибровки с точностью погрешности расстояния считывания метки. Если в ключевых местах использовать уникальные метки, то по ним вагон может определять маршрут. И никакого GNSS.
Можно табличку c QR кодом на остановку и камеру внутрь трамвая. Можно и на светофоры повесить.
Остановка сама по себе же метка. В отличии от светофора, на остановке двери открываются, можно к этому событию привязываться.
Какого именно колеса? Их 8 и вращаются они с разными угловыми скоростями. На поворотах, но чаще - при пробуксовках. Метки тоже не вариант, так как требуют точного позиционирования считывателя относительно метки, что в реальной жизни невозможно. В обоих случаях получаем накапливающуюся погрешность
Насколько мне известно, в московских трамваях активно внедрялась система идентификации трамвая по меткам, спрятанным в полотне. Считыватель установлен на трамвае снизу. Как только трамвай проезжает над меткой, его местоположение определяется с высокой точностью. Чем больше таких меток, тем точнее и чаще определяется местоположение трамвая. Это надёжный способ уточнения координаты борта.
Как человек 16 лет посвятивший созданию путеобследовательских станций могу сказать вот что(странно что мне вам надо это говорить, ну да ладно). Говорю без сарказма и юмора.
1.одометрия на жд транспорте вещь очень важная и тяжелая, несмотря на кажующуся простоту. Собсно, проблема в том что колеса на кп жестко связаны, а движение тележки в колее вещь с точки зрения физики очень сложная. Профиль колеса, профиль рельса(рельс - мужского рода), угол установки рельса в колее(подуклонка), все непросто так.
2.Клуб и его аналоги достаточно продвинуты и постоянно корректируются. Это на жд и метро, с их телемеханикой. Бог в свое время отвел от трамваев, поэтому за них не скажу, но все таки думаю что аналог алсн должен быть и там. Это самая лучшая коррекция. Ординаты по изостыкам считают до см и актуальность этих данных постоянно поддерживают.
3. Как уже указали, можно брать инфу непосредственно с одометра. В Бакинском метро например точность позиционирования по одометру в прямых участках была порядка см, это с учетом сложного виляния тележки. Но надо учитывать кучу факторов, самое простое и часто встречающееся - эксцентриситет установки, на метро кстати с его гораздо более высокими требованиями по позиционированию очень интересный конструктив.
4. Как уже сказали в путь (в московском и питерском метро точно, сам этого касался) зашивают рфиды с путевой ординатой и географическими координатами, их тоже можно использовать.
Кстати, в трамвайных ордигатах отрицательные и нулевые пикеты бывают?
Вообще с одной стороны вы проделали большую работу, НО это реально похоже на изобретение велосипеда.
Такие "инерциальные" системы существуют очень давно и стали бытовыми, как пример в моём Nissan 2012 года навигационная система продолжает работать после гашения спутников, разброс позиционирование порядка сотни метров на десяток километров, система учитывает скорость и поворот руля, в вашем случае руля нет, НО кто мешает добавить в схему несколько датчиков типа гироскопа и компаса и за счёт них корректировать то, что прилетело с can???, Так же трамвай не в ваккуме движется, а проходит через множество известных контрольных точек (остановки и перекрёстки) на которые можно так же опираться в расчётах, у вас же там камеры и системы распознавания....
Нет на текущий момент автономных систем пощиционирования гражданского назначения (т.е. дешёвых в массовом выпуске) с хорошими характеристиками в широком спектре условий. Если на пять минут пропадет сигнал ГНСС, система условного Ниссан-а отработает худо-бедно на шоссе в средней полосе в разумном температурном пределе. Как только сильно похолодает, начнется гравийка или амортизаторы попадутся контрафактные - система через пол часа начнет выдавать серьезную ошибку.
У трамвая, думаю, вибрации сильнее будут влиять, так что ждём зимы, дорогие товарищи, жесткость покрытия, резонансы, все дела. Весьма вероятно, что полученные коэффициенты можно будет выбросить в мусорную корзину.
Христа ради, друзья, прежде чем гонять людей и аппаратуру, открывайте справочники если не для инженеров, то хотя бы для для техников, там формулы со степенями и логарифмами, правда, зато понятно какие факторы надо учитывать при расчетах в первую очередь.
по мере износа колеса точность поплывёт. пусть там будет 1мм/об но он жэ накапливаеца.
в авто еще сложнее, там явно будет зависимость от загрузки и давления в шынах.
Как мы заставили трамвай ехать без GPS: калибровка CAN‑скорости с помощью GNSS