Введение

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

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

Алгоритмы

Статистические методы, используемые для приближения вышеуказанных уравнений, включают фильтры Калмана и фильтры частиц (алгоритм, лежащий в основе локализации Монте-Карло). Они обеспечивают оценку апостериорного распределения вероятностей для позы робота и параметров карты. Методы, консервативно приближающие вышеуказанную модель с использованием пересечения ковариаций, позволяют избежать зависимости от предположений о статистической независимости, что снижает алгоритмическую сложность для крупномасштабных приложений. Другие методы приближения достигают повышенной вычислительной эффективности за счет использования простых ограниченных областей для представления неопределенности. Методы, основанные на теории множеств, в основном используют распространение интервальных ограничений. Они предоставляют множество, включающее позу робота, и множество-приближение карты. Метод пакетной оптимизации (bundle adjustment) и, в более общем смысле, максимальное апостериорное оценивание (MAP) – еще один популярный метод для SLAM при использовании данных изображений, который совместно оценивает позы и положения ориентиров, повышая точность карты и применяемый в коммерческих SLAM-системах, таких как ARCore от Google, заменивший их предыдущую платформу вычислений для дополненной реальности Tango (ранее Project Tango). MAP-оценщики вычисляют наиболее вероятное объяснение позы робота и карты на основе данных датчиков, вместо попыток оценить все апостериорное распределение вероятностей. Разработка новых алгоритмов SLAM остается активной областью исследований и часто определяется различными требованиями и предположениями относительно типов карт, датчиков и моделей, как описано ниже. Многие SLAM-системы можно рассматривать как комбинацию выборов, сделанных в отношении каждого из этих аспектов.

Картографирование

Топологические карты – это метод представления окружающей среды, который отражает связность (то есть топологию) среды, а не создает геометрически точную карту. Топологические подходы SLAM использовались для обеспечения глобальной согласованности в метрических алгоритмах SLAM. В отличие от них, карты на основе сетки используют массивы (обычно квадратные или шестиугольные) дискретизированных ячеек для представления топологического мира и делают выводы о занятости этих ячеек. Как правило, ячейки считаются статистически независимыми для упрощения вычислений. При таком предположении, ячейкам присваивается значение 1, если ячейки новой карты соответствуют наблюдению в данной точке, и 0, если не соответствуют. Современные беспилотные автомобили в значительной степени упрощают задачу построения карты, практически сводя её к нулю, за счёт широкого использования высокодетализированных картографических данных, собранных заранее. Это может включать в себя аннотации карты вплоть до указания местоположения отдельных сегментов разметки и бордюров на дороге. Визуальные данные с привязкой к местоположению, такие как Google Street View, также могут использоваться как часть карт. По сути, такие системы упрощают задачу SLAM до более простой задачи локализации, возможно, позволяя обновлять в карте во время работы только перемещающиеся объекты, такие как автомобили и люди.

Ощущение

