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>

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
本屬性用于說明力和速度之間的關系。更多細節詳見安全限制。
-