开源生成式物理引擎Genesis,可模拟世界万物

这是生成大模型时代 —— 它们能生成文本、图像、音频、视频、3D 对象…… 而如果将所有这些组合到一起,我们可能会得到一个世界!

现在,不管是 LeCun 正在探索的世界模型,还是李飞飞想要攻克的空间智能,又或是其他研究团队提出的其它类似概念,我们都毫无疑问地在离这个世界越来越近。

2024年12月24日,Genesis横空出世。

据项目贡献者 CMU 机器人研究所博士生 Zhou Xian 和领导者 Chuang Gan 教授在 X 上分享的内容看,该项目耗费了 2 年多时间,海内外近 20 家机构参与了内部测试,最终这个联合团队得到的 Genesis 生成式物理引擎可以生成 4D 动态世界,而其基础是一个用于通用机器人和物理 AI 应用的物理模拟平台。

Genesis,意为「创世纪」,从名字也能看出,这或许真是一个新世界的起点。

Genesis是什么?

Genesis是卡内基梅隆大学、马里兰大学、斯坦福大学、麻省理工学院等研究机构联合推出的开源生成式物理引擎,能模拟世界万物。

Genesis能用简单的语言描述,快速生成精确的物理模拟,包括物体运动、人物动作和机器人策略等。引擎的特点在于高度的物理准确性、快速的模拟速度(比现实世界快约43万倍),及用户友好的Python化设计。

Genesis能模拟各种材料和物理现象,提供一个轻量级、超快速的机器人仿真平台,及一个强大而快速的照片级写实渲染系统。

Genesis能将用户的自然语言描述转换为数据模式,用在生成式数据引擎。

Genesis为通用机器人、具身AI和物理AI应用而设计,预示着物理模拟和机器人技术领域的重大进步。

Genesis主要功能

  • 物理模拟:模拟各种材料和物理现象,包括物体的运动、碰撞、流体动力学等。
  • 机器人仿真:提供轻量级、超快速的机器人仿真平台,支持多种机器人类型,如机械臂、腿式机器人、无人机、软体机器人等。
  • 照片级渲染:拥有强大而快速的照片级写实渲染系统,能生成高质量的视觉输出。
  • 生成式数据引擎:将用户的自然语言描述转换为数据模式,用在生成模拟场景。
  • 交互式3D场景:支持完全交互式的3D场景生成,包括家居室内场景、游戏环境等。
  • 开放世界物体生成:能生成开放世界中的铰接式物体,提供高质量的mesh资产软体。
  • 机器人模拟:针对软性机器人实现逼真的模拟,如虫、柔软的抓手等。
  • 面部动画和语音同步:生成面部动作和表情,与语音同步,实现逼真的面部动画。

Genesis的技术原理

  • 通用物理引擎:从头开始构建,集成各种物理求解器,如刚体、MPM(物质点方法)、SPH(光滑粒子流体动力学)、FEM(有限元方法)、PBD(位置基动力学)等,实现精确的物理拟。
  • 生成Agent框架:在核心物理引擎之上运行,用在自动化数据生成,包括视频、摄像机运动、角色动作、机器人策略等。
  • 可微分仿真:支持可微分仿真,让仿真过程与机器学习算法结合,用在训练和优化。
  • 多模态集成:将物理模拟与视觉渲染、动作捕捉、语音合成等多模态技术集成,实现全面的模拟体验。
  • 跨平台兼容性:设计为可在不同操作系统和计算后端(如CPU、Nvidia GPU、AMD GPU、Apple Metal)上运行。

Genesis应用场景

  • 机器人仿真训练:模拟复杂环境,训练机器人在现实世界中执行任务。
  • 游戏物理引擎:在游戏开发中,创建逼真的物理效果和角色动作。
  • 电影特效制作:模拟逼真的物理破坏和动态效果,用在电影后期制作。
  • 科学研究模拟:在物理学和工程学研究中,模拟实验和测试理论。
  • 虚拟教学平台:在教育领域,创建虚拟实验室,辅助物理和科学教学。

当然,也能用于生成训练用的自动驾驶场景数据。

接下来,我们看看具体的示例展示。

生成4D动态物理世界

