4.机器人基本设置
让我们通过创建URDF文件来构建一个基本的移动机器人模型,并在一个空的Gazebo world中启动它。我们可以把工作分解成更小的组件——机器人底座、轮子和传感器。
对于这个模型,我们将创建一个立方体的基础与两个脚轮。脚轮有助于稳定这个模型,它们并不总是必需的,但它们可以帮助分配重量,防止机器人沿z轴倾斜。
创建URDF文件
1)在my_robot包中创建urdf目录
$ cd /home/workspace/catkin_ws/src/my_robot/
$ mkdir urdf
2)在urdf目录中创建机器人的xacro文件
$ cd /home/workspace/catkin_ws/src/my_robot/urdf/
$ touch my_robot.xacro
3)复制以下代码到my_robot. xacro文件
<?xml version='1.0'?>
<robot name="my_robot" xmlns:xacro="http://www.ros.org/wiki/xacro">
<link name="robot_footprint"></link>
<joint name="robot_footprint_joint" type="fixed">
<originxyz="0 0 0" rpy="0 0 0" />
<parent link="robot_footprint"/>
<child link="chassis" />
</joint>
<linkname='chassis'>
<pose>0 0 0.1 0 0 0</pose>
<inertial>
<massvalue="15.0"/>
<origin xyz="0.0 0 0"rpy=" 0 0 0"/>
<inertia
ixx="0.1" ixy="0" ixz="0"
iyy="0.1" iyz="0"
izz="0.1"
/>
</inertial>
<collision name='collision'>
<origin xyz="0 0 0" rpy=" 0 0 0"/>
<geometry>
<box size=".4 .2 .1"/>
</geometry>
</collision>
<visual name='chassis_visual'>
<origin xyz="0 0 0" rpy=" 0 0 0"/>
<geometry>
<box size=".4 .2 .1"/>
</geometry>
</visual>
<collision name='back_caster_collision'>
<origin xyz="-0.15 0 -0.05" rpy=" 0 0 0"/>
<geometry>
<spherer adius="0.0499"/>
</geometry>
</collision>
<visual name='back_caster_visual'>
<origin xyz="-0.15 0 -0.05" rpy=" 0 0 0"/>
<geometry>
<sphere radius="0.05"/>
</geometry>