image

Навигация и локализация с помощью GNSS уже давно является стандартом в нашей повседневной жизни. Использование этой системы стало стандартном и для беспилотного автомобиля НПО СтарЛайн OSCAR. В то время как большинство людей пользуются простыми GPS приемниками в телефонах, OSCAR использует высокоточные GNSS решения. Но для начала, что вообще такое GNSS, и как она работает?

image

Что за 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 метров и более): высокие здания, провода, мосты и прочие объекты — все это ухудшает точность позиционирования.

image

Переотражение спутникового сигнала в городе. Фото Uber

Здания часто мешают прямой видимости спутников, и пока сигнал со спутника «летит» в ваш приемник, он успевает несколько раз отразиться от зданий и прийти с искажением. Из-за подобных переотражений точность позиционирования существенно снижается (бывает ± 500 метров). Вы, наверняка, сталкивались с такой ситуацией, когда при заказе такси ваше местоположение на карте отображалось неправильно.

Чтобы исключить эти проблемы, мы используем высокоточные GNSS-приемники, существенно повышающие точность позиционирования с помощью IMU (инерциальные измерительные модули), информации с CAN-шины автомобиля, RTK-поправок и еще немножко другой магии.

Повышение точности


Существует несколько основных способов повысить точность. Взглянем на самые популярные:

  • IMU (Инерциальный измерительный модуль) представляет собой набор акселерометров и гироскопов, обеспечивающих 3D-измерения. Сам по себе IMU не выдает данные о местоположение (позицию, высоту, скорость), но выдает полезную информацию для вычисления местоположения в местах, где GPS не «ловит» (тоннели, паркинги и пр.);


image

Типичный IMU

  • RTK-поправки существенно повышают точность местоположения до 1–2 сантиметров в реальном времени. Суть проста — по всему земному шару расположены так называемые базовые станции (base stations). Конкретная базовая станция знает погрешности в своей области и сообщает их приемнику, а последний, в свою очередь, учитывает эти корректировки и выдает более точное решение;


image

По большому счету, базовая станция — это GNSS-приемник в режиме “станция” + софт + радио/интернет канал

  • CAN-шина также полезна при расчете местоположения, так как автомобиль предоставляет полезные данные о скорости, оборотах колес и пр. характеристиках.

image

Вы знали, что в нашем OSCAR’e?

OSCAR и высокоточные GNSS-приемники


Сантиметровая точность необходима всем беспилотным автомобилям, не только OSCAR. Представьте на секунду, чтобы было бы, если бы беспилотник использовал обычный GPS с точностью ± 50 метров:

image

Такая низкая точность однозначно приведет к ДТП. Именно поэтому в процессе работы над OSCAR мы проводили исследования и испытывали ряд GNSS приемников, тестируя их в сложных условиях плотной городской застройки.

image

image

image

Автомобиль один, а 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

