Home

Awesome

Genesis

Teaser

PyPI - Version PyPI - Downloads GitHub Issues GitHub Discussions

README in English 简体中文版自述文件

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.

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 the paper list below.

Genesis is built and will continuously evolve with the following long-term missions:

  1. Lowering the barrier to using physics simulations and making robotics research accessible to everyone. (See our commitment)
  2. Unifying a wide spectrum of state-of-the-art physics solvers into a single framework, allowing re-creating the whole physical world in a virtual realm with the highest possible physical, visual and sensory fidelity, using the most advanced simulation techniques.
  3. Minimizing human effort in collecting and generating data for robotics and other domains, letting the data flywheel spin on its own.

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

Key Features

Getting Started

Quick Installation

Genesis is available via PyPI:

pip install genesis-world  # Requires Python >=3.9;

You also need to install PyTorch following the official instructions.

If you would like to try out the latest version, we suggest you to git clone from the repo and do pip install -e . instead of via PyPI.

Documentation

Please refer to our documentation site (English) / (Chinese) for detailed installation steps, tutorials and API references.

Contributing to Genesis

The goal of the Genesis project is to build a fully transparent, user-friendly ecosystem where contributors from both robotics and computer graphics can come together to collaboratively create a high-efficiency, realistic (both physically and visually) virtual world for robotics research and beyond.

We sincerely welcome any forms of contributions from the community to make the world a better place for robots. From pull requests for new features, bug reports, to even tiny suggestions that will make Genesis API more intuitive, all are wholeheartedly appreciated!

Support

License and Acknowledgment

The Genesis source code is licensed under Apache 2.0. The development of Genesis won't be possible without these amazing open-source projects:

Papers behind Genesis

Genesis is a large scale effort that integrates state-of-the-art technologies of various existing and on-going research work into a single system. Here we include a non-exhaustive list of all the papers that contributed to the Genesis project in one way or another:

... and many more on-going work.

Citation

If you used Genesis in your research, we would appreciate it if you could cite it. We are still working on a technical report, and before it's public, you could consider citing:

@software{Genesis,
  author = {Genesis Authors},
  title = {Genesis: A Universal and Generative Physics Engine for Robotics and Beyond},
  month = {December},
  year = {2024},
  url = {https://github.com/Genesis-Embodied-AI/Genesis}
}