Локализация Монте-Карло
Локализация Монте-Карло ( MCL ), также известная как локализация фильтра твердых частиц , [1] — это алгоритм локализации роботов с помощью фильтра частиц . [2] [3] [4] [5] Имея карту окружающей среды, алгоритм оценивает положение и ориентацию робота по мере его движения и зондирования окружающей среды. [4] Алгоритм использует фильтр частиц для представления распределения вероятных состояний, при этом каждая частица представляет возможное состояние, т. е. гипотезу о том, где находится робот. [4] Алгоритм обычно начинается с равномерного случайного распределения частиц в конфигурационном пространстве . Это означает, что робот не имеет информации о том, где он находится, и предполагает, что он с равной вероятностью может находиться в любой точке пространства. [4] Всякий раз, когда робот движется, он сдвигает частицы, чтобы предсказать свое новое состояние после движения. Всякий раз, когда робот что-то воспринимает, выборка частиц производится на основе рекурсивной байесовской оценки , т. е. того, насколько хорошо фактически измеренные данные коррелируют с прогнозируемым состоянием. В конечном итоге частицы должны сходиться к фактическому положению робота. [4]
Основное описание
[ редактировать ]Рассмотрим робота с внутренней картой окружающей среды. Когда робот перемещается, ему необходимо знать, где он находится на этой карте. Определение его местоположения и вращения (в более общем смысле, позы ) с помощью наблюдений датчиков известно как локализация робота .
Поскольку робот не всегда может вести себя совершенно предсказуемо, он генерирует множество случайных предположений о том, где он будет дальше. Эти предположения известны как частицы. Каждая частица содержит полное описание возможного будущего состояния. Когда робот наблюдает за окружающей средой, он отбрасывает частицы, не соответствующие этому наблюдению, и генерирует больше частиц, близких к тем, которые кажутся согласованными. В конце концов, мы надеемся, что большинство частиц соберутся туда, где на самом деле находится робот.
Государственное представительство
[ редактировать ]Состояние робота зависит от применения и конструкции. Например, состояние типичного 2D-робота может состоять из кортежа на должность и ориентация . Для роботизированной руки с 10 суставами это может быть кортеж, содержащий угол каждого сустава: .
Убеждение распределенную , которое является оценкой роботом его текущего состояния, представляет собой функцию плотности вероятности, по пространству состояний. [1] [4] В алгоритме MCL убеждение за раз представлен набором частицы . [4] Каждая частица содержит состояние и, таким образом, может рассматриваться как гипотеза состояния робота. Области в пространстве состояний с большим количеством частиц соответствуют большей вероятности того, что робот будет там, а области с небольшим количеством частиц вряд ли окажутся там, где находится робот.
Алгоритм предполагает марковское свойство , заключающееся в том, что распределение вероятностей текущего состояния зависит только от предыдущего состояния (а не от любого из предшествующих), т. е. зависит только от . [4] Это работает только в том случае, если окружающая среда статична и не меняется со временем . [4] Обычно при запуске робот не имеет информации о своем текущем положении, поэтому частицы равномерно распределены по конфигурационному пространству . [4]
Обзор
[ редактировать ]Учитывая карту окружающей среды, цель алгоритма состоит в том, чтобы робот определил свою позу в окружающей среде.
В любое время алгоритм принимает на вход предыдущее убеждение , команда срабатывания , и данные, полученные от датчиков ; и алгоритм выводит новое убеждение . [4]
Algorithm MCL: for to : motion_update sensor_update endfor for to : draw from with probability endfor return
Пример для 1D-робота
[ редактировать ]Рассмотрим робота в одномерном круглом коридоре с тремя одинаковыми дверями, использующего датчик, который возвращает либо истинное, либо ложное значение в зависимости от того, есть ли дверь.
В конце трех итераций большинство частиц сходятся в желаемом фактическом положении робота.
Обновление движения
[ редактировать ]
Во время обновления движения робот прогнозирует свое новое местоположение на основе поданной команды срабатывания, применяя смоделированное движение к каждой из частиц. [1] Например, если робот движется вперед, все частицы движутся вперед в своих направлениях, независимо от того, в какую сторону они направлены. Если робот вращается на 90 градусов по часовой стрелке, все частицы вращаются на 90 градусов по часовой стрелке, независимо от того, где они находятся. Однако в реальном мире ни один привод не идеален: они могут превышать или недооценивать желаемую величину движения. Когда робот пытается двигаться по прямой, он неизбежно изгибается в ту или иную сторону из-за незначительной разницы в радиусе колес. [1] Следовательно, модель движения должна компенсировать шум. Как следствие, частицы неизбежно расходятся во время обновления движения. Это ожидаемо, поскольку робот становится менее уверенным в своем положении, если движется вслепую, не ощущая окружения.
Обновление датчика
[ редактировать ]Когда робот ощущает окружающую среду, он обновляет свои частицы, чтобы более точно отражать свое местоположение. Для каждой частицы робот вычисляет вероятность того, что, если бы он находился в состоянии частицы, он бы воспринял то, что на самом деле почувствовали его датчики. Он присваивает вес для каждой частицы пропорциональна указанной вероятности. Затем он случайным образом рисует новые частицы из предыдущего убеждения с вероятностью, пропорциональной . Частицы, соответствующие показаниям датчика, выбираются с большей вероятностью (возможно, более одного раза), а частицы, не соответствующие показаниям датчика, выбираются редко. Таким образом, частицы сходятся, чтобы лучше оценить состояние робота. Это ожидаемо, поскольку робот становится все более уверенным в своем положении по мере того, как он ощущает окружающую среду.
Характеристики
[ редактировать ]Непараметричность
[ редактировать ]Фильтр частиц , являющийся центральным элементом MCL, может аппроксимировать несколько различных видов распределений вероятностей , поскольку он является непараметрическим представлением . [4] Некоторые другие алгоритмы байесовской локализации, такие как фильтр Калмана (и варианты, расширенный фильтр Калмана и фильтр Калмана без запаха ), предполагают, что убеждение робота близко к распределению Гаусса , и не работают хорошо в ситуациях, когда убеждение мультимодальный . [4] Например, робот в длинном коридоре со множеством одинаковых дверей может прийти к убеждению, что у каждой двери есть вершина, но робот не сможет отличить, за какой дверью она находится. В таких ситуациях фильтр твердых частиц может обеспечить лучшую производительность, чем параметрические фильтры. [4]
Другой непараметрический подход к марковской локализации — это локализация на основе сетки, в которой используется гистограмма для представления распределения достоверности . По сравнению с подходом, основанным на сетке, локализация Монте-Карло является более точной, поскольку состояние, представленное в выборках, не дискретизируется. [2]
Вычислительные требования
[ редактировать ]фильтра частиц Временная сложность линейна в зависимости от количества частиц. Естественно, чем больше частиц, тем выше точность, поэтому существует компромисс между скоростью и точностью, и желательно найти оптимальное значение . Одна стратегия на выбор заключается в непрерывной генерации дополнительных частиц до следующей пары команд и показания датчика прибыл. [4] Таким образом, получается максимально возможное количество частиц, не мешая при этом работе остальной части робота. Таким образом, реализация адаптивна к доступным вычислительным ресурсам: чем быстрее процессор, тем больше частиц можно сгенерировать и, следовательно, тем точнее алгоритм. [4]
По сравнению с марковской локализацией на основе сетки, локализация Монте-Карло сократила использование памяти, поскольку использование памяти зависит только от количества частиц и не масштабируется с размером карты. [2] и может интегрировать измерения на гораздо более высокой частоте. [2]
Алгоритм можно улучшить с помощью выборки KLD , как описано ниже, которая адаптирует количество используемых частиц в зависимости от того, насколько уверен робот в своем положении.
Депривация частиц
[ редактировать ]Недостаток наивной реализации локализации Монте-Карло возникает в сценарии, когда робот сидит на одном месте и неоднократно зондирует окружающую среду, не двигаясь. [4] Предположим, что все частицы сходятся к ошибочному состоянию или если оккультная рука подхватывает робота и перемещает его в новое место после того, как частицы уже сошлись. Поскольку частицы, находящиеся далеко от конвергентного состояния, редко выбираются для следующей итерации, на каждой итерации их становится все меньше, пока они не исчезнут совсем. На этом этапе алгоритм не может восстановиться. [4] Эта проблема более вероятна для небольшого числа частиц, например, и когда частицы распределены по большому пространству состояний. [4] Фактически, любой алгоритм фильтра частиц может случайно отбросить все частицы, близкие к правильному состоянию, на этапе повторной выборки. [4]
Один из способов решения этой проблемы — случайное добавление дополнительных частиц на каждой итерации. [4] Это эквивалентно предположению, что в любой момент времени у робота есть небольшая вероятность быть похищенным в случайное место на карте, что приводит к появлению части случайных состояний в модели движения. [4] Гарантируя, что ни одна область на карте не будет полностью лишена частиц, алгоритм теперь устойчив к лишению частиц.
Варианты
[ редактировать ]Исходный алгоритм локализации Монте-Карло довольно прост. Было предложено несколько вариантов алгоритма, которые устраняют его недостатки или адаптируют его для большей эффективности в определенных ситуациях.
выборка КЛД
[ редактировать ]Локализация Монте-Карло может быть улучшена путем отбора проб частиц адаптивным способом на основе оценки ошибки с использованием расхождения Кульбака – Лейблера (KLD). Первоначально необходимо использовать большой из-за необходимости покрыть всю карту равномерно случайным распределением частиц. Однако, когда частицы сошлись в одном и том же месте, сохранение такого большого размера выборки является расточительным с точки зрения вычислений. [6]
KLD-выборка — это вариант локализации Монте-Карло, при котором на каждой итерации размер выборки рассчитывается. Размер выборки рассчитывается так, что с вероятностью ошибка между истинным апостериорным приближением и аппроксимацией на основе выборки меньше, чем . Переменные и являются фиксированными параметрами. [4]
Основная идея — создать сетку (гистограмму), наложенную на пространство состояний. Каждый интервал гистограммы изначально пуст. На каждой итерации из предыдущего (взвешенного) набора частиц извлекается новая частица с вероятностью, пропорциональной ее весу. Вместо повторной выборки, выполняемой в классическом MCL, алгоритм выборки KLD извлекает частицы из предыдущего взвешенного набора частиц и применяет обновления движения и датчика перед помещением частицы в корзину. Алгоритм отслеживает количество непустых контейнеров, . Если частица помещена в ранее пустой контейнер, значение пересчитывается, что увеличивается в основном линейно по . Это повторяется до тех пор, пока размер выборки не достигнет то же самое, что . [4]
Легко увидеть, что KLD-выборка отбирает лишние частицы из набора частиц, только увеличивая когда новое место (корзина) заполнено. На практике выборка KLD постоянно превосходит и сходится быстрее, чем классическая MCL. [4]
Ссылки
[ редактировать ]- ^ Jump up to: а б с д Иоаннис М. Реклейтис. « Учебное пособие по фильтру частиц для локализации мобильных роботов ». Центр интеллектуальных машин, Университет Макгилла, Техн. Отчет TR-CIM-04-02 (2004 г.).
- ^ Jump up to: а б с д Фрэнк Деллаерт , Дитер Фокс, Вольфрам Бургард , Себастьян Трун . « Локализация Монте-Карло для мобильных роботов. Архивировано 17 сентября 2007 г. в Wayback Machine ». Учеб. Международной конференции IEEE по робототехнике и автоматизации Vol. 2. ИИЭР, 1999.
- ^ Дитер Фокс, Вольфрам Бургард, Фрэнк Деллаерт и Себастьян Трун, « Локализация Монте-Карло: эффективная оценка положения мобильных роботов ». Учеб. Шестнадцатой национальной конференции по искусственному интеллекту John Wiley & Sons Ltd, 1999 г.
- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В х и Себастьян Трун, Вольфрам Бургард, Дитер Фокс. Вероятностная робототехника MIT Press, 2005. Гл. 8.3 ISBN 9780262201629 .
- ^ Себастьян Трун, Дитер Фокс, Вольфрам Бургард, Фрэнк Делларт. « Надежная локализация мобильных роботов по методу Монте-Карло ». Искусственный интеллект 128.1 (2001): 99–141.
- ^ Дитер Фокс. « KLD – Отбор проб: адаптивные фильтры частиц ». Департамент компьютерных наук и инженерии Вашингтонского университета. НИПС, 2001.