导入 URDF

URDF 导入用于把机器人模型加载到 FlexGym 场景中。导入后,系统会将 URDF 中的 robotlinkjointvisualcollisionmaterial 等信息转换成 FlexGym 节点树。

视图区机器人,节点树层级、属性面板的节点参数。

导入方式

  • 导入单个 .urdf 文件。
  • 导入包含 URDF 和 mesh 资源的文件夹。
  • 从拖拽文件或文件夹触发导入。
  • 当文件夹中存在多个 URDF 文件时,选择其中一个作为入口。

导入选项

选项 默认状态 作用
启用碰撞 关闭 导入后启用机器人碰撞检测。勾选后,URDF 中的 collision 几何会作为接触和碰撞检查的重要依据。
固定基座 关闭 将机器人基座固定在世界中。不勾选时,基座可以自由运动;勾选时更适合机械臂、固定工装或只想检查关节链的场景。
导入 URDF对话窗口,检测到文件夹中有多个URDF文件

导入规则

URDF 导入后,一般会形成这样的节点结构:

1机器人根节点
2  base连杆
3    可视体
4    碰撞体
5  关节: 肩膀关节
6  连杆: 手臂连杆
7    可视体
8    碰撞体

导入规则包括:

  • URDF 的 robot 会转换为机器人根节点或根 Space。
  • URDF 的 link 会转换为具有连杆语义的空间节点。
  • URDF 的 joint 会转换为关节节点。
  • visual 会转换为可视几何节点。
  • collision 会转换为碰撞几何节点。
  • URDF 中的材质颜色会转换为 FlexGym 的材质信息。
  • 外部 mesh 路径会通过导入文件夹中的文件映射来查找。
导入URDF后节点树中的层级关系

mesh 资源规则

如果 URDF 中引用外部 mesh,例如:

1<mesh filename="meshes/base.stl" />

建议将 URDF 和 mesh 文件放在同一个文件夹结构中一起导入:

1robot/
2  robot.urdf
3  meshes/
4    base.stl
5    arm.stl

如果只导入单个 URDF 文件,而 mesh 文件没有一起提供,模型结构可能能出现,但 visual 或 collision mesh 可能无法显示。

常见 mesh 路径问题包括:

  • URDF 中写的是相对路径,但实际目录结构不同。
  • URDF 使用 package:// 路径,但导入文件夹中没有对应包目录。
  • 文件名大小写不一致。
  • mesh 文件格式当前解析链路不支持。

常见问题

模型结构出现了,但 mesh 没显示。 优先检查 mesh 路径、文件夹导入方式、文件名大小写和文件格式支持情况。

关节控制面板没有关节。 检查 URDF 是否真的包含可动关节,Fixed Joint 不会提供可拖动自由度。

导入后模型方向不对。 检查 URDF 的坐标轴约定、origin 旋转,以及来源建模软件的坐标系。

仿真一运行模型就飞散。 检查初始穿透、质量、惯性、关节轴、关节限制 和 碰撞几何。