Навигация и локализация с помощью GNSS уже давно является стандартом в нашей повседневной жизни. Использование этой системы стало стандартном и для беспилотного автомобиля НПО СтарЛайн OSCAR. В то время как большинство людей пользуются простыми GPS приемниками в телефонах, OSCAR использует высокоточные GNSS решения. Но для начала, что вообще такое GNSS, и как она работает?
Что за GNSS?
GNSS расшифровывается как Global Navigation Satellite System (или Спутниковая Система Навигации) и используется как общий термин для спутниковой локализации с глобальным покрытием по всему земному шару. По состоянию на 2019 год, существует несколько основных спутниковых группировок:
- GPS (США), 31 спутник
- ГЛОНАСС (Россия), 24 спутника
- Бэйдоу (Китай), 23 спутника
- Галилео (Евросоюз), 26 спутников
- NAVIC (Индия), 7 спутников
- QZSS (Япония), 4 спутника
Как это все работает?
Возьмем для примера обычный GPS в нашем телефоне. В зоне видимости с Земли всегда есть как минимум четыре GPS-спутника. Каждый из этих GPS-спутников отправляет информацию о своей позиции и текущее время на GPS-приемники с фиксированным интервалом. Ну а расстояние между GPS-приемником и спутником вычисляется путем нахождения разницы между временем отправки сигнала с GPS-спутника и временем получения сигнала GPS-приемником.
Как только приемник (например, ваш смартфон) получает сигнал хотя бы с трех спутников, вычисляется ваше местоположение (а точнее вашего телефона) с помощью трилатерации. GPS необходимо хотя бы три спутника для вычисления 2D-позиции (долгота и широта) и четыре спутника для 3D-позиции (долгота, широта, высота).
Почему GPS плохо работает в городских условиях?
И хотя под открытым небом GPS работает довольно неплохо, точность сильно падает в городских условиях (ошибка может быть 50 метров и более): высокие здания, провода, мосты и прочие объекты — все это ухудшает точность позиционирования.
Переотражение спутникового сигнала в городе. Фото Uber
Здания часто мешают прямой видимости спутников, и пока сигнал со спутника «летит» в ваш приемник, он успевает несколько раз отразиться от зданий и прийти с искажением. Из-за подобных переотражений точность позиционирования существенно снижается (бывает ± 500 метров). Вы, наверняка, сталкивались с такой ситуацией, когда при заказе такси ваше местоположение на карте отображалось неправильно.
Чтобы исключить эти проблемы, мы используем высокоточные GNSS-приемники, существенно повышающие точность позиционирования с помощью IMU (инерциальные измерительные модули), информации с CAN-шины автомобиля, RTK-поправок и еще немножко другой магии.
Повышение точности
Существует несколько основных способов повысить точность. Взглянем на самые популярные:
- IMU (Инерциальный измерительный модуль) представляет собой набор акселерометров и гироскопов, обеспечивающих 3D-измерения. Сам по себе IMU не выдает данные о местоположение (позицию, высоту, скорость), но выдает полезную информацию для вычисления местоположения в местах, где GPS не «ловит» (тоннели, паркинги и пр.);
Типичный IMU
- RTK-поправки существенно повышают точность местоположения до 1–2 сантиметров в реальном времени. Суть проста — по всему земному шару расположены так называемые базовые станции (base stations). Конкретная базовая станция знает погрешности в своей области и сообщает их приемнику, а последний, в свою очередь, учитывает эти корректировки и выдает более точное решение;
По большому счету, базовая станция — это GNSS-приемник в режиме “станция” + софт + радио/интернет канал
- CAN-шина также полезна при расчете местоположения, так как автомобиль предоставляет полезные данные о скорости, оборотах колес и пр. характеристиках.
Вы знали, что в нашем OSCAR’e?
OSCAR и высокоточные GNSS-приемники
Сантиметровая точность необходима всем беспилотным автомобилям, не только OSCAR. Представьте на секунду, чтобы было бы, если бы беспилотник использовал обычный GPS с точностью ± 50 метров:
Такая низкая точность однозначно приведет к ДТП. Именно поэтому в процессе работы над OSCAR мы проводили исследования и испытывали ряд GNSS приемников, тестируя их в сложных условиях плотной городской застройки.
Автомобиль один, а GPS-треков несколько
В итоге, мы остановились на двух решениях:
- NovAtel PwrPak 7D-E1
- uBlox F9K
Оба приемника показали отличные результаты и были успешно интегрированы в нашу программно-аппаратную платформу.
В StarLine мы наслаждаемся тем, что делаем безопасный беспилотный автомобиль реальностью. Если тебе также интересна эта тема и ты хочешь строить беспилотное будущее с нами, то приглашаем в команду!
Проект StarLine OSCAR (Open Source Car) открыт для специалистов из Open Source Community, где все желающие могут поучаствовать в процессе разработки беспилотника на уровне кода, опробовать свои алгоритмы на реальном автомобиле, оснащенном дорогостоящим оборудованием.
Twitter: twitter.com/starline_oscar
Сайт: smartcar.starline.ru
GitLab: gitlab.com/starline/oscar
Автор: StarLine_Smartcar