深度強化學習開發出的機器人模型通常很難應用到真實環境中,因此機器人開發中鮮少使用該技術。然而這已經板上釘釘了嗎?在兩天前引發人工智慧界關注的 ANYmal 機器人中,其機動性和適應性看起來絲毫不遜色于波士頓動力。其相關論文近期登上了 Science 子刊《Science Robotics》,並且明確指出使用了深度強化學習技術。基於 AI 技術的成功應用,ANYmal 在資料驅動的開發上或許會更有優勢。
論文:Learning agile and dynamic motor skills for legged robots
論文地址:http://robotics.sciencemag.org/content/4/26/eaau5872
摘要:足式機器人是機器人學中最具挑戰性的主題之一。動物動態、敏捷的動作是無法用現有人為方法模仿的。一種引人注目的方法是強化學習,它只需要極少的手工設計,能夠促進控制策略的自然演化。然而,截至目前,足式機器人領域的強化學習研究還主要侷限於模仿,只有少數相對簡單的例子被部署到真實環境系統中。主要原因在於,使用真實的機器人(尤其是使用帶有動態平衡系統的真實機器人)進行訓練既複雜又昂貴。本文介紹了一種可以在模擬中訓練神經網路策略並將其遷移到當前最先進足式機器人系統中的方法,因此利用了快速、自動化、成本合算的資料生成方案。該方法被應用到 ANYmal 機器人中,這是一款中型犬大小的四足複雜機器人系統。利用在模擬中訓練的策略,ANYmal 獲得了之前方法無法實現的運動技能:它能精確、高效地服從高水平身體速度指令,奔跑速度比之前的機器人更快,甚至在複雜的環境中還能跌倒後爬起來。
圖 1:建立一個控制策略。第一步是確定機器人的物理引數並估計其中的不確定性。第二步是訓練一個致動器網路,建模複雜的致動器/軟體動力機制。第三步是利用前兩步中得到的模型訓練一個控制策略。第四步是直接在物理系統中部署訓練好的策略。
結果
該視訊展示了結果和方法。
基於命令的運動
圖 2:習得運動控制器的量化評估結果。A. 發現的步態模式按速度指令以 1.0 m/s 的速度執行。LF 表示左前腿,RF 表示右前腿,LH 表示左後腿,RH 表示右後腿。B. 使用本文方法得到的基礎速度的準確率。C-E. 本文習得控制器與現有最佳控制器在能耗、速度誤差、扭矩大小方面的對比,給定的前進速度指令為 0.25、0.5、0.75 和 1.0 m/s。
高速運動
圖 3:對高速運動訓練策略的評估結果。A. ANYmal 的前進速度。B. 關節速度。C. 關節扭矩。D. 步態模式。
跌倒後的恢復
圖 4:在真實機器人上部署的恢復控制器。該研究學到的策略成功使機器人在 3 秒內從隨機初始配置中恢復。
材料和方法
這一部分會詳細描述模擬環境、訓練過程和在物理環境中的部署。圖 5 是訓練方法概覽。訓練過程如下:剛體模擬器會根據關節扭矩和當前狀態輸出機器人的下一個狀態。關節速度和位置誤差會被快取在有限時間視窗的關節狀態歷史中。由帶兩個隱藏層的 MLP 實現的控制策略會將當前狀態和關節狀態歷史的觀察結果對映為關節位置目標。最後,致動器網路會將關節狀態歷史和關節位置目標對映為 12 個關節扭矩值,然後進入下一個訓練迴圈。
圖 5:模擬過程中的訓練控制策略。
建模剛體動力機制
為了在合理時間內有效訓練複雜的策略,並將其遷移到現實世界,我們需要一種又快又準確的模擬平臺。開發行走機器人的最大挑戰之一是非連續接觸的動力機制建模。為此,研究者使用了之前工作中開發出的剛體接觸求解器 [41]。這個接觸求解器使用了一個完全遵循庫倫摩擦錐約束的硬接觸模型。這種建模技術可以準確地捕獲一系列剛體和環境進行硬接觸時的真實動力機制。該求解器能準確而快速地在臺式計算機上每秒生成模擬四足動物的 90 萬個時間步。
連線的慣性是從 CAD 模型估計出來的。研究者預期估計會達到 20% 的誤差因為沒有建模佈線和電子器件。為了考慮這些建模不確定性,研究者通過隨機取樣慣性訓練了 30 種不同的 ANYmal 模型來使得策略更加穩健。質心位置、連線的質量和關節位置分別通過新增從 U(−2, 2) cm、U(−15, 15)%、 U(−2, 2) cm 中取樣的噪聲進行隨機化。
建模致動器
圖 6:學得致動器模型的驗證結果。
強化學習
研究者展示了離散時間中的控制問題。在每個時間步 t,智慧體獲取觀測結果 o_t ∈O,執行動作 a_t ∈A,獲取標量獎勵 r_t ∈ ℛ。研究者所指獎勵和成本是可以互換的,因為成本就是負的獎勵。研究者用 O_t = 〈o_t, o_t − 1, …, o_t − h〉表示近期觀測結果的元組。智慧體根據隨機策略 π(a_t|O_t) 選擇動作,該隨機策略是基於近期觀測結果的動作分佈。其目的在於找到在無窮水平中使折扣獎勵總和最大化的策略:
其中 γ ∈ (0, 1) 是折扣因子,τ(π) 是在策略 π 下的軌跡分佈(該策略和環境動態下的分佈)。在研究設定中,觀測結果是評估機器人狀態的指標(向控制器提供),動作是向致動器傳達的位置命令,獎勵是指定的(以誘導感興趣的行為)。
多種強化學習演算法可應用於這個指定策略優化問題。研究者選擇了置信域策略優化(TRPO),該演算法可在模擬中學習運動策略。它幾乎不需要調參,論文中所有學習會話都僅使用預設引數([22, 54] 提供的引數)。研究者使用了該演算法的快速自定義實現 [55]。這一高效實現和快速剛體模擬 [41] 可在約 4 小時內生成和處理 2.5 億狀態轉換。當該策略的平均效能在 300 個 TRPO 迭代中的改進沒有超過任務特定閾值時,學習會話終止。
在物理系統上部署
研究者用 ANYmal 機器人來展示其方法在真實環境中的適用性,如圖 1 中步驟 4 所示。ANYmal 是一種體型與狗差不多的四足機器人,重 32kg。每隻足約 55 釐米長,且有三個驅動自由度,即髖部外展/內收、髖關節屈/伸、膝關節屈/伸。
ANYmal 有 12 個 SEA。一個 SEA 由一個電動機、一個高傳動比傳動裝置、一個彈性元件和兩個旋轉編碼器組成。它可以測量彈簧偏移和輸出位置。在本文中,研究者在 ANYmal 機器人的關節級促動器模組上使用了具有低反饋收益的關節級 PD 控制器。促動器的動態包含多個連續的元件,如下所示。首先,使用 PD 控制器將位置指令轉換成期望的扭矩。接著,使用來自期望扭矩的 PID 控制器計算期望電流。然後,用磁場定向控制器將期望電流轉換成相電壓,該控制器在變速器的輸入端產生扭矩。變速器的輸出端與彈性元件相連,彈性元件的偏移最終在關節處生成扭矩。這些高度複雜的動態引入了很多隱藏的內部狀態,研究者無法直接訪問這些內部狀態並複雜化其控制問題。
從混合模擬中為訓練策略獲得引數集後,在真實系統上的部署變得簡單多了。定製的 MLP 實現和訓練好的引數集被導到機器人的機載 PC 上。當這個網路在 200Hz 時,其狀態被評估為基於命令/高速的運動,在 100Hz 時被評估為從墜落中恢復。研究者發現,其效能出人意料地對控制率不敏感。例如,在 20 Hz 時訓練恢復運動與在 100 Hz 時效能一致。這可能是因為翻轉行為涉及低關節速度(大部分低於 6 弧度/秒)。更動態的行為(如運動)通常需要更高的控制率才能獲得足夠的效能。實驗中使用了更高的頻率(100 Hz),因為這樣噪音更少。甚至在 100 Hz 時,對網路的評估僅使用了單個 CPU 核上可用計算的 0.25 %。