- [2025-08-05] v0.3.0 릴리스 🎊 🎉
- [2025-07-02] 이제 Genesis AI가 Genesis의 개발을 공식적으로 지원합니다.
- [2025-01-09] Genesis의 성능에 대한 자세한 벤치마킹 및 비교 보고서를 모든 테스트 스크립트와 함께 공개했습니다.
- [2025-01-08] v0.2.1 릴리스 🎊 🎉
- [2025-01-08] Discord 및 Wechat 그룹을 생성했습니다.
- [2024-12-25] 레이 트레이싱 렌더러를 지원하는 docker 추가
- [2024-12-24] 제네시스 기여 가이드라인 추가
Genesis는 로보틱스/임베디드 AI/물리 AI 애플리케이션을 위해 설계된 범용 물리 플랫폼입니다. 그리고 다음과 같은 기능을 제공합니다:
- 다양한 물성 (Material) 과 물리 현상을 시뮬레이션할 수 있도록 처음부터 다시 구축된 범용 물리 엔진.
- 가볍고, 매우 빠르며, 파이썬 친화적이고, 사용자 친화적인 로보틱스 시뮬레이션 플랫폼.
- 강력하고 빠른 실사 렌더링 시스템.
- 사용자의 자연어 설명을 다양한 형태의 데이터로 변환하는 생성형 데이터 엔진.
Genesis의 목표:
- 물리 시뮬레이션의 진입 장벽을 낮춰 누구나 로보틱스 연구에 접근할 수 있도록 합니다. 사명 선언문을 확인하세요.
- 단일 프레임워크로 **통합된 다양한 물리 솔버 (Physics Solver)**를 통해 최상의 정확도로 물리적 세계를 재현합니다.
- 데이터 생성을 자동화하여 사람의 수고를 줄이고 데이터 플라이휠이 스스로 순환하도록 합니다.
프로젝트 페이지: https://genesis-embodied-ai.github.io/
- 속도: 단일 RTX 4090에서 Franka 로봇 팔을 시뮬레이션하는 경우, 4300만 FPS 이상(실시간보다 430,000 배 빠름).
- 크로스 플랫폼: Linux, macOS, Windows에서 실행 가능 및 다양한 연산 백엔드(CPU, Nvidia/AMD GPU, Apple Metal) 지원.
- 다양한 물리 솔버 (Physics Solver) 통합: Rigid body, MPM, SPH, FEM, PBD, Stable Fluid.
- 다양한 물성 (Material) 모델: 강체, 액체, 기체, 변형 가능한 오브젝트, 얇은 쉘 오브젝트 및 입상 재료의 시뮬레이션 및 결합.
- 다양한 로봇 호환성: 로봇 팔, 보행 로봇, 드론, 소프트 로봇 및 다양한 파일 형식(
MJCF (.xml),URDF,.obj,.glb,.ply,.stl등) 로드 지원. - 실사 렌더링: 네이티브 레이 트레이싱 기반 렌더링.
- 미분 가능성 (Differentiability): Genesis는 완전히 미분 가능하도록 설계되었습니다. 현재 MPM 솔버와 Tool 솔버가 미분 가능하며, 다른 솔버는 향후 버전에서는 강체 (Rigid body) 및 관절체 (Articulated body) 솔버를 시작으로 다른 솔버들도 지원할 예정입니다.
- 사용자 친화성: 직관적인 설치 및 API로 간편하게 사용 가능.
먼저 공식 안내에 따라 PyTorch를 설치하세요.
그 다음, PyPI를 통해 Genesis를 설치합니다:
pip install genesis-world # Python>=3.10,<3.14 버전 필요;최신 버전을 설치하려면, pip install --upgrade pip를 통해 pip를 최신 상태로 업데이트한 후 다음 명령어를 실행하세요:
pip install git+https://github.com/Genesis-Embodied-AI/Genesis.git참고로, main 브랜치와 동기화하려면 패키지를 계속 수동으로 업데이트해야 합니다.
Genesis 소스 코드를 직접 수정하고 싶은 사용자는 편집 가능 모드(editable mode)로 설치하는 것을 권장합니다. 먼저 genesis-world가 제거되었는지 확인한 후, 저장소를 복제(clone)하고 로컬에 설치하세요:
git clone https://github.com/Genesis-Embodied-AI/Genesis.git
cd Genesis
pip install -e ".[dev]"HEAD를 이동한 후에는 모든 의존성과 엔트리포인트가 최신 상태인지 확인하기 위해 pip install -e ".[dev]"를 체계적으로 실행하는 것을 권장합니다.
uv는 빠른 Python 패키지 및 프로젝트 관리자입니다.
uv 설치:
# macOS 및 Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uv로 빠르게 시작:
git clone https://github.com/Genesis-Embodied-AI/Genesis.git
cd Genesis
uv sync그 다음, 플랫폼에 맞는 PyTorch를 설치합니다:
# NVIDIA GPU (예: CUDA 12.6)
uv pip install torch --index-url https://download.pytorch.org/whl/cu126
# CPU 전용 (Linux/Windows)
uv pip install torch --index-url https://download.pytorch.org/whl/cpu
# Apple Silicon (Metal/MPS)
uv pip install torch예제 실행:
uv run examples/rigid/single_franka.pyDocker에서 Genesis를 사용하려면, 먼저 다음과 같이 Docker 이미지를 빌드할 수 있습니다:
docker build -t genesis -f docker/Dockerfile docker그 다음, Docker 이미지 내에서 예제를 실행할 수 있습니다 (예제는 /workspace/examples에 마운트됩니다):
xhost +local:root # 컨테이너가 디스플레이에 접근하도록 허용
docker run --gpus all --rm -it \
-e DISPLAY=$DISPLAY \
-e LOCAL_USER_ID="$(id -u)" \
-v /dev/dri:/dev/dri \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-v $(pwd):/workspace \
--name genesis genesis:latestAMD 사용자는 docker/Dockerfile.amdgpu 파일을 사용하여 Genesis를 이용할 수 있으며, 다음 명령어를 실행하여 빌드합니다:
docker build -t genesis-amd -f docker/Dockerfile.amdgpu docker
그리고 다음 명령어를 실행하여 사용할 수 있습니다:
docker run -it --network=host \
--device=/dev/kfd \
--device=/dev/dri \
--group-add=video \
--ipc=host \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
--shm-size 8G \
-v $PWD:/workspace \
-e DISPLAY=$DISPLAY \
genesis-amd
예제는 /workspace/examples 경로에서 접근할 수 있습니다. 참고: AMD 사용자는 ROCm (HIP) 백엔드를 사용해야 합니다. 즉, Genesis를 초기화하려면 gs.init(backend=gs.amdgpu)을 호출해야 합니다.
전체 문서는 영어와 중국어로 제공됩니다. 이 문서에는 자세한 설치 단계, 튜토리얼 및 API 참조가 포함되어 있습니다.
Genesis 프로젝트는 오픈 소스 및 협력 프로젝트입니다. 다음을 포함하여 커뮤니티의 모든 형태의 기여를 환영합니다:
- 새로운 기능이나 버그 수정을 위한 풀 리퀘스트 (Pull Requests).
- GitHub Issues를 통한 버그 리포트 (Bug Reports).
- Genesis의 사용성을 향상시키기 위한 제안 (Suggestions).
자세한 내용은 기여 가이드를 참조하세요.
- GitHub Issues를 통해 버그를 보고하고 기능을 요청하세요.
- GitHub Discussions에서 토론에 참여하거나 질문해 보세요.
Genesis 소스 코드는 Apache 2.0 라이선스를 따릅니다.
Genesis 개발은 다음 오픈 소스 프로젝트 덕분에 가능했습니다:
- Taichi: 고성능 크로스 플랫폼 연산 백엔드. Taichi 팀의 기술 지원에 감사드립니다!
- FluidLab: MPM 솔버 구현 참고.
- SPH_Taichi: SPH 솔버 구현 참고.
- Ten Minute Physics 및 PBF3D: PBD 솔버 구현 참고.
- MuJoCo: 강체 역학 참고.
- libccd: 충돌 감지 참고.
- PyRender: 래스터화 기반 렌더러.
- LuisaCompute 및 LuisaRender: 레이 트레이싱 DSL.
Genesis는 다양한 기존 및 진행 중인 연구의 최첨단 기술을 하나의 시스템으로 통합하는 대규모 프로젝트입니다. 다음은 Genesis 프로젝트에 어떤 방식으로든 기여한 논문들의 대략적인 목록입니다:
- Xian, Zhou, et al. "Fluidlab: A differentiable environment for benchmarking complex fluid manipulation." arXiv preprint arXiv:2303.02346 (2023).
- Xu, Zhenjia, et al. "Roboninja: Learning an adaptive cutting policy for multi-material objects." arXiv preprint arXiv:2302.11553 (2023).
- Wang, Yufei, et al. "Robogen: Towards unleashing infinite data for automated robot learning via generative simulation." arXiv preprint arXiv:2311.01455 (2023).
- Wang, Tsun-Hsuan, et al. "Softzoo: A soft robot co-design benchmark for locomotion in diverse environments." arXiv preprint arXiv:2303.09555 (2023).
- Wang, Tsun-Hsuan Johnson, et al. "Diffusebot: Breeding soft robots with physics-augmented generative diffusion models." Advances in Neural Information Processing Systems 36 (2023): 44398-44423.
- Katara, Pushkal, Zhou Xian, and Katerina Fragkiadaki. "Gen2sim: Scaling up robot learning in simulation with generative models." 2024 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2024.
- Si, Zilin, et al. "DiffTactile: A Physics-based Differentiable Tactile Simulator for Contact-rich Robotic Manipulation." arXiv preprint arXiv:2403.08716 (2024).
- Wang, Yian, et al. "Thin-Shell Object Manipulations With Differentiable Physics Simulations." arXiv preprint arXiv:2404.00451 (2024).
- Lin, Chunru, et al. "UBSoft: A Simulation Platform for Robotic Skill Learning in Unbounded Soft Environments." arXiv preprint arXiv:2411.12711 (2024).
- Zhou, Wenyang, et al. "EMDM: Efficient motion diffusion model for fast and high-quality motion generation." European Conference on Computer Vision. Springer, Cham, 2025.
- Qiao, Yi-Ling, Junbang Liang, Vladlen Koltun, and Ming C. Lin. "Scalable differentiable physics for learning and control." International Conference on Machine Learning. PMLR, 2020.
- Qiao, Yi-Ling, Junbang Liang, Vladlen Koltun, and Ming C. Lin. "Efficient differentiable simulation of articulated bodies." In International Conference on Machine Learning, PMLR, 2021.
- Qiao, Yi-Ling, Junbang Liang, Vladlen Koltun, and Ming Lin. "Differentiable simulation of soft multi-body systems." Advances in Neural Information Processing Systems 34 (2021).
- Wan, Weilin, et al. "Tlcontrol: Trajectory and language control for human motion synthesis." arXiv preprint arXiv:2311.17135 (2023).
- Wang, Yian, et al. "Architect: Generating Vivid and Interactive 3D Scenes with Hierarchical 2D Inpainting." arXiv preprint arXiv:2411.09823 (2024).
- Zheng, Shaokun, et al. "LuisaRender: A high-performance rendering framework with layered and unified interfaces on stream architectures." ACM Transactions on Graphics (TOG) 41.6 (2022): 1-19.
- Fan, Yingruo, et al. "Faceformer: Speech-driven 3d facial animation with transformers." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
- Wu, Sichun, Kazi Injamamul Haque, and Zerrin Yumak. "ProbTalk3D: Non-Deterministic Emotion Controllable Speech-Driven 3D Facial Animation Synthesis Using VQ-VAE." Proceedings of the 17th ACM SIGGRAPH Conference on Motion, Interaction, and Games. 2024.
- Dou, Zhiyang, et al. "C· ase: Learning conditional adversarial skill embeddings for physics-based characters." SIGGRAPH Asia 2023 Conference Papers. 2023.
- ...
이 외에도 다양한 연구가 진행 중입니다.
연구에서 Genesis를 사용하는 경우, 다음을 인용해 주세요:
@misc{Genesis,
author = {Genesis Authors},
title = {Genesis: A Generative and Universal Physics Engine for Robotics and Beyond},
month = {December},
year = {2024},
url = {https://github.com/Genesis-Embodied-AI/Genesis}
}
