0
本文作者: 我在思考中 | 2021-10-19 16:03 |
昨天,DeepMind發(fā)帖,稱已經(jīng)收購了用于機(jī)器人研發(fā)的MuJoCo物理引擎,目前正致力于開源MuJoCo,并打算在2022年對所有人免費(fèi)開放!
此次希望通過收購MuJoCo,推動全球各地的機(jī)器人研究工作。
當(dāng)開源系統(tǒng)完成后,MuJoco將搬到開源社區(qū)GitHub。擁有MuJoCo付費(fèi)許可證的客戶可以使用roboti。
開源地址:https://github.com/deepmind/mujoco
當(dāng)你走路時,你的腳與地面接觸。
當(dāng)你寫字時,你的手指和筆接觸。
身體接觸使與世界的互動成為可能。
然而,對于這種常見的現(xiàn)象,卻有一系列的復(fù)雜的模擬接觸的難題。在微觀尺度上,發(fā)生在兩物體的界面上,接觸可以是軟的或硬的,有彈性的或海綿性的,滑的或粘的。這種微妙的復(fù)雜性使得模擬身體接觸成為一項(xiàng)棘手的任務(wù)。對機(jī)器人研究來說,這卻是一項(xiàng)繞不開的研究課題。
這時,MuJoCo上場。MuJoCo是“多關(guān)節(jié)接觸動力學(xué)”的英語首字母簡寫(Multi Joint Dynamics withContact)。最初它被用于華盛頓大學(xué)運(yùn)動控制實(shí)驗(yàn)室,現(xiàn)在已被廣泛的研究人員和開發(fā)人員所采用。MuJoCo 是一個旨在促進(jìn)機(jī)器人,生物力學(xué),圖形和動畫等領(lǐng)域的研究和開發(fā)的物理引擎。它是第一個專為模型優(yōu)化而設(shè)計的模擬器,并且它專門針對物體之間的接觸進(jìn)行了優(yōu)化。
作為一個通用的模擬器,MuJoCo最初開發(fā)始于 2009年。因當(dāng)時 華盛頓大學(xué)運(yùn)動控制實(shí)驗(yàn)室發(fā)現(xiàn)現(xiàn)有的工具在最優(yōu)控制,狀態(tài)估計和系統(tǒng)識別等研究領(lǐng)域的不足而誕生。后來 MuJoCo很快成為模擬環(huán)境和真實(shí)環(huán)境構(gòu)建智能控制器的基礎(chǔ)工具,被很多用戶社區(qū)所采用。這些項(xiàng)目一般在其數(shù)值優(yōu)化的內(nèi)層循環(huán)中調(diào)用了模擬器,而這對仿真環(huán)境的精確性和穩(wěn)定性提出了很高的要求,因?yàn)檫@些項(xiàng)目在數(shù)值優(yōu)化的過程中會自動的尋找模擬器的漏洞。同時這些項(xiàng)目可能要求對動力模型進(jìn)行求導(dǎo)或者采樣,這也相應(yīng)的要 求模擬器的模擬速度要比真實(shí)世界快一些。這些要求都超出了現(xiàn)有模擬器的能力,相應(yīng)地促進(jìn)了 MuJoCo逐步開發(fā)出了新的算法或者微調(diào)現(xiàn)有的實(shí)現(xiàn)方法。
OpenAI曾開發(fā)了一種模型,希望能夠通過MuJoCo模擬單手解決魔方,但后來不了了之。歪打正著,卻使MuJoCo被廣泛關(guān)注。現(xiàn)在,它不僅擁有豐富的接觸模型、強(qiáng)大的場景描述語言和設(shè)計良好的API,還可以被DeepMind繼續(xù)改進(jìn),作為一個免費(fèi)的預(yù)編譯庫。
DeepMind就此次收購發(fā)表了一篇博客,稱MuJoCo一直是其機(jī)器人團(tuán)隊(duì)的“首選物理模擬器”。據(jù)DeepMind稱,機(jī)器人工程師使用的許多模擬器最初是為游戲和電影等目的設(shè)計的。所以他們有時會走捷徑,把穩(wěn)定性放在準(zhǔn)確性之上。DeepMind表示,MuJoCo并非如此。
“MuJoCo是一個二階連續(xù)時間模擬器,實(shí)現(xiàn)了完整的運(yùn)動方程,”對于熟悉但不平凡的物理現(xiàn)象,如牛頓擺(Newton’s Cradle )、以及像網(wǎng)球拍效應(yīng)(Dzhanibekov effect)這樣不直觀的物理現(xiàn)象,MuJoCo都能準(zhǔn)確模擬。
MuJoCo的接觸模型擊中了一個最佳點(diǎn),它準(zhǔn)確而有效地捕捉了接觸對象的顯著特征。”像其他剛體模擬器一樣,它避免了接觸點(diǎn)變形的細(xì)節(jié),通常運(yùn)行速度比實(shí)時快得多。與其他模擬器不同,MuJoCo使用凸高斯原理(convex Gauss Principle)來解決接觸力。凸性保證了唯一解和定義良好的逆動力學(xué)。另外,該模型相當(dāng)靈活,可以提供多個參數(shù),用來調(diào)整以近似廣泛的接觸現(xiàn)象。
DeepMind表示,他們一直在使用MuJoCo作為各種項(xiàng)目的模擬平臺,主要是通過其dm_control Python堆棧。
現(xiàn)在MuJoCo在多接觸面環(huán)境下在仿真速度和準(zhǔn)確性方面的表現(xiàn)都要由于其他仿真環(huán)境。具體來說,MuJoCo具有如下特性:
(1)逆動力學(xué)即使存在接觸也能被很好地定義;
(2)通過凸優(yōu)化統(tǒng)一連續(xù)時間制約約束;
(3)約束包括軟接觸,限制,干摩擦,平等約束;
(4)可以模擬粒子系統(tǒng),布料,繩索和軟物體;
(5)執(zhí)行器包括馬達(dá),氣缸,肌肉,肌腱,滑塊,曲柄;
(6)直觀的XML模型格式(稱為 MJCF)和內(nèi)置模型編譯器;
(7)跨平臺GUI,在OpenGL中實(shí)現(xiàn)交互式3D可視化;
(8)使用ANSI C編寫的運(yùn)行時模塊,并針對性能進(jìn)行手動調(diào)整。
在這里我們概述了最著名的幾個:
可移植代碼
MuJoCo的核心引擎是用純C語言編寫,方便移植到各種架構(gòu)中。MuJoCo庫產(chǎn)生確定性結(jié)果、場景描述和仿真狀態(tài)完全封裝在兩個數(shù)據(jù)結(jié)構(gòu)中,構(gòu)成了重建模擬所需的所有信息。該庫還提供了快速和方便的常用量的計算,如運(yùn)動雅可比矩陣和慣性矩陣(kinematic Jacobians and inertia matrices.)。
強(qiáng)大的場景描述
MJCF場景描述格式使用級聯(lián)默認(rèn)值(避免多個重復(fù)值)并包含真實(shí)機(jī)器人組件的元素,如等式約束、動作捕捉標(biāo)記、肌腱、執(zhí)行器和傳感器。長期路線圖包括將MJCF作為一種開放格式進(jìn)行標(biāo)準(zhǔn)化,將其實(shí)用性擴(kuò)展到MuJoCo生態(tài)系統(tǒng)之外。
下面是幾個用MuJoCo模擬物理運(yùn)動與實(shí)物圖的對比:
雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。