Методы SLAM для промышленных БПЛА - LiDAR

Методы SLAM для промышленных БПЛА

Оглавление

Когда робот попадает в неизвестную среду, ему нужно построить карту местности и определить свое положение на этой карте. Это задача робототехники, известная не первое десятилетие, и для ее решения существуют разные подходы.
Методы SLAM для промышленных БПЛА - LiDAR
Беспилотный комплекс для обследования SLAM методом на основе Matrice 300 RTK + Hovermap ST
Большинство из применений БПЛА требуют автономной навигации и точной локализации – то есть построения точной карты окружающей среды c информацией о положении БПЛА на этой карте в данный момент. Для безопасной навигации дрону необходимо создать точное представление об окружающей среде и оценить свое положение в ней.
Оценка окружающей обстановки необходима для безопасного планирования и управления полетом, но заранее определить карту пространства невозможно, особенно в постоянно меняющейся городской среде с множеством динамичных объектов. На карте должна отображаться информация о всех ориентирах, таких как здания, дороги, пешеходы и транспортные средства. Дрон также должен знать о других БПЛА, чтобы избежать столкновений.
Методы локализации часто основаны на ГНСС или RTK (кинематической системе позиционирования в реальном времени). Однако погрешность измерений ГНСС может достигать десятков сантиметров (в худших случаях – 2-3 метров), а при движении в туннелях и шахтах сигнал отсутствует совсем. У систем RTK выше точность, но им нужна постоянная связь с источником поправок. В закрытых пространствах, в условиях низкой точности или отсутствия сигнала, перспективным методом является SLAM – метод построения карт и локализации в режиме реального времени.
Сканирование сети подземных туннелей с использованием ZEB Horizon. Источник: GeoSLAM
SLAM (Simultaneous Location and Mapping, одновременная локализация и построение карты) – это общее название для методов обнаружения объектов и восприятия пространства с помощью постоянного обновления карты. Другими словами, это процесс вычисления положения устройства с одновременным построением карты в реальном времени. Это позволяет составлять карту неизвестной среды на ходу и постоянно обновлять ее с учетом движения объектов.
SLAM упрощает сбор данных, устраняет зависимость от внешних сигналов и может использоваться на открытом воздухе, в помещениях и под землей. Сейчас SLAM используется не только в БПЛА, но и в самоуправляемых автомобилях, автономных подводных аппаратах, в промышленных и бытовых роботах.

Принцип работы SLAM

Карта нужна для оценки положения, а оценка положения необходима для построения карты. Как SLAM одновременно решает две взаимосвязанные задачи по локализации БПЛА и составлению карты? Ответ – с помощью комбинации данных нескольких датчиков и сложных математических алгоритмов.
Методы SLAM для промышленных БПЛА - LiDAR
Схема работы SLAM. Источник: MathWorks
В целом процесс решения задач SLAM можно разделить на два этапа, где первый этап – это первичная обработка сигналов датчиков. На этом этапе происходит сбор данных с сенсоров, камер и инерциального измерительного блока в дроне (IMU).
Визуальная инерциальная одометрия оценивает изменение положения беспилотника относительно точки старта. Она объединяет данные оптических датчиков, которые считывают информацию о положении объектов в пространстве, с данными IMU, который вычисляет положение дрона. Это дает начальную оценку локализации, и по этим данным устройство строит приблизительную карту. По мере того как устройство перемещается в окружающей среде, оно делает новые оценки местоположения по датчикам и обновляет карту. Этот процесс повторяется на всем пути, при этом на карту добавляются все новые данные.
Но это не окончательный результат. Сенсоры, как и IMU, содержат ошибку, и со временем из-за накопления всех ошибок точность карты значительно снижается. Поэтому второй этап включает внутреннюю обработку, которая не зависит от датчиков. По этим данным устройство оценивает состояние и строит граф позы, оптимизируя его с помощью различных математических алгоритмов.
Методы SLAM для промышленных БПЛА - LiDAR
Источник: Hovermap ST
На этом этапе решается задача нахождения максимально точного определения позиции устройства с учетом всех датчиков и их возможных ошибок. Для повышения точности в SLAM-системе проводится повторная локализация.
Рассмотрим подробнее первый блок SLAM – обработку данных с сенсоров.

Датчики и их типы

Человек взаимодействует с внешней средой и получает звуковую, визуальную и прочую сенсорную информацию. Восприятие придает смысл этим ощущениям, позволяя расшифровать информацию и предпринять на ее основе соответствующие действия. Аналогичным образом БПЛА воспринимают информацию с сенсоров, чтобы оптимально и безопасно спланировать траекторию полета.

Визуальный SLAM

Визуальный SLAM (или vSLAM) использует изображения, полученные с визуальных датчиков. В этом случае робот составляет карту окружающей среды и определяет ее местоположение по данным с камер, обычно отслеживая ориентиры для триангуляции положения камеры в пространстве. В последние годы визуальный SLAM может быть реализован с минимальными затратами благодаря относительно недорогим камерам. По сравнению с другими датчиками камеры быстро предоставляют большой объем информации, и с ними легко обнаружить известные ориентиры.
Если vSLAM использует только одну камеру в качестве единственного датчика, это затрудняет определение глубины изображения. Эта проблема может быть решена, например, через объединение информации с камеры с данными IMU (скорость и ориентация устройства) или с помощью нейросетей.
Несмотря на свой потенциал vSLAM сейчас не может решать все задачи из-за ограничений по условиям освещения и скорости движения устройства. Кроме того, остается открытым вопрос о качестве vSLAM в присутствии облаков, тумана, дымки и других климатических явлений.

