让机器人学会咖啡拉花,得从流体力学搞起!CMU&MIT推出流体模拟平台
来源:51CTO.COM
时间:2023-05-01 16:57:18 230浏览 收藏
在科技周边实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《让机器人学会咖啡拉花,得从流体力学搞起!CMU&MIT推出流体模拟平台》,聊聊,希望可以帮助到正在努力赚钱的你。
机器人也能干咖啡师的活了!
比如让它把奶泡和咖啡搅拌均匀,效果是这样的:
然后上点难度,做杯拿铁,再用搅拌棒做个图案,也是轻松拿下:
这些是在已被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创建环境的过程窥探一二。
它创建的环境由五个部分组成:
- 配备有用户定义的末端效应器的机器人代理(可外接机器人)
- 从外部网格导入并表示为符号距离场(SDFs)的对象
- 使用形状基元或外部网格创建的对象, 用于表示粒子
- 用于在欧拉网格上模拟气体现象的气体场(包括速度场和其他平流量场,如烟密度和温度)
- 一组用户定义的几何边界,以支持稀疏计算
其中,在模拟过程中,对于不同状态的材料会采用不同的计算方法。
对于固体和液体材料,模拟过程使用的是移动最小二乘材料点方法(MLS-MPM),这是一个混合拉格朗日-欧拉方法, 使用粒子和网格模拟连续体材料。
对于烟或空气这类气体,模拟过程中使用的是平流-投影方案,在笛卡尔网格上将它们模拟为不可压缩的流体。
这样一来,便能针对具体情况模拟到逼真的效果了。
论文、项目地址以及代码链接附在文末了,感兴趣的朋友可以点击查看。
项目主页:https://fluidlab2023.github.io/论文链接:https://arxiv.org/abs/2303.02346代码链接:https://github.com/zhouxian/FluidLab
理论要掌握,实操不能落!以上关于《让机器人学会咖啡拉花,得从流体力学搞起!CMU&MIT推出流体模拟平台》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
123 收藏
-
489 收藏
-
174 收藏
-
147 收藏
-
147 收藏
-
374 收藏
-
232 收藏
-
438 收藏
-
139 收藏
-
172 收藏
-
293 收藏
-
367 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习