Написать нам

Для беспилотных устройств нужно геопозиционирование высочайшей точности до 1 сантиметра

Все статьи

GPS-координаты с точностью до 1 см

16 марта, 2023 8 минут
  • IoT
  • Microservices

Как приручить беспилотный транспорт

О клиенте

Royal Obidos Spa & Golf Resort, расположенный на побережье Португалии, включает в себя 5-звездочный отель, который обслуживается спа-салоном и конференц-залами, с которыми связан набор апартаментов и 18-луночное поле для гольфа. Шесть лунок поля выходят на лагуну Обидуш, а остальные 12 лунок выходят на Атлантический океан. Компания основана в 2011 и уже более десяти лет предоставляет сервис высочайшего класса для клиентов в одной из самых великолепных локаций Европы.

О проекте

О проекте Moses мы рассказали в другой статье.

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

Здесь мы расскажем о том, как нам удалось добиться необходимой точности позиционирования устройств в 1 см.

Цели
  • Обеспечить точность маневрирования до миллиметров. Поля должны быть скошены равномерно, а любые столкновения – исключены.
  • Непрерывная и отказоустойчивая передача данных. Потерять хотя бы небольшую порцию передаваемой информации — недопустимо.
  • Плавность движения. Оператор должен видеть плавное движение машины на карте. Для этого координаты должны обновляться до 20 раз в секунду.
Решение

Проведя анализ возможных решений для повышения точности, мы пришли к RTK — стандарту отрасли, использующемуся во многих ответвлениях: в промышленном фермерстве, авиации, судоходстве и прочих.


Об RTK

RTK (Real-Time Kinematic positioning) – это приёмы позиционирования в реальном времени с более высокой точностью. Для использования этих приёмов необходимы, во-первых, базовая GPS-станция, и, во-вторых, постоянная, непрерывная связь со спутниками. В случае, если связь оборвется или поступление данных уменьшится в объёме, точность значительно упадет.

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



Откуда получить RTK-корректировки

Источником RTK-корректировок для нас послужила базовая GPS-станция в собственном владении, которая установлена непосредственно рядом с полем. Её столь близкая расположенность к нам закрыла сразу 2 вопроса:

  1. Наибольшая точность корректировок для гольф-клуба
  2. Собственная станция — легкость в обслуживании


Так что мы сделали?

Чтобы позиционирование ровера стало точнее, GPS-плата на машине должна получить RTK-корректировки и просчитать разницу между координатами.

Для этого нашей командой был разработан микросервис, который получает данные с GPS-платы, и полученные корректировки посылает на уже другой узел, который реализует всю остальную бизнес-логику и переводит её в команды для парка роверов.

С этим узлом мы обеспечили нужную точность нашим роверам.

Вызовы

Одного источника мало

В ходе испытаний мы быстро пришли к тому, что одна GPS-плата может как просто быть отключена в непредвиденных ситуациях, так и совсем выйти из строя, как и любая техника, а точность всё ещё будет нужна. С этой мыслью мы изучили возможные альтернативы и пришли к RENEP – национальной сети GPS-станций, которая распростерта по всей стране, и которая может предоставить всем энтузиастам доступ к спутниковым данным в режиме реального времени.
Нами был разработан дополнительные микросервисы для получения данных от национальной сети GPS-станций, с определенной станции, находящейся поблизости.
Такое решение создало нам подушку безопасности: больше не приходилось волноваться об оффлайне нашей собственной GPS-платы, ведь RTK-корректировки поступали уже из 2-х источников.


Одновременно двух источников — уже много

После внедрения второго источника мы столкнулись с проблемой: RTK-корректировки своим большим объёмом данных засоряют общий эфир для всех роверов.
Для решения этого кейса мы разработали и внедрили уже 3-й микросервис. Этот узел является прокси-агентом, который выполняет разные задачи:

  1. Мониторинг здоровья двух источников. Основным источником для нас теперь является наша собственная GPS-плата в силу её близкой расположенности, RENEP же считаем как запасной вариант. В случае, если будет замечено “нездоровое поведение” основного источника (перестанет передавать данные), наш микросервис переключит поток данных на поток с национальной сети.
  2. Ограничение мощности выходного потока. 2 потока с 2-х источников объединяем в 1, а также, чтобы не захламлять общий эфир, мы искусственно управляем потоком, ограничивая его мощность настолько, насколько это потребуется.

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

Цифры
  • 1 см Текущая точность. Ранее это значение могло доходить до целого метра.
  • 20 раз/сек Это позволяет обеспечить плавность движения ровера и оперативные корректировки курса
  • > 20 млн Столько записей с координатами в сутки получает, обрабатывает и сохраняет система.

Результат

  • Точнейшее маневрирование. Ранее газонокосилка двигалась с заметными погрешностями в несколько метров, которые теперь свелись до сантиметров.
  • Бесперебойная передача данных. Корректировки поступают на все роверы даже при потере одного из источников.
  • Лучшее качество покоса. Из-за неточных координат газонокосилка совершала много огрехов на поле – там, где линия должна быть прямой, машина проходила с отклонениями.

Технологии

  • RTK
  • GPS
  • Golang
  • Microservices
  • Docker

Сотрудничество

2022 — ∞

IT-агентство Delaweb
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.