无需安装任何东西,将 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 天专业版试用

免费试用该服务——无需信用卡。

https://roboinfra-dashboard.azurewebsites.net

0 浏览
Back to Blog

相关文章

阅读更多 »