SLAM всегда будет использовать несколько различных типов датчиков, а возможности и ограничения различных типов датчиков стали ключевым фактором развития новых алгоритмов. Статистическая независимость является обязательным условием для компенсации метрических искажений и шума в измерениях. Различные типы датчиков приводят к появлению различных алгоритмов SLAM, в которых предположения наиболее соответствуют используемым датчикам. С одной стороны, лазерные сканы или визуальные признаки предоставляют детализированную информацию о множестве точек в области, иногда делая SLAM-вывод ненужным, поскольку формы в этих облаках точек можно легко и однозначно выровнять на каждом шагу с помощью регистрации изображений. С другой стороны, тактильные датчики крайне разрежены, поскольку содержат информацию только о точках, расположенных очень близко к агенту, поэтому для компенсации в чисто тактильном SLAM требуются сильные априорные модели. Большинство практических задач SLAM находятся где-то между этими визуальными и тактильными крайностями. Модели датчиков в целом делятся на подходы, основанные на опорных точках, и подходы, работающие с необработанными данными. Опорные точки – это уникально идентифицируемые объекты в окружающем мире, местоположение которых может быть оценено датчиком, например, точки доступа Wi-Fi или радиомаяки. Подходы, работающие с необработанными данными, не предполагают возможности идентификации опорных точек и вместо этого моделируют данные напрямую как функцию местоположения. Оптические датчики могут быть одномерными (однолучевыми) или 2D (сканирующими) лазерными дальномерами, 3D лидарами высокого разрешения, 3D flash-лидарами, 2D или 3D сонарными датчиками и одним или несколькими 2D камерами. Дальнейшие исследования включают в себя… И визуальные, и лидарные датчики предоставляют достаточно информации для извлечения опорных точек во многих случаях. Другие недавние формы SLAM включают тактильный SLAM (основанный только на локальном осязании), радарный SLAM, акустический SLAM и Wi-Fi SLAM (основанный на силе сигнала ближайших точек доступа Wi-Fi). Недавние подходы применяют квазиоптическое беспроводное определение дальности для многосторонней трилатерации (системы определения местоположения в реальном времени (RTLS)) или многоугольной локализации в сочетании с SLAM, учитывая неточность беспроводных измерений. Один из видов SLAM для пешеходов использует инерциальный измерительный блок, установленный на обуви, в качестве основного датчика и опирается на способность пешеходов избегать стен для автоматического построения планов зданий с помощью системы позиционирования внутри помещений. Для некоторых задач на открытом воздухе необходимость в SLAM была практически устранена благодаря высокоточным дифференциальным GPS-датчикам. С точки зрения SLAM, их можно рассматривать как датчики местоположения, вероятности которых настолько высоки, что они полностью доминируют в процессе вывода. Однако GPS-датчики могут иногда выходить из строя или полностью отключаться, например, во время военных конфликтов, что представляет особый интерес для некоторых приложений робототехники.

Моделирование кинематики

Термин описывает кинематику модели, которая обычно включает информацию о командах управления, подаваемых роботу. Как часть модели, кинематика робота используется для повышения точности оценки данных, получаемых от датчиков, в условиях внутреннего и внешнего шума. Динамическая модель балансирует вклады от различных датчиков, различных моделей частных ошибок и, в конечном итоге, формирует четкое виртуальное представление в виде карты, отображающей местоположение и ориентацию робота в виде облака вероятностей. Картография – это конечное представление такой модели, а карта является либо этим представлением, либо абстрактным термином для самой модели. Для 2D-роботов кинематика обычно задается комбинацией команд поворота и команд "движение вперед", которые реализуются с добавлением шума двигателей. К сожалению, распределение, формируемое независимым шумом в угловых и линейных направлениях, не является гауссовым, но часто аппроксимируется гауссовым распределением. Альтернативный подход заключается в игнорировании кинематического члена и считывании данных одометрии с колес робота после каждой команды – такие данные могут рассматриваться как один из датчиков, а не как кинематическая информация.

Движущиеся объекты

Нестатичные среды, такие как среды с другими транспортными средствами или пешеходами, продолжают представлять собой исследовательские задачи. SLAM с DATMO – это модель, которая отслеживает движущиеся объекты так же, как и сам агент.

Закрытие цикла

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

Разведка

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

Биологическое вдохновение

В нейробиологии гиппокамп, по-видимому, участвует в вычислениях, аналогичных SLAM, что приводит к формированию клеток местоположения, и послужил основой для биоинспирированных SLAM-систем, таких как RatSLAM.

Коллаборативный SLAM

Коллаборативный SLAM объединяет данные с датчиков нескольких роботов или пользователей для создания трехмерных карт. Эта возможность была продемонстрирована рядом команд в рамках конкурса DARPA Subterranean Challenge 2021 года.

Акустические SLAM

Расширение общей задачи SLAM было применено к акустической области, где окружение представляется трехмерными (3D) координатами источников звука, что получило название aSLAM (акустическая одновременная локализация и построение карты). Ранние реализации этой технологии использовали оценки направления прихода звука (DoA) для определения местоположения источника и опирались на основные методы звуковой локализации. Для использования акустического SLAM наблюдатель или робот должны быть оснащены микрофонной решеткой, чтобы обеспечить корректную оценку характеристик DoA. Акустический SLAM заложил основу для дальнейших исследований в области построения акустических карт сцен и может играть важную роль во взаимодействии человека и робота посредством речи. Для построения карты множества, и иногда непостоянных, источников звука акустическая SLAM-система использует принципы теории случайных конечных множеств для обработки переменного присутствия акустических ориентиров. Однако природа акустически полученных признаков делает Acoustic SLAM уязвимым к проблемам реверберации, отсутствия активности и шума в окружающей среде.

