SkillAgentSearch skills...

Genesis

A generative world for general-purpose robotics & embodied AI learning.

Install / Use

/learn @Genesis-Embodied-AI/Genesis
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Genesis

Teaser

PyPI - Version PyPI Downloads GitHub Issues GitHub Discussions Discord <a href="https://drive.google.com/uc?export=view&id=1ZS9nnbQ-t1IwkzJlENBYqYIIOOZhXuBZ"><img src="https://img.shields.io/badge/WeChat-07C160?style=for-the-badge&logo=wechat&logoColor=white" height="20" style="display:inline"></a>

README in English README en Français 한국어 README 简体中文版自述文件 日本語版 README

Genesis

🔥 News

Table of Contents

  1. What is Genesis?
  2. Key Features
  3. Quick Installation
  4. Docker
  5. Documentation
  6. Contributing to Genesis
  7. Support
  8. License and Acknowledgments
  9. Associated Papers
  10. Citation

What is Genesis?

Genesis is a physics platform designed for general-purpose Robotics/Embodied AI/Physical AI applications. It is simultaneously multiple things:

  1. A universal physics engine re-built from the ground up, capable of simulating a wide range of materials and physical phenomena.
  2. A lightweight, ultra-fast, pythonic, and user-friendly robotics simulation platform.
  3. A powerful and fast photo-realistic rendering system.
  4. A generative data engine that transforms user-prompted natural language description into various modalities of data.

Powered by a universal physics engine re-designed and re-built from the ground up, Genesis integrates various physics solvers and their coupling into a unified framework. This core physics engine is further enhanced by a generative agent framework that operates at an upper level, aiming towards fully automated data generation for robotics and beyond.

Note: Currently, we are open-sourcing the underlying physics engine and the simulation platform. Our generative framework is a modular system that incorporates many different generative modules, each handling a certain range of data modalities, routed by a high level agent. Some of the modules integrated existing papers and some are still under submission. Access to our generative feature will be gradually rolled out in the near future. If you are interested, feel free to explore more in the paper list below.

Genesis aims to:

  • Lower the barrier to using physics simulations, making robotics research accessible to everyone. See our mission statement.
  • Unify diverse physics solvers into a single framework to recreate the physical world with the highest fidelity.
  • Automate data generation, reducing human effort and letting the data flywheel spin on its own.

Project Page: https://genesis-embodied-ai.github.io/

Key Features

  • Speed: Over 43 million FPS when simulating a Franka robotic arm with a single RTX 4090 (430,000 times faster than real-time).
  • Cross-platform: Runs on Linux, macOS, Windows, and supports multiple compute backends (CPU, Nvidia/AMD GPUs, Apple Metal).
  • Integration of diverse physics solvers: Rigid body, MPM, SPH, FEM, PBD, Stable Fluid.
  • Wide range of material models: Simulation and coupling of rigid bodies, liquids, gases, deformable objects, thin-shell objects, and granular materials.
  • Compatibility with various robots: Robotic arms, legged robots, drones, soft robots, and support for loading MJCF (.xml), URDF, .obj, .glb, .ply, .stl, and more.
  • Photo-realistic rendering: Native ray-tracing-based rendering.
  • Differentiability: Genesis is designed to be fully differentiable. Currently, our MPM solver and Tool Solver support differentiability, with other solvers planned for future versions (starting with rigid & articulated body solver).
  • User-friendliness: Designed for simplicity, with intuitive installation and APIs.

Quick Installation

Using pip

Install PyTorch first following the official instructions.

Then, install Genesis via PyPI:

pip install genesis-world  # Requires Python>=3.10,<3.14;

For the latest version to date, make sure that pip is up-to-date via pip install --upgrade pip, then run command:

pip install git+https://github.com/Genesis-Embodied-AI/Genesis.git

Note that the package must still be updated manually to sync with main branch.

Users seeking to contribute are encouraged to install Genesis in editable mode. First, make sure that genesis-world has been uninstalled, then clone the repository and install locally:

git clone https://github.com/Genesis-Embodied-AI/Genesis.git
cd Genesis
pip install -e ".[dev]"

It is recommended to systematically execute pip install -e ".[dev]" after moving HEAD to make sure that all dependencies and entrypoints are up-to-date.

Using uv

uv is a fast Python package and project manager.

Install uv:

# On macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Quick start with uv:

git clone https://github.com/Genesis-Embodied-AI/Genesis.git
cd Genesis
uv sync

Then install PyTorch for your platform:

# NVIDIA GPU (CUDA 12.6 as an example)
uv pip install torch --index-url https://download.pytorch.org/whl/cu126

# CPU only (Linux/Windows)
uv pip install torch --index-url https://download.pytorch.org/whl/cpu

# Apple Silicon (Metal/MPS)
uv pip install torch

Run an example:

uv run examples/rigid/single_franka.py

Docker

If you want to use Genesis from Docker, you can first build the Docker image as:

docker build -t genesis -f docker/Dockerfile docker

Then you can run the examples inside the docker image (mounted to /workspace/examples):

xhost +local:root # Allow the container to access the display

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:latest

AMD users

AMD users can use Genesis using the docker/Dockerfile.amdgpu file, which is built by running:

docker build -t genesis-amd -f docker/Dockerfile.amdgpu docker

and can then be used by running:

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

The examples will be accessible from /workspace/examples. Note: AMD users should use the ROCm (HIP) backend. This means you will need to call gs.init(backend=gs.amdgpu) to initialise Genesis.

Documentation

Comprehensive documentation is available in English, Chinese, and Japanese. This includes detailed installation steps, tutorials, and API references.

Contributing to Genesis

The Genesis project is an open and collaborative effort. We welcome all forms of contributions from the community, including:

  • Pull requests for new features or bug fixes.
  • Bug reports through GitHub Issues.
  • Suggestions to improve Genesis's usability.

Refer to our contribution guide for more details.

Support

  • Report bugs or request features via GitHub Issues.
  • Join discussions or ask questions on GitHub Discussions.

License and Acknowledgments

The Genesis source code is licensed under Apache 2.0.

Genesis's development has been mad

View on GitHub
GitHub Stars28.4k
CategoryEducation
Updated2h ago
Forks2.6k

Languages

Python

Security Score

95/100

Audited on Mar 29, 2026

No findings