一、背景概述

URDF(Unified Robot Description Format)自 ROS 诞生以来一直是机器人社区的标准描述格式。然而,随着机器人仿真从简单的运动学验证转向大规模并行训练、Sim-to-Real 迁移和物理 AI,URDF 的局限性日益凸显。与此同时,NVIDIA 力推的 OpenUSD(Universal Scene Description)正在从影视和工业可视化领域向机器人仿真生态渗透,形成了 URDF vs USD 的技术路线之争。

本文基于 2024-2026 年的最新资料,系统梳理两大格式的现状、局限、替代方案和生态支持情况。


二、URDF 的局限性分析

2.1 设计初衷与当前需求的脱节

URDF 诞生于 2006 年左右,最初是为 ROS 的机器人运动学描述而设计。其 XML 结构只支持树状的刚性链接拓扑,主要编码以下信息:

  • 运动学树(link/joint 层级结构)
  • 惯性参数(mass, inertia matrix)
  • 碰撞和视觉几何(mesh/primitive)
  • 关节类型和限制(revolute, prismatic, continuous 等)

但随着机器人技术的发展,以下局限性变得不可忽视:

2.2 核心局限

1. 不支持闭环机构
URDF 严格限定为树状结构,无法原生表达并联机构、四足机器人的闭合运动链(closed kinematic chains)。需要借助 ros2_control 或仿真器层面的变通处理。

2. 缺乏语义和传感器描述
URDF 没有标准方式描述传感器(摄像头、LiDAR、IMU)、传动系统(transmission)、控制器接口等。这些信息需要通过 ros2_control 的额外 YAML 配置或 Gazebo 插件来补充。

3. 不支持环境场景
URDF 只描述单个机器人本体,无法描述场景中的其他物体、障碍物、地面等。

4. 不支持材质/物理属性
没有标准字段描述表面摩擦系数、弹性恢复系数、材质类型等物理交互参数。

5. 缺乏可扩展性
URDF 的 XML schema 没有提供命名空间或扩展机制,第三方工具难以在不破坏兼容性的前提下添加自定义字段。

6. 缺乏统一的多机器人描述
对多机器人系统、可更换末端执行器等场景的支持极为有限。


三、URDF 的替代方案与演进方向

3.1 SDFormat(Simulation Description Format)

Gazebo 团队主导的 SDFormat 是 URDF 最直接的”升级替代”。与 URDF 相比,SDF 的优势包括:

  • 支持世界/场景描述:不仅能描述机器人,还能描述完整场景(光照、物理参数、物体布局)
  • 支持闭环机构:通过 <joint> 的闭合链拓扑支持
  • 更好的物理参数表达:内置摩擦、阻尼、弹性等物理属性
  • 模态化设计:支持 plugin 扩展

现状:Gazebo Garden/Harmonic 默认使用 SDFormat 1.9/1.10,ROS 2 的 robot_state_publisherjoint_state_publisher 目前已支持从 SDF 读取信息。SDFormat 仓库(gazebosim/sdformat)在 GitHub 上获得了 214 星。

3.2 MJCF(MuJoCo XML Format)

Google DeepMind 的 MuJoCo 物理引擎原生使用 MJCF 格式。其主要特点:

  • 更简洁的紧凑语法:MJCF 比 URDF 更简洁,同样描述的机器人 MJCF 文件通常更短
  • 原生关节执行器(actuator)支持:将执行器作为一类元素,而不是 URDF 中需要通过 transmission 桥接
  • 更好的数值稳定性:MJCF 在描述惯性、关节摩擦等方面更精确
  • 闭环拓扑支持:通过 <equality><tendon> 元素原生支持

现状:MuJoCo Menagerie(google-deepmind/mujoco_menagerie,★3720)收录了大量高质量 MJCF 格式的机器人模型,包括 Franka Panda、Unitree H1/G1、ANYmal、Shadow Hand 等。

3.3 URDD(Universal Robot Description Directory)

2025 年 12 月,Klein-Seetharaman 和 Rakita 在 arXiv 上发表了《Beyond URDF: The Universal Robot Description Directory for Shared, Extensible, and Standardized Robot Models》(arXiv:2512.23135)。

