在ROS中 编写URDF文件时的一些问题。
1 link与joint中origin使用:
<link name="dsad">
<visual>
<origin xyz="a b c" rpy="d e f"/>
</visual>
</link>
<joint name="" type="">
<origin xyz="a b c" rpy="d e f"/>
</joint>
link中origin:xyz是指以父节点的坐标系为参考系(若没有父节点则以世界坐标系为参考系),该link分别向xyz方向移动a b c的距离,但是该link本身的坐标系不移动(该link的默认坐标系与起父节点相同);rpy是指以父节点的坐标系为参考系,分别以xyz轴为旋转轴,旋转d e f的弧度,但是该link本身的坐标系不旋转。并且先执行旋转rpy,再执行移动xyz,link本身的坐标系始终不动。
而joint中origin与link的区别是,link移动和旋转时,该link本身的坐标系随该link一同移动,即他本身的坐标系是在变化的。并且先执行xyz移动,再执行rpy旋转。
2 joint的类型type(参考http://wiki.ros.org/urdf/XML/joint)
revolute:按一定的轴旋转,并且有最小角度和最大角度限制
continuous:按一定的轴旋转,没有角度限制
prismatic:按一定得轴平移,并且有最小和最大距离限制
fixed:固定
planar:在垂直于轴的平面内运动
floating:允许有六个自由度的运动