6-2-воротников
.pdfСравнение алгоритмов
Локационные системы роботов |
Оптические локационные системы |
Локализация робота
Важнейшей задачей мобильного робота является локализация, т.е. точное определение своего положения в пространстве относительно других объектов (рис. 96).
Различают локальную и глобальную локализацию. При локальной локализации отслеживают положение робота на карте, когда его начальные координаты известны, а при глобальной — определяют его местоположения на незнакомом месте (обычно, с помощью GPS).
Способы локальной локализации робота можно разделить на 2 основные категории:
локализация по ориентирам (опорным точкам);
локализация с помощью сопоставлению полных сканов.
а |
б |
|
Рис. 96. Локализация: робота-пылесоса (а), автомобиля (б)
Локализация по ориентирам основана на выделении и распознавании ориентиров (особых точек), и определении своего геометрического положения относительно их. Ориентиры могут быть даны априори или получены роботом во время построения карты местности.
Локализация с помощью сопоставлению полных сканов использует любую доступную информацию, чтобы обновить положение робота. Это достигается путем сопоставления сканов с картой местности или помещения без извлечения особых точек в качестве ориентиров.
Локационные системы роботов |
Оптические локационные системы |
Локализация по ориентирам
Локализация по ориентирам (маякам) является самым простым и разработанным решением как в промышленных транспортных (рис. 97, а), так и в учебных роботах.
!
а |
б |
Рис. 97. Складские роботы Fetch Robotics (а), локализация по трем маякам (б)
Локализации по ориентирам реализуется с помощью
следующих алгоритмов:
Марковская локализация (рис. 98, а);
локализация при помощи обобщенного фильтра Калмана (EKF, рис. 98, б);
локализация методом фильтра частиц.
Идея Марковской локализации – вычисление дискретной аппроксимации распределения вероятности среди всех возможных положений робота в окружающей обстановке.
а |
б |
Рис. 98. Русский (а) и венгерский (б) математики
Локационные системы роботов |
Оптические локационные системы |
Локализация с помощью сопоставлению полных сканов
К способу локализации по сопоставлению полных сканов относятся следующие группы
алгоритмов:
локализация с помощью сопоставления точек двух сканов, например, Iterative Closest Point (ICP) – итерационный метод ближайших точек, Iterative Dual Correspondence (IDC) – итерационный метод двойного соответствия;
локализация с помощью сегментов линий карты;
локализация с использованием взаимной корреляционной функции, к примеру, на основе
гистограмм, или функции в алгоритме NDT (Normal Distributions Transform – преобразование нормальными распределениями, рис. 99, б);
метод рекуррентной фильтрации.
а |
б |
Рис. 99. а – складской робот компании RoboCV, |
б – карта помещения, построенная методом NDT |
В основе этой группы алгоритмов лежит процесс поступательного перемещения и поворота дальнометрического скана так, чтобы он максимально совпал с предыдущими или картой, заданной априори. Многие алгоритмы требуют начальной оценки положения, которая берется из одометрии.
Локационные системы роботов |
Оптические локационные системы |
Сравнительный анализ алгоритмов локализации
Анализируя способы и алгоритмы локализации можно сделать следующие выводы (табл. 6):
марковская локализация является самым надежным методом, но наименее точным, и требует большого количества вычислений;
метод ICP позволяет добиться большей точности, но не использует построенную карту, что приводит к накоплению ошибки в процессе работы;
самым точным из вышеперечисленных является алгоритм NDT, однако, он чувствителен к шуму измерений.
|
Таблица 6. |
Алгоритмы навигации роботов |
||
|
|
|
|
|
Характеристика |
Марковская |
|
ICP |
NDT |
локализация |
|
|||
|
|
|
|
|
|
|
|
|
|
Работа с картой |
да |
|
нет |
да |
|
|
|
|
|
Глобальная локализация |
да |
|
нет |
нет |
Использование ориентиров |
да/нет |
|
нет |
нет |
|
|
|
|
|
Устойчивость к шуму измерений |
высокая |
|
низкая |
низкая |
|
|
|
|
|
Точность локализации линейная, мм |
100 |
|
30 |
10 |
|
|
|
|
|
Точность локализации угловая, ° |
2 |
|
0,4 |
0,4 |
|
|
|
|
|
Среднее время вычислений, мс |
200 |
|
20 |
13 |
|
|
|
|
|
Вывод:
Для локализации робота целесообразно использовать алгоритм NDT с предварительным
шумподавлением.
Локационные системы роботов |
Оптические локационные системы |
Локализация и построение карты
За последние 10 лет получили распространение алгоритмы локализации робота, основанные на методе одновременной локализации и построения карты SLAM (от англ. Simultaneous Location and Mapping). Метод SLAM позволяет строить и обновлять карту пространства одновременно с
контролем текущего местоположения и пройденного пути (рис. 100).
SLAM является типичной проблемой курицы и яйца: карта необходима для локализации, а
локализация необходима для создания карты. Алгоритмы SLAM используют итерационные процедуры.
Главные задачи метода SLAM:
при построении карты — интерпретация данных
от датчиков;
при локализации — определение текущего положения робота на постоянного обновляемой карте.
Основные направления SLAM
Рис. 100. Пример карты
GMapping |
Hector mapping |
RGB SLAM |
Visual SLAM |
Эти направления, в частности, реализованы в операционной системе роботов ROS.
1.В алгоритме GMapping используют данные от лазерного дальномера и одометрии робота.
2.Hector mapping использует данные от высокоскоростных LIDAR-ов (без одометрии).
3.Алгоритм Visual SLAM основан на методах компьютерного зрения.
4.Пакет RGB SLAM основан на применении облака точек с RGBD датчиков (типа Kinect).
Локационные системы роботов |
Оптические локационные системы |
Visual SLAM. Робот-пылесос Samsung Hauzen RE70V
Локационные системы роботов |
Оптические локационные системы |
Алгоритмы SLAM
С точки зрения алгоритмов обработки данных, при реализации метода SLAM можно выделить 3 основных подхода, использующих:
расширенный фильтр Калмана (Extended Kalman Filter, EKF);
фильтр частиц (Particle Filter);
графы.
На данный момент наиболее популярны методы, использующие расширенный фильтр Калмана и фильтр частиц. Постепенно второй подход вытесняет первый.
Расширенный фильтр Калмана использует расширенный вектор состояния, который включает
как положение робота, так и положение всех элементов карты. Для предсказания следующего состояния системы (например, положения робота в конкретный момент времени) необходимо иметь текущее измерение, а также знать предыдущее состояние самого фильтра.
Главным недостатком фильтра является его квадратичная вычислительная сложность от числа объектов на карте. Размер карты, как правило, не превышает 1000 элементов.
Фильтр частиц – математическая модель, позволяющая на |
|
основе текущей карты вычислить наиболее вероятное положение |
|
робота с помощью некоторого набор (облака) частиц, занимающих |
|
пространство состояний (рис. 101). |
|
Облако частиц характеризует неопределенность состояний |
|
робота. Чем больше число частиц – тем больше вероятность. Одна |
|
частица в фильтре частиц содержит положение и угловую |
|
ориентацию робота. |
Рис. 101. Фильтр частиц. Идея |
|
Вероятность частиц рассчитывается на основе разности реальных показаний дальномера и показаний, которые должны были бы быть в данной частице.
Фильтр частиц (в частности, алгоритм DP-SLAM) имеет логарифмическую сложность (зависит от количества ячеек на карте и числа частиц).
Локационные системы роботов |
Оптические локационные системы |
Фильтр частиц. Принцип работы
Локационные системы роботов |
Оптические локационные системы |
Алгоритм FastSLAM (Фильтр частиц)
Локационные системы роботов |
Оптические локационные системы |