URDD 的核心思路是:不从格式上取代 URDF,而是在 URDF 之上构建一个模块化的 JSON/YAML 目录,自动从 URDF 中提取和衍生更丰富的机器人信息(运动学、动力学、可视化等),并提供 Rust(Bevy)和 JavaScript(Three.js)的参考实现。

关键观点:

  • URDF/SDF/MJCF/USD 都只编码基础的几何、运动学和动力学信息
  • 下游应用需要重复推导更丰富的数据,导致冗余和碎片化
  • URDD 作为一个”组织器”(directory),而非”格式”(format),提供统一的扩展机制

3.4 URDF 2.0 或类似倡议

目前没有官方定义的”URDF 2.0”标准。GitHub 搜索 “URDF 2.0” 返回 0 个匹配项目。ROS 社区的共识似乎是:不升级 URDF,而是转向 SDFormat 作为新一代标准

ROS 2 的规划中明确将 SDFormat 视为未来方向,在 ROS 2 J-Turtle 及后续版本中,SDF 支持正在逐步增强。


四、NVIDIA 推动 USD 在机器人领域应用

4.1 NVIDIA 的 OpenUSD 战略

OpenUSD(Universal Scene Description)最初由 Pixar 开发用于电影制作,NVIDIA 将其作为 Omniverse 平台的核心数据层,并大力推动其在机器人领域的应用。

关键举措:

1. SimReady 标准
NVIDIA 提出了 SimReady(仿真就绪)标准——基于 OpenUSD 的高保真 3D 资产标准,包含物理准确的材质、运动学和行为数据。SimReady 资产在 NVIDIA 的 Hugging Face 仓库中已有近 1000 个 OpenUSD 资产。

