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

Суть SLAM удобно описать как «проблему курицы и яйца»: чтобы понять, где находишься, нужна карта, а чтобы построить карту — нужно знать, где ты находишься. SLAM решает обе задачи одновременно. Робот отправляется в путь, сенсоры фиксируют окружение, а алгоритм постепенно достраивает карту и уточняет на ней собственную позицию, компенсируя накопленную ошибку.

Как это работает на практике:

  • Сначала используется одометрия (обороты колёс, данные IMU) для грубой оценки перемещения.
  • Данные лидара, камер или камер глубины дают картину окружения; алгоритм выделяет ориентиры и сопоставляет новые наблюдения с уже построенной картой.
  • Когда робот возвращается в ранее посещённое место и «узнаёт» его (замыкание цикла), алгоритм корректирует накопленную ошибку и уточняет всю карту.
  • Для вычислений применяют вероятностные методы (фильтр частиц, расширенный фильтр Калмана) и специализированные фреймворки.

По типу основного датчика различают лидарный SLAM (по данным лазерного дальномера) и визуальный SLAM (по изображениям с камер); часто данные комбинируют для надёжности. SLAM применяют в складских AGV и AMR, роботах-пылесосах, дронах, беспилотном транспорте, планетоходах — везде, где робот должен ориентироваться в неизвестной или меняющейся среде без внешней разметки и GPS.

Источники:

  1. SLAM (метод) // Википедия. URL:https://ru.wikipedia.org/wiki/SLAM_(метод)
  2. SLAM-навигация // Яндекс Робототехника. URL:https://robotics.yandex.ru/blogs/slam-navigatsiya
  3. Технология SLAM // RoboCraft. URL:https://robocraft.ru/technology/724