简单的说,urdf是用来描述机器人形状的,当然往深了说,还有关节的自由度、耦合等等复杂的东西,目前仅仅是一个机器人本体
0 我从最简单的开始
轮子已经有了,我们就不需要再造了,这是我的原则(划掉-- 居然可以把抄袭说的这么清新脱俗--/划掉)
去这里https://github.com/ros/urdf_tutorial 把教程clone下来,可以看到,很简单,里面只有两个文件夹
进入urdf_tutorial,里面也没有多少,依次打开看一下
image---截图什么的,就是让我们看看我们的结果和他一不一样--没用
launch--不用说,学过ros的都知道,里面只有一个launch用于展示的
meshes--贴画,附着在机器人表面的贴画,没什么用
rviz--用来在屏幕上显示机器人
urdf--对了,只有这个才是最主要的
进入urdf,里面的urdf文件就是机器人描述文件,xacro以后再讲
1 直接发车
打开终端
$ roslaunch urdf_tutorial display.launch model:='$(find urdf_tutorial)/urdf/01-myfirst.urdf
就能看到一个棍状物出现在屏幕上
我们看到这个棍状物的描述文件是01-myfirst.urdf,我们去看这个文件
是不是和你们的不一样,那就对了,我的多了一行,这是我自己加的,因为我发现原始的棍状物都捅到地下去了,所以我把它拔上来一点。origin的设置有两个参数,rpy(rrpw pitch yaw)三个旋转角度值,代表着这个棍状物绕xyz轴旋转的弧度值,xyz是偏移值,比较好理解。自己各种改变一下就然后运行一下结果,就非常清楚了。
而其余的参数就自行摸索吧,步骤就是打开一个urdf文件,各种改参数,看结果,这样比看教程理解快多了真的
2 理解
所以要用到urdf,有几个步骤
1)写好urdf文件
2)写好launch文件,launch文件加载了这个urdf文件,利用robot_state_publisher发布了这个消息
3)在rviz中加载Robot Model,就能展示了