URDF, 或统一的机器人描述格式, 是一个 XML 规范用于学术界和工业界的模型多体系统, 如机器人机械手武器制造装配线和仿真机器人的游乐园。URDF 是特别受欢迎的 ROS, 或机器人操作系统的用户-一个框架, 为 URDF 模型提供标准支持。您可以将 URDF 模型导入到Simscape™ Multibody™环境中, 例如, 用于模拟、分析和控制设计任务。见人形机器人的典型例子为一个简单的用例。
仿人机器人 URDF 模型
与其他类型的 xml 文件一样, URDF 文件包含各种 xml 元素, 如
、 、
、嵌套在称为 XML 树的分层结构中。例如, 和
元素据说是
元素的孩子, 并相互,
元素的的父母和
元素。
...
...
...
子元素, 如和
在
下, 可以反过来有自己的子元素。例如, 元素有子元素
和
。
元素有子元素
和
。
元素有子元素
。此类子元素链对于定义父元素的属性和行为至关重要。
...
...
...
除了子元素之外, URDF 模型中的 XML 元素还可以具有属性。例如,
, , 和
元素都有属性
-一个字符串, 用来标识元素。
元素具有属性rgba
--带有链接颜色的红色、绿色、蓝色和 alpha (或不透明度) 值的数字数组。这些属性帮助完全定义模型中的元素。
...
...
...
URDF 链接通过分层结构中的节点连接, 而不像通过在 URDF 文件中嵌套 XML 元素而形成的。
元素通过
和
元素来强制执行这些层次结构, 它将标识一个链接作为父级, 另一个作为子项。父链接本身也可以是子级链接, 而子节点则是模型中其他链接的家长。
和
联合元素
您可以使用称为连接关系图的示意图来可视化链接之间的连接。这个数字显示了一个例子。圆圈表示链接, 箭头表示关节。箭头根标识父节点, 箭头提示子节点。连通图揭示了底层模型的拓扑结构-这里是一个具有两个分支的简单运动树。
运动树的连通图
模型拓扑在 URDF 中很重要。模型的连通图只能以运动树的形状为形式, 即运动链, 分支或不分枝, 总是开放的。运动回路, 每一个封闭链组成的连接两端的另一开放链, 是不允许的。此限制会影响元素在 URDF 模型中的连接方式。
该限制转换为以下规则: no 元素可作为多个
元素中的子节点。换句话说, 没有元素可以在模型的连接图中有多个父元素。只有根链接 (在连接关系图的起始处) 可以有许多不同于一个 (零) 的父节点。模型中只允许有一个根链接。
运动回路 URDF 例
该代码在两个
元素、联合joint C
和joint D
中声明链接link D
, 作为子节点。link D
元素有两个父级, 形成一个运动回路。该模型违反了 URDF 连接规则, 并且无效。图中显示了模型的连通关系图。
运动回路的连通图
并非 URDF 规范中列出的所有元素和属性都是必需的。一些, 如
在, 是可选的。下面的代码演示可以使用的各种元素和属性, 以及可选的绿色颜色。
在可选元素中显示为必需的元素和属性仅在使用可选元素时才如此。可选属性的默认值以圆括号和斜体字体显示。请注意, 此代码仅作为引用包含, 并且它不表示有效的 URDF 模型。省略号 ("...") 在 URDF 模型中无效, 仅用于中断长行代码以便于查看。
†type
prismatic
和外卷的元素revolute
所需的。
例如, 创建一个双摆的 URDF 模型。在选择的文本编辑器中, 使用下面显示的代码创建一个文件, 并将该文件另存为double_pendulum.urdf
在一个方便的文件夹中。在文件名中包含文件扩展名。一个单独的示例演示如何将此模型导入Simscape多体环境 (请参阅导入简单 URDF 模型).
>
>
关于 URDF 模型
该代码定义了一个名为 "linkage
" 的多体模型。该模型包含三链接, 命名的link A
,link B
和link C
, 连接通过两个关节, 命名为joint A
和joint B
。
和
关节的元素确定链接连接方式:link A
连接到link B
,link B
连接到link C
。link A
没有父链接-即, 它仅作为子元素出现在
元素中, 因此是根链接。
link A
的
元素定义了链路的惯性 (ixx
、iyy
、izz
) 的质量和力矩。惯性产品 (ixy
、 ixz
和iyz
) 未指定, 且 URDF 默认值为零。link A
的visual
元素定义了用于模型可视化的几何类型和材料颜色。这种情况下的几何是一个框, 宽度和厚度为0.5
米, 高度为0.1
米。链接
和
的
元素指定从链接参考框架到惯性和可视参考帧的转换。相似的元素适用于link B
和link C
.
元素的type
属性定义了关节为连续-一种不受运动限制的外卷接头。
元素指定连接相对于父链接元素的参照框架的位置。例如,joint A
的
元素偏移沿-Z
轴的联合0.05
m 相对于link A
的原点参照框架。嵌套在每个joint
元素内的axis
元素定义了连接的旋转轴, 作为笛卡尔向量[0, 1, 0]
或+Y
.
图中显示了模型的组件-链接和连接, 以及它们包含的各种帧。R表示一个链接参考框架, I 一个链路惯性框架, V 一个链接视觉框架。J 表示一个联合参考框架-按定义与子链接的参考框架相吻合。惯性和视觉帧被偏移到链接的中心和连接框架到他们的下边缘。
双摆模型组件
您可以, 但一般不必手动创建自己的 URDF 文件。对于更复杂的模型, 最好从其他源获取 URDF 文件。机器人制造商和顾问经常为他们的机器人系统提供 URDF 模型。CAD 应用程序, 如 SolidWorks®和 PTC®Creo™支持将 CAD 组件转换为 URDF 模型的 URDF 出口商。在使用复杂的机器人模型时, 请考虑这些选项, 这可能不是手工创建的简单方法。
smimport
参看网址:https://ww2.mathworks.cn/help/physmod/sm/ug/urdf-model-import.html