LiDAR SLAM

Устройства LiDAR рассчитывают расстояния до объектов, посылая импульсы света и измеряя время, которое требуется для их отражения. Полученное облако точек обеспечивает высокоточные измерения расстояния и эффективно для построения карт с помощью SLAM.

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

Технология LiDAR SLAM широко используется в готовых продуктах с технологией SLAM, таких как Hovermap ST или ZEB Horizon.
Методы SLAM для промышленных БПЛА - LiDAR
ZEB Horizon, в котором используется LiDAR SLAM, установлен на дроне DJI M300 RTK. Источник: heliguy

Визуальный SLAM и LiDAR SLAM – что лучше?

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

Другие датчики

Другие методы SLAM включают акустический SLAM (с использованием микрофонов), тактильный SLAM, радарный SLAM и wifi-SLAM (определение по близким точкам доступа wifi). Все датчики имеют свои плюсы и минусы, поэтому хорошим вариантом для повышения точности считается объединение на устройстве нескольких типов датчиков.
Хотя объединение данных не устраняет основные источники ошибок, оно направлено на уменьшение влияния неточностей, накопленных из-за разного разрешения датчиков. Однако это приводит к дополнительным вычислениям при объединении данных различных датчиков с учетом их задержек в единую картину. Этот процесс можно сделать более плавным, используя методы машинного обучения.

Оптимизация и замыкание контура

SLAM оценивает последовательное движение, которое включает некоторую погрешность. Ошибки локализации накапливаются, вызывая существенное отклонение от фактического положения БПЛА. По мере накопления ошибок начальная и конечная точки робота перестают совпадать – это называется проблемой замыкания контура (или замыкания цикла). Подобные ошибки оценки позы неизбежны.
Одно из решений – запомнить некоторые характеристики ранее посещенного места в качестве ориентира и минимизировать ошибку локализации, замкнув пройденный путь в единый контур и построив позиционные графы для исправления ошибок. Решив задачу минимизации ошибок как задачу оптимизации, можно получить более точные карты пространств.
Замыкание контура – это проблема распознавания ранее посещенного места и соответствующего обновления карты. Ошибки модели или алгоритма могут назначить низкие приоритеты для местоположения и не распознать повторно посещенную локацию. Это также может привести к тому, что картографические данные искажаются, затрудняя поиск совпадений.
Методы SLAM для промышленных БПЛА - LiDAR
Пример замыкания контура для минимизации ошибок. Пока путь робота не замкнут, ошибки IMU и сенсоров накапливаются на карте.
Методы SLAM для промышленных БПЛА - LiDAR
Как только найдена точка, которую робот уже посещал, цикл замыкается и ошибка каждого датчика минимизируется для составления наиболее точной карты. Источник изображений: MathWorks

Различные алгоритмы SLAM

Проблема SLAM представляется в виде графа, где вершины и ребра представляют позицию робота и объекты в пространстве. Алгоритмы SLAM по оптимизации графа основаны на достаточно сложных концепциях вычислительной геометрии. Они находят наиболее вероятное объяснение положения робота и карты с учетом данных датчиков и замкнутых контуров. И каждый раз, когда определяется новый замкнутый контур, алгоритм решает задачу по оптимизации точнее.
Расширенный фильтр Калмана (EKF) был одним из первых алгоритмов SLAM, и долгое время оставался самым популярным методом оптимизации в робототехнике. Сейчас часто используются алгоритмы многочастичных фильтров и GraphSLAM, но есть и множество других: например, FastSLAM и ORB-SLAM. Многие алгоритмы SLAM реализованы в библиотеках ROS с открытым исходным кодом, поэтому при желании можно запрограммировать полет дрона с использованием алгоритмов SLAM.
Возможности и ограничения различных типов датчиков – основной фактор, определяющий выбор алгоритма оптимизации. Новые алгоритмы SLAM остаются активной областью исследований и часто определяются различными требованиями типов карт, датчиками, масштабом проектов и вычислительной мощностью.

Проблемы и перспективы

Для точной локализации необходимо постоянно выполнять обработку изображений, сопоставлять облака точек и проводить оптимизационные расчеты, такие как замыкание контура. Для этого необходима высокая производительность. Из-за своей компактности встроенные процессоры имеют ограниченную вычислительную мощность, и это на данный момент одна из трудностей реализации SLAM.
В последнее время процессы SLAM дополняются технологиями глубокого обучения. Нейронные сети могут дополнить недостающую информацию при объединении данных с разных датчиков и оценке окружающей среды, а также могут привести к новым способам интерпретации пространства для обнаружения объектов в реальном времени. Картографирование на основе глубокого обучения сейчас рассматривается как дополнительное решение для локализации методами SLAM.

Заключение

SLAM может помочь в автономной навигации БПЛА без предопределенной карты траектории или наземных ориентиров. Одно из его главных преимуществ – возможность съемки в условиях, когда точность сигнала GPS снижается.

Благодаря увеличению скорости компьютерной обработки и доступности недорогих камер и лидарных сканеров, все больше сфер использует SLAM для решения своих задач. Перспективные сферы применения SLAM – это в первую очередь картографирование закрытых пространств (шахт, выработок), а также оперативный мониторинг строительства объектов, обследование жилых, коммерческих и промышленных построек в режиме реального времени, мониторинг культурных объектов, информационное моделирование зданий и умные города.


Узнать цену для