OpenLegged/URDF-Studio
URDF-Studio is a web-based visual URDF robot modeler with 3D workspace, structured skeleton/detail/hardware workflows, motor library integration, MuJoCo export, and AI assistance.
URDF Studio – 브라우저 기반 로봇 저작 및 AI 어시스턴트
개요 – 로봇 설명 파일(URDF, MJCF, USD, SDF, Xacro 등)을 생성, 편집, 시각화 및 내보내기하기 위한 웹 애플리케이션입니다. 모든 기능을 갖춘 3D 에디터, React 기반 UI, 재사용 가능한 RobotCanvas 컴포넌트, 그리고 자연어 프롬프트에서 로봇 모델을 생성/검사하고 PDF/CSV 보고서를 생성할 수 있는 선택적 AI 어시스턴트가 포함되어 있습니다.
핵심 기능
| 영역 | 기능 |
|---|---|
| 토폴로지 편집 | 운동학 트리 구축, 링크 및 조인트 추가/삭제, 부모-자식 관계 편집. |
| 기하학 및 충돌 | 시각적 메쉬 가져오기 또는 작성, 충돌 메쉬 생성, 최적화 패스 실행, 장면 내 측정. |
| 하드웨어 구성 | 모터 사양, 감속비, 댐핑, 마찰 및 기타 로봇 하드웨어 메타데이터 설정. |
| 다중 로봇 조립 | 단일 작업 공간에서 여러 로봇 정의 결합, 브리지 조인트 생성, 컴포넌트 라이브러리 관리. |
| 풍부한 3D 뷰 | 변환 제어, 헬퍼 오버레이, 스냅샷 캡처 기능을 갖춘 React-Three-Fiber 캔버스. URDF, MJCF 및 USD(WASM USD 빌드 사용)를 위한 런타임 뷰어. |
| 가져오기 / 내보내기 | 단일 파일, 폴더, ZIP 번들 또는 독점 .usp 프로젝트 형식 로드; URDF, MJCF, USD, SDF, Xacro, CSV/BOM, PDF, ZIP 등으로 내보내기. |
| AI 어시스턴트 (선택 사항) | 텍스트 설명을 기반으로 로봇 생성, 구성 가능한 기준에 따른 자동 검사 실행, 최적화 제안 획득, PDF/CSV 보고서 내보내기. |
| Worker 기반 파이프라인 | 무거운 가져오기/내보내기 작업(예: USD 하이드레이션, 바이너리 아카이브 변환)을 web-workers에서 실행하여 UI 응답성 유지. |
| 재사용 가능한 라이브러리 | @urdf-studio/react-robot-canvas 패키지를 통해 다른 React 앱에서 전체 Studio UI 없이 동일한 뷰어를 임베드 가능. |
기술 스택 (저장소 설명 기준)
- 프론트엔드: React 19, TypeScript 5, Vite 6
- 3D: Three.js 0.181, React-Three-Fiber, @react-three/drei
- 상태 관리: Zustand
- 스타일링: Tailwind CSS
- 파싱 / 내보내기: URDF, MJCF, USD, Xacro, SDF, 메쉬 압축, STL 처리 등을 위한 커스텀 순수 함수 파서.
- 패키징: JSZip, jsPDF, libarchive.js
- AI: OpenAI SDK (Gemini로 폴백) 및 생성/검사용 프롬프트 템플릿
- WASM: WebAssembly로 컴파일된 USD 런타임 (교차 출처 격리 헤더 필요)
일반적인 워크플로우
- 앱 시작 (
npm run dev) 후 로컬 URL 열기. - 로봇 파일 (URDF, MJCF, USD 등) 생성 또는 가져오기.
- 에디터 탭을 사용하여 토폴로지, 기하학 또는 하드웨어 매개변수 수정.
- 3D 캔버스에서 변경 사항을 즉시 시각화; 스냅샷 캡처 또는 장면 내보내기.
- (선택 사항) AI에게 요청하여 설명에서 새 로봇을 생성하거나 검사 실행; 생성된 PDF/CSV 보고서 다운로드.
- 최종 모델을 지원되는 형식으로 내보내기하거나 전체 작업 공간을
.usp아카이브로 저장하여 나중에 재사용.
시작하기 (README의 퀵스타트)
# clone and install
git clone https://github.com/OpenLegged/URDF-Studio.git
cd URDF-Studio
npm install
# run the development server
npm run dev # opens http://127.0.0.1:3000
- AI 기능을 활성화하려면
.env.local파일에OPENAI_API_KEY(또는GEMINI_API_KEY)를 설정하세요. - LAN에서 USD를 로드하려면 WASM 런타임이
SharedArrayBuffer를 사용하므로 보안 컨텍스트(HTTPS 또는 Chrome의 trusted-origin 플래그)가 필요합니다.
대상 사용자
- 로봇 연구원 및 엔지니어: XML을 수동으로 편집하지 않고 URDF/MJCF 모델을 빠르고 시각적으로 프로토타이핑해야 하는 분.
- 교육자 및 학생: 로봇 운동학 및 충돌 테스트를 위한 대화형 놀이터를 원하는 분.
- 시뮬레이션 파이프라인 개발자: 형식 변환(URDF ↔ MJCF ↔ USD ↔ SDF) 및 프로그래밍 방식의 에셋 생성이 필요한 분.
- 제품 팀: 웹 기반 로봇 시각화 도구를 구축 중이며
react-robot-canvas컴포넌트를 직접 임베드하려는 분. - AI 보조 설계 팀: 자연어에서 로봇 개념을 생성하는 데 관심이 있는 분.
라이선스 및 감사의 말
- Apache 2.0 라이선스 하에 제공됩니다.
- D-Robotics의 지원을 받습니다.
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며, 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트