天天看點

關于urdf使用的一些問題

在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:允許有六個自由度的運動

繼續閱讀