让机器人学会咖啡拉花,得从流体力学搞起,CMUMIT推出流体模拟平台

2023-04-06 13:36来源:IT之家   阅读量:10167   

扫描二维码分享

机器人也能干咖啡师的活了!

比如让它把奶泡和咖啡搅拌均匀,效果是这样的:

然后上点难度,做杯拿铁,再用搅拌棒做个图案,也是轻松拿下:

这些是在已被 ICLR 2023 接收为 Spotlight 的一项研究基础上做到的,他们推出了提出流体操控新基准 FluidLab 以及多材料可微物理引擎 FluidEngine。

研究团队成员分别来自 CMU、达特茅斯学院、哥伦比亚大学、MIT、MIT-IBM Watson AI Lab、马萨诸塞大学阿默斯特分校。

在 FluidLab 的加持下,未来机器人处理更多复杂场景下的流体工作也都不在话下。

FluidLab 到底都有哪些“隐藏技能”?一起来康康~

“流体力学”高阶选手

FluidLab 是靠 FluidEngine 做引擎支撑,正如名称所言,主打的模拟对象就是流体,不同材料,各种类型运动的细节它都能完全拿捏。

先来试试模拟做咖啡的各种场景,咖啡和奶泡的运动轨迹也是很真实了。

当然模拟打冰淇凌也是洒洒水的事情。

或者模拟不同状态下水流的运动轨迹。

如果说这样还看不出来 FluidLab 的实力,那直接上难度。

比如先来点对照模拟,让平台模拟一下不同材料下坠时与容器的碰撞情况,从左到右依次是:硬性材料、弹性材料以及塑料。

或者不同非粘性液体和粘性液体下坠时的轨迹。

再上点重磅难度,模拟下气体与液体相遇时的状态。

轻松搞定!

这时,可能会有朋友疑问:这么多状态下的模拟,到底符不符合物理学或者流体力学呢?

这点大可放心,研究团队直接公开了验证视频,在涉及一些特定的物理现象时,FluidEngine 都能准确模拟。

像卡门涡流和溃坝这种常见物理现象都能准确模拟。

浮力,液体的不可压缩性与体积稳定性在模拟中也是轻轻松松就能体现。

来点进阶难度,用马格努斯效应验证一下:平移、平移 + 缓慢逆时针旋转、平移 + 快速逆时针旋转、平移 + 快速顺时针旋转也都很准确。

再加亿点难度,试试动量守恒和瑞利-泰勒不稳定性。

……

那如此逼近真实世界的模拟,研究团队是怎么做到的呢?

不同状态有不同的算法

首先在编程语言上,FluidEngine 选择了 Python 和 Taichi,Taichi 是近来提出的用于 GPU 加速仿真的领域特定编程语言。

这样一来,就可以为构建模拟环境提供了一组用户友好的 API,在更高的层次上,它也遵循标准 OpenAI Gym API,并且与标准的强化学习和优化算法兼容。

而之所以能够做到逼真的虚拟仿真效果,或许可以从 FluidEngine 创建环境的过程窥探一二。

它创建的环境由五个部分组成:

  • 配备有用户定义的末端效应器的机器人代理

  • 从外部网格导入并表示为符号距离场的对象

  • 使用形状基元或外部网格创建的对象,用于表示粒子

  • 用于在欧拉网格上模拟气体现象的气体场

  • 一组用户定义的几何边界,以支持稀疏计算

其中,在模拟过程中,对于不同状态的材料会采用不同的计算方法。

对于固体和液体材料,模拟过程使用的是移动最小二乘材料点方法,这是一个混合拉格朗日-欧拉方法,使用粒子和网格模拟连续体材料。

对于烟或空气这类气体,模拟过程中使用的是平流-投影方案,在笛卡尔网格上将它们模拟为不可压缩的流体。

这样一来,便能针对具体情况模拟到逼真的效果了。

论文、项目地址以及代码链接附在文末了,感兴趣的朋友可以点击查看。

郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。

专 题
返回顶部
返回顶部