Genesis#

_images/teaser.png

GitHub Repo stars PyPI version Website Discord

Genesis 是什么?#

Genesis 是一个为通用机器人/具身智能/物理AI应用设计的物理平台。它同时具备以下特性:

  1. 一个从零开始重新构建的通用物理引擎,能够仿真各种材料和物理现象。

  2. 一个轻量级超高速Pythonic用户友好的机器人仿真平台。

  3. 一个强大且快速的照片级真实感渲染系统

  4. 一个生成式数据引擎,可将用户提示的自然语言描述转换为各种模态的数据。

Genesis 基于从零开始重新设计和构建的通用物理引擎,将各种物理求解器及其耦合整合到一个统一的框架中。这个核心物理引擎进一步由上层运行的生成式代理框架增强,旨在实现机器人及其他领域完全自动化的数据生成。 目前,我们正在开源底层物理引擎和仿真平台。生成式框架将在近期发布。

Genesis 的构建和持续演进遵循以下长期使命

  1. 降低使用物理仿真的门槛,让机器人研究对每个人都可及。(参见我们的承诺

  2. 将广泛的最先进物理求解器统一到一个框架中,使用最先进的仿真技术,以最高的物理、视觉和感官保真度在虚拟世界中重现整个物理世界。

  3. 最小化机器人及其他领域数据收集和生成的人力投入,让数据飞轮自行运转。

核心特性#

与以往的仿真平台相比,以下是 Genesis 的几个核心特性:

  • 🐍 100% Python,前端接口和后端物理引擎都原生使用 Python 开发。

  • 👶 轻松安装,API 设计极其简单用户友好

  • 🚀 并行仿真带来前所未有的速度:Genesis 是世界上最快的物理引擎,仿真速度比现有的GPU 加速机器人仿真器(Isaac Gym/Sim/Lab、Mujoco MJX 等)快10~80 倍(听起来可能有些不可思议),同时不妥协仿真精度和保真度。

  • 💥 统一框架支持各种最先进的物理求解器,建模广泛的材料和物理现象。

  • 📸 优化的照片级真实感光线追踪渲染。

  • 📐 可微分性:Genesis 设计为与可微分仿真完全兼容。目前,我们的 MPM 求解器和工具求解器是可微分的,其他求解器的可微分性将很快添加(从刚体仿真开始)。

  • ☝🏻 物理精确且可微分的触觉传感器

  • 🌌 原生支持生成式仿真,允许语言提示的数据生成,包括各种模态:交互式场景任务提案奖励资产角色动作策略轨迹相机运动(物理精确的)视频等。

快速开始#

快速安装#

Genesis 可通过 PyPI 获取:

pip install genesis-world

您还需要按照官方说明安装 PyTorch

文档#

Note

本文档站点非官方站点,由 GitHub@Atticlmr 翻译润色。

请参阅我们的文档站点了解详细的安装步骤、教程和 API 参考。

LLM友好文档获取(Beta)#

Note

本文档站点非官方站点,由 GitHub@Atticlmr 制作 问题反馈:https://github.com/Atticlmr/genesis-doc-zh-CN/issues

请将以下提示词输入大模型即可使用

LLm友好文档地址: https://genesis.osaerialrobot.top/llm_docs/

使用方法:
1. 先读取索引了解文档结构:
   https://genesis.osaerialrobot.top/llm_docs/00_INDEX.txt

2. 按需加载模块(不要一次性加载全部,避免上下文过长):
   - 新手入门 → 01_intro + 02_getting_started
   - 机器人控制 → 03_robot_control
   - 物理仿真 → 04_physics_simulation + 09_advanced_topics
   - API 查询 → 10_api_core 及之后的模块

3. 获取具体模块(示例):
   https://genesis.osaerialrobot.top/llm_docs/02_getting_started_入门指南_基础.txt

编码说明:文档使用 UTF-8 编码,获取时请确保使用正确的编码方式解析。

为 Genesis 贡献#

Genesis 项目的目标是构建一个完全透明、用户友好的生态系统,让来自机器人和计算机图形学领域的贡献者能够齐聚一堂,协作创建一个高效率、真实(包括物理和视觉)的虚拟世界,用于机器人研究及其他领域

我们诚挚欢迎社区以任何形式做出贡献,让机器人的世界变得更美好。从新功能的 pull requestbug 报告,到哪怕是让 Genesis API 更直观的微小建议,都衷心感谢!

支持#

  • 请使用 Github Issues提交 bug 报告和功能请求。

  • 请使用 GitHub Discussions讨论想法和提问。

引用#

如果您在您的研究中使用了 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}
}