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