Jump to content
GPS навигатор СитиГИД

Движение в туннелях


Recommended Posts

По просьбам трудящихся выделю свою мыслишку в отдельную тему...

Я недавно столкнулся с неадекватным поведением программы при проезде туннелей. В Москве есть довольно длинные туннели на ТТК, на Ленинградке и Волоколамке. Если туннель проскакиваешь быстро, то вроде все неплохо - за тобой рисуется зеленая линия. Но стоит попасть в пробку как сигнал GPS пропадает, дельтаплан начинает прыгать туда-сюда, информация о пробке не передается и пробки в туннеле, получается, нет.

В то же время штатная бмв-шная навигация в машине прекрасно ведет в туннеле даже при отсутствии GPS сигнала. Разумеется, что-то там такое используется дополнительно - значение скорости со спидометра, возможно даже положение колес. Я про то, что СГ тоже должен что-то придумать - например, фиксировать время перед въездом в туннель, затем перестать использовать данные GPS чтобы не получалось ложного положения, а при выезде из туннеля когда сигнал GPS восстанавливается снова фиксировать время и на основе этих данных делать вывод о пробочной ситуации в туннеле.

Короче, надо подправить алгоритм работы при проезде туннелей.

Link to post
Share on other sites

Думал об этом, но вроде проблем не замечал, так как редко езжу по тоннелям. Теперь буду следить за работой СГ в тоннелях. Я так понимаю это относится к тоннелям длиной более 500 м?

Link to post
Share on other sites

Думал об этом, но вроде проблем не замечал, так как редко езжу по тоннелям. Теперь буду следить за работой СГ в тоннелях. Я так понимаю это относится к тоннелям длиной более 500 м?

Мне кажется, тут играет роль не длина туннеля, а время потери сигнала GPS. Если пробка мертвая, то и для 50 метрового туннеля получится ерунда.

Link to post
Share on other sites

В айфоне есть акселерометр и компас, почти во всех Андроидах тоже есть и в некоторых устройствах на ВинЦеЕ.

Давно пора ими пользоваться! Кроме того ситигид точно будет знать поворачиваю я или нет! Пропадут метания при плохом приеме GPS.

Edited by zoran
Link to post
Share on other sites

В айфоне есть акселерометр и компас, почти во всех Андроидах тоже есть и в некоторых устройствах на ВинЦеЕ.

Давно пора ими пользоваться! Кроме того ситигид точно будет знать поворачиваю я или нет! Пропадут метания при плохом приеме GPS.

Просветите, пожалуйста, как ими пользоваться в Андроиде?

Link to post
Share on other sites

На андроиде нету программ, использующих компас и акселерометр? Вот точно так же- программа получает данные от этих датчиков и использует для ориентации в пространстве.

Link to post
Share on other sites

Дело в том, что компас корректно будет работать только в портретном положении и если телефон размещен в авто строго перпендикулярно дороге. А это не всегда удобно. В айфоне так. В Андроиде не знаю.

Link to post
Share on other sites

Акселератор в любом положении работает.

Впрочем всякие джунаио вроде в любом положении работают и названия созвездий на то, что видно через камеру более менее точно накладывает, а это далеко не перпендикулярно дороге.

Edited by zoran
Link to post
Share on other sites

практически во всех более или менее современных android смартфонах есть акселерометр. Он меряет текущее ускорение по 3-м осям. Складываешь вектора ускорений, вычитаешь силу тяжести, получаешь итоговое ускорение телефона вне зависимости от его положения. Если это изменение скорости=ускорение на время, наложить это на предполагаемый путь, можно понять текущее положение без данных GPS. Примерно так работает алгоритм в двух используемых программах видеорегистраторах.

Сразу оговорюсь, просто сказать, естественно есть тонкости с расчетом :). В данном случае мы не говорим об абсолютной точности, а с каким-то допуском.

В БМВ могут использовать данные о скорости (спидометр) и об ускорения (на основе данных ESP)

Link to post
Share on other sites

Самое главное, что акселерометр позволяет точно определить когда мы повернули и на сколько, когда поменяли полосу. А это уже не только тоннели, но и повседневное использование!

Link to post
Share on other sites

Так я не понял акселерометр надо подключать или СГ его сам подключает в смартфоне (как игрушка по перемещению шарика по лабиринту :) )? Если СГ использует эти показания, то почему тогда не определяется месторасположение в пространстве при потере cигнала GPS.

Link to post
Share on other sites

В БМВ могут использовать данные о скорости (спидометр) и об ускорения (на основе данных ESP)

Проще использовать данные одометра и направления движения (вперед, назад) и не парится :)

Ну может быть еще положение руля, если такие данные есть.

Link to post
Share on other sites

Я про такое, кстати, писал, только в других темах.

Можно сделать проще - как в томтом.

Когда пропадает сигнал GPS (т.е. не только тоннель, а, скажем, мимо высоток проезжаем, и т.п.) программа должна просто считать, что я продолжаю двигаться либо какой-то средней скоростью (за некоторый промежуток времени), либо средней скоростью с учётом уже известных пробок. Как именно - надо просто сделать и поэкспериментировать, эмпирически не очень понятно. У том-тома была средняя, понятно.

Т.е. как бы симулировать для пользователя GPS и искать новое местоположение в ожидаемом месте.

Да, и предполагать, что "поциент" из туннеля не выбуравливался, и на перпендикулярные улицы не уезжал, а ехал по маршруту. Это важно (!).

Плюсы

1) Будут нормальные команды на перестроения и повороты в туннеле. В томтоме они помогают, реально

2) После появления сигнала будет производится приклейка к правильному маршруту, не будет внезапных прыжков на дублёры и вообще перпендикулярные улицы.

3) Можно рассчитать среднее время на ребро (серию рёбер) по времени их проезда по маршруту.

4) Решение простое, не нужно никаких акселерометров и компасов.

P.S. Интегрирование данных для определения позиции с акселерометра такого качества, как ставят на телефоны, по-моему не особенно хорошая задача - ошибка будет большая.

Link to post
Share on other sites

Акселерометры везде одинаковые, если мы говорим про гражданские гаджеты, а качество использования главным образом в алгоритме. Для начала надо научить программу фильтровать "помехи" и четко отличать повороты. Уже будет большое дело.

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

Edited by zoran
Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...