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 런타임 (교차 출처 격리 헤더 필요)

일반적인 워크플로우

  1. 앱 시작 (npm run dev) 후 로컬 URL 열기.
  2. 로봇 파일 (URDF, MJCF, USD 등) 생성 또는 가져오기.
  3. 에디터 탭을 사용하여 토폴로지, 기하학 또는 하드웨어 매개변수 수정.
  4. 3D 캔버스에서 변경 사항을 즉시 시각화; 스냅샷 캡처 또는 장면 내보내기.
  5. (선택 사항) AI에게 요청하여 설명에서 새 로봇을 생성하거나 검사 실행; 생성된 PDF/CSV 보고서 다운로드.
  6. 최종 모델을 지원되는 형식으로 내보내기하거나 전체 작업 공간을 .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에서 직접 가져온 것이며, 추가 기능은 추론되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트