Открыть сервис

SLAM-алгоритмы

SLAM-алгоритмы (от англ. Simultaneous Localization and Mapping — одновременная локализация и построение карты) — это класс вычислительных методов, используемых в робототехнике, автономной навигации и компьютерном зрении для решения задачи построения карты неизвестного окружения в реальном времени при одновременном определении местоположения движущегося объекта (робота, дрона, транспортного средства) в этой карте. Основная сложность задачи SLAM заключается в том, что для точной локализации требуется точная карта, а для построения точной карты — точное знание положения объекта, что создаёт циклическую зависимость. Алгоритмы SLAM решают эту проблему путём итеративного оценивания состояния системы и коррекции ошибок на основе данных сенсоров.

История развития

Первые теоретические работы по проблеме одновременной локализации и картографирования появились в конце 1980-х — начале 1990-х годов. В 1986 году на конференции IEEE Robotics and Automation Conference исследователи Рэндалл Смит и Питер Чизман впервые сформулировали задачу SLAM в контексте вероятностного подхода. Ключевой прорыв произошёл в 1995 году, когда Хью Дюррант-Уайт и Джон Леонард предложили использовать фильтр Калмана для решения SLAM, что позволило обрабатывать неопределённость измерений.

В 2000-х годах развитие вычислительных мощностей и появление недорогих лазерных дальномеров (LIDAR) и камер сделало SLAM-алгоритмы применимыми на практике. В 2007 году была представлена система MonoSLAM — первый алгоритм, работающий в реальном времени с одной камерой. С 2010-х годов активно развиваются методы на основе графов (GraphSLAM) и глубокого обучения, что позволило значительно повысить точность и устойчивость алгоритмов.

Основные принципы работы

Все SLAM-алгоритмы решают задачу оценки состояния системы, которая включает два компонента:

  • Положение объекта (позиция и ориентация в пространстве, обычно описываемые вектором в 2D или 3D).
  • Карта окружения (набор ориентиров, точек, линий или облаков точек, представляющих статические объекты среды).

Задача решается путём обработки последовательности измерений от сенсоров (лазерные сканеры, камеры, IMU — инерциальные измерительные блоки) и управления движением (одометрия). Алгоритм итеративно обновляет оценку состояния, минимизируя ошибку между прогнозируемым и фактическим положением.

Вероятностная основа

Большинство современных SLAM-алгоритмов основаны на байесовском подходе. Состояние системы представляется в виде вероятностного распределения, которое обновляется по мере поступления новых данных. Два основных подхода:

  • Фильтрация (EKF-SLAM, FastSLAM) — последовательное обновление оценки состояния с помощью фильтров Калмана или частиц.
  • Оптимизация графа (GraphSLAM) — построение графа, где узлы представляют положения объекта в разные моменты времени, а рёбра — измерения и одометрические данные, после чего решается задача минимизации ошибки по всем узлам.

Классификация SLAM-алгоритмов

SLAM-алгоритмы классифицируют по нескольким критериям.

По типу используемых сенсоров

  • LIDAR-based SLAM — используют лазерные дальномеры (2D или 3D). Примеры: Hector SLAM, GMapping, Cartographer (разработка Google). Обеспечивают высокую точность, но чувствительны к условиям окружающей среды (пыль, туман).
  • Visual SLAM — работают с данными от камер (одной или нескольких). Примеры: ORB-SLAM, LSD-SLAM, DSO. Менее точны, чем LIDAR, но дешевле и позволяют получать визуальную информацию.
  • RGB-D SLAM — используют камеры глубины (например, Microsoft Kinect), сочетающие цветное изображение и карту глубины. Пример: RTAB-Map.
  • Inertial SLAM — интегрируют данные инерциальных датчиков (акселерометры, гироскопы) для повышения устойчивости при быстрых движениях.

По архитектуре обработки

  • Фильтрующие методы (EKF-SLAM, UKF-SLAM) — работают в реальном времени, но имеют ограничения по размеру карты из-за квадратичной сложности.
  • Графовые методы (GraphSLAM, iSAM) — более масштабируемы, позволяют обрабатывать большие карты, но требуют больше вычислительных ресурсов для оптимизации.
  • Гибридные методы — сочетают фильтрацию для локальной оценки и графовую оптимизацию для глобальной коррекции.

По способу представления карты

  • Метрические карты — точное геометрическое описание окружения (сетки занятости, облака точек).
  • Топологические картыпредставление в виде графа, где узлы — ключевые места, а рёбра — пути между ними.
  • Семантические карты — дополняют метрическую информацию семантическими метками (например, «стена», «дверь», «стол»).

Применение

SLAM-алгоритмы находят широкое применение в различных областях, где требуется автономная навигация в неизвестной среде.

