RRT算法
2026/1/2大约 4 分钟
Lula 机器人描述与 XRDF 编辑器 (Lula Robot Description and XRDF Editor)
学习目标
本教程将展示如何使用 机器人描述编辑器 (Robot Description Editor) UI 工具生成配置文件,作为机器人 URDF 原有信息的补充。目前有两款运动生成软件包利用该编辑器来指定必要的配置信息:cuMotion 和 Lula。
本教程将:
- 介绍为 Lula 和 cuMotion 算法提供特定配置文件的动机。
- 详细说明每个 Lula 算法所需写入机器人描述文件的最小数据集。
- 演示如何使用编辑器工具自动生成或编辑 Lula 的
robot_description.yaml文件以及 cuMotion 的XRDF文件。
注意:机器人描述编辑器需在已有 关节体 (Articulation) 的舞台(Stage)上使用。建议通过“引用(Reference)”方式拖入 USD 文件到空白舞台,而非直接打开 USD 文件。
什么是机器人描述文件?
机器人描述文件 (Robot Description File) 是使用所有 Lula 算法所需的核心配置文件。创建 robot_description.yaml 文件是为新机器人适配 Lula 算法时最关键且最耗时的步骤。
1. 定义机器人位形空间 (C-Space):激活关节与固定关节
该文件的核心功能之一是定义机器人的 C-Space。
- 激活关节 (Active Joints):直接受算法控制的关节。
- 固定关节 (Fixed Joints):在 Lula 算法看来是位置固定的关节。
示例:对于带有 2 自由度夹持器的 7 自由度 Franka 机械臂:
- Lula 算法(如 RMPflow、Lula RRT 等)旨在将机器人移动到指定位置,而非控制末端执行器。
- 因此,机械臂的 7 个关节应设为 “激活关节”,而夹持器关节设为 “固定关节”。
- 默认位置:在编辑器中,必须为两类关节选择位置。激活关节的位置被视为“默认位形”。当 RMPflow 没有目标或需要解析零空间行为时,会倾向于靠近这些默认位置。
- 固定关节值:Lula 无法在运行时覆盖固定关节的位置,因此需设定合理值。例如,将夹持器固定在“打开”状态,有助于算法在避障时考虑到夹持器的物理占用。
2. 碰撞球 (Collision Spheres)
Lula 算法使用自定义配置进行高效避障。用户必须定义一组粗略覆盖机器人表面的 碰撞球。算法会确保这些球不与 USD 世界中的障碍物发生碰撞。
Robot Description 文件与 XRDF 文件的区别
- XRDF 文件:是 cuMotion 所需的主配置文件,它包含的数据是 Lula 描述文件的超集。
- 现状与未来:目前编辑器可生成 cuMotion 所需的最小 XRDF 数据。未来 Lula 将全面支持 XRDF 并弃用旧的描述文件格式。
- 版本说明:自 Isaac Sim 4.0.0 起,编辑器已支持 XRDF 文件的修改。
各 Lula 算法的信息需求
不同的算法对描述文件的完善程度要求不同:
- 所有算法:均需正确选择激活和固定关节。
- 避障相关算法:只有执行外部避障的算法才需要碰撞球配置。
- 运动学求解器 (Lula Kinematics Solver):纯运动学计算,不与外部环境交互,因此可以省略碰撞球。
- RMPflow:可以在没有碰撞球的情况下运行,但将无法避开障碍物。
使用机器人描述编辑器
1. 快速入门
- 路径:
Tools -> Robotics -> Lula Robot Description Editor。 - 启动:打开机器人 USD 文件,点击左侧的 Play(播放) 按钮。
- 选择面板:在
Select Articulation下拉菜单中选择机器人的路径,之后Select Link菜单会更新出所有连杆名称。
2. 命令面板 (Set Joint Properties)
在 Isaac Sim 4.0.0 中,此面板更名为 Set Joint Properties,并增加了加加速度(Jerk)和加速度限制字段。
在此面板中需为每个关节设置:
- Joint Position(关节位置):设定激活关节的默认位形。
- Joint Status(关节状态):标记为 Active(激活)或 Fixed(固定)。注意:必须至少有一个激活关节。
3. 添加碰撞球
碰撞球是逐个连杆添加的。用户通过 Selection Panel 选择连杆,然后在 Link Sphere Editor 中操作。
添加方式主要有三种:
- Add Sphere (手动添加):添加单个球体,之后可在舞台上通过位移或缩放调整位置。
- Connect Spheres (连接球体):选择两个已有的球,指定中间球的数量进行插值填充。
- Generate Spheres (自动生成):选择连杆的网格(Mesh),指定数量 $N$,系统将自动生成最匹配网格形状的球体集。
导出与导入配置文件
1. 导出 (Export)
- Lula 描述文件:导出为
.yaml格式。 - XRDF 文件:导出为
.yaml或.xrdf格式。支持与现有 XRDF 文件 合并 (Merge),保留工具坐标系等高级数据。
2. 导入 (Import)
- 可以导入现有的
.yaml或.xrdf文件,注意导入将覆盖编辑器当前的全部信息。
总结
通过本教程,您可以高效地为各种 Lula 算法生成配置,并支持 cuMotion 所需的 XRDF 格式。