2. Isaac Sim 的 URDF/MJCF/USD 互转
Isaac Sim 内置了 URDF Importer 和 MJCF Importer,可以将 URDF/MJCF 转换为 USD 格式。同时也有 USD to URDF 导出功能(2026 年 4 月发布的 Isaac Sim 6.0.0 中还存在导出 bug,i.e. issue #668:导出空 robot name)。

3. Newton 物理引擎
NVIDIA 在 GTC 2026 上宣布 Newton 1.0 GA(newton-physics/newton,★5182)。这是一个基于 OpenUSD 作为公共数据层的模块化物理引擎,统一了 MuJoCo solver(Google DeepMind)、Kamino solver(Disney Research)和 NVIDIA 自家的 GPU 加速求解器。

4.2 NVIDIA 博客核心内容

在《3 Easy Ways to Supercharge Your Robotics Development Using OpenUSD》中,NVIDIA 阐述了三个核心场景:

  1. 数据摄入(Data Ingestion):将 CAD、URDF、传感器数据统一转换为 USD,作为机器人管线的通用数据层
  2. 数据聚合(Data Aggregation):利用 USD 的层(layer)机制组合数千物体的大规模虚拟场景
  3. SimReady:统一格式的即插即用资产,跨 Isaac Sim、Isaac Lab 等整个 NVIDIA 物理 AI 栈

4.3 USD 对机器人的优势

  • 层(Layer)机制:可以将机器人模型(来自 URDF)、场景(来自 CAD)、传感器数据分别作为独立的层叠加
  • 复杂场景管理:支持含数十万物体的巨型场景,适合大规模并行训练
  • 丰富的元数据:描述材质、物理属性、语义标签等
  • 跨工具链互操作:从 3D 建模(Blender/Maya)到仿真到 AI 训练的全流程统一

4.4 USD 的挑战

  • 学习曲线陡峭:USD 的概念(prim, layer, composition arc, variant set)比 URDF 复杂得多
  • 文件体积大:USD 文件通常比等价的 URDF 大得多
  • 工具链不成熟:机器人专用工具还较少,生态仍在建设中
  • 非 ROS 原生:ROS 的核心工具链仍以 URDF/SDF 为主

五、ROS 社区对 URDF 未来的讨论

5.1 社区共识方向

通过 ROS Discourse 搜索和 GitHub 讨论,社区的主要观点如下:

  • 长期趋势:ROS 2 正逐步从 URDF 迁移到 SDFormat 作为主要描述格式
  • SDF 优先已纳入 ROS 2 路线图:一些关键包(robot_state_publisher)已开始支持 SDF
  • URDF 不会立即消失:大量现有工具(MoveIt 2, Navigation2, ros2_control)仍然依赖 URDF
  • 无官方 URDF 2.0 计划:社区不计划定义 URDF 2.0,而是建议用户迁移到 SDF

5.2 ROS Discourse 上的相关讨论

在 ROS Discourse 搜索到 17 个相关话题,包括:

  • SolidWorks URDF Exporter 2.0 的用户调查(帮助改进导出工具)
  • LinkForge 1.2.0:集中化的 ros2_control 仪表盘和惯性精度工具
  • MoveIt 2 的 Alpha 版本发布

5.3 关于 USD 进入 ROS 生态的看法

ROS 社区对 USD 持谨慎观察态度。USD 的复杂性和非 XML 特性使其难以直接融入 ROS 工具链。目前的主要集成方式是:

  • 在 Isaac Sim 中通过 ROS 2 Bridge 连接
  • NVIDIA 提供 URDF ↔ USD 转换工具
  • 部分研究团队在探索 USD-based 的机器人描述管线

六、主流仿真平台对 URDF 和 USD 的支持情况对比

6.1 一览表

平台 URDF SDFormat MJCF USD/OpenUSD 备注
Isaac Sim ✅ 原生导入/导出 ✅ 部分支持 ✅ MUJocoConverter 原生格式 以 USD 为核心,URDF/MJCF 通过转换工作
MuJoCo ✅ 可通过 compile 导入 原生格式 URDF 导入有限制(闭环、执行器缺失)
Gazebo (Garden+) ✅ 导入支持(有限) 原生格式 ✅ 实验性支持 SDFormat 是原生格式
PyBullet ✅ 原生加载 (loadURDF) 以 URDF 为主要输入格式
Isaac Lab ✅ 通过 Isaac Sim 间接支持 ✅ 通过 Menagerie 原生格式 在 Isaac Sim 之上,继承 USD 支持

6.2 详细分析

Isaac Sim / Isaac Lab

  • 原生格式:OpenUSD
  • 通过 URDF Importer 工具将 URDF 转换为 USD
  • 通过 mujoco_usd_converter 将 MJCF 转换为 USD
  • 内置了来自 FANUC、Yaskawa、Universal Robots、ABB、KUKA 的 USD 机器人资产
  • Isaac Lab 在 2026 年 7 月的 PR #5908 中正在添加”使用 MuJoCo Menagerie 资产在 Isaac Lab 环境上基准测试”的功能
  • 使用 Newton 或 PhysX 作为物理后端

MuJoCo (Google DeepMind)

  • 原生格式:MJCF(扩展名 .xml)
  • URDF 支持:可通过 mujoco.compile 将 URDF 转换为 MJCF
  • MuJoCo Menagerie(★3720)提供了 100+ 个高质量的 MJCF 机器人模型
  • 不直接支持 USD
  • 牛顿物理引擎的 MJWarp solver 基于 MuJoCo,可让 MuJoCo 模型在 Isaac Lab 上运行

Gazebo (Open Robotics)

  • 原生格式:SDFormat(自 Gazebo 11+ 起)
  • URDF:可以在运行时 spawn URDF 模型,但有功能限制(如 self-collision 问题,issue #2957、#3261)
  • SDF 1.9+ 主要特性:关节执行器、物理属性、传感、场景描述
  • USD 支持:实验性,作为可能扩展讨论中

PyBullet / Bullet3

  • 原生格式:URDF(最常用的输入格式)
  • 提供 loadURDF()loadMJCF() 接口
  • 不直接支持 USD
  • 适合快速原型验证,不适合大规模分布式训练

6.3 选型建议

使用场景 推荐格式 推荐平台
ROS 2 机器人开发 URDF / SDF Gazebo + RViz
大规模并行 RL 训练 USD / MJCF Isaac Lab + Newton
高保真物理仿真 (manipulation) MJCF MuJoCo
多机器人协同仿真 USD Isaac Sim
快速原型/教学 URDF PyBullet
工业级仿真验证 USD (SimReady) Isaac Sim + ROS 2 Bridge

七、2024-2026 年关键事件时间线

时间 事件
2024-Q1 NVIDIA 发布 Isaac Sim 2023.1,增强 URDF Importer
2024-Q2 ROS 2 Humble 正式将 SDFormat 加入机器人描述支持
2024-Q3 MuJoCo Menagerie 突破 3000 GitHub Stars
2024-Q4 NVIDIA GTC 宣布 Isaac Lab 1.0
2025-Q1 多家机器人厂商(FANUC, Yaskawa, UR)在 NVIDIA 上发布 USD 格式的数字孪生资产
2025-Q2 Gazebo Harmonic 发布,默认 SDFormat 1.9
2025-Q3 NVIDIA Hugging Face 仓库达近 1000 OpenUSD 资产
2025-Q4 ROS 2 Rolling 增强 SDF 在 robot_state_publisher 中的支持
2025-12 URDD 论文发表(Beyond URDF: The Universal Robot Description Directory)
2026-Q1 NVIDIA GTC 发布 Newton 1.0 GA,统一 MuJoCo/Kamino/GPU 求解器
2026-04 Isaac Sim 6.0.0 发布,新增 MJCF 转换器
2026-06 论文《Extracting Semantics: LLM-Guided Automatic Population of Robot Ontology from URDF》发表
2026-06 论文《From USD Scenes to Knowledge Graphs: Zero-Shot Ontology Grounding with LLMs》发表

八、结论与展望

8.1 核心结论

  1. URDF 不会短期消亡,但长期将被 SDFormat(ROS 生态内)和 USD(NVIDIA 生态内)取代
  2. 没有官方的”URDF 2.0”——社区共识是迁移而非升级
  3. NVIDIA 正通过 Isaac Sim/Newton/USD 三重布局,推动 OpenUSD 成为机器人仿真的通用数据层
  4. ROS 社区更倾向 SDFormat 作为 URDF 的自然进化方向
  5. MJCF 在 manipulation 领域有不可替代的地位,被 Google DeepMind 和 NVIDIA 同时支持
  6. 多格式互转成为刚需,URDF ↔ USD ↔ MJCF ↔ SDF 之间的转换工具链正在快速完善

8.2 趋势判断

  • 短期(1-2年):URDF 仍然是 ROS 项目的主流格式,但 SDF 支持会持续加强
  • 中期(2-4年):USD 在 NVIDIA 生态中成为事实标准,通过 ROS 2 Bridge 实现与 ROS 的集成
  • 长期(4年+):机器人描述格式将走向统一,OpenUSD 凭借其强大的场景描述和层级机制最有望成为通用标准

8.3 需关注的项目

  • URDD(Universal Robot Description Directory):格式中立的数据组织方案
  • Newton Physics Engine:NVIDIA 的模块化物理引擎,统一了 MuJoCo 和 Kamino
  • mechaverse(jurmy24/mechaverse,★236):浏览器内 URDF/MJCF/USD 渲染
  • mujoco_menagerie(google-deepmind/mujoco_menagerie,★3720):高质量 MJCF 模型集合
  • Isaac Lab(isaac-sim/IsaacLab,★7655):统一机器人学习框架

九、参考资源

论文

  1. Beyond URDF: The Universal Robot Description Directory (arXiv:2512.23135, 2025-12)
  2. Extracting Semantics: LLM-Guided Automatic Population of Robot Ontology from URDF (arXiv:2606.17073, 2026-06)
  3. From USD Scenes to Knowledge Graphs: Zero-Shot Ontology Grounding with LLMs (arXiv:2606.09134, 2026-06)

代码仓库

  1. isaac-sim/IsaacLab(★7655):https://github.com/isaac-sim/IsaacLab
  2. google-deepmind/mujoco_menagerie(★3720):https://github.com/google-deepmind/mujoco_menagerie
  3. newton-physics/newton(★5182):https://github.com/newton-physics/newton
  4. bulletphysics/bullet3(★14601):https://github.com/bulletphysics/bullet3
  5. gazebosim/sdformat(★214):https://github.com/gazebosim/sdformat
  6. jurmy24/mechaverse(★236):https://github.com/jurmy24/mechaverse

官方文档

  1. NVIDIA Isaac Sim URDF Importer:https://docs.omniverse.nvidia.com/isaacsim/latest/features/urdf_importer.html
  2. 3 Easy Ways to Supercharge Your Robotics Development Using OpenUSD:https://developer.nvidia.com/blog/3-easy-ways-to-supercharge-your-robotics-development-using-openusd/
  3. ROS 2 URDF and SDF Documentation:https://docs.ros.org/en/rolling/Tutorials/Intermediate/URDF/URDF-and-SDF.html