Русская Википедия:SLAM (метод)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Другие значения/аббревиатура SLAM (Шаблон:Lang-en — одновременная локализация и построение карты) — метод, используемый в мобильных автономных средствах для построения карты в неизвестном пространстве или для обновления карты в заранее известном пространстве с одновременным контролем текущего местоположения и пройденного пути. Популярные методы приближённого решения данной задачи — фильтр частиц и расширенный фильтр Кальмана. Некоторые реализации метода используются в беспилотных автомобилях, летательных аппаратах, автономных подводных аппаратах, планетоходах, и даже внутри человеческого тела.

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

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

Формальная постановка

Задача SLAM заключается в вычислении оценки местоположения <math>x_t</math> агента и карты окружающей среды <math>m_t</math> из ряда наблюдений <math>o_t</math> над дискретным временем с шагом дискретизации <math>t</math>. Все перечисленные величины являются вероятностными. Цель задачи состоит в том, чтобы вычислить <math> P(m_t, x_t | o_{1:t})</math>. Применение правила Байеса является основой для последовательного обновления апостериорного местоположения, учитывая карту и функцию перехода <math>P(x_t | x_{t-1})</math>:

<math> P(x_t | o_{1:t}, m_t) = \sum_{m_{t-1}} P(o_t | x_t, m_t) \sum_{x_{t-1}} P(x_t | x_{t-1}) P(x_{t-1} | m_t, o_{1:t-1}) / Z </math>.

Точно так же карта может обновляться последовательно:

<math> P(m_t | x_t, o_{1:t}) = \sum_{x_t} \sum_{m_t} P(m_t | x_t, m_{t-1}, o_t) P(m_{t-1}, x_t | o_{1:t-1}, m_{t-1})</math>.

Как и во многих других проблемах логического вывода, оперируя двумя вероятностными переменными, можно прийти к локальному оптимальному решению, применяя EM-алгоритм.

Построение карты

Структурное представление карты местности зависит от среды функционирования.

Для выбора наилучшей реализации задач SLAM вводится условная классификация сред функционирования:

  • с многочисленными ярко выраженными ориентирами (например, поле с отдельно стоящими кустами)
  • с отсутствием ярко выраженных ориентиров (например, коридоры, комнаты, где в качестве ориентиров могут выступать углы)

Если в исследуемой среде нет возможности найти ориентиры, то её рационально представить в виде массива, где элементы, отражающие положение препятствий, имеют значение 1, а все остальные — 0. (Такое представление карты применяется, например, в алгоритме DP-SLAM)

В случае, когда в исследуемой местности есть многочисленные ориентиры, карта представляет собой массив оценок их местоположения. Размерность массива <math>R\cdot m</math>, где <math>R</math> — размерность пространства, <math>m</math> — количество ориентиров.

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

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

Ссылки

Шаблон:Вс Шаблон:Робототехника Шаблон:Нет иллюстрации Шаблон:Нет ссылок