프로젝트 소개

Genesis World는 물리 AI 개발, 특히 로봇공학 및 구현 AI 학습을 목표로 하는 시뮬레이션 플랫폼입니다. Pythonic 시뮬레이션 인터페이스 뒤에 통합 다중 물리 엔진, Nyx라는 사실적인 렌더러, Quadrants라는 크로스 플랫폼 컴파일러를 함께 제공합니다. 이 프로젝트는 이전에 Genesis로 알려졌으며, 2024년 12월 학술 프로젝트로 시작되어 현재 Genesis AI가 지원합니다. Apache 2.0 라이선스로 배포됩니다. 플랫폼은 4개 계층으로 구성됩니다. Simulation Interface는 사용자 대상 API를 제공합니다: URDF, MJCF, OBJ, GLB, USD와 같은 형식의 에셋 파싱, 엔티티 접근자, 컨트롤러, 센서, 병렬 및 이기종 환경, 내장 GUI. Physics 계층은 강체 동역학, FEM, MPM, 입자 방법(PBD 및 SPH), uipc 백엔드, 명시적 커플러, SAP를 통합하는 단일 다중 물리 엔진으로, 모두 하나의 장면과 하나의 상태를 공유합니다. Render 계층은 Nyx, Luisa(DSL 레이 트레이서), Pyrender(래스터라이저)의 세 가지 카메라 센서 렌더링 경로를 제공합니다. Compiler 계층인 Quadrants는 Python 커널 코드를 CUDA, AMD ROCm, Apple Metal, Vulkan, x86 및 ARM64로 낮추며, 자동 미분, GPU 그래프 및 fastcache 메커니즘을 포함합니다. 저장소는 Physics, Rendering, Simulation Interface 섹션으로 그룹화된 실행 가능한 데모 카탈로그를 제공합니다. Physics 예제는 Franka 큐브 조작, 충돌 타워, 접촉 다양체와 같은 강체 시나리오를 다룹니다. 변형체 및 유체 솔버에는 FEM 제약, MPM 튜토리얼, 모래 바퀴, SPH 커플링, PBD 액체 및 천, 안정적인 유체 연기, IPC 로봇 천 원격 조작이 포함됩니다. 다중 솔버 커플링 사례에는 강체 위의 천, 강체 + MPM 부착, 드래곤 절단, 물레방아, 플러시 큐브가 있으며, SAP 커플링 예제도 있습니다. 렌더링 예제에는 엔티티 추적, 애니메이션 카메라, hello-world, 부착 카메라, PBR 재질, 광원 유형, 3D 가우시안 스플랫, 객체 선택, 다중 카메라 다중 환경 설정을 위한 Nyx 연습이 포함됩니다. Simulation Interface 예제는 로봇 제어, ImGui 관절 제어, 이기종 환경, 도메인 무작위화, 깊이 카메라, IMU, 라이다, 촉각 샌드박스, 접촉 힘, 표면 거리 및 온도 그리드와 같은 센서, GUI 디버그 드로잉 및 메시 포인트 선택, 마우스 상호작용, 미분 IK 컨트롤러, 배치 IK, 드론 호버 훈련, 고급 웜 및 근육 튜토리얼을 다룹니다. 설치는 PyTorch 설치 후 pip의 genesis-world 패키지를 통해 이루어지며, Python 3.10 이상 3.14 미만이 필요합니다. 개발 설치는 클론된 저장소에서 pip install -e ".[dev]"를 사용합니다. 선택적 확장 기능으로는 NVIDIA GPU가 있는 Linux 또는 Windows x86에서 IPC 솔버용 pyuipc와 Nyx 렌더러용 gs-nyx가 있습니다. Quadrants는 자동으로 번들됩니다. 프로젝트는 또한 uv sync와 CUDA, CPU, Apple Silicon용 플랫폼별 PyTorch 설치 명령, uv run을 통한 예제 실행을 포함한 uv 기반 워크플로우를 문서화합니다. 프로젝트는 풀 리퀘스트, 버그 보고, 사용성 제안을 포함한 기여를 환영하며, 지원을 위해 GitHub Issues 및 Discussions를 안내합니다. Taichi(Quadrants 포크의 기원), libuipc, FluidLab, SPH_Taichi, Ten Minute Physics, PBF3D, MuJoCo, libccd, PyRender, LuisaCompute, LuisaRender, Madrona 및 Madrona-mjx를 포함한 다양한 오픈소스 의존성과 참고 자료를 인정합니다. 문서는 Genesis World, Quadrants 및 Nyx에 대해 Read the Docs에서 호스팅됩니다.