Назад в библиотеку

Совместный подход к решению задач логистики мобильными средствами

Авторы:Guilherme Cano Lopes, Mateus Mussi Brugnolli, Rafael Ribeiro Nogueira Junqueira, Rafael Santos, Felipe Guerra Soares, Carlos Alberto Vilaca Jr., Marilza Antunes de Lemos
Автор перевода: Курченков Н.И.
Источник: Team RoboSamba, Control and Automation Engineering Department, Sao Paulo State University – UNESP, Sorocaba, SP, Brazil.

Аннотация

Команда RoboSamba исследует промышленную логистику используя Robotino с открытым программным обеспечением таким как ROS, OpenCV и Boost. Каждый член команды рассматривает конкретные направления исследований, с целью реализации алгоритмов искусственного интеллекта для создания приложения с более высокой производительностью в соревнованиях в области робототехники и дальнейшего их использования в промышленности. Это приложение использует планировщик задач, основанный на принятии текущего состояния домена, указывает, какие действия робот должен выполнить, позже он рассчитывает наилучший путь, чтобы пройти и то, как это движение должно быть сделано с помощью генератора траекторий.

Ключевые слова

Мобильный робот, планирование, ROS, Robocup, промышленная логика, Robotino.

1. Вступление

Выполнение промышленных логистики с использованием мобильных роботов состоит из двух основных проблем: взаимодействия и автоматического планирования задач. Взаимодействие в мобильной робототехники определяет проблему планирования траектории и согласованность действий, где помимо избегания столкновения, роботы должны взаимодействовать и придерживаться ограничений, накладываемые задачи других роботов, для достижения своих целей [8]. Большинство подходов к взаимодействию и контролю роботов могут быть классифицированы как совещательные или реактивные, централизованной или децентрализованной, а также комбинации этих подходов.

Архитектуры управления для совместных роботов относиться к данной проблеме насколько же, как и в случае применения распределения задач. Проблема касается роли приложений, роботы которых могут играть в достижении общей цели системы. Как распределение задач по отношению к распределению ролей для каждого робота выполняется с учетом их доступности, назначения и места [2]. Таким образом, основная проблема заключается в планировании деятельности.

Автоматическое планирование в подобласти искусственного интеллекта, который изучает, как реализовать процесс рассуждения для способности организовать набор действий для достижения поставленных целей на компьютере [5]. Полученные результаты в этой области исследований подходят для систем, требующих автономного и совещательного поведения.

Далее представлены некоторые виды планирования, необходимые для автоматического выполнения логистики для промышленных роботов:

  1. Планирование задач – предполагает разложение задачи на подзадачи, задав планы и действия, а также распределение задач.
  2. Путь и планирование движения – включает разрешение геометрической задачи от начального положения в конечное положение, основанной на модели окружающей среды, а также динамики и кинематики мобильного робота.
  3. Планирование восприятия – включает логическую генерацию планов действий, например, для идентификации окружающей среды, объекта и местоположения мобильного робота
  4. Навигационное планирование – сочетание движения и планирования для восприятия следующей точки пути, не сталкиваясь с препятствиями, пока не достигнет конечного положения.
  5. Планирование связи - создание диалогов для решения задач взаимодействия между людьми или искусственных средствами.

Учитывая первый опыт команды RoboSamba в последних LLSF конкурсах и сложности предлагаемых задач, исследования команды стали ориентированы прежде всего на принятие методологии проекта, которая рассматривает продвижение при помощи искусственного интеллекта и доступного кода повторным использованием в области робототехники. В этом случае, Robot Operation System (RОS) была принята командой RoboSamba в качестве основной для разработки решения задачи на LLSF конкурсе.

ROS, в действительности, это мета-операционная система. Она разделяет характеристики с некоторыми промежуточного системами и структурами, но также имеет ОС-подобные функции (управления пакетами, инструменты разработчика). Короче говоря, ROS предоставляет следующие ресурсы [11]:

  1. Публикация подписки инфраструктуры обмена сообщениями, предназначенными для поддержки быстрого и легкого построения распределенных вычислительных систем.
  2. Обширный набор инструментов для настройки, запуска, отладки, визуализации, регистрации, проверки, и остановки распределенных вычислительных систем.
  3. Широкий набор библиотек, реализующих полезную функциональность робота, с акцентом на мобильность, манипуляции и восприятия.
  4. ROS поддерживается и совершенствуется большим сообществом, с сильным акцентом на интеграцию и документацию.

В ROS есть пакет Robotino, который предлагает специфику ресурсов для управления Robotino [10]. Среди них есть функции для генерации карт по лазерным дальномерам и планировщик пути, который использует сгенерированный карту.

Кроме того, такие библиотеки как Boost [2] и OpenCV [7] могут быть интегрированы в ROS.

Эти библиотеки полезны для проектов, использующих математические, логические и графические функции (boost) и вычислительное видение (OpenCV).

2. Материалы и методы

2.1 Материалы

Аппаратное обеспечение:

  1. 3 робота Robotino
  2. 3 точки доступа
  3. 1 ПК

