在這項研究中,斯坦福視覺與學習實驗室(SVL)Silvio / 李飛飛組的研究者推出了一個全新的模擬環境 iGibson,從而可以為大型真實場景中的交互任務開發機器人解決方案。iGibson 包含 15 個充分可交互、視覺上逼真、依據真實房屋構建的場景,並且可以支持 CubiCasa5K 和 3D-Front 的 8000 餘個場景。真正實現了「可交互性」。
近來,面向 AI 和機器人的模擬環境得到了大力發展。僅僅幾年前,機器人模擬環境還算是相對稀有的產物,但如今,各大學術會議(NeurIPS、CoRL、甚至 ICRA 和 IROS)幾乎所有與 AI 機器人相關的論文都會用到模擬環境。那麼,模擬環境是如何幫助到 AI 發展的呢?可以歸結為以下幾點原因:
首先,在機器人領域,機器學習正逐漸發揮越來越大的作用,從而導致了數據需求的迅猛增長 [2] [3] [4] [5]。現實世界中,機器人只能「real-time」 即時地產生數據,但海量的數據需求導致了從現實世界收集數據變得不現實。此外,機器學習需要收集的數據具備多樣性,涉及到機器人的隨機探索(random exploration)。如果在現實世界中讓機器人隨機活動,對機器人本身和周遭事物都是有挺大風險的。
其次,在模擬環境變得越來越 robust、逼真(視覺效果和物理引擎)、便捷的同時,算力的增長也導致了大部分機器都可以運行這些模擬環境。因此即便沒有足夠的資金來購置機器人,也可以通過模擬環境來從事機器人研究。模擬環境降低了機器人研究的準入門檻,讓更多的人能推進該領域的發展。
最後,隨著關於各種機器人任務(例如導航、抓握、操作等)的論文數量不斷增長,一個問題也日漸凸顯:機器人領域需要可復現的基準(repeatable benchmark)。一個成熟的學科需要能簡潔、可靠地復現實驗結果,這樣才能讓不同的方法理論得到有效地對比。與現實世界相比,在模擬環境中實現可復現的基準要容易許多。
然而,當前結合物理模擬與機器人任務的模擬環境往往局限於一小類任務,並且僅包含 clean 和小型場景。包含家庭和辦公室等大型場景的少數模擬環境要麼無能力改變場景,僅側重於導航性能,如 Habitat;要麼使用遊戲引擎或者簡化的交互模式,如 AI2Thor、VirtualHome。所以,在處理那些需要與場景進行豐富交互的任務而言,這些模擬器不支持端到端感覺運動控制迴路的開發,也就難以完成此類任務。此外,簡化的交互模式也導致很難將可學得的交互策略轉換為可執行的真實機器人指令。
基於如上這些想法,來自斯坦福視覺與學習實驗室(SVL)的研究者開發了 iGibson 以用來訓練和測試 interactive(可交互的)AI 智能體 iGibson。
那麼,iGibson 的特殊點在哪裡呢?首先我們先來區分一下這兩個概念:
Physics simulator (物理引擎): 物理引擎可以計算不同行為對現環境產生的物理影響。比如對一個物體施加一個力的後果,或者對於水流的模擬。隨著計算機圖形學的發展,現在有許多成熟的物理引擎。其中在機器人領域最為突出的是 Bullet, PyBullet, MuJoCo, Nvidia PhysX and Flex, UnrealEngine, DART, Unity, and ODE 等。
Simulation environment (模擬環境): 模擬環境是一個整體框架,包含多個元件:物理引擎、渲染引擎、模型(包括場景、物體、機器人)等。我們可以用模擬環境模擬一個給定的任務,並用它來研究其解決方案。
那麼,對一個研究人員而言,想解決什麼任務或想研究什麼課題就決定了用什麼模擬環境,所謂工欲善其事,必先利其器。對 iGibson 而言,我們想研究的是:基於視覺信號,機器人如何在大型真實場景(如一整間公寓)中解決需要與環境互動的任務。
論文連結:https://arxiv.org/pdf/2012.02924.pdf
項目地址:https://github.com/StanfordVL/iGibson/releases/tag/1.0.0
網站地址:http://svl.stanford.edu/igibson/
pip 地址:https://pypi.org/project/gibson2/
doc 地址:http://svl.stanford.edu/igibson/docs/
英文版 blog 地址:https://ai.stanford.edu/blog/igibson/
與現有模擬引擎的對比
已有的模擬引擎無法支持我們想研究的任務,即可以真實地在大型場景中進行物理互動。基於固定機械臂的模擬環境(如 meta-world, RLBench, RoboSuite, DoorGym)並不包含真實的場景,從而不支持需要在室內導航的任務。為室內導航開發的模擬環境(包括我們之前開發的 Gibson v1 和 Habitat)雖然可以解決視覺導航(visual navigation)和視覺語言導航(visual language navigation),但所包含的場景為三維重建的靜止 mesh 模型。這意味著整個場景被封存在了重建時的位置,物品無法移動,機器人也不能與場景進行交互。
除此之外,例如 Sapien, AI2Thor, ThreeDWorld (TDW)的一些模擬環境開始逐漸支持場景級的交互任務。Sapien 側重的問題是與鉸接(articulated)物體的互動(如門、櫃等)。TDW 提供高質量的聲音、形變、液體模擬(基於英偉達的 Flex 物理引擎)。但 Sapien 和 TDW 均不提供大型場景模型,從而不支持有關大型場景的任務研究。AI2Thor 雖包含了可互動的場景,但互動為腳本化的符號交互,把現實中連續的互動和變化離散化了—當物體滿足一個先覺條件,agent 可以發出一個指令,從而這個物體進入其下個狀態。例如,一個冰箱的敞開程度本應是連續值,但現在只有 「開」 和「關」兩個狀態。AI2Thor 之後出現了 RoboThor,但其只提供簡單的傳感器與一種機器人 LoCoBot 的模擬。受限於 LoCoBot 的技術限制與環境的離散化,機器人無法在模擬環境內學習並解決複雜的交互任務。
我們想要研究的任務是複雜的、long-horizon(長線)、 mobile manipulation(移動操作)任務,例如:收拾房間、找尋物品等。為了研究可以落地到現實世界的解決方案,模擬可真實交互的大型場景變得尤為重要。
iGibson 的一些功能
iGibson 最重要的功能是 interactivity(可交互性),即構建可以真實交互的大型場景。為此,我們實現了如下關鍵功能:
15 個充分可交互、視覺上逼真、依據真實房屋構建的場景。其中所有物體可真實交互,包含了材料與動力學信息;
可支持 CubiCasa5K[6]的 8000 餘個場景。
真實的傳感器信號模擬,包括:RGB (基於物理渲染引擎(Physics-based renderer)),深度圖,1 束或 16 束的雷射雷達,語義 / 實例 / 材料分割圖,光流,場景流等;
內置運動規划算法,用於規劃機器人底座的移動(在環境中導航)與機械臂的移動(抓取操縱物體)。
內置域隨機化功能,可隨機替換 visual textures (視覺圖像)、材料與動力學信息、物體實例。由此,我們可以產生出無窮無盡的隨機環境用於訓練與測試。
人機互動系統,可為機器人提供人工示範。
iGibson 功能的一些應用
我們在論文中展示了這些功能的用處,例如:iGibson 的光學雷達模擬可以幫助 agent 遷移到真實場景
iGibson 場景的充分可交互性可以幫助預訓練機器人視覺,從而加速機器人學習並完成複雜的交互任務。
用 iGibson 解決更複雜的機器人任務
上述的 iGibson 功能能幫助人們更好的開發大型場景交互任務的解決方案。我們認為,其中一個很重要的問題是 Interactive Navigation (交互導航)。在這個任務中,agents 不僅需要導航,也需要改變其環境(如開門、移開障礙物)。這種需要改變環境的導航是在現實場景中最常見的。
為了在 iGibson 模擬環境中解決這個任務,我們開發了一套分層強化學習(hierarchical reinforcement learning)算法來決定 agent 的具體動作(當需要交互時用機械臂,當需要移動時用底座,也可同時利用機械臂和底座 [8]。
此外我們也提出了一個結合了運動規划算法的解決方案:算法來指定下個交互應該在何處發生,運動規劃會基於此計算一條符合運動學且避障的軌跡 [9] 。
但我們認為這只是 iGibson 潛力的冰山一角。目前我們實驗室 SVL(Stanford Vision and Learning Lab)有許多的項目在使用 iGibson,來提出、攻克各種各樣的交互任務。
總結
我們認為模擬環境有極大的潛力來幫助研究人員解決機器人與 AI 的各種問題。iGibson 是一個完全開源的、面向大型場景交互任務的模擬環境。我們真心希望 iGibson 能為機器人與 AI 的研究做出貢獻。
註:關於 Gibson: iGibson 的名字來源於心理學、認知科學泰鬥 James J. Gibson [1904-1979]。Gibson 生前提出了許多開創性的想法,包括關於知覺的新概念:
知覺是一個生態(ecological)的過程,即本體不應從其所處的生態環境中剝離出去;
知覺是一個動態(active)的過程,即知覺需要交互和主觀能動性。
在當時,主流學說認為知覺是一個被動接受並處理的過程。Gibson 的觀點則相反,認為 agents 是在與環境的交互中主動尋求、而不是被動接受信息。Gibson 也提出了 「affordance」(承擔特質)的概念:環境給予 agent 的行動可能,例如門提供「打開」 的功能,椅子提供 「支撐」 的功能。我們同事是這樣概括 Gibson 先生的 research 的:「ask not what’s inside your head, but what your head is inside of」 (不要光注重於你腦中的世界,請著眼於你所處的世界)。