Робототехника

  • Бытовые роботы (роботы-пылесосы, газонокосилки) — используют 2D LIDAR SLAM для построения карты помещения и планирования маршрута уборки.
  • Промышленные роботы (автономные транспортные средства на складах, манипуляторы) — применяют SLAM для точного позиционирования в динамической среде.
  • Сервисные роботы (роботы-доставщики, роботы-официанты) — используют визуальный SLAM для навигации в людных местах.

Автономные транспортные средства

  • Беспилотные автомобили — используют комбинацию LIDAR, камер и IMU для построения карты дорожной обстановки и локализации в ней. Компании, такие как Waymo (принадлежит Alphabet Inc.), Tesla, Uber, активно применяют SLAM-алгоритмы.
  • Беспилотные летательные аппараты (дроны) — используют визуальный SLAM для навигации в условиях отсутствия GPS (внутри помещений, в лесу).

Дополненная и виртуальная реальность

  • AR-устройства (Microsoft HoloLens, Apple Vision Pro, устройства на базе ARKit от Apple и ARCore от Google (Google LLC — признана иноагентом в РФ)) — используют SLAM для отслеживания положения устройства в пространстве и размещения виртуальных объектов.
  • VR-шлемы — применяют SLAM для отслеживания перемещения пользователя в комнате.

Геодезия и картография

  • Мобильное лазерное сканирование — автомобили с LIDAR, оснащённые SLAM, создают 3D-модели городов, дорог и зданий.
  • Подводная навигация — SLAM с сонарами используется для картографирования морского дна.

Примеры известных алгоритмов

НазваниеТип сенсораОсобенностиРазработчик
GMapping2D LIDARФильтр частиц, оптимизирован для небольших помещенийУниверситет Фрайбурга (Германия)
Hector SLAM2D LIDARНе требует одометрии, использует сканирование с высокочастотным обновлениемТехнический университет Дармштадта (Германия)
Cartographer2D/3D LIDAR, IMUГрафовая оптимизация, поддержка больших картGoogle
ORB-SLAM3Камера (монокулярная, стерео, RGB-D)Работает в реальном времени, поддерживает несколько камерУниверситет Сарагосы (Испания)
RTAB-MapRGB-D, LIDARИнтеграция с ROS, поддержка долговременной работыУниверситет Шербрука (Канада)
LSD-SLAMМонокулярная камераПрямой метод (без извлечения признаков), строит полуплотную картуТехнический университет Мюнхена (Германия)

Проблемы и современные направления

Несмотря на значительный прогресс, SLAM-алгоритмы сталкиваются с рядом ограничений:

  • Вычислительная сложность — обработка больших карт и высокочастотных данных требует мощных процессоров и GPU.
  • Динамические среды — движущиеся объекты (люди, транспорт) вносят шум и требуют фильтрации.
  • Зацикливание (loop closure) — распознавание ранее посещённых мест для коррекции накопленной ошибки остаётся сложной задачей, особенно в визуальном SLAM.
  • Отсутствие GPS — в помещениях или под землёй SLAM становится единственным способом навигации, но точность падает при длительном движении.

Современные исследования направлены на:

  • Глубокое обучение — использование нейронных сетей для извлечения признаков, оценки глубины и семантической сегментации.
  • Мультисенсорная интеграцияобъединение данных от LIDAR, камер, IMU и GNSS для повышения устойчивости.
  • Долговременная автономность — создание алгоритмов, способных работать дни и недели без ухудшения точности.
  • Семантический SLAM — добавление понимания смысла объектов (например, различение стены и двери) для улучшения картографирования.

Значение для технологий

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

Источники

  • Durrant-Whyte, H., Bailey, T. (2006). «Simultaneous Localization and Mapping: Part I». IEEE Robotics & Automation Magazine.
  • Bailey, T., Durrant-Whyte, H. (2006). «Simultaneous Localization and Mapping: Part II». IEEE Robotics & Automation Magazine.
  • Grisetti, G., Stachniss, C., Burgard, W. (2007). «Improved Techniques for Grid Mapping With Rao-Blackwellized Particle Filters». IEEE Transactions on Robotics.
  • Mur-Artal, R., Montiel, J. M. M., Tardós, J. D. (2015). «ORB-SLAM: A Versatile and Accurate Monocular SLAM System». IEEE Transactions on Robotics.
  • Engel, J., Schöps, T., Cremers, D. (2014). «LSD-SLAM: Large-Scale Direct Monocular SLAM». European Conference on Computer Vision (ECCV).
  • Hess, W., Kohler, D., Rapp, H., Andor, D. (2016). «Real-Time Loop Closure in 2D LIDAR SLAM». IEEE International Conference on Robotics and Automation (ICRA).
  • Cadena, C., Carlone, L., Carrillo, H., et al. (2016). «Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age». IEEE Transactions on Robotics.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →