SRDF 材料详解与运用途径

SRDF 文件详解与使用方法

1. 什么是 SRDF 文件

SRDF 全称 Semantic Robot Description Format,是 ROS(Robot Operating System)生态中用于描述机器人语义信息的文件格式。
与 URDF(Unified Robot Description Format)不同,URDF 主要描述机器人的物理结构与几何模型(如关节、连杆、材质、视觉模型等),SRDF 则补充了机器人在物理结构之外的高层语义信息,例如:

  • 哪些关节/连杆属于一个“规划组”
  • 哪些连杆在运动规划中需要避免碰撞
  • 默认的关节配置(姿态)
  • 虚拟关节与参考坐标系
  • 特定动作组(end effector)
  • Disabled collisions 列表

SRDF 文件通常与 URDF 文件配套使用,尤其在 MoveIt! 等运动规划框架中,SRDF 是必需的。


2. SRDF 文件的结构

SRDF 文件是 XML 格式,常见的标签包括:

2.1 <group>

定义机器人上的一个规划组(Planning Group),比如机械臂的 6 个关节组成一个组。

主要属性与子标签:

<group name="arm">
  <joint name="joint1"/>
  <joint name="joint2"/>
  ...
</group>

2.2 <group_state>

为某个规划组定义一个默认状态(预设姿态),方便调用预设位置。

<group_state name="home" group="arm">
  <joint name="joint1" value="0"/>
  <joint name="joint2" value="1.57"/>
</group_state>

2.3 <virtual_joint>

绑定机器人坐标系到外部参考系(如世界坐标系),常用于移动机器人或机械臂的底座定位。

<virtual_joint name="world_joint" type="fixed" parent_frame="world" child_link="base_link"/>

2.4 <end_effector>

定义末端执行器及其关联的规划组。

<end_effector name="gripper" parent_link="wrist_link" group="gripper_group"/>

2.5 <disable_collisions>

定义在运动规划中可以忽略的碰撞检查对,提升效率。

<disable_collisions link1="linkA" link2="linkB" reason="Adjacent"/>

3. SRDF 文件的生成方法

3.1 手工编写

你可以直接用文本编辑器编写 SRDF 文件,但需要仔细与 URDF 的关节、连杆命名一致,否则会出错。

3.2 使用 MoveIt Setup Assistant

这是官方推荐的方式:

  1. 安装 MoveIt! 和相关依赖。
  2. 运行 roslaunch moveit_setup_assistant setup_assistant.launch
  3. 导入 URDF 文件。
  4. 在 GUI 中配置规划组、末端执行器、默认姿态等。
  5. 保存生成的 SRDF 文件。

4. SRDF 文件的使用方式

  1. 与 URDF 一起加载
    在启动 MoveIt! 或其他上层控制系统时,URDF 提供物理模型,SRDF 提供语义模型,二者一起构成立体的机器人描述。

  2. 运动规划
    MoveIt! 在解析 SRDF 文件后会:

    • 确定规划组的关节范围
    • 使用 disable_collisions 列表加速碰撞检测
    • 根据 group_state 提供快速姿态切换
  3. 虚拟关节处理
    如果机器人并非固定在世界坐标系,比如 AGV 搭载机械臂,可以使用 SRDF 的 virtual_joint 定义运动基准。


5. SRDF 文件常见问题与注意事项

  • 命名一致性
    所有关节与连杆名称必须与 URDF 中完全一致(大小写敏感)。

  • 碰撞优化
    不要过度使用 disable_collisions,会降低规划的安全性。

  • 版本兼容
    ROS 不同版本中 SRDF 格式基本保持一致,但一些标签可能会扩展。


6. 总结

SRDF 是机器人语义描述的重要文件,配合 URDF,可让上层运动规划、控制和仿真更高效。掌握 SRDF 的结构和生成方法,能更好地定制机器人在复杂任务中的行为。

posted @ 2026-02-09 16:41  clnchanpin  阅读(58)  评论(0)    收藏  举报