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

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

Про пожелания:

  1. Я сам удивился насколько меньше проблем в жизни становится если в автомобильном девайсе не делать питание от 12В. :smiley: Надо пересмотреть эту позицию с учетом современного китаепрома. Уже несколько установок было через 5в преобразователь.
  2. Можно сделать BT и RS232 одновременно. Мешает то что прямо на самом чипе второй выход физически USB, с работой с фирменными драйверами, виртуальным портом в компе итп. Его переделать назад в rs-232 - это целая история с риском получить кирпич. Bluetooth возможно проще.
  3. UART в TTL тоже несложно вывести, но места не так много, кроме того есть компоновочные проблемы: каждый лишний порт шумит, а RF-часть, а особенно цепи гироскопа очень боятся таких шумов. Получается что страдают люди, которым не нужен UART. Есть идейка как этого всего избежать - сделать байпасс на max 12в, чтобы без него выводить ttl напрямую на разьем db-9. А BT при этом повесить на USB. Так может быть шанс сохранить уникальные характеристики всей коробочки по основному показателю - чувствительности приема GPS.
  4. Тоже было в планах поковыряться в HC-05, в некоторых версиях HC-06. Пока они находятся в режиме “темный лес” - либо работают, либо не работают. Как нерабочий перепрошить и настроить пока не приходилось разбираться.

Вобщем посмотрим что радиоэлектронный рынок предложит “10 лет спустя”. Если получится собрать комплектуху, то к НГ можно будет что-нибудь замутить :sunglasses:

Немаловажно также настроить частоту NMEA хотя бы на 5Гц, иначе этой красоты по-умолчанию не видно. Но чтобы это сделать, придётся ещё перенастроить скорость порта, а чтобы не потерять при этом BT, надо ещё и перенастроить HC-05. Мне не сложно, но не все такие, как я.

Нет, я имел в виду все 3 оставить! BT и RS232 повесить на один порт. Один из них оставить только на передачу, чтобы не конфликтовали, и вывести на плате перемычку, какой из них пользователь хочет на приём команд, если хочет использовать u-center с одним из этих портов.

У вас там на плате пустые площади такие, что коня можно валять. Я приклеил преобразователь просто на пустое место, и там осталось ещё столько, что ардуина целый МК поместится с гнездом под MicroSD, чтобы коробка сама треки писала. Что, собственно, я и думаю сделать следующим шагом.

А ещё, на днях я планирую поставить мелкую ардуинку, чтобы суммировать импульсы с обоих колёс. Это должно быть не только точнее, но и позволит с чистой совестью писать трек посередине машины, а не слева или справа.

И вот вам ещё:
5) Сделать два входа для импульсов для тех, кто подключается к ABS датчикам. Припаиваем какой-нибудь мелкий AVR контроллер, и пишем код, который будет суммировать импульсы.

  1. Порт 115200 и любые герцы идут штатно через USB. Гнать все это через uart+max12+rs232+HC-05+bluetooth+мобилко-на-андроиде мягко говоря неоптимальная конструкция. Как говорится велком в клуб pccar.ru. Но я не настаиваю, каждый вправе извращаться как угодно в пределах своей компетенции :sunglasses:
  2. Идея ясна, можно сделать чуть другой формы переходник и пропилить дырку под BT над DB-9. Немного больше фонит. Перемычки - вот они сильно фонят, неприятно. Надо подумать. А нельзя просто все запараллелить и Rx и Tx? Просто не отправлять ничего туда и не будет путаницы.
  3. Это не пустые площади. Это только с точки зрения цифровой техники они “пустые”. К сожалению много очень квалифицированного народа нарвалось на крупные проблемы из-за такого восприятия. Вплоть до нерабочих схем. Если Вы посмотрите шумы и как от них защищаться, но становится понятным принцип экранирования и взаимного расположения деталей. Вся плата в заземлениях и металлизированных отверстиях, думаете от хорошей жизни? Вам еще провезло что питалово стоит в секторе питалова т.е. изначально шумном, как USB. Если такие вещи ставить со стороны гироскопа АЦП или RF тракта, все капец, прибор теряет примерно все.
  4. Так и не понял зачеи нужен трек “постереди машины”. Вы там порядовку делаете в карте? Обычно нужна либо осевая линия дороги, либо контурная асфальта-газона. Это я как градостроитель говорю. Осевая как раз практически на левом колесе идет, контур дороги на правом. Столько возни из-за странной линии. Кроме того есть еще в градостроительном софте функция offset - создание параллельных кривых. В случае ИНС треков заметно более продуктивный метод с развитыми возможностями по сравнению с осью машины. Еще есть гениальное место для осевой линии (я оттуда брал) - датчик вращения выходного вала КПП, до дифференциала. Конструкционно от abs не отличается ничем.
  5. Тут может оказаться превышение предельной частоты. Надо будет поискать в ТТХ, было где-то.

