搭建好开发环境后,下一步就是赋予机器人'身体'。URDF 充当了这份蓝图,而仿真配置则是让它在虚拟世界中'活过来'的关键。
URDF:机器人的骨骼与皮肤
URDF 的核心在于描述机器人的运动学与动力学属性,它由一套 XML 标签构成。
建模方式选择
如果是学习原理或构建简单模型,建议从零编写。使用文本编辑器或 VS Code 直接编写 URDF 或 Xacro 文件。官方 urdf_tutorial 包提供了从视觉、碰撞属性到使用 Xacro 宏语言优化代码的完整指南,推荐按照'视觉 -> 可动 -> 物理属性 -> Xacro'的顺序逐步上手。工作流上,通常在一个 _description 功能包中创建 urdf、meshes、launch、config 文件夹。
面对复杂模型,则可以从 CAD 软件导出。使用 sw_urdf_exporter 插件从 SolidWorks 导出时,务必先清理模型,删除螺丝等不影响仿真的内部零件,并为每个关节手动定义坐标系和旋转轴,这是模型准确性的关键。导出的包通常已包含初步的 launch 文件用于在 RViz 中测试。
仿真配置:融入虚拟世界
有了 URDF 模型,接下来针对 Isaac Sim 环境进行配置。
原生导入路径
Isaac Sim 提供了强大的 URDF 导入工具,这是最直接的路径。
- 导入 URDF:在 Isaac Sim 中通过
File > Import选择你的 URDF 文件。 - 导入配置:在弹出的
ImportConfig面板中,注意以下关键选项:fixBase:通常勾选,将机器人的底座固定在世界中(适用于机械臂)。mergeFixedJoints:合并固定的关节,简化模型结构。selfCollision:如需启用自碰撞检测(如避免手臂撞到自己),请勾选此项。defaultDriveStrength/defaultPositionDriveDamping:设置关节驱动器的刚度和阻尼,影响电机响应的'软硬'程度。
- 转换成 USD:导入过程实际上是 Isaac Sim 在后台将 URDF 解析并转换为原生的 USD 格式。你会在 Stage 树中看到机器人完整的结构。
高级运动规划配置
为了让机器人在 Isaac Sim 中实现更智能、流畅的运动,标准的 URDF 往往不足以支持先进算法,需要补充配置。
- 启用扩展:确保启用
Isaac Sim USD to URDF Exporter和Lula Robot Description扩展。 - 定义关节属性:打开
Lula Robot Description Editor并点击 Play 启动仿真。在Set Joint Properties面板中区分关节类型:- Active Joint:由规划器直接控制的关节(如机械臂的 6 个或 7 个轴)。
- Fixed Joint:在运动规划过程中保持固定的关节(如夹爪的关节,通常由单独逻辑控制)。
- 生成碰撞球:Lula 算法使用碰撞球而非复杂网格进行检测,以实现超高计算效率。在
Link Sphere Editor中,为每个 Active 的连杆选择对应的碰撞或视觉网格,自动生成或手动调整一组红色球体包裹该连杆。球体数量需权衡——多了更精确但计算慢,少了速度快但可能不够准确。 - 导出配置:最后,导出
robot_description.yaml(用于 RMPflow/Lula) 或.xrdf(用于 cuMotion) 文件,供运动规划算法使用。

