Про оффлайн-навигацию
Feb. 23rd, 2026 06:08 pmЗадумался над тем, что к OsmAnd надо бы прикрутить режим навигации без использования GPS. Пусть грубый, с ошибками, но работающий в условиях отсутсвия сигнала от спутников и прочих внешних источников геолокации. Для пешеходных маршрутов расстояния можно мерить в шагах. Акселерометр телефона вполне себе позволяет считать шаги, и приложений-шагомеров полный плеймаркет. На автомобиле можно добраться до показаний одометра через блютусный донгл на диагностическом разъеме. Тоже железяка вполне стандартная. Естественно погрешность будет гигантская. Поэтому необходимо иметь удобный жест для указания своего реального места на карте. Благо на суше достаточно легко привязаться к какому-нибудь перекрестку или, тем более, бензоколонке, на которой остановился.
Основная беда в том. что для того, чтобы правильно вести счисление, нужно не только лаг, но и компас. Магнитные компасные датчики, которые есть в телефоне, даже в пешем маршруте показывают погоду на Марсе. Погрешность у них составляет в лучшем случае десятки градусов. А для более-менее приличного счисления нужно не более градуса. То есть в железной машине придется магнитному компасу девиацию уничтожать. Хотя основная проблема в том, что этот датчик хоть как-то работает только если телефон расположен горизонтально, экраном вверх. А что в пешем маршруте, что при закреплении на торпеде автомобиля, он будет расположен скорее вертикально. Похоже, нужен внешний компасный датчик с bluetooth интерфейсом. Интересно, кстати, есть ли где-нибудь доступная для скачивания карта магнитного склонения? А то без карты склонения по магнитному компасу особо не поориентируешься. Так что лучше внешний датчик делать на базе гирокомпаса. Правда, тут вылезает проблема в том, что на MEMS-гироскопах гирокомпас не сделаешь. Он основан на явлении прецессии, возникающей у гироскопа на вращающейся Земле. Поэтому через некоторое время после включения сам входит в меридиан.