УДК 519.687.7
С. С. Орешков, О. В. Толстель
СОЗДАНИЕ ПРОГРАММНОГО КОМПЛЕКСА СИМУЛЯЦИИ РАБОТЫ РТК AR-600
Описан процесс и особенности построения виртуальной модели РТК AR-600 для использования в составе среды robot operation system.
Construction of virtual model of AR-600 robot by using robot operation system environment is described.
Ключевые слова: робот, 3D моделирование, robot operation system.
Key words: robot, 3d modeling, robot operation system.
Введение
Компьютерная имитационная модель будет основным инструментом разработки и отладки высокоуровневого прикладного программного обеспечения РТК (робототехнического комплекса) AR-600. Программный комплекс включает:
1) трехмерную полигональную модель робота;
2) описание кинематики модели робота;
3) модели работы сенсоров робота;
4) интерфейс асинхронного взаимодействия модели с высокоуровневым прикладным программным обеспечением;
5) набор полигональных сред окружения модели, предназначенных для разработки и отладки прикладного обеспечения.
Программный комплекс модели должен быть совместимым с архитектурой высокоуровневой системы управления и обеспечивать точность симуляции, достаточную для разработки и отладки алгоритмов системы динамического равновесия и навигации.
Основные задачи, решаемые с помощью компьютерной кинематической модели РТК AR-600:
1) эмуляция программного интерфейса робота;
2) разработка и тестирование систем динамического равновесия;
3) разработка и тестирование алгоритмов навигации;
4) разработка и тестирования систем управления манипуляторами;
5) создание комплексной системы управления и визуализации данных сенсоров робота.
1. Описание структуры среды robot operation system
Robot operation system (ROS) — метаоперационная система с инфраструктурой, предназначенной для управления и взаимодействия с робото-техническими комплексами. Структурно система — распределенный фреймворк слабо связных исполняемых узлов, обменивающихся данными с помощью механизмов очередей сообщений (Message
77
© Орешков С. С., Толстель О. В., 2013
Вестник Балтийского федерального университета им. И. Канта. 2013. Вып. 10. С. 77 —80.
Queue) и удаленного вызова процедур (Remote procedure call). Основа такого подхода — отказ от циклического исполнения управляющих роботом программ и одновременное исполнение программных компонентов, отвечающих за различные системы робота (датчики, моторы). ROS является расширением ОС Linux Ubuntu [1].
Для небольших роботов, не выполняющих параллельных операций, допускается построение архитектуры программного обеспечения на основе управляющего цикла (рис. 1): последовательно считывание данных с датчиков, их обработка и затем принятие решений. Все то время, пока идет обработка данных и принятие решения, данные с датчиков игнорируются, что с увеличением времени обработки данных становится проблемой — робот не реагирует на изменения окружающей среды, а поступившие ранее данные теряют актуальность.
Для более сложных РТК необходима архитектура программного обеспечения, которая сделает возможной непрерывную обработку данных с датчиков. ROS реализует такую архитектуру (рис. 2), позволяя запускать программные узлы параллельно [2].
Помимо архитектуры ROS содержит компоненты симуляции и отладочные компоненты: физический симулятор Gazebo и инструмент визуализации rviz (рис. 3). Основное назначение этих инструментов — предоставление данных о работе остальных узлов. Инструмент ЗО-ви-зуализации rviz позволяет отображать трехмерную модель робота и управлять ею с помощью других пакетов среды ROS.
Rviz подходит для отображения состояния робота, данных с датчиков и тех действий, которые он совершает.
Чтение данных датчиков Обработка Принятие Управление
данных решении двигателями
I
Один цикл
Рис. 1. Типичная структура управляющего ПО для небольших РТК
Рис. 2. Распределенная структура ПО управления РТК
Модель
робота в
формате
URDF
Управляющие
Рис. З. Модель взаимодействия программных пакетов с инструментом rviz
Среда симуляции Gazebo позволяет проводить эксперименты без робота. Используется модель окружения, в которую помещается модель робота. Симуляция датчиков воспроизводит среду из модели симулируемой среды, а физический симулятор обеспечивает воспроизведение поведения моторов робота. Набор отладочных инструментов в составе ROS дает возможность не только проводить отладку отдельных программных узлов, но и следить за обменом данными между ними.
2. Программное обеспечение для РТК AR-600
Для РТК AR-600 нами созданы базовые управляющие пакеты для ROS. Их назначение — взаимодействие между средой ROS, инструментами rviz, gazebo и управляющим костюмом для робота. Для описания моделей робота в формате URDF и его частей в формате Collada, созданные Blender 3d, разработан пакет ar600_description. Для описания взаимодействия пакетов управления роботом создан пакет ar600_msgs, в котором содержится формат сообщений о движении частей робота в формате YAML. Для взаимодействия пакетов среды и модели в среде rviz нами разработан пакет ar600_driver, который преобразует сообщение формата MoveMsg, описанное в пакете ar600_msgs, в сообщения формата rviz (рис. 4). Пакет ar600_costume содержит программный компонент взаимодействия с копирующим костюмом для управления РТК AR-600 (рис. 5). Программный узел через протокол UDP опрашивает копирующий костюм и преобразует ответ в сообщение costumedata.
Рис. 4. Модель робота в rviz
Рис. 5. Структура взаимодействия пакетов РТК AR-600 в robot operation system
3. Полученные результаты
В ходе работы над программным обеспечением для робота AR-600 разработаны пакеты для взаимодействия с инструментами визуализации rviz, сторонними пакетами и интеграция в robot operation system. Созданные пакеты — основа для разнообразного высокоуровневого программного обеспечения, такого как системы компьютерного зрения и системы динамического равновесия робота [3]. В итоге создана модель RTK AR-600, управляемая с помощью костюма управления (рис. 6).
80
Рис. 6. Управление 3D-]Hcp^^ робота с помощью костюма управления
Список литературы
1. Von Hagen W. Ubuntu Linux Bible, 2010.
2. Hickle J., Halle S. The design and implementation of a semi-autonomous surf-zone robot using advanced sensors and a common robot operating system, 2011.
3. Ложкин П. В. Метод точки нулевого момента для задачи динамического равновесия РТК AR-600. Движение на месте // Вестник Балтийского федерального университета им. И. Канта. 2013. Вып. 10. С. 81—84/
Об авторах
Сергей Сергеевич Орешков — асп., Балтийский федеральный университет им. И. Канта, Калининград.
E-mail: [email protected]
Олег Владимирович Толстель — канд. техн. наук, доц., Балтийский федеральный университет им. И. Канта, Калининград.
E-mail: [email protected]
About the authors
Sergey Oreshkov — PhD student, I. Kant Baltic Federal University, Kaliningrad.
E-mail: [email protected]
Dr Oleg Tolstel' — Ass. Prof., I. Kant Baltic Federal University, Kaliningrad. E-mail: [email protected]