项目背景: 在学习机器人仿真时,我发现机器人模型文件通常分布在不同的代码仓库中,直接使用前需要检查模型格式、物理参数等是否正常。因此,我以宇树 Go2 为例,开发了一套模型检查工具,对官方提供的 URDF 和 MJCF 两种格式进行检查,并将模型文件、检查结果和使用说明整理后开源,方便后续添加其他机型。
主要工作:
模型文件管理: 使用 Python 编写模型检查流程,通过配置文件管理不同机型的信息;记录模型来源、上游 commit 和文件 SHA256,方便核对文件来源及检查文件是否发生变化。同时检查许可证信息,保留相应的来源依据。
模型质量检查: 使用 yourdfpy 解析 URDF 文件,并通过 MuJoCo 编译 MJCF 模型,检查模型能否正常加载。针对质量、惯量张量、碰撞体和关节限位等内容编写检查规则,并对照官方参数检查物理属性是否存在异常。
双格式参数对比: 对 URDF 和 MJCF 中的机器人参数进行交叉检查,发现部分连杆质量和关节限位存在差异,并记录具体数值和参考依据,没有直接修改上游模型参数。
仿真性能测试与可视化: 编写模型加载和仿真步速测试,在预热后运行 (10^4) 步并统计中位数。同时使用 JavaScript 和 three.js 编写 URDF 模型预览页面,支持在本地查看机器人三维模型,不需要联网加载 CDN 资源。
项目成果: 完成宇树 Go2 的 URDF 和 MJCF 两种格式的模型整理,34 个文件均记录了对应的上游 commit 信息;发现并记录了小腿连杆质量、髋关节限位两处参数差异。实测仿真步速约为 105,131 steps/s。项目已在 GitHub 开源,采用 MIT 许可证,并整理了检查记录、排查过程和使用文档。
点击空白处退出提示









评论