1. URDF文件简介
1.1 简介
- 全称: Unified Robot Description Format 即:统一机器人描述性格式
1.2 URDF描述规范
- 用一个文件描述一个机器人模型
- 文件的后缀为.urdf
- 文件的内容格式为xml格式
- xml根节点为robot
1.3 各个语句含义
-
inertial 定义惯性
-
geometry 用来描述模块的形状和大小
-
origin 用来描述模块的位置;
-
material 并且设置 color 上色
-
material 指定颜色rgb和透明度a. 它们取值范围都是[0,1] 区间
2. 建模
2.1 创建简单的机器人模型–四轮小车
sudo apt-get install ros-kinetic-urdf-tutorial
mkdir myrobot/src -p
cd myrobot/src
catkin_init_workspace
cd ..
catkin_make
cd ~/myrobot/src/
catkin_create_pkg smartcar std_msgs rospy roscpp urdf
cd smartcar
mkdir urdf&launch
cd urdf
gedit myrobot.urdf
<robot name="test_robot">
<link name="base_link">
<visual>
<geometry>
<box size="0.2 .3 .1"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0.05"/>
<material name="white">
<color rgba="1 1 1 1"/>
</material>
</visual>
</link>
<link name="wheel_1">
<visual>
<geometry>
<cylinder length="0.05" radius="0.05"/>
</geometry>
<origin rpy="0 1.5 0" xyz="0.1 0.1 0"/>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</visual>
</link>
<link name="wheel_2">
<visual>
<geometry>
<cylinder length="0.05" radius="0.05"/>
</geometry>
<origin rpy="0 1.5 0" xyz="-0.1 0.1 0"/>
<material name="black"/>
</visual>
</link>
<link name="wheel_3">
<visual>
<geometry>
<cylinder length="0.05" radius="0.05"/>
</geometry>
<origin rpy="0 1.5 0" xyz="0.1 -0.1 0"/>
<material name="black"/>
</visual>
</link>
<link name="wheel_4">
<visual>
<geometry>
<cylinder length="0.05" radius="0.05"/>
</geometry>
<origin rpy="0 1.5 0" xyz="-0.1 -0.1 0"/>
<material name="black"/>
</visual>
</link>
<joint name="joint_base_wheel1" type="fixed">
<parent link="base_link"/>
<child link="wheel_1"/>
</joint>
<joint name="joint_base_wheel2" type="fixed">
<parent link="base_link"/>
<child link="wheel_2"/>
</joint>
<joint name="joint_base_wheel3" type="fixed">
<parent link="base_link"/>
<child link="wheel_3"/>
</joint>
<joint name="joint_base_wheel4" type="fixed">
<parent link="base_link"/>
<child link="wheel_4"/>
</joint>
</robot>
check_urdf 01_skeleton.urdf
- 出现如下页面,说明文件语法没有错误
3. 书写launch 文件
- 在launch文件夹下建立
car01.launch
文件,里面输入以下代码
<!-- -->
<launch>
<param name="robot_description"
textfile="$(find little_car)/urdf/car01.urdf"/> // 这一行需要更改为自己urdf文件所在位置
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"/>
<node name="rviz" pkg="rviz" type="rviz" respawn="false" output="screen"/>
</launch>
4. 启动launch
roslaunch smartcar car01.launch
4.1 在rviz里面将Fixed Frame 改为: base_link
4.2 点击Add添加 Robotmodel 即可查看自己构建的模型