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

SLAM

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

История возникновения и развития

Концепция SLAM зародилась в конце 1980-х — начале 1990-х годов в рамках исследований по мобильной робототехнике. Одним из ключевых вкладов стала работа Хью Дурранта-Уайта и Джона Леонарда (1990), которые формализовали задачу как проблему стохастической оценки состояния. Термин «SLAM» был введён в 1995 году на Международной конференции по робототехнике и автоматизации в Нагое, Япония, после чего область начала активно развиваться.

В 2000-х годах значительный прогресс был достигнут благодаря применению фильтра Калмана (EKF-SLAM) и метода частиц (FastSLAM). Параллельно развивались визуальные системы SLAM (vSLAM), использующие камеры, и лидарные системы (LiDAR SLAM), работающие на лазерных дальномерах. С 2010-х годов SLAM стал ключевой технологией для автономных автомобилей, дронов и дополненной реальности, чему способствовало распространение дешёвых сенсоров (например, Microsoft Kinect) и мощных вычислителей.

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

SLAM основан на итеративном процессе, в котором мобильный агент, движущийся в среде, использует данные с сенсоров (лазерный сканер, камера, одометр, инерциальный измерительный блок — IMU) для решения двух взаимосвязанных задач:

На каждом шаге алгоритм:

  1. Получает новые данные с сенсоров.
  2. Ассоциирует эти данные с уже известными ориентирами (data association).
  3. Корректирует текущую оценку положения агента и карты, минимизируя ошибки согласования.

Математически задача SLAM сводится к оценке совместного апостериорного распределения вероятностей для траектории агента и карты среды, что обычно решается с помощью вероятностных методов: фильтрации (EKF, UKF, фильтр частиц) или нелинейной оптимизации (graph-based SLAM).

Классификация методов SLAM

Методы SLAM можно классифицировать по типу используемых сенсоров и подходам к решению задачи.

По типу сенсоров

По подходу к решению

Устройство и компоненты типичной системы SLAM

Система SLAM включает в себя:

  1. Сенсорный блок — один или несколько внешних датчиков (лидар, камера, IMU, одометрия колёс), которые регистрируют физические параметры среды и движения.
  2. Модуль предварительной обработки — фильтрует шумы, сжимает данные (например, извлекает ключевые точки из изображения) и осуществляет ассоциацию данных с уже известными ориентирами.
  3. Ядро SLAM — реализует алгоритм оценки состояния (фильтрацию или графовую оптимизацию). Включает модели движения (кинематическую модель агента) и наблюдения (модель сенсора).
  4. Модуль постобработки — строит итоговую карту (например, занятости, вероятностную или топологическую) и генерирует траекторию.
  5. Интерфейс вывода — отдаёт текущую позу и карту для последующего использования: навигация, планирование пути или взаимодействие с пользователем.

Большинство современных реализаций работают на встраиваемых компьютерах (например, Raspberry Pi с нейронными ускорителями, Intel NUC) или на промышленных ПК с GPU.

Применение

SLAM является критически важной технологией для широкого спектра автономных систем.

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

Автономный транспорт

Дополненная и виртуальная реальность (AR/VR)

Современные AR-очки (Microsoft HoloLens, Magic Leap, Apple Vision Pro) используют vSLAM (часто с IMU и камерами глубины) для точного отслеживания положения устройства относительно окружающего мира, позволяя размещать виртуальные объекты на реальных поверхностях.

Навигация пешеходов и людей с ограниченными возможностями

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

Проблемы и ограничения

Несмотря на значительный прогресс, SLAM имеет ряд фундаментальных ограничений:

Перспективы развития

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

Источники

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

На главную BFOmetr →