Skip to main content

A universal and generative physics engine

Project description

Genesis

A universal physics platform for general-purpose robotics, embodied & physical AI learning.


What is Genesis?

Genesis is a physical 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. The generative framework will be released in the near future.

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.

Key Features

  • Speed: Genesis delivers an unprecedented simulation speed -- over 43 million FPS when simulating a Frana robotic arm with a single RTX 4090 (430,000 faster than real-time).
  • Cross-platform: Genesis runs natively across different systems (Linux, MacOS, Windows), and across different compute backend (CPU, Nvidia GPU, AMD GPU, Apple Metal).
  • Unification of various physics solvers: Genesis develops a unified simulation framework that integrates various physics solvers: Rigid body, MPM, SPH, FEM, PBD, Stable Fluid.
  • Support a wide range of material models: Genesis supports simulation (and the coupling) of rigid and articulated bodies, various types of liquids, gaseous phenomenon, deformable objects, thin-shell objects and granular materials.
  • Support for a wide range of robots: Robot arm, legged robot, drone, soft robot, etc., and extensive support for loading different file types: MJCF (.xml), URDF, .obj, .glb, .ply, .stl, etc.
  • Photorealistic and high-performance ray-tracer: Genesis supports native ray-tracing based rendering.
  • Differentiability: Genesis is designed to be fully compatible with differentiable simulation. Currently, our MPM solver and Tool Solver are differentiable, and differentiability for other solvers will be added soon (starting with rigid-body simulation).
  • User-friendliness: Genesis is designed in a way to make using simulation as simple as possible. From installation to API design, if there's anything you found counter-intuitive or difficult to use, please let us know.

Getting Started

Quick Installation

Genesis is available via PyPI:

pip install genesis-world

You also need to install PyTorch following the official instructions.

Documentation

Please refer to our documentation site to 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

  • Please use Github Issues for bug reports and feature requests.
  • Please use GitHub Discussions for discussing ideas, and asking questions.

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:

  • 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.

... 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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genesis_world_nightly-0.0.2.tar.gz (82.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genesis_world_nightly-0.0.2-py3-none-any.whl (82.7 MB view details)

Uploaded Python 3

File details

Details for the file genesis_world_nightly-0.0.2.tar.gz.

File metadata

  • Download URL: genesis_world_nightly-0.0.2.tar.gz
  • Upload date:
  • Size: 82.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for genesis_world_nightly-0.0.2.tar.gz
Algorithm Hash digest
SHA256 162563071c400bf94b62b823f7ee017bcfc9e1ea547efd655b25ae39b09c44fe
MD5 901db9e65430bc7c1825dd348a4ab9da
BLAKE2b-256 152bd6a7401468097794a3c80ec17cc1fe420f5cc00665e3e49ff7a56a9530a8

See more details on using hashes here.

File details

Details for the file genesis_world_nightly-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for genesis_world_nightly-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a9b066f1724b5c5cbc681e65c848e5f6495d83d00486722c9c37730e9a0f4fd1
MD5 14fcb005b6235f417a0658e1d5651dcf
BLAKE2b-256 4e0a483b9b9fe373657b39558c3b81d1f40183becfe40724d4c1a25fd28a1c63

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page