Архив метки: robots

Gazebo создание модели робота, первый шаг

Симулятор Gazebo позволяет тестировать сложные робототехнические системы в виртуальном пространстве, без риска нанести ущерб дорогостоящим настоящим роботам. В данном посте я покажу как создать простейшую модель робота — куба.

Вы уже наверняка поставили gazebo — установка не должна вызвать проблем, на официальном сайте есть подробное руководство об установке под различные операционные системы. Здесь я устанавливал на Ubuntu. После установки и выполнения команды gazebo — должен был запуститься виртуальный мир, примерно как на изображении.

Окно интерфейса визуализации 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!