4.5.3 Добавление камеры к туловищу и основанию

Присоединение 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, завершите работу с предыдущим файлом запуска и выполните команду:

$ roslaunch rbx2_description box_robot_with_xtion.launch

Если RViz все еще не работает:

$ rosrun rviz rviz -d `rospack find rbx2_description`/urdf.rviz

Этот файл запуска вызывает модель box_robot_with_xtion.xacro, которая почти идентична версии Kinect, но использует различные размеры коробки для Xtion.

Last updated