Локализация объектов

Локализация - одно из базовых понятий автономной навигации.

Когда робот перемещается он должен понимать, где он оказался после перемещения. Решение такой задачи и есть решение задачи Локализации.

Известный нам способ это сделать - получить данные о вращении колес робота и по ним рассчитать перемещение робота (данные Одометрии). Но это не очень хороший способ. Например, когда колеса проскальзывают, то данные становятся не точными, и со временем эта ошибка постоянно увеличивается.

Кроме того, по данным Одометрии, мы можем узнать только относительное положение робота (где он находился и куда попал). А если робот включится в случайной точке на карте ? Как в такой ситуации определить положение робота?

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

Под положением робота (Pose), мы понимаем две его характеристики: \ Позиция (Position), которая определяет координаты робота на карте. \ Ориентация (orientation), которая определяет его ориентацию в пространстве.

AMCL

Для решения этой задачи, рассмотрим алгоритм AMCL (Adaptive Monte Carlo Localization / адаптивный алгоритм локализации Монте-Карло)

http://wiki.ros.org/amcl

Принцип работы AMCL заключается в том, что алгоритм предполагает множество позиций, где может находиться робот. По мере движения робота, алгоритм сопоставляет «очертания карты» и данные с лидара. Таким образом, постепенно, множество предполагаемых позиций робота сходится к локальной точке, считающейся истинным местоположением робота в пространстве.

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

results matching ""

    No results matching ""