讓機(jī)器人學(xué)會(huì)咖啡拉花,得從流體力學(xué)搞起!CMU&MIT推出流體模擬平臺(tái)
機(jī)器人也能干咖啡師的活了!
比如讓它把奶泡和咖啡攪拌均勻,效果是這樣的:
然后上點(diǎn)難度,做杯拿鐵,再用攪拌棒做個(gè)圖案,也是輕松拿下:
這些是在已被ICLR 2023接收為Spotlight的一項(xiàng)研究基礎(chǔ)上做到的,他們推出了提出流體操控新基準(zhǔn)FluidLab以及多材料可微物理引擎FluidEngine。
研究團(tuán)隊(duì)成員分別來自CMU、達(dá)特茅斯學(xué)院、哥倫比亞大學(xué)、MIT、MIT-IBM Watson AI Lab、馬薩諸塞大學(xué)阿默斯特分校。
在FluidLab的加持下,未來機(jī)器人處理更多復(fù)雜場(chǎng)景下的流體工作也都不在話下。
FluidLab到底都有哪些“隱藏技能”?一起來康康~
“流體力學(xué)”高階選手
FluidLab是靠FluidEngine做引擎支撐,正如名稱所言,主打的模擬對(duì)象就是流體,不同材料,各種類型運(yùn)動(dòng)的細(xì)節(jié)它都能完全拿捏。
先來試試模擬做咖啡的各種場(chǎng)景,咖啡和奶泡的運(yùn)動(dòng)軌跡也是很真實(shí)了。
當(dāng)然模擬打冰淇凌也是灑灑水的事情。
或者模擬不同狀態(tài)下水流的運(yùn)動(dòng)軌跡。
如果說這樣還看不出來FluidLab的實(shí)力,那直接上難度。
比如先來點(diǎn)對(duì)照模擬,讓平臺(tái)模擬一下不同材料下墜時(shí)與容器的碰撞情況,從左到右依次是:硬性材料、彈性材料以及塑料。
或者不同非粘性液體和粘性液體下墜時(shí)的軌跡。
再上點(diǎn)重磅難度,模擬下氣體與液體相遇時(shí)的狀態(tài)。
輕松搞定!
這時(shí),可能會(huì)有朋友疑問:這么多狀態(tài)下的模擬,到底符不符合物理學(xué)或者流體力學(xué)呢?
這點(diǎn)大可放心,研究團(tuán)隊(duì)直接公開了驗(yàn)證視頻,在涉及一些特定的物理現(xiàn)象時(shí),F(xiàn)luidEngine都能準(zhǔn)確模擬。
像卡門渦流和潰壩這種常見物理現(xiàn)象都能準(zhǔn)確模擬。
浮力,液體的不可壓縮性與體積穩(wěn)定性在模擬中也是輕輕松松就能體現(xiàn)。
來點(diǎn)進(jìn)階難度,用馬格努斯效應(yīng)驗(yàn)證一下:平移、平移+緩慢逆時(shí)針旋轉(zhuǎn)、平移+快速逆時(shí)針旋轉(zhuǎn)、平移+快速順時(shí)針旋轉(zhuǎn)也都很準(zhǔn)確。
再加億點(diǎn)難度,試試動(dòng)量守恒和瑞利-泰勒不穩(wěn)定性。
……
那如此逼近真實(shí)世界的模擬,研究團(tuán)隊(duì)是怎么做到的呢?
不同狀態(tài)有不同的算法
首先在編程語言上,F(xiàn)luidEngine選擇了Python和Taichi,Taichi是近來提出的用于GPU加速仿真的領(lǐng)域特定編程語言。
這樣一來,就可以為構(gòu)建模擬環(huán)境提供了一組用戶友好的API,在更高的層次上,它也遵循標(biāo)準(zhǔn)OpenAI Gym API,并且與標(biāo)準(zhǔn)的強(qiáng)化學(xué)習(xí)和優(yōu)化算法兼容。
而之所以能夠做到逼真的虛擬仿真效果,或許可以從FluidEngine創(chuàng)建環(huán)境的過程窺探一二。
它創(chuàng)建的環(huán)境由五個(gè)部分組成:
- 配備有用戶定義的末端效應(yīng)器的機(jī)器人代理(可外接機(jī)器人)
- 從外部網(wǎng)格導(dǎo)入并表示為符號(hào)距離場(chǎng)(SDFs)的對(duì)象
- 使用形狀基元或外部網(wǎng)格創(chuàng)建的對(duì)象, 用于表示粒子
- 用于在歐拉網(wǎng)格上模擬氣體現(xiàn)象的氣體場(chǎng)(包括速度場(chǎng)和其他平流量場(chǎng),如煙密度和溫度)
- 一組用戶定義的幾何邊界,以支持稀疏計(jì)算
其中,在模擬過程中,對(duì)于不同狀態(tài)的材料會(huì)采用不同的計(jì)算方法。
對(duì)于固體和液體材料,模擬過程使用的是移動(dòng)最小二乘材料點(diǎn)方法(MLS-MPM),這是一個(gè)混合拉格朗日-歐拉方法, 使用粒子和網(wǎng)格模擬連續(xù)體材料。
對(duì)于煙或空氣這類氣體,模擬過程中使用的是平流-投影方案,在笛卡爾網(wǎng)格上將它們模擬為不可壓縮的流體。
這樣一來,便能針對(duì)具體情況模擬到逼真的效果了。
論文、項(xiàng)目地址以及代碼鏈接附在文末了,感興趣的朋友可以點(diǎn)擊查看。
項(xiàng)目主頁:https://fluidlab2023.github.io/論文鏈接:?https://arxiv.org/abs/2303.02346代碼鏈接:?https://github.com/zhouxian/FluidLab