Genesis 物理引擎由基于 VLM 的生成式智能体提供支持,该智能体使用模拟基础设施提供的 API 作为工具来创建 4D 动态世界,然后将其用作提取各种模式数据的基础数据源。

结合生成相机和物体运动模块,Genesis 能够生成物理上精确且视图一致的视频和其他形式的数据。并且,Genesis 还支持模拟各种不同的材料,包括刚体、铰接体、布料、液体、烟雾、可变形体、薄壳材料、弹性 / 塑性体、机器人肌肉等。

模拟一层巧克力酱,自然不在话下。

图片

绞碎泡沫的质感看起来也非常真实。

图片

星球与太空船的质感也非常高,看起来就像是来自一部大制作的科幻电影。

图片

子弹击破水球的物理过程就好像真的是来自设备精良的高速摄影。

图片

一壶字母糖,看起来很 Q 弹。

图片

对充气人偶的模拟也恰到好处,同样也非常幽默地模拟现实状况。

图片

角色动作生成

有了如此高质量的物理引擎,对于游戏制作业来说也是好消息,许多复杂的动作和效果都可以通过提示词来快速生成了:

图片

提示:手持棍棒的迷你版悟空在桌面上飞奔 3 秒,然后跳到空中,落地时右臂向下摆动。镜头从他的脸部特写开始,然后稳定地跟随角色,同时逐渐缩小。当悟空跳到空中时,在跳跃的最高点,动作暂停几秒钟。镜头围绕角色 360 度旋转,然后缓慢上升,然后继续动作。

设计动作的时间成本一下子就被打下来了。

图片

机器人策略生成

Genesis 可以利用生成式机器人智能体和物理引擎自动生成不同场景下各种技能的机器人策略和演示数据。这意味着研究人员可以在仿真环境中快速获得符合物理规律的机器人动作方案,并将其可靠地迁移到实体机器人上。

下面展示了一些不同形态的机器人执行不同任务的示例。

图片

提示:一个移动的 Franka 机械臂使用碗和微波炉做爆米花

图片

提示:宇树 Go2 四足机器人在雨中奔跑 (Sim)

比如,从提示词到在仿真环境中的动作策略,再迁移到实体机器人上,可以如此丝滑:

图片

提示:宇树 H1-2 人形机器人向前行走 (Sim2Real)

做倒立需要精确平衡控制和全身协调,这么高难度的动作,现在也可以通过 Genesis 来实现 Sim2Real:

图片

提示:四足机器人用前两条腿做倒立 (Sim2Real)

倒立不够,在 Genesis 的助力下,机器狗还能更快地学会「体操技巧」,稳稳地做两个直体后空翻:

图片

四足机器人连着后空翻两次 (Sim2Real)

像拉椅子这样要和真实世界里的物体交互的动作,也没问题:

图片

大型欠驱动机器人的运动操作 (Sim2Real)

3D完全交互式场景生成

Genesis 的生成框架支持生成 3D 和完全交互的场景,这些场景可用于训练机器人技能。

图片

     家庭室内场景,有客厅(包括用餐区)、卫生间、书房和卧室。

图片

餐厅内部

开放世界铰接物体生成

Genesis 也能生成具有铰接结构的物体及其交互过程,例如汽车开关门、打开合上笔记本电脑、折叠金属刀片。

图片

软体机器人

Genesis 还是首个为软肌肉和软机器人及其与刚性机器人的交互提供全面支持的平台。Genesis 还附带类似 URDF 的软机器人配置系统。官方还提供了一个相关教程:https://genesis-world.readthedocs.io/en/latest/user_guide/getting_started/soft_robots.html

图片

Genesis 也能模拟带有软皮肤和刚性骨骼的混合机器人。

图片

语音音频,面部表情和情绪生成

音频以及面部表情也是 Genesis 想要整合的模态,下面展示了两个示例:

人物情绪从中性转变为愤怒,然后再转变为快乐。 

 Genesis 将情绪的转变泛化到不同的面部

结语

最后,Zhou Xian 展示了一个用 Genesis 打造的俄罗斯方块游戏,其中的方块是果冻材质的,并且能以符合现实的物理规律运动。

图片

我们以前可能也刷到过类似的视频,但那些是视频特效师们精心制作的结果,而现在 Genesis 已经可以一键导出,并进一步转化为真实可实现的技术突破。

