10.7 model_state

元素model_state用于描述某个特定时间模型的状态。

*注:此项目正在进展中,尚未实际使用。特定关节组的机器人配置表示还可以使用srdf来指定。

10.7.1 <model_state>元素

<model_state> 元素用于描述对应 URDF 模型的基本状态。

下面是模型状态<model_state>元素的一个示例:

<model_state model="pr2" time_stamp="0.1">
  <joint_state joint="r_shoulder_pan_joint" position="0" velocity="0" effort="0"/>
  <joint_state joint="r_shoulder_lift_joint" position="0" velocity="0" effort="0"/>
</model_state>

10.7.2 属性和子元素

1、属性

<model_state> 元素具有以下2个属性:

(1)model属性

必选属性,用于指定对应URDF中的模型名称,数据类型为字符串

(2)time_stamp属性

可选属性,用于指定此状态以秒为单位的时间戳,数据类型为浮点型。

2、子元素

<model_state> 元素有以下1个子元素:

(1)<joint_state>子元素

可选子元素,用于指定该模型的关节状态。此子元素有以下4个属性:

①joint属性

必选属性,用于指定此模型状态所指的关节名称,数据类型为字符串。

②position属性

可选属性,用于指定该关节每个自由度的位置,数据类型为浮点数或者浮点数组

③velocity属性

可选属性,用于指定该关节每个自由度的速度,数据类型为浮点数或者浮点数组。

④effort属性

可选属性,用于指定该关节每个自由度的作用力,数据类型为浮点数或者浮点数组。

10.8 model

元素model用于描述机器人结构的运动学和动力学特性。

统一机器人描述格式(URDF)是一种用于描述机器人的XML规程。我们试图使该规程尽可能通用,但显然该规程无法描述所有的机器人。目前URDF的主要限制在于只能表示树形结构,从而将所有并行机器人排除在外。此外,该规程假设机器人由通过关节连接的刚性链接组成;因而不支持柔性元件。该规程主要涵盖以下几个方面:

 机器人运动学和动力学描述

● 机器人视觉表示

● 机器人碰撞模型

机器人的描述由一组<link>元素和一组将链接连接在一起的<joint>元素组成。所以一个典型的机器人描述看起来应该像下面这样:

<robot name="pr2">
   <link> ... </link>
   <link> ... </link>
   <link> ... </link>

   <joint>  ....  </joint>
   <joint>  ....  </joint>
   <joint>  ....  </joint>
</robot>

从该示例中可以看出URDF格式的根元素是一个<robot>元素。

10.8.1 <link>元素

有关链接描述格式的详细信息,请查看<link>元素页面。

10.8.2 <joint>元素

有关关节描述格式的详细信息,请查看<joint>元素页面。

英语原文地址:wiki.ros.org/urdf/XML