Присоединение Kinect к торсу происходит в файле box_robot_with_kinect.xacro, расположенном в каталоге rbx2_description/urdf/box_robot. Это наша новая модель робота верхнего уровня и выглядит так:
<?xml version="1.0"?>
<robot name="box_robot">
<!-- Define a number of dimensions using properties -->
<property name="torso_offset_x" value="-0.13" />
<property name="torso_offset_y" value="0.0" />
<property name="torso_offset_z" value="0.41" />
<property name="camera_offset_x" value="0.0" />
<property name="camera_offset_y" value="0.0" />
<property name="camera_offset_z" value="0.3605" />
<!-- Include all component files -->
<xacro:include filename="$(find rbx2_description)/urdf/materials.urdf.xacro"
/>
<xacro:include filename="$(find
rbx2_description)/urdf/box_robot/base.urdf.xacro" />
<xacro:include filename="$(find
rbx2_description)/urdf/box_robot/torso.urdf.xacro" />
<xacro:include filename="$(find
rbx2_description)/urdf/box_robot/kinect_box.urdf.xacro" />
<!-- Add the base and wheels -->
<base name="base" color="Black"/>
<!-- Add the torso -->
<torso name="torso" parent="base" color="Grey">
<origin xyz="${torso_offset_x} ${torso_offset_y} ${torso_offset_z}" rpy="0
0 0" />
</torso>
<!-- Add the camera -->
<camera name="camera" parent="torso" color="Black">
<origin xyz="${camera_offset_x} ${camera_offset_y} ${camera_offset_z}"
rpy="0 0 0" /> </camera>
</robot>
Как видите, файл похож на нашу модель робота base-plus-torso. Сначала мы добавляем три параметра смещения камеры, которые определяют, где камера прикреплена к туловищу. Мы также включаем файл kinect_box.urdf.xacro. Затем мы прикрепляем туловище к основанию с помощью макроса <torso> и, наконец, мы прикрепляем камеру к туловищу, вызывая макрос <camera> с родительским набором параметров для туловища и исходными параметрами, установленными в значениях смещения камеры.
Чтобы использовать камеру Asus Xtion Pro вместо Kinect, завершите работу с предыдущим файлом запуска и выполните команду:
Этот файл запуска вызывает модель box_robot_with_xtion.xacro, которая почти идентична версии Kinect, но использует различные размеры коробки для Xtion.