Комментарии (27)


  1. kahi4
    05.12.2019 18:50
    +1

    Global Navigation Satellite System (или Спутниковая Система Навигации)

    В России, на удивление, точно такая же как английская аббревиатура, ГНСС, которая в тексте ни разу не встречалась.


    GPS необходимо хотя бы три спутника для вычисления 2D-позиции (долгота и широта) и четыре спутника для 3D-позиции (долгота, широта, высота).

    Строго говоря, для 3д хватит и трех спутников, как и двух для 2д, но упускается достаточно важная деталь как уход часов. А именно — часы на потребительском устройстве уходят слишком сильно, чтобы выдавать какую-нибудь вменяемую координату. Поэтому в систему уравнений добавляется еще одна переменная — текущее время, а чтобы решить СУ с 4-мя переменными нужно минимум 4 уравнения, поэтому и нужен четвертый спутник. Иначе это выглядит слегка странным зачем нужен 4-й спутник.


    И вообще, объяснять принцип работы ГНСС ни разу не упомянув слово "псевдодальность" только вредить.


    Почему GPS плохо работает в городских условиях?

    Хотел увидеть слово GDOP. Если коротко — переотражение (она же многолучевость) — одна из бед, но далеко не единственная. Например, здания в целом заслоняют спутники, из-за чего приемнику приходится опираться на хотя бы что-то, что он видит, а это может быть далеко не самый оптимальный выбор спутников.


    Сам по себе IMU не выдает данные о местоположение (позицию, высоту, скорость), но выдает полезную информацию для вычисления местоположения в местах, где GPS не «ловит» (тоннели, паркинги и пр.);

    Можно было и расписать что же он такое выдает, а именно — линейные ускорения по осям и угловые скорости вокруг этих осей. Интегрируя эту информацию и зная начальные точки можно построить маршрут с известным уходом. Засунув в фильтр Калмана с другими датчиками можно получить очень хорошие результаты.


    RTK-поправки

    Вообще оно называется DGPS (системы дифференциальной коррекции глобальных навигационных спутниковых систем), и опять же нужно уточнить важный момент о том как оно работает. Это устройство обычно установлено стационарно и знает свое положение с геодезической точностью (до пары мм). Зная это, оно решает обратную навигационной задачу: рассчитывает поправки к псеводальностям чтобы уравнение решилось верно. Собственно, эти поправки оно и рассылает на приемники, которые, вдобавок, должны уметь работать с этим каналом связи. И нет, ни через какой интернет оно ничего не рассылает — слишком большая задержка. Обычно эти поправки интегрированы в сам радиотракт приемника.


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


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


    В статье про комплексирование навигационных систем на техническом ресурсе слово "комплексирование" встречается 0 раз. Как и "фильтр Калмана".


    1. Shluzzz
      05.12.2019 22:28
      +1

      Вы немного ошибаетесь. DGPS и RTK разные вещи. RTK — real time kinematic, реализуется именно за счёт поправок, передаваемых по какому-либо каналу связи. Интернет вполне подходит и активно используется (см. Сети референц-станций) наравне с прямым звонком (CSD на базе GSM модема) и радиоканалом (радиомодем). У интернета плюс- практически неограниченное расстояние.


      1. chnav
        06.12.2019 11:11

        Согласен что это разные вещи, но в первом комментарии очень правильно описан принцип DGPS.

        DGPS передаёт поправки к псевдодальностям (PR, pseudo-range) и скорость их изменения (PRR, pseudo-range rate). Поэтому требования к скорости канала были минимальными, начиная от 100 bps на береговых станциях IALA до 2400 по спутниковым каналам Inmarsat. По HF передавалось 300 bps и этого было вполне достаточно для обновления поправок раз в 5-7 секунд.
        Сам принцип работы и метровые (так задумано) точности вполне нормально работают до сотен километров, дальше идёт деградация.

        «Поправки» RTK по сути это просто сырые данные с базовой станции, решение производится на стороне ровера. Требования к каналу ГОРАЗДО выше, от 9600 bps. Расстояния 50 км уже критичны.


        1. Shluzzz
          06.12.2019 21:48
          +1

          Абсолютно согласен. Как бы ни называлась технология, суть — та же. Передача поправок через какой-то канал связи. И в принципе, пропускной способности вполне хватает. Так, например по радиоканалу, на стандартной частоте 440МГц, передача поправок между мультисистемными многочастотными приёмниками вполне осуществима и не вызывает значимых задержек. А за счёт некоторой инерции всей системы, небольшой разрыв связи не приводит к потере инициализации, и при использовании режима экстраполяции, некоторое время ещё возможно получение фиксированного решения.
          На больших расстояниях начинают сказываться немного другие проблемы, — это могут быть уже другие созвездия спутников, видимость приёмниками разных спутников с небольшим пересечением, недостатки имеющихся систем координат.
          Сегодня на мой взгляд, перспективная тема — передача поправок через сами спутники (например, не реклама)


      1. Nichtbegreifen
        06.12.2019 12:37
        +1

        Даже специальный протокол есть, NTRIP называется (Networked Transport of RTCM via Internet Protocol).
        Но, как уже сказали, "копирайтер" не в курсе.
        Как не в курсе про псевдодальности и, тем более, про фазовые измерения, L1, L2, L5 и прочую чушь абсолютно ненужную для сверхточного позиционирования.
        А IMU и SLAM прямо сразу абсолютные координаты выдают. Sensor Fusion? Фильтр Калмана? Не, не слышали.


  1. opaopa
    05.12.2019 18:58

    >В статье про комплексирование навигационных систем на техническом ресурсе слово «комплексирование» встречается 0 раз. Как и «фильтр Калмана».
    Давно уже пора завести медаль «статья недостаточно техническая для этого сайта»


  1. tolstov
    05.12.2019 19:05

    Видимо, что ИТЭЛМА, что эти товарищи, закупают у одной и той же конторы конент, а жаль — Очень интересно было бы почитать про Safety-Critical systems и как под них писать


  1. towin
    05.12.2019 20:06

    Мне кажется не очень надежным делать беспилотный автомобиль зависимым от очень точного GNSS, потому что он внезапно может стать не очень точным, и что тогда будет? Машина начнет ехать по обочине?
    Самое главное, это лидар, камеры и построение карты пространства на их основе. И уже потом привязка карты к геопозиции.
    Понять это очень просто. Выключите смартфон, сидя за рулем автомобиля. Вы можете ехать дальше? Конечно можете! А теперь закройте глаза или смотрите только на смартфон, показывающий карту. Сможете ехать?


    1. chnav
      05.12.2019 20:17

      Понять это очень просто. Выключите смартфон, сидя за рулем автомобиля. Вы можете ехать дальше? Конечно можете! А теперь закройте глаза или смотрите только на смартфон, показывающий карту. Сможете ехать?
      Отличная аналогия.


      1. Shluzzz
        05.12.2019 22:34

        Так себе аналогия. Модуль ГНСС на смартфоне в лучшем случае определит, что вы где-то в районе дороги. То, что смартфон показывает ваш автомобиль на дороге-заслуга именно комплексных мер. По сравнению со смартфоном в режиме RTK можно определить положение антенны приемника с точностью нескольких (порядка 5) см. Частота передачи поправок-около 10Гц, чего для автомобиля в городе вполне достаточно по сравнению с беспилотником


        1. towin
          06.12.2019 06:43

          Пусть даже ваш смартфон будет точно, +-5см показывать ваше положение на дороге. Он все равно не покажет, что на 1й полосе кто-то припарковал машину, что дорожная разметка сместилась, что открыт люк, что идет пешеход и т.д.
          Я даже больше скажу, хорошему беспилотному автомобилю GNSS нужен в той же степени, что и человеку — проложить маршрут и понять, что мы приехали в точку назначения.


        1. chnav
          06.12.2019 11:19
          +1

          То, что смартфон показывает ваш автомобиль на дороге-заслуга именно комплексных мер.
          Никаких комплексных мер в смартфоне нет — тупое притягивание к дороге в программе навигации, чтобы юзеры не пугались, что едут по соседним зданиям… Про использование акселерометра и гироскопа даже речь не идёт, за исключением некоторых редких программ (кажется Mapillary, про другие не слышал). Ибо точность сенсоров в смартфоне ниже плинтуса.

          В России уже несколько лет функционирует система СДКМ (наш российский SBAS, спутники «Луч»), только по какой-то необъяснимой причине я не слышал о его поддержке в смартфонах, хотя это практически гарантированная метровая и — при благоприятных условиях, включающих нормальную антенну — суб-метровая точность. У кого есть возможность, проверьте пожалуйста ловятся ли SBAS с PRN номерами 125, 140 или 141 (геостационары, направление ЮЗ-ЮВ в зависимости от места пользователя).
          mgex.igs.org/IGS_MGEX_Status_SBAS.php


          1. Shluzzz
            07.12.2019 11:43

            Да, «притягивание к дороге» я и имел ввиду. Только смартфон ещё активно использует информацию от своих базовых станций (плюс вайфай точки доступа иногда), которые относительно близко и позволяют сильно уточнить своё положение. Интересно, а может ли он учитывать местоположение соседних с ним смартфонов, теоретически, это помогло бы дополнительно, увеличив избыточность информации.
            В России начали за здравие, начав установку базовых референц-станций по все стране на гос.основе. Систему построили, она даже работала какое-то время (hive) предоставлял доступ, потом видимо что-то пошло не так, доступ перекрыли, и как её применяют, — непонятно. Возможно — для систем типа «кнопка ГЛОНАСС»


    1. balamutang
      05.12.2019 21:23

      Тут стоит вспомнить что карты тоже не идеально точны и даже с идеальным позиционированием можно оказаться на обочине потому что на карте это место отмечено как середина дороги


      1. Shluzzz
        05.12.2019 22:39

        Именно по тому, что карты сейчас получают из источников, связанных с изготовлением геодезических карт, именно весьма точны. Другой вопрос связан с различием систем координат, в одной работает смартфон, а в другой сделана карта. Сейчас с этим всё гораздо лучше чем раньше, не в последнюю очередь благодаря системе ГЛОНАСС


        1. chnav
          06.12.2019 11:32
          +1

          Именно по тому, что карты сейчас получают из источников, связанных с изготовлением геодезических карт, именно весьма точны.
          Бывают топографические карты (масштабы до 1:10000), топографические планы (масштабы 1:5000 и крупнее до 1:500), а вот про геодезические никогда не слышал.
          Кроме того карты Роскартографии непригодны для навигации. Возможно они хороши в смысле геодезической точности, но они не имеют никакой информации о скоростном режиме, покрытии и пр. Поэтому из-за неактуальности данных первые карты Навитела были ужасными. Нормальные компании типа Яндекса, Гармина и ТомТома делаю карты сами. На автомобилях, конечно, стоят высокоточные GNSS-приёмники, но не забываем что автомобиль едет только по одной стороне дороги и может менять полосу движения. Никто, естественно, эти поперечные перемещения не учитывает, иначе камералка станет золотой.
          И, естественно, спутниковые снимки наше всё. Надо ли говорить про их «точность» и пригодность для беспилотников на дороге ))


          1. Shluzzz
            06.12.2019 21:36

            Посыпаю голову пеплом, я имел ввиду карты, изготовленные с геодезической точностью. Полагаю всё-таки, что Яндекс вряд ли занимается самостоятельным изготовлением карт, может быть есть информация об обратном?


    1. Avadon
      05.12.2019 21:49

      Думаю будет и отдельная статья про SLAM и компенсацию неточности GPS, и про HD карты, и ещё много чего


      1. Nichtbegreifen
        06.12.2019 13:34
        +2

        Если такая же, то лучше не надо…
        Ведь если ребята реально делают беспилотник, то должны в этой теме разбираться. Даже чтобы принять решение, что GNSS не подходит, нужно разобраться как это работает и где границы применимости. А кто писал эту статью непонятно(


    1. lingvo
      05.12.2019 22:29

      Мне кажется не очень надежным делать беспилотный автомобиль зависимым от очень точного GNSS, потому что он внезапно может стать не очень точным, и что тогда будет? Машина начнет ехать по обочине?
      Самое главное, это лидар, камеры и построение карты пространства на их основе. И уже потом привязка карты к геопозиции.

      Здесь задача, скорей всего, аналогична самолетной — точный GNSS — это еще один независимый канал измерений, показания которого можно будет сравнивать с другими измерениями от, как вы говорите — лидаров, радаров, ультразвуковых датчиков, камер, датчиков скорости и т.д.
      Чем больше разных независимых каналов для одинаковой информации — тем лучше и легче для системы определить какой канал врет или неисправен и тем она будет надежнее. Как в самолетах для скорости и углов используется несколько разных видов датчиков на разных принципах измерения, так и здесь.
      Причем в самолетах часто один из "датчиков" на самом деле часто является не физическим датчиком, а рассчитывается в компьютере по модели на основании других показателей. Т.е. допустим у вас есть датчики уровня топлива в баке. Две штуки на разном физическом принципе. Но есть еще третий — виртуальный, который работает на основании расходомера топлива в двигателях: интегрируя их показания компьютер рассчитывает "теоретический" уровень топлива в баке и если показания двух датчиков уровня начнут серьезно отличаться друг от друга, то исправным будет считаться тот, который ближе к "теоретически" рассчитанному уровню.


      Здесь же правильно используют инерциальные датчики, как контроль правильности показаний GNSS и наоборот. Также, например, можно легко контролировать исправность спидометра, сравнивая с показаниями спутниковой навигации. Это ж для автономного автомобиля важный прибор?


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


  1. romanetz_omsk
    05.12.2019 21:56

    Почему в качестве дифференциальных поправок не использовать сигналы от других навигационных систем?


    1. Shluzzz
      05.12.2019 23:23

      Уверен, что используется мультисистемный модуль, они сейчас более распространены, чем заточенные только под одну систему. Более того, они ещё и многочастотные


    1. Nichtbegreifen
      06.12.2019 13:39

      В режиме RTK база передает на ровер сырые результаты измерений, поправки считает сам ровер. Скрестить сырые данные с разных систем не получится. Тупо частоты разные.


      1. Shluzzz
        06.12.2019 23:47

        Смотрите формат RTCM, по стандарту может передаваться не только информация о поправках в разных спутниковых системах и разных частот, но и параметры систем координат


  1. Shluzzz
    07.12.2019 11:50

    Думаю, интересная тема — установить не единичную антенну GPS, а парочку. В этом случае будет известно не просто местоположение какой-то точки автомобиля, но и его поворот относительно оси, наклон. Это позволит увеличить избыточность информации и более точно позиционировать автомобиль.
    А ещё интересно, с какой частотой ведётся приём и передача поправок RTK, как часто вычисляется позиция автомобиля?
    При стандартной частоте 10Гц это происходит 10 раз в секунду, что на невысокой скорости достаточно, а на больших скоростях данные о положении автомобиля от GNSS будут устаревать раньше, чем их успеет обработать система.


  1. chnav
    07.12.2019 14:43

    На заре навигаторов, когда ещё были китайские на Atlas III, подарил такой брату. Однажды зимой он возвращался с вахты и началась метель, а в степи дороги быстро переметает. И, говорит, очень выручил навигатор. Пусть даже точность 5-7 метров (тогда в навигаторы ставили нормальные патч-антенны, не то что в нынешних смартфонах), но очень хорошо знать где изгибы дороги, чтобы не съехать в кювет.

    Отсюда и надо плясать — улучшать точность для бытовых пользователей. Во-первых, развивать упомянутый мною выше СДКМ. Но у него есть недостаток — геостационарные спутники, плохая видимость. Второй вариант — передача коррекций хотя бы по RDS. У нас десятки радиостанций, неужели так сложно это организовать. КМК любая компания вполне может получить лицензию и договориться с какой-либо радиостанцией. Насколько я помню, скорость данных RDS около 2400 bps, этого более чем достаточно для метровых точностей. Цена вопроса 1-2 миллиона рублей на базовую станцию, плюс какие-то траты на аренду RDS-канала. Охват радиусом 30-50 км, это можно накрыть город-миллионник и его пригороды. В Голландии видел такое ещё в 93 году.

    Мне кажется для нашей страны это намного актуальнее, чем беспилотные автомобили. Игрушки. Даже на ж/д транспорте и трамваях, где, казалось бы, внедрить беспилотники проще, не отказываются от машинистов и водителей. С автомобилями то же самое, наиграются и забудут.


    1. Shluzzz
      07.12.2019 16:35

      Да и сейчас тема себя не исчерпала, наоборот удобно заранее видеть план дороги и прогнозировать повороты/планировать обгон и вообще скорость, особенно в сложных условиях.
      Подобное относительно легко можно было бы организовать, когда строили БС GNSS по всей стране, это, полагаю, куда полезнее для безопасности, чем «кнопка ГЛОНАСС» или система «ПЛАТОН».
      Учитывая полный охват радиосигналом со спутников GNSS, можно было бы организовать передачу поправок теми же средствами, добавив передатчик и ещё одну антенну на спутники.
      Когда впервые начались разговоры об организации Интернет по всему миру с помощью спутников (OneWb и т.п.), я уж было обрадовался, что возможно будет поставить где-то в Якутии свою спутниковую базовую станцию и вещать на подвижные приёмники поправку. Тогда геодезистам стало бы в разы проще, а парк оборудования практически без дополнительных затрат удвоился бы. Но кажется, мы этого не дождёмся :(