Симулятор Gazebo позволяет тестировать сложные робототехнические системы в виртуальном пространстве, без риска нанести ущерб дорогостоящим настоящим роботам. В данном посте я покажу как создать простейшую модель робота — куба.
Вы уже наверняка поставили gazebo — установка не должна вызвать проблем, на официальном сайте есть подробное руководство об установке под различные операционные системы. Здесь я устанавливал на Ubuntu. После установки и выполнения команды gazebo — должен был запуститься виртуальный мир, примерно как на изображении.
Выбрав в меню колонку Insert — можно добавить модель из существующих. По умолчанию модели находятся в директории ~/.gazebo/models . Зайдем в эту директорию и создадим свою модель:
mkdir -p ~/.gazebo/models/my_robot
После создания директории, для хранения робота — создадим обязательный конфигурационный файл нашей модели, с помощью команды
gedit ~/.gazebo/models/my_robot/model.config
Внутрь файла копируем следующий xml контент
<?xml version="1.0"?>
<model>
<name>My Robot</name>
<version>1.0</version>
<sdf version='1.4'>model.sdf</sdf><author>
<name>My Name</name>
<email>me@my.email</email>
</author>
<description>
My super awesome cube robot.
</description>
</model>
Теперь необходимо описать структуру модели. Это делается в помощью общепринятого формата SDF . создаем файл model.sdf
gedit ~/.gazebo/models/my_robot/model.sdf
И заполняем следующим содержимым
<?xml version='1.0'?>
<sdf version='1.4'>
<model name="my_robot">
<static>true</static>
<link name='chassis'>
<pose>0 0 .1 0 0 0</pose>
<collision name='collision'>
<geometry>
<box>
<size>.2 .2 .2</size>
</box>
</geometry>
</collision>
<visual name='visual'>
<geometry>
<box>
<size>.2 .2 .2</size>
</box>
</geometry>
</visual>
</link>
</model>
</sdf>
Статическая модель куба готова. Запускаем команду gazebo в терминале и из списка моделей добавляем свою модель. Любуемся результатом виртуализации gazebo!