SLAM (метод)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Метод одновременной локализации и построения карты (SLAM от англ. Simultaneous Localization and Mapping) — метод, используемый в мобильных автономных средствах для построения карты в неизвестном пространстве или для обновления карты в заранее известном пространстве с одновременным контролем текущего местоположения и пройденного пути. Популярные методы приближенного решения данной задачи включают в себя фильтр частиц и расширенный фильтр Калмана. Опубликованные подходы используются в самостоятельном вождении автомобилей, беспилотных летательных аппаратов, автономных подводных аппаратов, планетоходов, домашних роботов и даже внутри человеческого тела.[1]

Постановка задачи[править | править вики-текст]

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

 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

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

 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})

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

Описание работы метода[править | править вики-текст]

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

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

В настоящее время существует несколько основных подходов к решению этой задачи:

Решение задач SLAM в многоагентных системах[править | править вики-текст]

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

Технические проблемы реализации метода[править | править вики-текст]

Построение карты[править | править вики-текст]

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

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

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

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

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

их местоположения. Размерность массива R\cdot m, где R — размерность пространства, m — количество ориентиров.

Для хранения структуры такой карты проще всего использовать картографическую базу данных, которая отражает положение ориентиров, их уникальные свойства и

взаимосвязи. Матрица оценок состояния динамической системы на основе расширенного Фильтра Калмана использует именно этот вариант представления карты.

Датчики[править | править вики-текст]

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

Навигация[править | править вики-текст]

Моделирование[править | править вики-текст]

Примечания[править | править вики-текст]

  1. [1]

Ссылки[править | править вики-текст]