Создание программного комплекса симуляции работы РТК AR-600

УДК 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: s.oreshkov@live.com

Олег Владимирович Толстель — канд. техн. наук, доц., Балтийский федеральный университет им. И. Канта, Калининград.

E-mail: oleg77764@mail.ru

About the authors

Sergey Oreshkov — PhD student, I. Kant Baltic Federal University, Kaliningrad.

E-mail: s.oreshkov@live.com

Dr Oleg Tolstel' — Ass. Prof., I. Kant Baltic Federal University, Kaliningrad. E-mail: oleg77764@mail.ru