Skip to content

百科wiki.ros.org今天

URDF 是什么? ​

一句话回答:URDF(Unified Robot Description Format,统一机器人描述格式)是 ROS 生态用来描述机器人“长什么样、怎么动”的 XML 文件,定义每个连杆(link)的质量惯量、外观和碰撞形状,以及连杆之间关节(joint)的类型、轴向和运动限制。 RViz 可视化、MoveIt 运动规划、Gazebo / Isaac Sim / MuJoCo 仿真都能读取 URDF。

文件结构 ​

一个最小的 URDF 由 robot 根节点、若干 link 和连接它们的 joint 组成:

xml
<robot name="two_link_arm">
  <link name="base_link">
    <inertial>
      <mass value="2.0"/>
      <inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
    </inertial>
    <visual><geometry><box size="0.1 0.1 0.1"/></geometry></visual>
    <collision><geometry><box size="0.1 0.1 0.1"/></geometry></collision>
  </link>
  <link name="link1"/>
  <joint name="joint1" type="revolute">
    <parent link="base_link"/>
    <child link="link1"/>
    <origin xyz="0 0 0.1" rpy="0 0 0"/>
    <axis xyz="0 0 1"/>
    <limit lower="-3.14" upper="3.14" effort="30" velocity="2.0"/>
  </joint>
</robot>
元素作用
link刚体连杆;inertial 给质量与惯性张量,visual 给外观网格,collision 给碰撞几何
joint连接父子连杆;origin 定义相对位姿,axis 定义转轴或移动方向
关节类型revolute(有限位转动)、continuous(无限位转动)、prismatic(直线移动)、fixed(固定)、floating、planar

大型机器人的 URDF 一般用 xacro 宏生成,避免重复书写左右对称的腿和手臂。

URDF 里有关节力矩和速度信息吗? ​

有上限,没有实时状态。 joint 下的 <limit> 字段包含:

  • effort:关节最大力矩(转动关节,N·m)或最大力(移动关节,N);
  • velocity:关节最大速度(rad/s 或 m/s);
  • lower / upper:关节位置上下限。

URDF 不描述电机模型、减速比、摩擦辨识结果或实时的力矩与速度读数。这些要靠厂商 SDK 读取,或写进仿真器自己的格式,例如 MJCF 的 actuator。

为什么 URDF 不能描述并联机构? ​

URDF 要求连杆和关节构成一棵树,每个连杆只能有一个父关节,所以不能直接表达闭链,例如并联腿、四连杆、Delta 机构。常见处理方式:

  • 用 mimic 关节近似从动关节;
  • 换用支持闭链约束的格式,如 MuJoCo 的 MJCF(equality 约束)或 SDF;
  • 在仿真器里额外添加约束,把树状 URDF 的末端“焊”在一起。

SolidWorks 怎么转 URDF? ​

ROS 官方维护 solidworks_urdf_exporter 插件:在装配体里按树状结构指定每个连杆和关节的坐标系与转轴,插件导出 URDF 和 STL 网格。导出后建议检查三点:

  1. 惯量是否来自真实材料属性,而不是默认密度;
  2. 碰撞几何最好换成简化的凸包或基本体,能明显加快仿真;
  3. 关节 limit 是否填了真实的力矩与速度上限。

URDF 和 MJCF、USD 是什么关系? ​

格式主要生态特点
URDFROS / MoveIt / Gazebo通用描述,树状结构,仿真参数少
MJCFMuJoCo支持执行器、肌腱、闭链约束与接触参数
USDNVIDIA Isaac Sim场景级格式,支持材质、物理与传感器

MuJoCo 可以直接编译加载 URDF,但正式仿真通常转成 MJCF 再补执行器参数,步骤见 MuJoCo Menagerie:URDF 转 MJCF 指南。

去哪找现成的机器人 URDF ​

基于本页技术方向关联的整机参数、核心零部件、实测报告与同赛道选型横评。

来源

本页事实对应的公开页面,以原文为准。

  1. ROS Wiki · urdf/XML/joint(joint 与 limit 字段定义)访问 2026-11-05
  2. ROS Wiki · urdf/XML/link(inertial / visual / collision)访问 2026-11-05