天天看點

ROS中的URDF joint元素參考,中文翻譯ROS中的URDF joint元素參考,中文翻譯

ROS中的URDF joint元素參考,中文翻譯

原文位址http://wiki.ros.org/urdf/XML/joint

我已經把該翻譯文稿上傳到ROS wiki上了,現在可以直接在ros wiki上看中文版的了http://wiki.ros.org/cn/urdf/XML/joint

1. <joint>元素

joint元素描述了機器人關節的運動學和動力學,并且指定了關節的安全限制

下面是一個使用joint元素的例子

<joint name="my_joint" type="floating">
    <origin xyz="0 0 1" rpy="0 0 3.1416"/>
    <parent link="link1"/>
    <child link="link2"/>

    <calibration rising="0.0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="30" velocity="1.0" lower="-2.2" upper="0.7" />
    <safety_controller k_velocity="10" k_position="15" soft_lower_limit="-2.0" soft_upper_limit="0.5" />
 </joint>
           
ROS中的URDF joint元素參考,中文翻譯ROS中的URDF joint元素參考,中文翻譯

2. 屬性

joint元素中擁有兩個屬性

  • name(必需的)
    • 指定joint的名字(唯一的)
  • type(必需的)

    指定joint的類型,有下列選項

    • revolute - 可以繞着一個軸旋轉的鉸鍊關節,有最大值和最小值限制。
    • continuous - 連續型的鉸鍊關節,可以繞一個軸旋轉,沒有最大值和最小值限制。
    • prismatic - 滑動關節,可以沿着一個軸滑動,有最大值和最小值限制。
    • fixed - 這不是一個實際的關節,因為它無法運動,所有的自由度都被鎖定。這種類型的關節不需要指定軸、動力學特征、标度和最大值最小值限制。
    • floating - 這是一個具有6個自由度的關節
    • planar - 此關節在一個平面内運動,垂線是運動軸

3. 子元素

joint元素擁有下列幾個子元素

  • <origin> (可選的): 預設值為一緻的

    從parent link到child link的變換,joint位于child link的原點,具體如圖所示。

    • xyz (可選: 預設為0向量)

      代表x,y,z軸方向上的偏移,機關米。

    • rpy (可選: 預設值為一緻的)

      代表繞着固定軸旋轉的角度:roll繞着x軸,pitch繞着y軸,yaw繞着z軸,用弧度表示。

  • <parent>(必需的)

    parent link的名字是一個強制的屬性:

    • link

      parent link的名字,是這個link在機器人結構樹中的名字。

  • <child>(必需的)

    child link的名字是一個強制的屬性:

    • link

      child link的名字,是這個link在機器人結構樹中的名字。

  • <axis>(可選的)預設值為(1,0,0)

    joint的axis軸在joint的坐标系中。這是revolute joint旋轉的軸,prismatic joint移動的軸,是planar joint的标準平面。這個軸在joint坐标系中被指定。fixed和floating類型的joint不需要用到這個字段。

    • xyz (必需的)

      代表軸向量的xyz分量,這應該是一個标準化的向量。

  • <calibration>(可選的)

    joint的參考點,用來矯正joint的絕對位置。

    • rising(可選的)

      當joint正向運動時,參考點會觸發一個上升沿。

    • falling(可選的)

      當joint正向運動時,參考點會觸發一個下降沿。

  • <dynamics>(可選的)

    該元素用來指定joint的實體性能。它的值被用來描述joint的模組化性能,尤其是在仿真的時候。

    • damping(可選的)預設值為0

      joint的阻尼值。(移動關節為

      ROS中的URDF joint元素參考,中文翻譯ROS中的URDF joint元素參考,中文翻譯
      , 旋轉關節為
      ROS中的URDF joint元素參考,中文翻譯ROS中的URDF joint元素參考,中文翻譯
      )
    • friction(可選的)預設值為0

      joint的摩擦力值。(移動關節為

      ROS中的URDF joint元素參考,中文翻譯ROS中的URDF joint元素參考,中文翻譯
      , 旋轉關節為
      ROS中的URDF joint元素參考,中文翻譯ROS中的URDF joint元素參考,中文翻譯
      )
  • <limit>(對于revolute 和 prismatic joint是必需的)

    該元素包含以下屬性:

    • lower(可選的)預設值為0

      指定joint運動範圍下界的屬性(revolute joint的機關為弧度,prismatic joint的機關為米),連續型的joint忽略該屬性。

    • upper(可選的)預設值為0

      指定joint運動範圍上界的屬性(revolute joint的機關為弧度,prismatic joint的機關為米),連續型的joint忽略該屬性。

    • effort(必需的)

      該屬性指定了joint運作時的最大的力 (|applied effort| < |effort|)詳見安全限制。

    • velocity(必需的)

      該屬性指定了joint運作時的最大的速度,詳見安全限制。

  • <mimic>(可選的)(ROS Groovy中新加,詳見issue)

    這個标簽用于指定已定義的joint來模仿已存在的joint。這個joint的值可以用以下公式計算:value = multiplier * other_joint_value + offset.有如下可選的屬性。

    • joint(必需的)

      需要模仿的joint的名字。

    • multiplier(可選的)

      指定上述公式中的乘數因子。

    • offset(可選的)

      指定上述公式中的偏移項。預設值為0(revolute joint的機關為弧度,prismatic joint的機關為米)。

  • <safety_controller>(可選的)

    該元素包含下列屬性:

    • soft_lower_limit(可選的)預設值為0

      該屬性指定了joint安全控制邊界的下界,是joint安全控制的起始限制點。這個值需要大于上述的limit中的lower值。更多細節詳見安全限制。

    • soft_upper_limit(可選的)預設值為0

      該屬性指定了joint安全控制邊界的上界,是joint安全控制的起始限制點。這個值需要小于上述的limit中的upper值。更多細節詳見安全限制。

    • k_position (可選的)預設值為0

      本屬性用于說明位置和速度之間的關系。更多細節詳見安全限制。

    • k_velocity (可選的)預設值為0

      本屬性用于說明力和速度之間的關系。更多細節詳見安全限制。