同一个模型,不同框架,未必是同一个关节顺序
URDF 本身不定义关节顺序,每个框架按自己的规则排:Isaac Gym 深度优先,Isaac Sim / Isaac Lab 广度优先,Gazebo 同层还要按关节名字母序,PyBullet 连 fixed 关节一起编号。
同一个四足 URDF,两种导入顺序
Isaac Gym / MuJoCo (DFS) : FL_hip, FL_thigh, FL_calf, FR_hip, FR_thigh, …
Isaac Sim / Isaac Lab (BFS) : FL_hip, FR_hip, RL_hip, RR_hip, FL_thigh, …
把 Isaac Gym 训好的策略搬到 Isaac Lab 或实机上,关节向量就会静默错位 —— 不报错,机器人直接抽搐。MJCF 也躲不掉:body 树定死了关节顺序,但 <actuator>(data.ctrl)是另一个向量。
这个页面把 URDF / MJCF 在各框架里的关节顺序并列排开:一致显示绿色,对不上就标红到具体哪一格,并生成可直接粘贴的索引重映射数组。文件只在你的浏览器里解析。
1. 载入 URDF / MJCF
文件完全在你的浏览器本地解析,不会上传到任何服务器。
拖拽 .urdf / .xml 文件到这里,或点击选择文件
URDF(.urdf)或 MuJoCo MJCF(.xml),自动识别;xacro 需先展开
示例:
2. 选项
3. 顺序对照表
与参照一致 与参照不一致 顺序一致但因关节集合不同而错位 该框架不含此关节
4. 导出与索引重映射
生成把一个框架的关节向量重排到另一个框架的索引数组,直接贴进代码里用。
5. 运动学树与关节详情
运动学树
关节列表
各框架的顺序规则
这些规则决定了上面的计算结果。点击展开查看依据、注意事项、运行时核对命令,以及各框架根节点四元数的获取方式与分量顺序。