4.3.3 Использование сетки для туловища.

Робот Пи использует туловище с T-образным пазом 8020. Как оказалось, в 3D Warehouse для Google Sketchup есть модель именно для такого элемента, поэтому мы можем использовать ее в качестве сетки. Туловище Пи определено в файле pi_torso.urdf.xacro в каталоге rbx2_description/meshes/pi_robot. Файл выглядит так

<?xml version="1.0"?> 
<robot>

    <!-- Define a number of dimensions using properties -->
    <property name="torso_size_x" value="0.025" />
    <property name="torso_size_y" value="0.025" /> 
    <property name="torso_size_z" value="0.885" />
    
    <property name="torso_mesh_scale" value="0.0128" />

    <!-- Define the torso -->
    <macro name="torso" params="parent name color *origin">
    
    <joint name="${parent}_${name}_joint" type="fixed"> 
        <xacro:insert_block name="origin" />
        <parent link="${parent}_link"/>
        <child link="${name}_link"/>
    </joint>
    <link name="${name}_link">
        <visual>
            <origin xyz="0 0 0" rpy="0 0 0" /> 
            <geometry>
    <mesh 
filename="package://rbx2_description/meshes/pi_robot/t_slot.stl" scale="$ 
{torso_mesh_scale} ${torso_mesh_scale} ${torso_mesh_scale}" />
            </geometry>
            <material name="${color}" /> 
        </visual>
        <collision>
            <origin xyz="0 0 0" rpy="0 0 0" /> 
            <geometry>
                <box size="${torso_size_x} ${torso_size_y} ${torso_size_z}" /> 
        </geometry>
      </collision>
    </link>
  </macro>
</robot>

Макрос <torso> принимает в качестве параметров родителя и *origin, чтобы мы знали, как прикрепить его к роботу. Как и в базовой сетке Pi Robot, мы включаем тег <mesh> в геометрическую секцию блока <link>. В данном случае имя файла mesh указывает на расположение пакета в файле t_slot.stl. Мы также масштабируем сетку на фактор, хранящийся в свойстве torso_mesh_scale. Как оказалось, нам нужно значение 0.0127, чтобы масштабирование сетки T-слота было таким же, как и у остальных роботов.

Last updated