0
| 本文作者: 我在思考中 | 2021-10-19 16:03 |

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








雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。