1.前提
使用xacro设计机器人URDF模型已经描述了机器人的外观和物理属性,还没有添加gazebo的相关属性,因此也还未能在gazebo里面运行起来。
1.添加<link>的<gazebo>标签
机器人模型需要对每个<link>添加<gazebo>标签,包含<material>标签。这里的<material>标签与<link>里的<material>标签作用相同,gazebo没办法使用<visual>里面的<material>标签设置外观颜色,需单独设置,默认情况下模型为灰白色。
<gazebo>标签内容:
<gazebo reference="link_1">
<materisal>Gazebo/Black</materisal>
</gazebo>
2.添加传动装置
使用ROS控制器驱动机器人,需要在模型中加入<transmission>标签,将传动装置与joint绑定:
<transmission name="wheel_${lr}_joint_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="base_to_wheel_${lr}_joint" />
<actuator name="wheel_${lr}_joint_motor">
<hardwareInterface>VelocityJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>注释:1.<type>.....</type>:声名使用的传动装置类型。
2.<joint name="">:定义了要绑定驱动器的joint。
3.<hardwareInterface>:定义了硬件接口的类型。
3.添加gazebo控制器插件
1.<robot>标签添加gazebo插件
<gazebo>
<plugin name="unique_name" filename="plugin_name.so">
... plugin parameters ...
</plugin>
</gazebo>注释:<gazebo>标签没设置reference="x",默认应用于<robot>标签。
2. <link>、<joint>标签添加gazebo插件
为<link>、<joint>标签添加gazebo插件,需要设置reference="x":
<gazebo reference="your_link_name">
<plugin name=" unique_name " filename="plugin_name.so">
... plugin parameters ...
</plugin>
</gazebo>