URDF를 MuJoCo MJCF로 변환하기 (설치 없이) API + Python SDK
발행: (2026년 5월 3일 PM 08:22 GMT+9)
2 분 소요
원문: Dev.to
Source: Dev.to
문제점
- MuJoCo는 가장 빠르게 성장하고 있는 로봇 시뮬레이터입니다.
- URDF를 MJCF로 변환하는 과정은 고통스럽습니다:
./compile도구는 버그가 많고,urdf2mjcf는 비대각 관성값을 무시하며, 메쉬 경로가 자주 깨집니다. - 여러분은 단지 변환하고 바로 RL 에이전트를 학습하고 싶을 뿐입니다.
해결책
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 ms 안에 완료합니다.
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에서 검증 + 변환
푸시할 때마다 URDF를 검증하고 MJCF로 변환하는 짧은 GitHub Action을 추가하세요:
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일 Pro 체험
신용카드 없이도 무료로 서비스를 이용해 보세요.