淦创教授在 X 上分享了自己参与这个项目的经历:自 2018 年以来,我决定将自己的研究重点从视觉转向具身 AI,因为我着迷于创建能够与物理世界和其他具有类似人类灵活性的智能存在交互的通用智能体——我们将这个领域称为具身 AGI(embodied AGI)。

他还写到:「说实话,有时候我觉得这个模拟器可能太先进了,不能发布,但我们相信让它完全开源并围绕我们的使命建立一个强大的社区是至关重要的!请加入 Genesis 社区!我们希望让机器人学研究社区相信『Generative Physics Simulator is all You Need

 

Genesis项目地址

项目官网:Genesisicon-default.png?t=O83Ahttps://genesis-embodied-ai.github.io/?utm_source=ai-bot.cn
GitHub仓库:GitHub - Genesis-Embodied-AI/Genesis: A generative world for general-purpose robotics & embodied AI learning.A generative world for general-purpose robotics & embodied AI learning. - Genesis-Embodied-AI/Genesisicon-default.png?t=O83Ahttps://github.com/Genesis-Embodied-AI/Genesis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/951822.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【fly-iot飞凡物联】(19):开源飞凡物联项目重启,使用go重写后端代码,感兴趣的小伙伴可以一起参加,使用apache协议开源,招募感兴趣的小伙伴!!

目录 前言fly-iot飞凡物联,感兴趣的小伙伴可以一起参加,使用apache协议开源使用go重写后端代码 前言 fly-iot飞凡物联专栏: https://blog.csdn.net/freewebsys/category_12219758.html fly-iot飞凡物联,感兴趣的小伙伴可以一起参…

用于与多个数据库聊天的智能 SQL 代理问答和 RAG 系统(3) —— 基于 LangChain 框架的文档检索与问答功能以及RAG Tool的使用

介绍基于 LangChain 框架的文档检索与问答功能,目标是通过查询存储的向量数据库(VectorDB),为用户的问题检索相关内容,并生成自然语言的答案。以下是代码逻辑的详细解析: 代码结构与功能 初始化环境与加载…

消息中间件类型介绍

消息中间件是一种在分布式系统中用于实现消息传递的软件架构模式。它能够在不同的系统或应用之间异步地传输数据,实现系统的解耦、提高系统的可扩展性和可靠性。以下是几种常见的消息中间件类型及其介绍: 1.RabbitMQ 特点: • 基于AMQP&#…

uniapp使用scss mixin抽离css常用的公共样式

1、编写通用scss样式文件 // 通用 Flex Mixin mixin flex($direction: row, $justify: flex-start, $align: stretch, $wrap: nowrap) {display: flex;flex-direction: $direction;justify-content: $justify;align-items: $align;flex-wrap: $wrap; }// 水平居中 mixin flex-…

Matlab Steger算法提取条纹中心线(亚像素位置)

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 Steger 算法是一种常用的图像边缘检测算法,可以用于提取图像中的中心线或边缘信息。它的理论假设是:条纹的亮度是按照高斯分布呈现的,即中心亮两侧渐暗。 其计算过程如下所述: 1、首先,我们需要计算每个点Hess…

PySide6 Qt for Python Qt Quick参考网址

Qt QML BOOK: 《Qt for Python》 -Building an Application https://www.qt.io/product/qt6/qml-book/ch19-python-build-app#signals-and-slots Qt for Python:与C版本的差异即BUG处理(常见的DLL文件确实的问题等) Qt for Pyt…

【大数据】Apache Superset:可视化开源架构

