• 7universum.com
1UNIVERSUM:
А ТЕХНИЧЕСКИЕ НАУКИ
ВЫБОР ЭФФЕКТИВНОГО АЛГОРИТМА ПЛАНИРОВАНИЯ ДЛЯ ФОРМИРОВАНИЯ ИНФОРМАЦИОННОЙ ПОДСИСТЕМЫ ДВИЖЕНИЯ МОБИЛЬНОГО РОБОТА
Столяров Андрей Андреевич
магистрант, Хакасский государственный университет им. Н.Ф. Катанова, 655000, РФ, Республика Хакасия, г. Абакан, пр. Ленина, д. 90
Email: [email protected]
Санников Евгений Владимирович
канд. физ.-мат. наук, доцент кафедры информационных технологий и систем, Хакасский государственный университет им. Н.Ф. Катанова, 655000, РФ, Республика Хакасия, г. Абакан, пр. Ленина, д. 90
E-mail: [email protected]
CHOICE OF EFFECTIVE PLANNING ALGORITHM FOR FORMATION OF INFORMATIVE SUBSYSTEM OF MOBILE ROBOT MOTION
Audrey Stolyarov
Graduate Student, Khakass State University named after N.F. Katanov 655000, Russia, the Republic of Khakassia, Abakan, Lenina ave., b. 90
Evgeny Sauuikov
Candidate of Physical and Mathematical Sciences, Associate Professor of IT and Systems Chair, Khakass State University named after N.F. Katanov 655000, Russia, the Republic of Khakassia, Abakan, Lenina ave., b. 90
АННОТАЦИЯ
Статья посвящена структуре алгоритмов планирования, необходимых глобальному планировщику для построения наиболее эффективной траектории движения мобильного робота и глобальному и локальному планировщикам мета-операционной системы Robot Operating System. Также описываются
Столяров А.А., Санников Е.В. Выбор эффективного алгоритма планирования для формирования информационной подсистемы движения мобильного робота // Universum: Технические науки : электрон. научн. журн. 2015. № 8-9 (20) .
URL: http://7universum.com/ru/tech/archive/item/2586
основные пакеты Robot Operating System, необходимые для создания информационной подсистемы движения мобильного робота.
Было проведено моделирование движения мобильного робота с использованием трех алгоритмов планирования пути: — алгоритм А*, DARRT, DARRTConnect, в пяти различных мирах, которые представляли собой квадратную комнату с препятствиями либо их отсутствием, с целью выявления наиболее эффективного алгоритма планирования для передвижения
мобильного робота. В процессе моделирования перед мобильным роботом стояла задача достичь из начальной позиции целевую, путем разбиения пути от начальной до целевой позиции на подцели. Каждый из множества возможных вариантов траектории движения мобильного робота проверялся на наличие препятствий. Если одна из множества траекторий движения пересекала препятствие, то путь признавался некорректным и происходило удаление этого пути и проверка остальных. Алгоритм DARRTConnect, по результатам моделирования и сравнительного анализа, оказался наиболее эффективным алгоритмом для глобального планировщика.
ABSTRACT
The article is devoted to the structure of the planning algorithms which are necessary for global scheduler to build the most efficient trajectory of the mobile robot, and for global and local schedulers of meta-operational system Robot Operating System. Also, basic packets of Robot Operating System necessary for creating the information subsystem of mobile robot motion are described.
Modeling of mobile robot motion is made using three path planning algorithms: algorithm A *, DARRT, DARRTConnect, in five different worlds which are a square room with obstacles or without them to identify the most efficient planning algorithm for mobile robot motion. A task for the mobile robot is to achieve the target position from the starting one by breaking the path from the starting point to the target position for the subtask in the modeling process. Each of the possible path varieties of mobile robot motion is checked for the presence of obstructions. If one of the plurality of motion trajectories crosses the obstacle, the path is considered incorrect; this path
is deleted, the others are checked. DARRTConnect algorithm is the most effective algorithm for the global scheduler according to results of modeling and comparative analysis.
Ключевые слова: мобильный робот, Robot Operating System, глобальный планировщик, локальный планировщик, пакет ROS, алгоритм, моделирование движения, DARRTConnect.
Keywords: mobile robot; Robot Operating Syst em; global scheduler; local scheduler; packet ROS; algorithm; motion modeling; DARRTConnect.
На сегодняшний день большинство перспективных разработок в области робототехники требуют высокой скорости и точности перемещения. Применение интеллектуальных технологий управления обеспечивает существенное повышение быстродействия и других показателей процесса управления. При работе в незнакомом или изменяющемся окружении мобильный робот должен обладать способностью адаптироваться к изменениям в окружающей среде, реагировать на непредусмотренные ситуации и действовать на основании предыдущего опыта.
Для успешного выполнения обширного круга задач роботы должны обладать как мобильностью, так и способностью интерпретировать, планировать и автоматически выполнять полученное задание, используя бортовую вычислительную систему. Их особенность — возможность достижения заданной цели в неопределенной внешней среде, избегая столкновений со стационарными препятствиями [3].
Проведено исследование, необходимое для создания эффективной информационной подсистемы движения мобильного робота.
Для проведения исследования необходимо было выбрать операционную систему для роботов. Robot Operating System (ROS) — это мета-операционная система для создания программного обеспечения для роботов [7].
ROS обеспечивает стандартные службы операционной системы:
1. аппаратную абстракцию;
2. низкоуровневый контроль устройств;
3. реализацию часто используемых функций;
4. передачу сообщений между процессами;
5. управление пакетами.
На уровне файловой системы основным блоком для организации программного обеспечения в ROS является пакет.
Основная задача ROS — поддержка повторного использования кода в робототехнических исследованиях и разработке.
Для моделирования движения мобильного робота необходимы глобальный и локальный планировщики ROS.
Глобальный планировщик отвечает за генерацию плана высокого уровня для навигационного стека. Текущая реализация навигационного стека использует базовую сетку глобального планировщика, которая предполагает, что робот имеет круглую форму. Это необходимо для того, чтобы глобальный планировщик мог создавать навигационные точки для робота, приемлемые для его фактического движения, которые могут быть в действительности неосуществимым. Кроме того, глобальный планировщик не рассматривает динамику робота.
На рисунке 1 изображены красные клетки, которые представляют препятствия, синие клетки — препятствия вокруг радиуса робота, а красный многоугольник — контур робота. Во избежание столкновения, контур робота никогда не должен пересекать красную клетку и его центральная точка никогда не должна пересекать синюю ячейку.
Рисунок 1. Пример использования глобального планировщика
мобильной базы
Г лобальный планировщик для поиска и построения траектории использует различные алгоритмы, такие как алгоритм Дейкстры, алгоритм A* и DARRT, DARRTConnect [1; 2; 4].
Алгоритм Дейкстры. Каждой вершине из V сопоставляет метку — минимальное известное расстояние от этой вершины до a. Алгоритм работает пошагово: на каждом шаге «посещает» одну вершину и пытается уменьшать метки.
Шаг алгоритма. Если все вершины посещены, алгоритм завершается. В противном случае, из ещё не посещённых вершин выбирается вершина u, имеющая минимальную метку. Рассматриваются всевозможные маршруты, в которых u является предпоследним пунктом. Вершины, в которые ведут рёбра из u, называются соседями этой вершины. Для каждого соседа вершины u, кроме отмеченных как посещённые, рассматривается новая длина пути, равная сумме значений текущей метки u и длины ребра, соединяющего u с этим соседом. Если
полученное значение длины меньше значения метки соседа, значение метки заменяется полученным значением длины. После рассмотрения всех соседей, вершина u помечается как посещенная, и шаг алгоритма повторяется.
Алгоритм А* сочетает в себе алгоритм Дейкстры и алгоритм «Лучший первый из поиска». Основная идея алгоритма состоит в использовании для каждого узла n на графе пространства состояний оценочной функции вида:
f(n) = g(n)+h(n).
Здесь g(n) соответствует расстоянию на графе от узла n до начального состояния, a h(n) — оценка расстояния от n до узла, представляющего конечное состояние. Чем меньше значение оценочной функции f(n), тем «лучше», т. е. узел n лежит на более коротком пути от исходного состояния к целевому. Идея алгоритма состоит в том, чтобы с помощью f(n) отыскать кратчайший путь на графе от исходного состояния к целевому [1].
Diverse Action Rapidly exploring Random Tree (DARRT) — алгоритм разнообразных способов быстрого изучения случайных имеет структуру быстрого изучения случайных деревьев (RRT) с контролем. При расширении c DARRT, вместо пошагового расширения дерева поиска пути, на всей длине расширяется состояние дерева через нахождения другого маршрута в некоторое состояние, которое частично удовлетворяет состоянию примера. Для более простой обработки путь, найденный расширенным алгоритмом, игнорирует любые столкновения. Этот метод обрезается до момента первого столкновения и добавляется в дерево.
DARRTConnect — расширение метода, используемого в DARRT, — переводит его в двунаправленный алгоритм от начальной конфигурации c1 к целевой конфигурации c2 и включает в себя вычисление всех путей от c1 к c2. При возврате от конечного состояния c1 к исходному состоянию c2, просто изменяется порядок аргументов. Алгоритм возвращает путь из с2 в с1, который дискретизирует, а затем проверяет наличие столкновений в обратном порядке. В результате чего получается правильный путь в обратном направлении от c1 к c2.
Локальный планировщик производит поиск подходящего локального плана в каждом цикле управления. Для этой цели произведено много вариантов траектории. Для произведенной траектории проверяется, сталкивается ли она с препятствием.
Пакет base_local_planner для ROS обеспечивает выполнение развертывания траектории и динамических подходов окна (DWA) к локальной навигации робота на плоскости [5].
Пакет base_local_planner — это контроллер, который ведёт мобильную базу на плоскости. Он служит для соединения планировщика пути с роботом. Используя карту, планировщик создает кинематическую траекторию для робота, чтобы добраться от начала до местоположения цели. По пути планировщик создает, по крайней мере в местном масштабе вокруг робота, функции ценности, представленной, как карта, сетки. Работа контроллера состоит в том, чтобы использовать эту функцию ценности с целью определить dx, dy, dtheta скорости, чтобы послать роботу. Пример работы пакета base_local_planner представлен на рисунке 2.
Рисунок 2. Пример использования локального планировщика мобильной базы
Основная идея развёртывания траектории и алгоритма динамических подходов окна (DWA) состоит в следующем [6]:
1. дискретизация пространства управления робота;
2. для каждой выбранной скорости выполняется моделирование от текущего состояния робота, чтобы предсказать то, что произошло бы, если бы выбранная скорость была применена в течение некоторого короткого промежутка времени;
3. оценивается каждая траектория, следующая из передового моделирования. Отказ от траекторий, которые сталкиваются с препятствиями;
4. выбор выигрывающей самым высоким образом траектории и отправка связанной скорости в мобильную основу;
5. очищение и повторение цикла.
Алгоритм динамических подходов окна отличается от развертывания траектории принципом выбора пространства контроля робота. Образцы развертывания траектории зависят от набора достижимых скоростей за весь передовой период моделирования, данных пределов ускорения робота, в то время как образцы алгоритма динамических подходов окна зависят от набора достижимых скоростей всего для одного шага моделирования, данного предела ускорения робота. Это означает, что алгоритм динамических подходов окна — более эффективный алгоритм, потому что он проверяет меньшее пространство.
Для проведения моделирования движения базы мобильного робота были выбраны 3 мира и мобильный робот PR2. PR2 — робот-помощник с открытым исходным кодом от команды разработчиков Willow Garage. Цель — из начальной позиции переместиться в целевую позицию.
Таблица 1.
Время, затраченное на прохождение всех миров с помощью реализованной подсистемы
Время выполнения примитивов, с.
А* DARRT DARRTConnect
Мир 1 10 7 5
Мир 2 18 11 8
Мир 3 37 22 18
Миры с 1 по 2 являются тривиальными мирами, в которых решение одиночной задачи зависит от выбранного пути, расстояния между начальной и целевой конфигурацией мобильного робота.
Отличие мира № 3 от миров с 1 по 2 состоит в том, что кротчайшая траектория перекрыта барьером в виде стены.
Исходя из сравнительного анализа таблицы 1 видно, что алгоритм DARRTConnect эффективнее решает поставленную задачу, для всех трех миров.
В дальнейшем планируется доработка подсистемы движения мобильного робота, обозначенной в данной статье, с применением алгоритмов нечеткой логики, что позволит сократить время, затраченное на планирование траектории движения от начальной до целевой конфигурации.
Список литературы:
1. Алгоритм А*: техническая документация / [Электронный ресурс]. — Режим доступа: URL: http://www.gamedev.ra/code/artides/?id=4246 (дата обращения: 11.08.2015).
2. Алгоритм Дейкстры: техническая документация / [Электронный ресурс]. — Режим доступа: URL: http://comp-science.narod.ru/KPG/Deikstr.htm (дата обращения: 11.08.2015).
3. Цюй Дуньюэ. Разработка системы управления мобильных роботов с использованием нечетких моделей: дис. ... канд. техн. наук. — М., 2005. — 151 с.
4. Barry J.A. Hierarchical Approach to Manipulation with Diverse Actions [Текст] / J. Barry, L. Pack Kaelbling, T. Lozano-Perez. — ICRA, 2013. — 201 p.
5. Base_local_planner: техническая документация / [Электронный ресурс]. — Режим доступа:ШЬ: http://wiki.ros.org/base_local_planner (дата обращения: 20.08.2015).
6. Dwa_local_planner: техническая документация / [Электронный ресурс]. —
Режим доступа: URL: http://wiki.ros.org/dwa_local_planner?distro=hydro
(дата обращения: 20.08.2015).
7. Quigley M. ROS: An Open-Source Robot Operating System [Текст] / M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, E. Berger, R. Wheeler, A.Y. Ng. — ICRA Workshop on Open Source Software, 2009. — 5 р.
References:
1. Algorithm А*: technical documents. Available at:
http://www.gamedev.ru/code/articles/?id=4246 (accessed: 11 August 2015).
2. Dijkstra’s algorithm: technical documents. Available at: http://comp-
science.narod.ru/KPG/Deikstr.htm (accessed: 11 August 2015).
3. Tsiui Dun'iue. Control system development of mobile robots using fuzzy models. Cand. tech. sci. diss. Moscow, 2005. 151 p. (In Russian).
4. Barry J.A. Hierarchical Approach to Manipulation with Diverse Actions. ICRA, 2013. 201 p.
5. Base_local_planner: technical documents. Available at:
http://wiki.ros.org/base_local_planner (accessed: 20 August 2015).
6. Dwa_local_planner: technical documents. Available at:
http://wiki.ros.org/dwa_local_planner?distro=hydro (accessed: 20 August 2015).
7. Quigley M. ROS: An Open-Source Robot Operating System. ICRA Workshop on Open Source Software, 2009. 5 p.