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 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元素参考,中文翻译_第1张图片

2. 属性

joint元素中拥有两个属性

  • name(必需的)
    • 指定joint的名字(唯一的)
  • type(必需的)
    指定joint的类型,有下列选项
    • revolute - 可以绕着一个轴旋转的铰链关节,有最大值和最小值限制。
    • continuous - 连续型的铰链关节,可以绕一个轴旋转,没有最大值和最小值限制。
    • prismatic - 滑动关节,可以沿着一个轴滑动,有最大值和最小值限制。
    • fixed - 这不是一个实际的关节,因为它无法运动,所有的自由度都被锁定。这种类型的关节不需要指定轴、动力学特征、标度和最大值最小值限制。
    • floating - 这是一个具有6个自由度的关节
    • planar - 此关节在一个平面内运动,垂线是运动轴

3. 子元素

joint元素拥有下列几个子元素

  • (可选的): 默认值为一致的
    从parent link到child link的变换,joint位于child link的原点,具体如图所示。
    • xyz (可选: 默认为0向量)
      代表x,y,z轴方向上的偏移,单位米。
    • rpy (可选: 默认值为一致的)
      代表绕着固定轴旋转的角度:roll绕着x轴,pitch绕着y轴,yaw绕着z轴,用弧度表示。
  • (必需的)
    parent link的名字是一个强制的属性:
    • link
      parent link的名字,是这个link在机器人结构树中的名字。
  • (必需的)
    child link的名字是一个强制的属性:
    • link
      child link的名字,是这个link在机器人结构树中的名字。
  • (可选的)默认值为(1,0,0)
    joint的axis轴在joint的坐标系中。这是revolute joint旋转的轴,prismatic joint移动的轴,是planar joint的标准平面。这个轴在joint坐标系中被指定。fixed和floating类型的joint不需要用到这个字段。
    • xyz (必需的)
      代表轴向量的xyz分量,这应该是一个标准化的向量。
  • (可选的)
    joint的参考点,用来矫正joint的绝对位置。
    • rising(可选的)
      当joint正向运动时,参考点会触发一个上升沿。
    • falling(可选的)
      当joint正向运动时,参考点会触发一个下降沿。
  • (可选的)
    该元素用来指定joint的物理性能。它的值被用来描述joint的建模性能,尤其是在仿真的时候。
    • damping(可选的)默认值为0
      joint的阻尼值。(移动关节为, 旋转关节为)
    • friction(可选的)默认值为0
      joint的摩擦力值。(移动关节为, 旋转关节为)
  • (对于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运行时的最大的速度,详见安全限制。
  • (可选的)(ROS Groovy中新加,详见issue)
    这个标签用于指定已定义的joint来模仿已存在的joint。这个joint的值可以用以下公式计算:value = multiplier * other_joint_value + offset.有如下可选的属性。
    • joint(必需的)
      需要模仿的joint的名字。
    • multiplier(可选的)
      指定上述公式中的乘数因子。
    • offset(可选的)
      指定上述公式中的偏移项。默认值为0(revolute joint的单位为弧度,prismatic joint的单位为米)。
  • (可选的)
    该元素包含下列属性:
    • soft_lower_limit(可选的)默认值为0
      该属性指定了joint安全控制边界的下界,是joint安全控制的起始限制点。这个值需要大于上述的limit中的lower值。更多细节详见安全限制。
    • soft_upper_limit(可选的)默认值为0
      该属性指定了joint安全控制边界的上界,是joint安全控制的起始限制点。这个值需要小于上述的limit中的upper值。更多细节详见安全限制。
    • k_position (可选的)默认值为0
      本属性用于说明位置和速度之间的关系。更多细节详见安全限制。
    • k_velocity (可选的)默认值为0
      本属性用于说明力和速度之间的关系。更多细节详见安全限制。

你可能感兴趣的:(ROS入门,ROS,URDF,joint,机械臂,翻译)