Apache Superset是什么 Apache Superset 是一个开源的现代化数据可视化和数据探索平台,主要用于帮助用户以交互式的方式分析和展示数据。有不少丰富的可视化组件,可以将数据从多种数据源(如 SQL 数据库、数据仓库、NoSQL 数据库等&#xff0…

ELK实战(最详细)

一、什么是ELK ELK是三个产品的简称:ElasticSearch(简称ES) 、Logstash 、Kibana 。其中: ElasticSearch:是一个开源分布式搜索引擎Logstash :是一个数据收集引擎,支持日志搜集、分析、过滤,支持大量数据…

汽车物资拍卖系统架构与功能分析

2015工作至今,10年资深全栈工程师,CTO,擅长带团队、攻克各种技术难题、研发各类软件产品,我的代码态度:代码虐我千百遍,我待代码如初恋,我的工作态度:极致,责任&#xff…

利用 Python 爬虫从义乌购根据关键词获取商品列表

在当今数字化商业时代,数据是企业获取竞争优势的关键。对于从事国际贸易的商家而言,能够及时、准确地获取商品信息至关重要。义乌购作为知名的国际贸易批发平台,汇集了海量的商品资源。通过 Python 爬虫技术,我们可以高效地从义乌…

HDFS编程 - 使用HDFS Java API进行文件操作

文章目录 前言一、创建hdfs-demo项目1. 在idea上创建maven项目2. 导入hadoop相关依赖 二、常用 HDFS Java API1. 简介2. 获取文件系统实例3. 创建目录4. 创建文件4.1 创建文件并写入数据4.2 创建新空白文件 5. 查看文件内容6. 查看目录下的文件或目录信息6.1 查看指定目录下的文…

直流无刷电机控制(FOC):电流模式

目录 概述 1 系统框架结构 1.1 硬件模块介绍 1.2 硬件实物图 1.3 引脚接口定义 2 代码实现 2.1 软件架构 2.2 电流检测函数 3 电流环功能实现 3.1 代码实现 3.2 测试代码实现 4 测试 概述 本文主要介绍基于DengFOC的库函数,实现直流无刷电机控制&#x…

51单片机——串口通信(重点)

1、通信 通信的方式可以分为多种,按照数据传送方式可分为串行通信和并行通信; 按照通信的数据同步方式,可分为异步通信和同步通信; 按照数据的传输方向又可分为单工、半双工和全双工通信 1.1 通信速率 衡量通信性能的一个非常…

如何在 Linux、MacOS 以及 Windows 中打开控制面板

控制面板不仅仅是一系列图标和菜单的集合;它是通往优化个人计算体验的大门。通过它,用户可以轻松调整从外观到性能的各种参数,确保他们的电脑能够完美地适应自己的需求。无论是想要提升系统安全性、管理硬件设备,还是简单地改变桌…

浅谈弱电系统RVVP和RVSP电缆的区别(

1、RVVP 1.1RVVP电缆定义? RVVP电缆抗干扰软电缆、屏蔽电缆、信号电缆、控制电缆(名字很多),学名:铜芯-聚氯乙烯绝缘-屏蔽聚氯乙烯护套-软电缆。 1.2RVVP执行标准 主要执行标准为JB/T8734.5-2016,部…

Python的pandas库基础知识(超详细教学)

目录 一、配置环境 二、序列和数据表 2.1 初始化 2.2 获取数值 2.3 获取索引 2.4 索引取内容 2.5 索引改变取值 2.6 字典生成序列 2.7 计算取值出现次数 2.8 数据表 2.9 数据表添加新变量 2.10 获取列名 2.11 根据列名获取数据 2.12 输出固定行 2.13 输出多行…

Mysql--基础篇--SQL(DDL,DML,窗口函数,CET,视图,存储过程,触发器等)

SQL(Structured Query Language,结构化查询语言)是用于管理和操作关系型数据库的标准语言。它允许用户定义、查询、更新和管理数据库中的数据。SQL是一种声明性语言,用户只需要指定想要执行的操作,而不需要详细说明如何…

【Rust自学】11.5. 在测试中使用Result<T, E>

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 11.5.1. 测试函数返回值为Result枚举 到目前为止,测试运行失败的原因都是因为触发了panic,但可以导致测试失败的…

【Linux】gawk编辑器

一、基本介绍 相较于sed编辑器来说,gawk提供了一种编程语言,而不仅仅是编辑器命令。 在gawk编程语言中,可以实现以下操作: 定义变量来保存数据;使用算术和字符串运算符来处理数据;使用结构化编程语法&…

Backend - C# asp .net core

目录 一、各大框架理解 (一)ASP.NET Core (二)ASP.NET Core Web Application (三)ASP.NET Core MVC (四)ASP.NET Core Web API (五)ASP.NET Core 和 EF …