4.8.4 Добавление второй руки
Добавить вторую руку почти так же просто, как добавить первую руку. Файл URDF/Xacro для рукава (box_arm.urdf.xacro) использует сторону параметров и отражает, какую сторону и ориентацию расположить руку на туловище.
Файл Xacro box_robot_with_two_arms.xacro выполняет этот трюк путем добавления следующей пары макроблоков: один для правой руки и один для левой:
<!-- Attach the right arm -->
<arm side="right" reflect="-1" parent="torso" color="White">
<origin xyz="${arm_offset_x} ${arm_offset_y} ${arm_offset_z}" rpy="0 0 $
{PI/2}" />
</arm>
<!-- Attach the right gripper -->
<gripper side="right" reflect="-1" parent="right_arm_gripper_attach"
color="Green">
<origin xyz="0 0 0" rpy="0 0 0" />
</gripper>
<!-- Attach the left arm -->
<arm side="left" reflect="1" parent="torso" color="White">
<origin xyz="${arm_offset_x} ${-arm_offset_y} ${arm_offset_z}" rpy="0 0 ${-
PI/2}" />
</arm>
<!-- Attach the left gripper -->
<gripper side="left" reflect="1" parent="left_arm_gripper_attach"
color="Green">
<origin xyz="0 0 0" rpy="0 0 0" />
</gripper>
Обратите внимание, что два рукава и захваты используют одни и те же макросы и , но с противоположными значениями для параметров side и reflect. Параметр side дает различные префиксы связей и суставов каждой руки (например, right_arm_shoulder_lift_joint против left_arm_shoulder_lift_joint), а параметр reflection может использоваться для зеркального отображения смещений или направлений вращения, хотя в случае с текущими моделями рук в этом нет необходимости. Что касается способа крепления каждого плеча, обратите внимание, что y-смещение левого плеча является противоположным знаком правого плеча и поворачивается вокруг оси z на 90 градусов в противоположном направлении.
Чтобы просмотреть двухручного коробчатого робота, запустите файл запуска:
$ roslaunch rbx2_description box_robot_with_two_arms.launch
If RViz is not still running:
$ rosrun rviz rviz -d `rospack find rbx2_description`/urdf.rviz
После переключения дисплея RobotModel в RViz и регулировки ползунков управления, модель должна выглядеть следующим образом:

Last updated
Was this helpful?