Вспомните старые фильмы про подводные лодки. Там штурман сидит над картой, карандашом рисует курс, а рядом стрелка компаса и какие-то циферблаты. Подводная лодка не видит спутников — вода не пускает сигнал. Поэтому она ориентируется по‑другому: знает, откуда вышла, сколько прошла, куда повернула. Это называется инерциальная навигация.
Современные ракеты и самолёты тоже так умеют. У них внутри стоят акселерометры и гироскопы — датчики, которые чувствуют каждое движение. Компьютер складывает эти движения и вычисляет, где ты сейчас находишься, даже если все спутники отключились.
А теперь хорошая новость: у вас в кармане тоже есть такие датчики. Ваш смартфон оснащён акселерометром (он понимает, когда вы трясёте телефон, чтобы включить фонарик) и гироскопом (он определяет, как вы повернули экран). Их точность, конечно, не ракетная, но для некоторых задач вполне хватает.
Как приложение Transit обманывает глушилкиЕсть замечательное приложение Transit. Оно помогает планировать маршруты на общественном транспорте. Но главная его фишка — оно умеет определять, где вы находитесь в метро, даже когда нет ни GPS, ни сотовой связи, ни Wi‑Fi.
Как это работает? Разработчики подумали: в метро всё предсказуемо. Поезда ходят по расписанию, станции расположены на известном расстоянии, а главное — вагон вибрирует определённым образом. Если записать эти вибрации, то можно научить программу распознавать: едет поезд или стоит, спускается человек по лестнице или идёт по платформе.
Для этого двое энтузиастов обкатали все линии нью-йоркского метро с несколькими смартфонами. Они записали вибрации на каждой станции, в тоннелях, на переходах. Получилась огромная база данных. На основе этих данных нейросеть научилась различать типы движения: поезд разгоняется, тормозит, стоит, пассажир идёт, бежит по лестнице и так далее.
Дальше вступает в дело вторая модель — «миксер». Она берёт:
- тип движения (определённый по вибрациям),
- последнее известное местоположение (до того, как сигнал пропал),
- расписание поездов,
- и вычисляет, на какой станции вы сейчас находитесь.
Всё это происходит прямо на телефоне, без отправки данных в интернет. Приложение не знает, куда вы идёте, но точно знает, где вы. Точность — около 90 процентов. То есть в девяти случаях из десяти оно угадывает станцию правильно.
А если добавить барометр?В некоторых смартфонах есть барометр — датчик атмосферного давления. Оказывается, он тоже может помочь. Когда поезд въезжает в тоннель, давление меняется из-за эффекта Вентури (это когда воздух сжимается в узком пространстве). Выход из тоннеля даёт обратный скачок. Зная, что между входом и выходом ровно одна станция, можно очень точно привязать координаты.
Эксперименты показали, что барометр способен определить момент входа и выхода из тоннеля со стопроцентной точностью. Правда, это работает только в закрытых тоннелях метро, но для такого случая — идеально.
А что за пределами метро?Пока что подобные технологии работают там, где маршруты фиксированы и предсказуемы. Метро — идеальный полигон: поезда ходят по расписанию, расстояния между станциями известны. Но в будущем, с развитием машинного обучения, можно будет расширить подход и на автобусы, трамваи, даже на пешеходов. Представьте: ваш телефон знает, что вы обычно ходите на работу одним маршрутом, и если GPS пропал, он просто продолжает вести вас по памяти, сверяясь с шагами и поворотами.
Звучит как немного жутковато, но удобно. Особенно если вы идёте по незнакомому району, а навигатор решил устроить выходной. В общем, инерциальная навигация в кармане — это уже реальность. И она становится умнее с каждым обновлением приложений.
Так что в следующий раз, когда GPS откажет в метро, не спешите паниковать. Возможно, ваш телефон уже знает, где вы. И даже скажет, когда выходить.