Опять вы меня не поняли. ublox не даёт отдельно выбрать частоту для USB, отдельно для UART. Если я поставил 5Гц - оно везде будет 5Гц, независимо от того, нужно мне оно на bluetooth, или нет. Поэтому единственный выход для bluetooth - мириться с этим, и передавать тоже на 5Гц. А в дефолтные 9600 5Гц никак не влазят.

Но, справедливости ради, мне нравится, как плавно и точно поворачивается карта в османде на телефоне, когда данные передаются на 5Гц. Если оно работает, и работает хорошо, то какие аргументы против?

Тогда надо развязать их с помощью подтяжки и двух диодов, дабы они не устроили КЗ в попытках установить линию в разное состояние.

Попробуйте накрыть чувствительные тракты металлическими экранами типа таких.
Ну и наконец, кардинально вопросы помех решают банальные 4-х слойки со слошными слоями массы и питания внутри.

А я не понял, как вы машиной бордюры измеряете. Всё равно у вас какой-то offset будет, если только не ехать колесом поверх самого бордюра. Да и из кабины ж не видно точное расстояние между колесом и бордюром, оно же плавать будет.

На вас водители странно не смотрят, когда вы колесом по разделительной полосе или бордюру едете? И не точнее ли получится, если проехать туда, обратно, и вычислить осевую линию между двумя треками? Держать машину по центру полосы гораздо легче, чем одним колесом куда-либо.

Плохое место. Ведущие колёса могут пробуксовывать, когда трогаешься. Задние в этом плане надёжнее.

Ну, я не градостроитель, и бордюры у нас и так по снимкам нарисовать можно. Задачи с GPS у всех разные.

Добавил выход для подключения ардуины (UART и 5V):
http://svimik.com/IMG_20190730_191509.jpg
http://svimik.com/IMG_20190730_194431.jpg

Сделал сумматор импульсов, чтобы использовать оба задних колеса:
http://svimik.com/IMG_20190730_192442.jpg
http://svimik.com/IMG_20190730_202410.jpg
Код можно взять здесь: https://gist.github.com/SviMik/9b7d5af135ae5ea2b234d6699f818c67

Тест в туннеле:

Разворот в первую и вторую полосу.

Этот снимок пришлось сместить под трек, что-то он аж на 7 метров уехал :confused:
Далее все снимки пойдут как есть, без смещения. Похоже, какой-то одиночный косяк Maa-amet.

Сравнение с GPS в телефоне:

Тут телефон поймал последнюю точку у форточки:

Круть крутецкая. Мы читаем и молча завидуем))

Вот вам и первая success story: T1 Mall of Tallinn

Изначально это выглядело так:

Далее, я проехался там со своим новым девайсом, и получил вот такие треки:

Итоговый результат:

В принципе, такое здание - это предел возможностей девайса. И то, я выныривал из него три раза, чтобы поймать GPS.

В первый раз я попытался замапить вообще всё за один заход. За 15 минут набежала ошибка в 5 метров. На скрине выше видно, что линии уже начали ехать. Потом стал периодически выныривать, чтобы поймать GPS. После этого выработал тактику: отдельно проезжать здание насквозь по кратчайшему пути, чтобы точнее замапить все въезды, выезды, и главные проезды. Потом уже развлекаться со всякими parking_aisle.

Красота!
Интересно, к велокомпьютеру можно подключить? :slight_smile:

Да, уж красота. Всеж датчики ABS супер-качественную инфу для счисления пути поставляют! :smiley:

Дык, так инерциалки все только так и работают — надо иногда выныривать для уточнения позиции :roll_eyes:

Можно, если сделать четырехколесный велик, который повороты без крена проходит. :smiley:

Не, мой двухколёсный и с креном, хотя на море на чём-то подобном катались по набережной https://strongpeople.ru/velomobili/modeli-dlja-kommercheskogo-ispolzovanija/chetyrekhmestnyy-velomobil-infanteriya/ там точно крена не было, надо брать :slight_smile:

Можно попробовать поставить девайс на электронный стабилизатор для камеры, чтобы он всегда был горизонтальным.
Ну или уговорить автора ещё раз попробовать 6-осевые сенсоры, может что-то интересное на рынке появилось.

  1. С шестиосевыми гиррскопами есть одна большая проблема — вы получаете огромный поток ненужной информации, 90% из нее невозможно очистить от мусора изза тряски, но для работы системы нужно и достаточно одной оси - Ζ. То есть добавляется огромное количество ресурсов, а качество информации не становится лучше. Задача определения горизонта впринципе нерешаема в mems гироскопах на подвижной платформе, как и задача определения нулевой скорости при остановке в mems линейных акселерометрах. Изза шумов все уходит и уплывает.

  2. Да, гиростабилизированные платформы это интересно и может помочь, втч и гимбалы от камер. Только опять важно не связываться с трехосевыми подвесами иначе они “сожрут” информацию о повороте транспортного средства вокруг оси Z и вся затея потеряет всякий смысл.

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

Спасибо, Кэп. Да, надо будет поискать двухосевой, или тот, у которого третью ось можно отключить.
Альтернатива - собрать такой самому. Можно сделать довольно компактно, нам ведь сильные наклоны не нужны.
Как ещё вариант - поставить гироскоп на отдельную плату, и использовать микросерво или магнитный подвес для его стабилизации. Такое уже может влезть в саму коробку.

Все 6 осей нужны для одной цели - вычисление наклона платформы. Далее, имея наклон, мы можем:

  1. Использовать 3 оси гироскопа для вычисления четвёртой, виртуальной оси, которая располагалась бы горизонтально.
  2. В зависимости от наклона дороги отредактировать показания одометра, чтобы расстояние считалось относительно горизонтальной плоскости.
    Оба пункта должны решить проблему езды по наклонным поверхностям.

Рекомендую также обратить внимание на MEMS массивы:
https://inertialelements.com/osmium-mimu4444.html
У одиночного MEMS датчика дрейф 5.4 градуса в час. Усредняя 4 штуки уже получается 2.3 градуса в час. А если поставить 32 штуки - всего 1.2 градуса в час.
Цена за готовое изделие немного неадекватная, но компоненты недорогие, можно повторить такое самому.

Ну и чисто поржать, если есть лишние 100 баксов:
https://www.ebay.com/itm/KVH-DSP-5000-Fiber-Optic-Gyro-o/323866115567
Оптоволоконный гироскоп. Модель 2002 года и б/у, отсюда такая цена. Но по идее даже оно должно быть лучше любых MEMS. В своё время такая коробочка 4000$ стоила.

SviMik, никто не обещал, что у датчиков будет нормаловское распределение дрейфа. Их нельзя так, арифметически, усреднять. (усреднять-то можно)) тока опираться на те градусы ябы побоялся).

По результатам месяца использования набралась некоторая статистика

Итого, разброс координат составил приблизительно плюс-минус полмашины (60см)

А у вас случаем EGNOS не ловится ? Уж больно хороши результаты.

Увы, не знаю, как смотреть.

Для навигатора - хорошие. Для мапинга - хочется лучше. Очень жду результатов теста двухдиапазонного приёмника.

chnav, не, это гироскопы. Sbas’ы такие точности не дадут. Можно на сотовом погонять спутник поправок, даже если его нет. Через инет.

Программа Status GPS → location source: sbas enhanced (ddk).
Вот, в сторону ддк и копать. Бесплатное приложение на неделю, что ли. А Статус гпс умеет в него тыкаться.

Гироскопы убирают скачки позиции в плохих условиях приёма плюс DR при отсутствии сигнала, глобальной точности они не добавляют. Хотя конечно качество по сравнению с автономной позицией ощутимо лучше.
Гладкий != точный.

Добавлю про сравнение треков, это касается абсолютно всех треков, не только данной теме. По сути мы сравниваем в одномерном пространстве, т.е. смещение треков поперёк направления движения. Смещение вдоль никого не интересует и его невозможно увидеть на треке. Пример двумерного случая - “балконный тест”, когда координата гуляет в двух осях.

По идее надо посмотреть строку $xxGGA, но полагаю было бы видно и в $xxGSA.
Посмотрел в вики, у вас должен быть виден спутник 36 (PRN123), юг-юго-запад возвышением около 30°.
https://en.wikipedia.org/wiki/European_Geostationary_Navigation_Overlay_Service