gazebo中的坐标系

1、gazebo中link和joint中都有origin的元素。弄了半天好像是明白了。

link定义了各个部件的几何模型,joint定义了各几何模型直接的坐标位置。

joint中的origin就是这种连接关系建立的坐标系的原点和朝向。比如<origin xyz="1 0 1" rpy="0 0 0">,就是在世界坐标系的(1,0,1)这个点建立了一个子坐标系。

而link中首先会定义一个几何体,这个几何体一般是规则的长方体,圆柱体,球体。gazebo中定义用几何体的中心作为指代该几何体的坐标。所以如果我们将link中的origin设为<origin xyz="1 1 0" rpy="0 0 0">那么就是将link的几何体的中心放到joint坐标系下的(1,1,0)这个位置。该几何体的世界坐标其实是(2,1,1)!!!

2、所以,打个比方有点像“树枝分叉”,分叉点就是jiont,分出来的树枝就是link,树的主干就是世界坐标系world(属性也是一个link)

3、根据1里面的说法,link中的几何体是有碰撞,视角和惯性三个属性的,碰撞和视角体积必须要有,否则就没有显示了。然后要考虑的一点是:几何体的原点是它的中心,所以设定link的origin时候,要考虑到几何体的外形,否则会出现冲突。比如将一个边长为1正方形放到地上。joint的坐标原点是(0,0,0),这时link的origin应该为(0,0,0.5),如果link的origin设置为(0,0,0)由于碰撞体积的存在,这个正方体会不能正常放置在地图上的。

4、如果想要固定不动的物体,比如一堵墙,那么<jiont name="wall" type="fixed">

http://wiki.ros.org/urdf/XML/link

http://wiki.ros.org/urdf/XML/joint

http://gazebosim.org/tutorials/?tut=ros_urdf


理解错误请指正!!!qq:305555309

猜你喜欢

转载自blog.csdn.net/qq_33179208/article/details/70805896