无需安装任何东西,将 URDF 转换为 MuJoCo MJCF API + Python SDK
发布: (2026年5月3日 GMT+8 19:22)
2 分钟阅读
原文: Dev.to
Source: Dev.to
问题
- MuJoCo 是增长最快的机器人仿真平台。
- 将 URDF 转换为 MJCF 非常痛苦:
./compile工具存在 bug,urdf2mjcf会忽略非对角惯性矩,网格路径经常失效。 - 你只想转换后直接开始训练你的强化学习代理。
解决方案
Curl
curl -X POST https://api.example.com/api/urdf/convert-format?target=mjcf \
-H "X-Api-Key: rk_..." \
-F "file=@robot.urdf"
Python SDK
import roboinfra
client = roboinfra.Client("rk_...")
result = client.urdf.convert_format("robot.urdf", "mjcf")
with open("robot.xml", "w") as f:
f.write(result.converted_xml)
实际示例(preview_test_arm.urdf)
- 输入 URDF – 一个拥有 6 条连杆和 5 个关节的机器人。
- 输出 MJCF – 包含执行器、地面和灯光。
手动完成此转换需要 2–3 小时;API 只需约 200 毫秒即可完成。
也可转换为 Gazebo SDF
同一 API 可以生成 SDF 文件,只需更改 target 参数:
curl -X POST https://api.example.com/api/urdf/convert-format?target=sdf \
-H "X-Api-Key: rk_..." \
-F "file=@robot.urdf"
返回的 SDF 输出包含等价的 Gazebo 描述。
额外功能:在 CI 中验证并转换
在每次 push 时添加一个简短的 GitHub Action 来验证 URDF 并将其转换为 MJCF:
name: URDF Validation & Conversion
on: [push]
jobs:
convert:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Convert URDF to MJCF
run: |
curl -X POST https://api.example.com/api/urdf/convert-format?target=mjcf \
-H "X-Api-Key: ${{ secrets.ROBOINFRA_API_KEY }}" \
-F "file=@path/to/robot.urdf"
免费 14 天专业版试用
免费试用该服务——无需信用卡。