6-2-воротников
.pdf10. Навигация мобильных роботов
Основной проблемой всех автономных мобильных роботов (т.е. перемещающихся без управления со стороны человека) остается навигация (рис. 92).
Для успешной навигации в пространстве бортовая система робота должна:
планировать и строить маршрут (рис. 92, а);
правильно интерпретировать сведения об окружающем мире, получаемые от датчиков, и постоянно отслеживать собственные координаты (рис. 92, б);
управлять параметрами движения – задавать угол поворота колес и скорость их вращения (рис. 92, в).
|
а |
б |
в |
Рис. 92. |
Задачи навигации: прокладывание маршрута (а), построение карты и локализация (б), |
||
управление движением (в) |
|
|
Задачи навигации решаются на верхнем уровне системы управления роботом.
Системы прокладывания маршрута разработаны достаточно хорошо. Они основаны на алгоритмах планирования маршрута и поиска кратчайшего пути.
Определение своего положения и координат в пространстве относительно других объектов решается с помощью алгоритмов локализации.
Методы локализации включают в себя также алгоритмы построения карты.
Локационные системы роботов |
Оптические локационные системы |
К вопросу о карте: Австралия
Локационные системы роботов |
Оптические локационные системы |
USA
Авиатрафик (данные со спутника)
Локационные системы роботов |
Оптические локационные системы |
Сравнительные характеристики навигационных систем
В настоящее время существуют открытые проекты, реализующие навигацию мобильного робота
как часть системы управления (табл. 5). Примером является CARMEN (Carnegie Mellon Robot
Navigation Toolkit) – набор ПО для навигации робота, созданный в университете Карнеги Меллон).
Кроме этого, на рынке есть коммерческие продукты, которые являются комплектом библиотек для разработки ПО (SDK). Например, разработанный в центре искусственного интеллекта Стэндфордского исследовательского института продукт KARTO.
Таблица 5. Навигационные системы роботов
Характеристика |
MobileRobots ARNL |
CARMEN |
KARTO |
|
|
|
|
|
|
Поддержка некоторых мобильных платформ |
да |
да |
да |
|
|
|
|
|
|
Готовность системы к работе без |
да |
нет |
нет |
|
дополнительной наладки |
||||
|
|
|
||
|
|
|
|
|
Автономность ПО |
нет |
да |
да |
|
|
|
|
|
|
Операционная система |
Motivity |
Linux |
Robot OS (Linux, |
|
Windows, Mac OS) |
||||
|
|
|
||
|
|
|
|
|
Управление роботом |
да |
да |
нет |
|
|
|
|
|
|
Редактирование карты |
да |
да |
нет |
|
|
|
|
|
|
Работа в ЛВС |
нет |
нет |
да |
|
|
|
|
|
|
Точность позиционирования робота |
±15мм (AGV) |
н/д |
– |
|
|
|
|
|
|
Повторяемость движений |
±150мм (AGV) |
н/д |
– |
|
|
|
|
|
Локационные системы роботов |
Оптические локационные системы |
Прокладывание маршрута
Важнейшей задачей верхнего уровня управления мобильным роботом является планирование перемещений к некоторой целевой точке с учетом различных факторов. Для этого необходимо
выбрать и проложить маршрут движения, который обычно представляет собой кратчайший путь
к целевой точке.
Задача поиска кратчайшего пути, решается на карте помещения, представленной в виде графа. Аппаратно-программный блок, решающий эту задачу получил название «планировщик пути».
Алгоритм поиска пути ищет маршрут на графе, начиная с одной (стартовой) точки и исследуя
смежные узлы до тех пор, пока не будет достигнут узел назначения (конечный узел).
Существует ряд способов приведения
непрерывного пространства (рис. 93, а) к
дискретным вариантам:
ячейки (рис. 93, б);
точки видимости (рис. 93, в);
выпуклые полигоны (рис. 93, г);
квадрантные деревья (рис. 93, д);
обобщенные цилиндры (рис. 93, е).
Самые распространенные алгоритмы
поиска пути используют сетку с квадратными ячейками.
В таком виде карта представляет собой
восьмисвязный |
граф, |
вершины |
|
|
|
которого находятся |
в центре |
каждой |
Рис. 93. Способы дискретизации карты пространства (а): ячейки |
||
ячейки, а ребрами являются переходы к |
|||||
(б), |
точки видимости (в), выпуклые полигоны (г), квадрантные |
||||
соседним ячейкам. |
|
|
|||
|
|
деревья (д), обобщенные цилиндры (е) |
|||
|
|
|
|||
|
|
|
|||
Локационные системы роботов |
|
Оптические локационные системы |
Алгоритмы поиска пути
Существует много алгоритмов поиска оптимального пути на графе.
Поиск в ширину (волновой алгоритм Ли). Начиная со стартового узла, этот алгоритм сначала определяет все непосредственно соседние узлы, затем все узлы в двух шагах, затем в трех, и так далее, пока цель не достигнута.
Двунаправленный поиск в ширину. Этот алгоритм лучше предыдущего тем, что запускаются два одновременных поиска в ширину из стартового и конечного узлов.
Алгоритм Дейкстры (для взвешенных графов, грани которых имеют различный вес). На каждом шаге, ищутся необработанные узлы близкие к стартовому, затем просматриваются соседи найденного узла, и устанавливаются их соответствующие расстояния от старта.
Поиск в глубину. Этот поиск противоположен поиску в ширину. Вместо посещения
вначале всех соседей, а потом их наследников, он сначала посещает всех наследников, а только затем переключается на соседей.
Алгоритм «лучший – первый». Это эвристический поиск, похожий на алгоритм Дейкстры, за исключением того, что узлы оцениваются по приблизительному оставшемуся расстоянию до цели.
Алгоритм А*. Этот эвристический поиск сортирует все узлы по приближению наилучшего маршрута идущего через этот узел. Он сочетает в себе учет длины предыдущего пути из алгоритма Дейкстры с эвристикой из алгоритма «лучший-первый».
Выводы:
Для реализации в навигационной системе целесообразно использовать алгоритм А*.
Во-первых, это самый быстрый и надежный алгоритм поиска из рассмотренных выше.
Во-вторых, он позволяет учитывать зоны пониженной проходимости.
И в-третьих, достаточно прост в реализации.
Локационные системы роботов |
Оптические локационные системы |
Привет от Анаид Вартановны
Самым известным является алгоритм Дейкстры (рис. 94, а, б), созданный в 1959 г, самым простым
– волновой алгоритм (алгоритм Ли, рис. 94, в).
б
а
в
Рис. 94. Пример реализации алгоритма Дейкстры (а) и его автор (б), иллюстрация волнового алгоритма (в)
Обозначено: S – множество вершин, для которых кратчайшие пути от начальной вершины (1) уже известны, w – номер вершины, D – массив, в который записываются длины кратчайших
путей для каждой вершины.
Основная идея а алгоритма Ли – каждая точка пути становится источником новой волны.
Локационные системы роботов |
Оптические локационные системы |
Алгоритм А*
Алгоритм А* — алгоритм поиска по первому наилучшему совпадению на графе, который находит маршрут с наименьшей стоимостью (весом) от одной вершины (начальной) к другой (целевой, конечной). Он был впервые описан в 1968 г. П. Хартом, Н. Нильсоном и Б. Рафаэлем. Это по сути
было расширение алгоритма Дейкстры.
В алгоритме А* задача поиска пути сводится к определению последовательности клеток, через центры которых робот проедет за кратчайшее время. Принимаем допущение, что время движения
робота прямо пропорционально длине пути.
а |
б |
б |
г |
д |
Рис. 95. Работа алгоритма А*: исходное состояние (а), первый шаг (б), второй шаг (в), последний шаг (г), результат (д)
Вданной реализации алгоритма (рис. 95) поиск начинается с целевой вершины F и заканчивается
ввершине, где находится робот (возможно и наоборот).
Впроцессе работы алгоритма для вершин рассчитывается функция
f(v) = g(v) + h(v)
где g(v) — наименьшая стоимость пути v в из приближение стоимости пути от v до конечной цели. то есть не должна переоценивать расстояние до цели.
стартовой вершины, h(v) — эвристическое h(v) должна быть эвристически допустимой, Фактически, f(v) — длина пути до цели.
Вкачестве эвристики используют манхэттенское или эвклидово расстояние, расстояние Чебышева
ипр.
Локационные системы роботов |
Оптические локационные системы |
Принцип работы алгоритма А*
Локационные системы роботов |
Оптические локационные системы |
Поиск пути алгоритмом А*
Локационные системы роботов |
Оптические локационные системы |