2.2 Методы

  1. ROS (Robotic Operating System)
  2. Linux OS
  3. itSimple
  4. Planners
  5. OpenCV Library
  6. API Robotino Library
  7. Boost Library>

3. Методология

Учитывая различные исследовательские испытания, которые будут эксплуатироваться, чтобы решить проблему, предложенную FLC2013, команда Robosamba была разделена таким образом, каждый член мог сосредоточиться на конкретной области разработки. Изначально, команда исследовала несколько фреймворков, которые поддерживают разработку приложений для мобильной робототехники и как уже говорилось, система ROS была выбрана для поддержки исследований и разработок в промышленной логистики с использованием роботов Robotino. С точки зрения предложенной командой архитектуры управления, которая основана на централизованной архитектуре, приложение управления располагается на ПК, который взаимодействует с роботом через беспроводную сеть. Что касается организации интеллектуальной системы, мы приняли гибридную парадигму, которая сочетает в себе реактивность поведенческой парадигмы с разрешением иерархической парадигмы [Murphy, 2000]. В гибридной парадигмы, поток информации происходит в следующем порядке: "План–Понимание–Действие", в котором планирование осуществляется отдельно, в то время как понимание и действия производятся одновременно. В этой парадигме есть еще отношения более простое "Понимание–План", что позволяет в планировании учитывать обновленную информацию о состоянии окружающей среды [1]. На рисунке 1 показана архитектура предполагаемой системы.

Архитектура системы

Рисунок 1 - Архитектура системы

4. Модель мира

Рабочая информация планировщика под названием «модель предметной области» или «модель мира», которая состоит из действий и их последствий, которые могут быть объединены, чтобы описать возможные состояния в предметной области. Для моделирования предметной области, описанной по правилам LLSF, был выбран инструмент itSIMPLE [12], а также Unified Modeling Language (UML). itSIMPLE также обеспечивает механизм для преобразования в PDDL и сети Петри. Язык PDDL подходит для описания предметной области планирования и воспринимается несколькими алгоритмами планирования. Поэтому модель может быть смоделирована, протестирована и оценена различными планировщиками, которые показывают совместимость с itSIMPLE. Кроме того, модель, полученная в сети Петри, может также оценить в симуляторах сети Петри [9].

5. Планирование задач

Одна часть команды ответственна за исследование и оценку планирования задач, а другая за их интегрирование в ROS. Для этого выбора необходимо принимать во внимание легкость интеграции в ROS, а также возможности в itSIMPLE, так как такие планировщики как METRIC FF, GS PLAN, MAX PLAN, MARVIM и другие можут быть интегрированы в нее, чтобы проверить модель среды. Из-за характеристик окружающей среды соревнования, будет принят классический подход планирования, который рассматривает следующие характеристики среды: наблюдаемое (I), Детерминированное (II), конечное (III) и статическое (IV).

6. Планирование движения

Навигация включает в себя три основные задачи: картографические, планирования и направления пути. Задача планирования (процесс высшего уровня) определяет входные данные пути планирования, таких как назначения, средство (Robotino) и ограничения для системы.

Первая часть навигации, картография, осуществляется за счет использования предварительно сохраненных карт или карт, сформированных сенсорной системой, как робот движется в окружающей среде. Моделирование окружающей среды осуществляется путем анализа сенсорных данных для построения и модификации карт. Несмотря на то, что техника SLAM была уже реализована в ROS, это не будет применено в решении п редложенной задаче. Это связано с тем, что отображение окружающей среды является статическим и известным, по определению в правилах конкурса. Таким образом, нет никакой необходимости в одновременной локализации и отображении. Вместо этого, карта будет заранее построена.

Вторая часть навигации, планирования пути, заключается в определении возможных маршрутов на карте окружающей среды. Лучшая альтернатива должна быть выбрана для удовлетворения ограничения, налагаемые этой задачей. Из-за характеристик среды FLC2013, мы решили использовать алгоритм Дейкстры [4].

Третья задача выполняется в навигации и является управлением движения робота по пути, определенному выше, этот процесс называется генератором траектории. Во время движения робота, процесс восприятия непрерывно сканирует сенсорных данных для обнаружения неожиданных столкновений.

7. Карта окружающей среды

Компьютерное представление на конкурсной арене алгоритма Дейкстры основано на использовании функций графа библиотеки кратчайших путей [4]. Существенные параметры для построения модели являются: число точек, высота и ширина карты, наличия или отсутствия примыканий между точками и их эквивалентных затрат(стоимости), если таковые имеются. Все данные хранятся в структуре графа, который представляет арену конкурса. Можно указать путь, выбранный по алгоритму, используя различные цвета, например, использовать белый цвет для незатронутых пунктов, серого цвета с точками, которые можно выбрать в траектории и черный, чтобы указать наилучший путь.

8. Планирование пути

Как было приведено ранее, для планирования пути команда выбрала для использования алгоритм Дейкстры. Этот алгоритм применяется следующим образом: определяется, что каждая точка имеет свою собственную внутреннюю стоимость или расстояние, равное бесконечности, за исключением начальной точки, стоимость которой ноль. Затем алгоритм вычисляет переход от начальной к каждой соседней точке, добавляя стоимость перехода к тотальной стоимости. Делая это последовательно и учитывая, что по крайней мере один путь, который связывает начальную точку с конечной, результат работы алгоритма – менее дорогой путь. Алгоритм Дейкстры имеет стратегии для избежания бесконечного поиска пути.

Стоимость пути определяется при построении графика, который представляет карту окружения. Однако интересно изменять некоторые стоимости до поиска пути. Во избежание столкновения двух или более роботов Robotino, особый подход применяется к каждому роботу, который собирается выполнить движение через пути. Таким образом, в то время как этот особый подход используется, алгоритм Дейкстры выбирает альтернативные пути для остальных роботов.

Для того, чтобы контролировать изменения стоимостей, была использована библиотека Heap. Эта библиотека может организовать приоритетный путь. Таким образом, можно выбрать оптимальный путь для решения задачи.

9. Генерирование пути

Генерирование пути является одним из основных строительных блоков планировщика движения для автономных мобильных роботов. Оно состоит из определения отношения между допустимым путем и временем, так что эта информация может быть использована системой управления роботом. Планировщик пути определяет набор позиций, избегая столкновения с препятствиями в рабочей области. Наконец, система управления генерирует набор сил и моментов на исполнительные механизмы робота, так что его движение в рабочем пространстве выполняется. Это сложная задача, которая находится в стадии исследования. Идея состоит в том, чтобы преобразовать набор позиций (полученных из алгоритма Дейкстры) в непрерывное движение с точки зрения линейной скорости (Vx) и угловой скорости (ω). Ориентация в пространстве определяется за счет выравнивания двух последующих сетей и может быть 0 0, 900, 1800или 2700. Когда Robotino движется из сетки к другому линейному пути, тогда Vx= Kline(произвольная константа скорости) и ω = 0. Время, необходимое для реализации перемещения:

tline = 1/v

На кривых участках пути, траекторией движения робота является четверть окружности, где Vx = Kline и ω = Kangle. Время пути для данной траектории движения определяется:

tangle = 2πl/v

и:

tangle = π/2tangle = v/4l

Команда в настоящее время тестирует программную платформу под названием TAO, которая может быть использована для различных типов роботов и может быть адаптирована для Robotino API2. В зависимости от результатов, она может быть использована в LLSF в этом году.

10. Восприятие мира

Системы компьютерного зрения широко используются для решения навигационных задач роботов. Роботы Robotino оснащены камерами, методы обработки изображений выполняются через библиотеку OpenCV, которая используется для обнаружения типов устройств, состояния устройств и идентификации шайб. Кроме того, инфракрасные датчики, одометр и гироскоп помогают в определении текущего состояния мира.

Некоторые изменения были внесены в аппаратную часть Robotino: был разработан новый раздвижной блок для удовлетворения потребности движения, не теряя шайбы. Новые датчики раздвижного блока были изменены на два оптических датчика для большей надежности и регулирования робота по отношению к другим роботам.

11. Список использованной литературы

1. Alves, S. F. R. Plataforma de software para tecnicas de navegacao e colaboracao de robos moveis autonomos. Dissertacao de Mestrado. Universidade Estadual de Campinas, Faculdade de Engenharia Mecanica. Campinas, SP, 2011.
2. ARAI, T.; PAGELLO, E.; PARKER, L. E. Editorial: Advances in multi robot systems. IEEE Transactions on Robotics and Automation, v. 18, n. 5, p. 655–661, 2002.
3. Boost. Boost Library. http://www.boost.org
4. Dijkstra. Dijkstra Shortest Paths. www.boost.org/doc/libs/1_53_0/libs/graph/doc/dijkstra_shortest_paths.html
5. Ghallab, M., Nau, D. and Traverso, P. Automated Planning: Theory and Practice Morgan Kaufmann Publishers, 2004.
6. Heap. Heap Library. http://www.boost.org/doc/libs/1_53_0/doc/html/heap.html
7. OpenCV. OpenCV Library http://opencv.org.
8. Pereira, G. A. S. Navegacao e Controle de Robos Moveis Cooperativos: Uma Abordagem Baseada em Conectividade de Grafos. PhD Thesis Universidade Federal de Minas Gerais , 2003. http://www.verlab.dcc.ufmg.br/projetos/gpereira/thesis
9. PetriNets. Petri Net World. http://www.informatik.uni -hamburg.de/TGI/PetriNets/
10. Robotino. Package Robotino no ROS. http://www.ros.org/wiki/robotino
11. ROS. Robot Operation System. http://www.ros.org/wiki
12. Vaquero, T.; Tonaco, R.; Costa, G.; Tonidandel, F.; Silva, J. R. and Beck, J. C. itSIMPLE4.0:Enhancing the Modeling Experience of Planning Problems. In 22nd International Conference on Automated Planning and Scheduling (ICAPS2012). Atibaia, Sao Paulo, Brazil, June 25-29th, 2012.