Аудиовизуальные SLAM

Первоначально разработанный для взаимодействия человека и робота, Audio Visual SLAM – это фреймворк, обеспечивающий объединение признаковых характеристик, полученных как из акустического, так и из визуального каналов в окружающей среде. Человеческое взаимодействие характеризуется признаками, воспринимаемыми не только визуально, но и акустически; следовательно, алгоритмы SLAM для роботов и машин, ориентированных на человека, должны учитывать оба набора признаков. Фреймворк Audio Visual SLAM оценивает и отображает положение человеческих ориентиров, используя визуальные признаки, такие как поза человека, и акустические признаки, такие как человеческая речь, и объединяет полученные данные для создания более надежной карты окружающей среды. Для применения в мобильной робототехнике (например, дронах, сервисных роботах) целесообразно использовать маломощное и легкое оборудование, такое как монокулярные камеры или микроэлектронные микрофонные решетки. Audio Visual SLAM также может обеспечить взаимодополняющую работу таких датчиков, компенсируя узкое поле зрения, перекрытия объектов и оптические искажения, характерные для легких визуальных датчиков, полным полем зрения и неограниченным представлением объектов, свойственным акустическим датчикам. Уязвимость акустических датчиков к реверберации, отсутствию звукового сигнала и шуму также может быть соответствующим образом компенсирована путем объединения данных об ориентирах из визуального канала. Взаимодополняющая работа акустического и визуального каналов в окружающей среде может оказаться ценной для создания роботов и машин, способных полноценно взаимодействовать с человеческой речью и движениями.

Методы осуществления

Различные алгоритмы SLAM реализованы в библиотеках операционной системы роботов (ROS) с открытым исходным кодом, которые часто используются совместно с библиотекой Point Cloud Library для создания 3D-карт или извлечения визуальных признаков из OpenCV.

ЭКФ СЛАМ

В робототехнике EKF SLAM — это класс алгоритмов, использующих расширенный фильтр Калмана (EKF) для SLAM. Как правило, алгоритмы EKF SLAM основаны на выделении признаков и используют алгоритм максимального правдоподобия для установления соответствия данных. В 1990-х и 2000-х годах EKF SLAM был фактически стандартным методом для SLAM, пока не появился FastSLAM. С ЭКФ связано предположение о нормальном (гауссовском) распределении шума, что существенно ограничивает способность EKF SLAM обрабатывать неопределенность. При увеличении уровня неопределенности в апостериорном распределении, линеаризация в ЭКФ становится недействительной.

ГрафикSLAM

В робототехнике GraphSLAM — это алгоритм SLAM, использующий разреженные матрицы информации, полученные путем построения фактор-графа взаимозависимостей наблюдений (два наблюдения связаны, если они содержат данные об одном и том же ориентире). Другие основополагающие работы в этой области были проведены исследовательской группой Хью Ф. Дурранта Уайта в начале 1990-х годов, показавшей, что решения SLAM существуют при бесконечном объеме данных. Этот результат стимулирует поиск алгоритмов, которые являются вычислительно реализуемыми и приближают решение. Акроним SLAM был введен в статье "Локализация автономных управляемых транспортных средств", впервые опубликованной в ISR в 1995 году. Автономные автомобили STANLEY и JUNIOR, разработанные под руководством Себастьяна Трунна, выиграли DARPA Grand Challenge и заняли второе место в DARPA Urban Challenge в 2000-х годах, используя системы SLAM и тем самым привлекая всемирное внимание к SLAM. Сейчас реализации SLAM для массового рынка можно найти в роботах-пылесосах и гарнитурах виртуальной реальности, таких как Meta Quest 2 и PICO 4, для отслеживания движения без использования маркеров.