Genesis-Embodied-AI/Genesis: A generative world for general-purpose robotics & embodied AI learning."
url: https://github.com/Genesis-Embodied-AI/Genesis
date: "2024-12-20 22:10:24"
What is Genesis? 什么是 Genesis?
Genesis is a physics platform designed for general purpose Robotics/Embodied AI/Physical AI applications. It is simultaneously multiple things:
Genesis 是一个为通用机器人/具身 AI/物理 AI 应用设计的物理平台。它同时是多个事物:
- A universal physics engine re-built from the ground up, capable of simulating a wide range of materials and physical phenomena.
一个从头开始重建的通用物理引擎,能够模拟广泛的材料和物理现象。 - A lightweight, ultra-fast, pythonic, and user-friendly robotics simulation platform.
一个轻量级、超快速、Pythonic 且用户友好的机器人仿真平台。 - A powerful and fast photo-realistic rendering system.
一个强大且快速的逼真渲染系统。 - 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.
由从头重新设计和构建的通用物理引擎驱动,Genesis 将各种物理求解器和它们的耦合集成到一个统一的框架中。这个核心物理引擎还通过一个在更高层次运行的生成代理框架得到进一步增强,旨在为机器人学及其它领域实现完全自动化的数据生成。
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:
创世纪将持续发展,并以下长期使命为目标:
- Lowering the barrier to using physics simulations and making robotics research accessible to everyone. (See our commitment)
降低使用物理模拟的门槛,使机器人研究对每个人开放。(查看我们的承诺) - 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.
将各种最先进的物理求解器统一到一个框架中,允许在虚拟领域中以最高可能的物理、视觉和感官保真度重新创建整个物理世界,使用最先进的模拟技术。 - 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/
项目页面:https://genesis-embodied-ai.github.io/
Key Features 关键特性
- Speed: Genesis delivers an unprecedented simulation speed — over 43 million FPS when simulating a Franka robotic arm with a single RTX 4090 (430,000 times faster than real-time).
速度:Genesis 提供前所未有的模拟速度——当使用单个 RTX 4090 模拟 Franka 机器人臂时,超过 4300 万 FPS(比实时快 430,000 倍)。 - Cross-platform: Genesis runs natively across different systems (Linux, MacOS, Windows), and across different compute backend (CPU, Nvidia GPU, AMD GPU, Apple Metal).
跨平台:Genesis 原生支持不同系统(Linux、MacOS、Windows)以及不同的计算后端(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.
各种物理求解器的统一:Genesis 开发了一个统一的模拟框架,集成了各种物理求解器:刚体、MPM、SPH、FEM、PBD、稳定流体。 - 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.
支持广泛的材料模型:Genesis 支持刚体和铰接体、各种类型的液体、气态现象、可变形物体、薄壳物体和颗粒材料的模拟(及其耦合)。 - 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.
支持广泛的机器人:机器人手臂、四足机器人、无人机、软体机器人等,以及广泛支持加载不同文件类型:MJCF (.xml)
,URDF
,.obj
,.glb
,.ply
,.stl
等。 - Photorealistic and high-performance ray-tracer: Genesis supports native ray-tracing based rendering.
真实感强且高性能的光线追踪器:Genesis 支持基于原生的光线追踪渲染。 - 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).
可微性:Genesis 被设计为与可微模拟完全兼容。目前,我们的 MPM 求解器和工具求解器是可微的,其他求解器的可微性也将很快添加(从刚体模拟开始)。 - Physics-based Tactile Sensor: Genesis involves a physics-based and differentiable tactile sensor simulation module. This will be integrated to the public version soon (expected in version 0.3.0).
基于物理的触觉传感器:Genesis 涉及一个基于物理和可微分的触觉传感器模拟模块。这将被集成到即将发布的公共版本中(预计在版本 0.3.0 中)。 - 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.
用户友好性:Genesis 的设计旨在使使用模拟尽可能简单。从安装到 API 设计,如果您发现任何不符合直觉或难以使用的地方,请告诉我们。
Getting Started 开始使用
Quick Installation 快速安装
Genesis is available via PyPI:
Genesis 可通过 PyPI 获取:
pip install genesis-world # Requires Python >=3.9;
You also need to install PyTorch following the official instructions.
您还需要按照官方说明安装 PyTorch。
Documentation 文档
Please refer to our documentation site for detailed installation steps, tutorials and API references.
请参阅我们的文档网站以获取详细的安装步骤、教程和 API 参考。
Contributing to Genesis 为 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.
《Genesis 项目目标是构建一个完全透明、用户友好的生态系统,让来自机器人技术和计算机图形学的贡献者能够共同协作,创建一个高效率、真实(在物理和视觉上)的虚拟世界,用于机器人研究及其他领域。》
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!
我们真诚欢迎社区以任何形式做出贡献,让世界成为机器人更美好的地方。从新功能的拉取请求、错误报告,甚至是对使 Genesis API 更直观的微小建议,所有这些我们都衷心感激!
Support 支持
- Please use Github Issues for bug reports and feature requests.
请使用 GitHub 问题报告进行错误报告和功能请求。 - Please use GitHub Discussions for discussing ideas, and asking questions.
请使用 GitHub 讨论区来讨论想法和提问。
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:
《Genesis》源代码采用 Apache 2.0 许可协议。没有这些令人惊叹的开源项目,《Genesis》的开发将无法进行:
- Taichi: for providing a high-performance cross-platform compute backend. Kudos to all the members providing technical support from taichi!
太极:为提供高性能跨平台计算后端。向所有为太极提供技术支持的人员致敬! - FluidLab for providing a reference MPM solver implementation
FluidLab 为提供参考 MPM 求解器实现 - SPH_Taichi for providing a reference SPH solver implementation
SPH_Taichi 提供了一个参考 SPH 求解器实现 - Ten Minute Physics and PBF3D for providing a reference PBD solver implementation
十分钟物理和 PBF3D 提供参考 PBD 求解器实现 - MuJoCo and Brax for providing reference for rigid body dynamics
MuJoCo 和 Brax 为刚体动力学提供参考 - libccd for providing reference for collision detection
libccd 为碰撞检测提供参考 - PyRender for rasterization-based renderer
PyRender 用于基于光栅化的渲染器 - LuisaCompute and LuisaRender for its ray-tracing DSL
LuisaCompute 和 LuisaRender 用于其光线追踪 DSL - trimesh, PyMeshLab and CoACD for geometry processing
trimesh、PyMeshLab 和 CoACD 用于几何处理
Papers behind Genesis 《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:
Genesis 是一个大规模项目,将各种现有和正在进行的研究工作的最先进技术整合到一个单一系统中。在此,我们列出了一个不完整的清单,包括所有以某种方式为 Genesis 项目做出贡献的论文:
- Xian, Zhou, et al. "Fluidlab: A differentiable environment for benchmarking complex fluid manipulation." arXiv preprint arXiv:2303.02346 (2023).
西安,周,等人。“Fluidlab:用于基准测试复杂流体操作的微分环境。”arXiv 预印本 arXiv:2303.02346(2023)。 - Xu, Zhenjia, et al. "Roboninja: Learning an adaptive cutting policy for multi-material objects." arXiv preprint arXiv:2302.11553 (2023).
徐,振家,等人。“Roboninja:为多材料物体学习自适应切割策略。”arXiv 预印本 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).
王宇飞等。“Robogen:通过生成模拟释放无限数据以实现自动化机器人学习的途径。”arXiv 预印本 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).
王,曾焕,等人。“软动物园:适用于多种环境移动的软体机器人协同设计基准。”arXiv 预印本 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.
王,曾焕约翰逊,等人。“Diffusebot:利用物理增强生成扩散模型培育软体机器人。”神经信息处理系统进展 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.
卡塔拉、普什卡尔、周显和卡特里娜·弗拉基亚达基。"Gen2sim:使用生成模型在模拟中扩展机器人学习。"2024 年 IEEE 国际机器人与自动化会议(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).
是,紫林,等人。“DiffTactile:一种基于物理的可微触觉模拟器,用于丰富的接触式机器人操作。”arXiv 预印本 arXiv:2403.08716(2024)。 - Wang, Yian, et al. "Thin-Shell Object Manipulations With Differentiable Physics Simulations." arXiv preprint arXiv:2404.00451 (2024).
王,颜,等人。“基于可微物理模拟的薄壳物体操作。”arXiv 预印本 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).
林,春如,等人。“UBSoft:无限软环境机器人技能学习仿真平台。”arXiv 预印本 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.
周文阳等。“EMDM:用于快速高质量运动生成的有效运动扩散模型。”欧洲计算机视觉会议。施普林格,沙夫豪森,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.
乔,一凌,梁俊邦,弗拉基米尔·科尔特恩,林明诚。 "可扩展的可微分物理:用于学习和控制。" 国际机器学习会议。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.
乔,一凌,梁俊邦,弗拉德伦·科尔特恩,林明诚。 "关节体的高效可微分模拟。" 收录于国际机器学习会议,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).
乔,一凌,梁俊邦,弗拉德伦·科尔特恩,林明。“软多体系统的可微分模拟。”神经信息处理系统进展 34 卷(2021 年)。 - Wan, Weilin, et al. "Tlcontrol: Trajectory and language control for human motion synthesis." arXiv preprint arXiv:2311.17135 (2023).
万,魏琳,等人。“Tlcontrol:用于人类运动合成的轨迹和语言控制。”arXiv 预印本 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).
王,颜,等人。“Architect:使用分层 2D 修复生成生动和交互式的 3D 场景。”arXiv 预印本 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.
郑少昆,等."LuisaRender:在流架构上具有分层和统一界面的高性能渲染框架。"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.
范,应若,等人。“Faceformer:基于 Transformer 的语音驱动 3D 面部动画。”IEEE/CVF 计算机视觉与模式识别会议论文集。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.
吴,四春,卡齐·因贾姆穆尔·哈克,泽林·尤马克。“ProbTalk3D:使用 VQ-VAE 的非确定性情感可控语音驱动的 3D 面部动画合成。”第 17 届 ACM SIGGRAPH 运动、交互和游戏会议论文集。2024 年。 - Dou, Zhiyang, et al. "C· ase: Learning conditional adversarial skill embeddings for physics-based characters." SIGGRAPH Asia 2023 Conference Papers. 2023.
窦志洋等。“案例:为基于物理的角色学习条件对抗技能嵌入。”SIGGRAPH 亚洲 2023 会议论文。2023 年
… 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:
如果您在研究中使用了 Genesis,我们非常感谢您能够引用它。我们仍在撰写技术报告,在它公开之前,您可以考虑引用:
@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}
}