Разработчики Google добавили в Android коррекцию сигналов навигационных систем в городах с высотными зданиями, которые отражают сигналы, что приводит к некорректному определению местоположения. Теперь смартфоны смогут учитывать модели зданий при обработке сигнала и рассчитывать отражения от них.
Глобальные спутниковые навигационные системы (GNSS) состоят из спутников, которые транслируют точное время и данные о своей орбите. Благодаря тому, что сигнал от них приходит с задержкой, которую можно рассчитать исходят из скорости распространения радиоволн, смартфон может рассчитать свое местоположение, опираясь на сигналы с нескольких окружающих спутников. Однако в больших городах с небоскребами и просто высокими зданиями сигнал доходит до смартфона не напрямую, а с отражениями, которые влияют на задержку. Это приводит к ошибкам в расчетах, которые в свою очередь приводят к тому, что смартфон может определять себя на другой стороне улицы или даже на соседней улице.
В Android эта проблема уже частично решена при помощи системного API Fused Location Provider, который комбинирует данные от GNSS, Wi-Fi и сотовой сети, чтобы увеличить точность определения местоположения. Теперь Google объявила, что начала добавлять в Android-смартфоны функцию, которая корректирует работу самой подсистемы GNSS без учета других типов сигналов.
Для этого компания воспользовалась базой 3D-моделей зданий из Google Maps, которая на текущий момент охватывает почти четыре тысячи городов. В блоге Google отмечает, что разработчикам пришлось научить алгоритм работать в ситуации неопределенности: если по получаемым сигналам GNSS расчеты дают некорректное местоположение, то как понять, от каких зданий отразились сигналы, чтобы провести коррекцию? Компания не раскрывает, как именно разработчики решили эту проблему, отмечая лишь то, что модуль использует «сырые» сигналы GNSS и алгоритмы машинного обучения. После того как настоящее местоположение и окружающие здания установлены, алгоритмы предоставляют данные для коррекции в Fused Location Provider, затем этот API предоставляет данные коррекции в чип GNSS, что позволяет уточнить расчеты чипа в следующий цикл.
Алгоритмы работают не только с GPS, но и с «Глонасс», европейской Galileo, китайской BeiDou и японской QZSS. При этом работать они будут только в городах, в которых есть база зданий Google Maps (в России таких городов пока нет). Кроме того, у набора алгоритмов есть две версии. Первая версия будет работать на смартфонах с Android 8 и начала появляться в смартфонах через обновление Google Play Services. Вторую версию Google уже внедрила в собственные смартфоны Pixel 5 и Pixel 4a 5G, добавив их с декабрьским обновлением, а в 2021 году добавит в другие смартфоны. Первая версия уменьшает частоту ошибок с распознаванием местоположения на другой стороне дороги в два раза, а вторая версия — в четыре раза.
Недавно Google также использовала данные своего сервиса уличных панорам Street View, чтобы научить смартфоны понимать, где они находятся и в какую сторону направлены. Летом в приложение Google Maps добавили функцию калибровки, при которой смартфон по камере определяет здания неподалеку и точно рассчитывает свое местоположение.
Григорий Копиев