《人形機器人技術基礎與應用》 課件 第4章-學習控制_第1頁
《人形機器人技術基礎與應用》 課件 第4章-學習控制_第2頁
《人形機器人技術基礎與應用》 課件 第4章-學習控制_第3頁
《人形機器人技術基礎與應用》 課件 第4章-學習控制_第4頁
《人形機器人技術基礎與應用》 課件 第4章-學習控制_第5頁
已閱讀5頁,還剩83頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

***(姓名)

***(學院)***@***.

第4章人形機器人學習控制

《人形機器人技術基礎與應用》4.1強化學習基礎目錄4.2機器人的強化學習控制框架4.3人形機器人運動控制算法設計4.4動力學仿真配置與優化4.5人形機器人運動控制實例簡介部署代碼/unitreerobotics/unitree_rl_gym4.1強化學習基礎強化學習,亦稱再勵學習或者增強學習,是受人類學習行為的啟發而創建出的一類機器學習方法。機器學習作為人工智能的分支,是實現人工智能的一種途徑,它強調使機器通過“學習”來獲得某種能力,而強化學習則是實現機器學習的一類重要技術,機器學習技術還包括監督學習、無監督學習以及深度學習等。圍棋自動駕駛機器人控制工業生產4.1強化學習基礎6.1.1強化學習基本概念強化學習(ReinforcementLearning,RL)討論的問題是智能體(Agent)怎么在復雜、不確定的環境(Environment)中最大化它能獲得的獎勵。強化學習由兩部分組成:智能體和環境。在強化學習過程中,智能體與環境一直在交互。圖4-1強化學習流程智能體環境

狀態動作獎勵左邊的機器人一直在與右邊的環境進行交互,這個過程可以描述為一個序列決策(sequentialdecisionmaking)過程。4.1強化學習基礎4.1.1強化學習基本概念馬爾可夫決策過程

基于學習的人形機器人控制方法多以馬爾可夫決策過程(MarkovDecisionProcess,MDP)作為基礎框架,即在控制過程中,其未來狀態的條件概率僅依賴于當前狀態與所采取的動作,馬爾科夫決策過程可以用狀態轉移概率表達為:

為描述期望的運動,引入了獎勵(reward)的概念。通常認為獎勵是由環境給的一種反饋信號,這種信號可顯示智能體在某一步采取某個策略的表現如何。

強化學習的目的就是最大化智能體可以獲得的獎勵,智能體在環境中存在的目的就是選取一系列的動作來最大化它的期望的累積獎勵。4.1強化學習基礎4.1.1強化學習基本概念貝爾曼方程和值函數

4.1強化學習基礎4.1.1強化學習基本概念貝爾曼方程和值函數價值函數的值是對未來獎勵的預測,可用來評估狀態的好壞。價值函數中有一個折扣因子(discountfactor),為了盡可能短的時間內得到盡可能多的獎勵,可以把折扣因子放到價值函數的定義中,價值函數的定義為:

4.1強化學習基礎4.1.1強化學習基本概念貝爾曼方程和值函數公式4-2可進一步推導:

公式4-3就是常見的貝爾曼方程,貝爾曼方程可以理解為當前狀態與未來狀態的選代關系,表示當前狀態的價值函數可以通過下個狀態的價值函數來計算。(4-4)4.1強化學習基礎4.1.1強化學習基本概念Q函數Q函數中包含兩個變量:狀態和動作。其定義為:

Q函數表示了未來可以獲得獎勵的期望同時取決于當前的狀態和當前的動作。Q函數也是強化學習算法中要學習的一個函數。因為當得到Q函數后,進入某個狀態要采取的最優動作可以通過Q函數得到。4.1強化學習基礎4.1.1強化學習基本概念

4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法

4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法

圖4-2Q學習方法與深度Q學習方法4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法

4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法記憶庫的大小有限,數據滿了之后,下一個數據會覆蓋記憶庫中的第一個數據,記憶庫就是這樣覆蓋更新的。后續每次深度Q學習方法更新的時候,都會隨機抽取一些之前的經歷進行學習,該過程類似于監督學習中的采樣一小批數據進行訓練。此外,隨機抽取這種做法也打亂了訓練數據之間的相關性,有利于深度學習學習技能。4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法

4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法

4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法

最終,得到了以下公式作為神經網絡目標:

4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法

優化目標為讓深度神經網絡能夠準確的估計所有狀態動作對的Q值,在使用中應用評估網絡評估所用狀態動作對的Q值,從中選取Q值最高的動作即可在任務重獲取最多的獎勵。4.1強化學習基礎4.1.2深度強化學習算法1.深度Q學習方法存在的問題

可以看到,以上方法使用深度神經網絡將當前狀態所有的動作對應的Q值生成出來,再從中選取Q值最高的動作執行,通常將這類方法稱為基于值的方法,這類方法通常有一下問題:(1)更適合應用于離散動作輸出的任務中。對于連續動作運動來說,同時生成所有可能得動作的Q值是不現實的。(2)不適合用于生成需要隨機策略的任務,總有一個動作的Q值是最大的。例如在劃拳游戲中,最優策略不是生成石頭剪刀布中的某種動作,而是以1/3的概率隨機生成三種動作。4.1強化學習基礎4.1.2深度強化學習算法2.策略梯度方法

4.1強化學習基礎4.1.2深度強化學習算法2.策略梯度方法

4.1強化學習基礎4.1.2深度強化學習算法2.策略梯度方法

其中,式(4-10)為梯度的變換;式(4-11)將求和轉化成期望的形式;式(4-12)將期望利用采集到的數據序列進行近似;式(4-13)將每一個數據序列展開成每個數據點上的形式,4.1強化學習基礎4.1.2深度強化學習算法2.策略梯度方法在實際使用中,往往需要在獎勵上增加一個基線(Baseline)。公式為:

4.1強化學習基礎4.1.2深度強化學習算法3.演員評論家方法演員評論家(Actor-Critic,AC)算法結合了價值方法和策略方法的優點,通過同時學習策略(Actor)和價值函數(Critic)來實現更高效和穩定的策略優化。4.1強化學習基礎4.1.2深度強化學習算法3.演員評論家方法

4.1強化學習基礎4.1.2深度強化學習算法3.演員評論家方法

4.1強化學習基礎4.1.2深度強化學習算法3.演員評論家方法優勢(1)通過使用評論家來估計價值函數,演員評論家方法有效地減少了策略梯度估計的方差,從而實現了更穩定的學習過程。(2)演員能夠自然處理連續動作空間,使得該算法在各種應用中都具有很強的適應性。(3)評論家的價值函數為演員提供了更為詳細的反饋信息,提高了樣本效率,較純策略梯度方法有更高的學習效率。4.演員評論家方法未解決問題

完成一個軌跡并利用他的數據進行更新后這個數據就沒有用處了需要丟掉,這嚴重浪費了探索過程中獲得的經驗。4.1強化學習基礎4.1.2深度強化學習算法4.近端策略優化方法近端策略優化算法(ProximalPolicyOptimizationAlgorithms,PPO)采取了許多方法來提高學習效率與穩定性。

4.1強化學習基礎4.1.2深度強化學習算法4.近端策略優化方法可以得到:

這樣不再需要完整的跑完整條軌跡后一起更新,可以隨時利用過去信息進行更新了。4.1強化學習基礎4.1.2深度強化學習算法4.近端策略優化方法

4.1強化學習基礎4.1.2深度強化學習算法4.近端策略優化方法

此外,為了梯度更新的穩定,PPO還對重要性權重進行了裁剪,即:

這進一步保證了梯度的穩定更新。4.2機器人的強化學習控制框架機器人控制當中需要控制算法時刻根據機器人自身所處狀態做出決策,控制機器人執行特定動作以完成預計任務。基于強化學習的機器人控制方法更關注于機器人與環境互動過程以及在這個工程中汲取知識的準確性與速度。無人車需要當前路況決定油門與方向盤控制指令,機械臂需要根據工況控制關節完成對目標物體的各種操作,人形機器人需要通過各類本體與外部感受器在同時維持自身姿態的情況下控制各類執行器完成指定任務。4.2機器人的強化學習控制框架圖4-3深度強化學習的運動控制算法框架典型人形機器人基于深度強化學習的運動控制算法框架如圖4-3所示。4.3人形機器人運動控制算法設計4.3.1基礎強化學習任務示例強化學習開源工具包——OpenAIGymOpenAIGym是由OpenAI于2016年發布的一個用于開發和比較強化學習算法的開源工具包。其背景源于對標準化和易用強化學習任務的需求,旨在為研究者和開發者提供一個統一的平臺,以便在不同算法和任務之間進行公平的比較和測試。自發布以來,Gym迅速發展,不斷增加新的任務和功能,支持從經典控制問題到復雜的機器人模擬任務。它已經成為強化學習研究和應用的標準工具,廣泛應用于學術研究、工業實踐和教育培訓中,通過其標準化接口和多樣化的任務,大大簡化了算法開發、調試和評估的過程。OpenAIGym包含了多種不同類型的任務,這些任務被分為多個類別,包括經典控制、算法和數據結構、對弈游戲與視頻游戲等,還可以與MuJoCo等仿真環境共同構建更復雜的任務類型。4.3人形機器人運動控制算法設計4.3.1基礎強化學習任務示例CartPole任務圖4-4gym倒立擺示意圖在OpenAIGym中,CartPole任務是小車倒立擺任務的具體實現之一,它模擬了一個簡單的倒立擺系統。CartPole任務由一個質點小車和一個連接在小車上的擺桿組成。小車可以在一維水平軌道上左右移動,而擺桿可以繞小車的連接點自由旋轉。任務的目標是通過施加水平力(向左或向右),使擺桿保持直立,并且小車不脫離軌道。4.3人形機器人運動控制算法設計4.3.1基礎強化學習任務示例CartPole任務圖4-4gym倒立擺示意圖任務的狀態空間由以下四個變量組成:小車的位置:小車在水平軌道上的位置。小車的速度:小車在水平軌道上的速度。擺桿的角度:擺桿相對于垂直方向的角度。擺桿的角速度:擺桿繞連接點的旋轉速度。任務的動作空間是離散的,有兩個可能的動作:向左施加力:向小車施加一個固定的左向力。向右施加力:向小車施加一個固定的右向力。4.3人形機器人運動控制算法設計4.3.1基礎強化學習任務示例CartPole任務圖4-4gym倒立擺示意圖任務的獎勵函數表示為:在每一個時間步,如果擺桿仍然保持直立且小車沒有脫離軌道,環境會給予一個獎勵值1。任務的目標是最大化累積獎勵,即在盡可能多的時間步內保持擺桿的直立狀態。任務的終止條件為以下三種情況:擺桿角度超過一定閾值:如果擺桿的角度超過±12度,任務終止。小車位置超過一定閾值:如果小車的位置超過軌道邊界(±2.4單位),任務終止。若小車倒立擺沒有發生任何一種以上情況,達到200時間步后任務也會終止。4.3人形機器人運動控制算法設計4.3.1基礎強化學習任務示例CartPole任務

因此,對應小車倒立擺任務中,狀態值s為一個四元浮點向量,包含了狀態空間的四個浮點變量。動作a為一元整形數據,環境根據其為0或1選取動作。獎勵值為存活時間步,存活時間越長,獎勵值越多。而任務的終止條件為小車跑遠或倒立擺傾覆,此外考慮到數據多樣性與操作可行性的需求,任務時長過長也會觸發任務終止,將任務終止標志位設為真并重置任務環境。將以上數據傳入深度強化學習訓練框架中即可完成小車倒立擺任務的訓練,智能體能夠逐漸學習到如何控制小車運動,以保持擺桿直立,從而實現優化的控制策略。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計

基礎的深度強化學習算法可以將傳感器原始數據直接作為狀態觀察值輸入網絡,經網絡處理后輸出下一步指令動作。但在實際操作過程中,該方法往往無法完成訓練任務。

原因之一在于多種傳感器傳回數據信號幅值不同,不同任務之間信號敏感區間也不同,所以首先需要處理的就是對狀態觀測值進行歸一化處理。目的在于將所需處理的信號統一到同一數據范圍內,便于后期采用同樣數據處理手段處理。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計數據歸一化方法(1)最小值最大值歸一化

4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計數據歸一化方法(2)平均值歸一化

4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計數據歸一化方法(3)Z歸一化

4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計數據歸一化方法(4)對數歸一化

(5)反正切函數歸一化

歸一化后的數據范圍為[-1,1]。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計數據歸一化方法(6)小數定標標準化

4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計數據歸一化方法適用條件

(1)最小最大值歸一化和平均值歸一化適合在最大最小值明確不變的情況下使用。

(2)Z歸一化處理后的數據呈均值為0,標準差為1的分布。在數據存在異常值、最大最小值不固定的情況下,可以使用Z標準化。(3)非線性歸一化通常被用在數據分化程度較大的場景,有時需要通過一些數學函數對原始值進行映射,如對數、反正切等。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計人形機器人關節信息歸一化

對于關節信息來說,通常機器人生產完成后關節角度上下限就已確定,而關節角速度由于物理條件的限制也是上下限確定的,所以通常情況下對于盲眼運動來說,數據歸一化方法為對傳感器數據進行上下限截斷后,使用最小最大值歸一化。

接入攝像頭等其他外部傳感器或更換任務類型后,多種數據類型不同,數據歸一化方法往往根據實際數據特征進行調整,但往往都會將數據變化最為明顯,影響最大的部分歸一化為(-1,1)或(0,1)的范圍。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計狀態觀察值設計與網絡結構圖4-6標準觀察值輸入圖示

總之,需要使控制算法所需的信息盡可能的直觀且提高其差異度,這有助于深度強化學習網絡提取關鍵信息,以便將更多地算力集中于生成理想的控制指令而不是用于信息提取。一種典型的狀態觀察值設計與網絡結構如圖4-6所示。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計人形機器人關節信息數據歸一化圖4-5關節殘差圖示殘差命令、殘差響應1與殘差響應2分別表示關節命令、關節響應1與關節響應2對關節命令作差的數值,雖然在原始關節命令與關節響應的情境下神經網絡輸入可以說隱含的包含了殘差響應,但通過圖4-5可以看出,將關節響應轉化為殘差響應可以在多種信號中顯著提高響應1與響應2之間的差別,這有利于將更具有代表性的信息傳遞給神經網絡,提高神經網絡學習效率,降低其學習難度。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計

將關節響應轉化為殘差輸入并非是必須的,只要可以將神經網絡所需的信息傳遞給神經網絡學習理論上即可完成訓練,但考慮到訓練時間、現實條件等約束,探索原始信號的各類變換形式,尋找神經網絡更易接受的信號特征仍然是必要的。

對于圖像、點云等高維度信息,使用全連接網絡往往難以完全發揮深度神經網絡的作用。而卷積神經網絡能夠有效的將大數據量的圖片降維成小數據量,可以有效的保留圖片特征,符合圖片處理的原則。并且今年來的研究表明,在涉及圖像處理的應用場合,卷積神經網絡模型能夠帶來出色結果和超高計算效率。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計一種典型的帶有卷積神經網絡的狀態觀察值設計與網絡結構全連接網絡卷積神經網絡傳感器標量信號其他有效信息地表高程信息圖4-7圖像觀察值輸入圖示

雖然卷積神經網絡模型并不是適合此領域的唯一深度學習模型,但這是大家共同的選擇。因此在涉及到圖像或類似數據結構時,往往使用卷積神經網絡進行圖像特征提取,再將提取到的已降維特征連接基礎狀態觀察值送入全連接神經網絡進行推理。一種典型的帶有卷積神經網絡的狀態觀察值設計與網絡結構如圖4-7所示:4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計分階段訓練算法圖4-8兩階段訓練圖示在第一階段,使用仿真器中能夠獲得完美真實信息訓練一個老師策略。由于該策略在使用完美信息的情況下進行訓練,故而能夠在很快的時間內達到一個很好的水平。然而,該策略并不能用于真實環境,原因是真實環境下無法獲得這些完美真實信息。這些完美真實信息包括了四足周圍的地面高度圖,接觸信息和四足本體信息。老師策略使用正常強化學習算法進行訓練。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計分階段訓練算法圖4-8兩階段訓練圖示在第二階段,使用老師策略訓練一個學生策略,其中學生策略只能獲得四足在實際中使用的本體信息。在相同狀態下,學生策略使用本體信息作為輸入,而對應的老師策略使用完美真實作為輸入;學生策略的損失函數設定為模仿老師策略的動作,使用監督學習的方法進行訓練。學生策略可使用時序卷積網絡或其他包含時間信息的深度神經網絡。利用這些網絡來對歷史信息進行處理,可以獲得更長時間的歷史信息。并從歷史信息中推斷接觸與滑動的有關信息。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計對于難以測定或時刻變化的物理參數,可以采用域隨機化或添加隨機噪聲的方式提高策略的魯棒性,但這類方法嚴重降低了算法的學習效率,提高了學習難度,很多時候導致學習無法完成。在這種情況下對其進行編碼也是一種解決方案。4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計直接對具體物理參數進行編碼的算法圖4-9知識蒸餾圖示

其中一部分算法可由基本策略模塊和自適應模塊組成,基本策略是在RL模擬中學習的,使用不同環境的信息(例如摩擦量以及有效載荷的重量和形狀)鼓勵機器人學習在不同條件下的正確控制,編碼器將這些變量的信息編碼為隱變量。總的來說,基本策略模塊探測環境,并實際控制機器人的步態。自適應模塊負責分析基本策略給的數據,并加以分析,然后告訴基本模塊如何調整步態。

兩者協同工作以便在多樣化的環境中實現實時適應。網絡結構如圖4-9所示4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計也有部分算法結合機器人自身結構,構建軌跡生成器約束機器人底層運動,這些方法構建分層運動控制框架,利用底層非學習方法將機器人運動約束到一定范圍內,高層學習算法對底層策略進行控制而非直接生成具體動作,因此此類方法往往無需獲取完整的傳感器及時信息或完整的動作過程,僅需要用于判斷底層控制策略執行狀態的融合信息,如控制周期內的軌跡誤差和、底層策略關鍵參數、穩定裕度等。結合機器人自身結構,構建軌跡生成器約束機器人底層運動算法4.3人形機器人運動控制算法設計4.3.2人形機器人觀察值空間設計結合機器人自身結構,構建軌跡生成器約束機器人底層運動算法這些信息可用于檢測機器人運動的整體狀態而非瞬時狀態,因此控制頻率較底層算法往往更低,更加節約計算資源。典型網絡結構如圖4-10所示:圖4-10軌跡生成器圖示4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計現有人形機器人多使用旋轉關節作為關節類型,基于深度強化學習算法的人形機器人控制目前也僅在電機驅動的人形機器人平臺上進行了驗證,因此本節動作值空間設計將以電驅的旋轉關節人形機器人為例介紹幾種常見的動作值空間設計方法。4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計伺服電機驅動方式位置控制速度控制力矩控制控制電機的角度(位置)角速度電機力矩目前市場上常見的伺服電機都提供多種驅動方式,較為常見的方式主要為位置控、速度控制與力矩控制。由于機器人的物理結構限制,運動過程中各關節往往都在一個固定區間內往返運動,因此速度控制很少被使用以完成人形機器人運動控制。由于機器人物理結構固定,電機選型確定,關節角度區間與電機力矩上下限也是確定的。考慮到深度神經網絡輸出層輸出往往區間為(-1,1),對應實際控制指令還要經過對應的數據處理以實現真實控制,這些限位數據可以用于動作空間輸出的數據轉換。4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計伺服電機驅動方式表4-1典型機器人關節限位與電機力矩上下限關節名稱限位角度限位力矩右腿偏航關節-0.43~+0.43

rad-200~+200

Nm右腿滾動關節-0.43~+0.43

rad-200~+200

Nm………………左手肘關節-1.25~+2.61

rad-40~+40

Nm基礎端到端的強化學習機器人運動控制方法神經網絡輸出可經數據變換后直接控制機器人電機。表4-1為一種典型機器人關節限位與電機力矩上下限。4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計伺服電機驅動方式與觀察值空間數據歸一化類似,動作值空間需進行“逆歸一化”,考慮到角度與力矩上下限確定,故常常采用最小最大值歸一化的方法進行逆操作,即:處理后的數據可直接發給下級驅動器也可以繼續進行后續處理。在端到端的強化學習機器人控制中,網絡輸出可直接輸出給電機作為指令,典型網絡結構如圖4-11所示:圖4-11直接網絡輸出圖示

4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計PD控制算法

盡管時常使用角度、力矩等作為神經網絡的輸出,但電機實際上以電流作為最終的驅動方式。市場上現有的伺服電機均有配套控制算法,電流與力矩之間的映射往往較為精準,但位置控制與電流之間的轉換往往并不統一,在應用于人形機器人學習控制時,需要進一步處理。但其優勢在于在訓練的初期,如果指令是一個恒定的關節角度,機器人不容易傾覆;反之,如果指令是一個恒定的力矩,那么機器人很容易不平衡。較為常見的方式有利用PD控制器將位置指令轉化為力矩指令,公式為:

4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計PD控制算法圖4-12震蕩曲線圖示

4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計增量式位置控制模式圖4-13增量式網絡圖示神經網絡輸出并不直接作為電機指令使用,而是與電機目標角度疊加作為新的電機驅動指令。這種方法很多時候可以加快學習速度并使電機指令更為平滑,因為通常增量式的強化學習算法輸出的指令范圍相對要小很多,與目標角度疊加后的數值相比于在整個關節限位空間內輸出目標角度來說,波動要小得多,這對部署更加友好也降低了實際機器人的機械磨損。4.3人形機器人運動控制算法設計4.3.3人形機器人動作值空間設計軌跡生成器圖4-14策略優化軌跡生成器圖示部分利用軌跡生成器的算法除輸出關節最終位置外,還會輸出特殊指令用于調節軌跡的頻率、幅值、步高等軌跡參數,也可以直接調控關節角度,典型控制結構如圖4-14所示:4.3人形機器人運動控制算法設計4.3.4人形機器人獎勵值設計獎勵值設計

強化學習的獎勵值設計一直是整個強化學習運動控制算法的重點與難點。作為描述整個策略優劣與計算神經網絡梯度最為重要的數據,強化學習算法獎勵值的設定直接影響到算法的學習成功率以及最終習得策略的表現好壞。最基礎的獎勵設置方法是為一個任務設計一個最終獎勵。在機器人完成任務后獲取這份總獎勵,在任務執行過程中不獲得獎勵。這樣雖然可以在理論上通過q值不斷衰減獲取每個時間步的q值,但實際任務當中,這種方案無法使機器人習得一個復雜的任務。通過設計合理的獎勵形式,對整個任務執行過程中的狀態進行獎勵設計是一種非常常見的方式,在這個過程中,可以對機器人的姿態、速度、關節角度、步高、步頻以及其他可以在任務過程當中評價任務完成情況或效果好壞的指標進行評價。4.3人形機器人運動控制算法設計4.3.4人形機器人獎勵值設計獎勵值設計-常見任務指標函數

(2)指數函數:其中尤以自然指數函數使用最為廣泛(3)反三角函數如反正切函數等。(4)此外還有其他許多獎勵函數類型讀者可根據需求設計。4.3人形機器人運動控制算法設計4.3.5人形機器人重置方法對于循環技能,任務可以建模為無限長度馬爾科夫決策過程。但在訓練過程中,每周期都是在有限的范圍內模擬的。任務往往在一段固定的時間后終止,或者當某些終止條件被觸發時終止。對于運動控制任務,提前終止的常見條件有檢測到跌倒、傾覆以及自碰撞。跌倒的特征通常是機器人的軀干或四肢(不包括足底)與地面接觸。傾覆的特征則是身體姿態發生不合預期的巨大變化或某些連桿低于高度閾值。自碰撞則是防止機器人在自由探索過程中四肢打結卡死無法繼續學習,其特征往往是預期任務中不會接觸的兩個或多個連桿間發生了碰撞。4.3人形機器人運動控制算法設計4.3.5人形機器人重置方法運動控制任務提前終止的常見條件圖4-18常見機器人終止條件示例a)兩上臂自碰撞場景b)機器人傾覆場景c)機器人跌倒行為4.3人形機器人運動控制算法設計4.3.5人形機器人重置方法對于許多強化學習任務,固定的初始狀態可能更方便,因為初始化機器人使其獲得有價值的初始狀態分布往往十分具有挑戰性。然而,對于運動模仿任務,參考運動提供了豐富且信息豐富的狀態分布,可以用來指導智能體在訓練過程中。在每一集的開始,一個狀態可以從參考運動中采樣,并用于初始化機器人的狀態。此策略被稱為引用狀態初始化。類似的策略以前被用于平面雙足行走和操縱。通過從參考運動中采樣初始狀態,可以使策略在達到理想狀態所需的熟練程度之前就能遇到這些狀態。4.3人形機器人運動控制算法設計4.3.5人形機器人重置方法學習后空翻的任務圖4-19重置參考動作圖示

在固定的初始狀態下,為了讓角色發現在半空中執行完整的旋轉將獲取高獎勵,它必須首先學會完成協調的跳躍動作。然而,為了激勵機器人執行這種跳躍,它必須意識到跳躍將獲取更高的獎勵。但由于運動對起飛時的初始條件高度敏感,許多策略都會導致失敗。因此,智能體不太可能遇到成功置空的狀態,也永遠不會發現動作可以獲得高的獎勵狀態。對于引用狀態初始化,智能體在訓練的早期階段就會立即遇到這種有希望的狀態。部分動作如圖4-19所示:4.4

動力學仿真配置與優化4.4.1機器人參數設置使用深度強化學習方法需要機器人在仿真環境中與環境不停地進行互動。由于基于深度強化學習的機器人控制多集中于運動控制策略,仿真環境在訓練過程中往往也更為關注機器人的物理與碰撞屬性,因此可靠的物理屬性與碰撞邊界是強化學習訓練過程不可缺少的。但精準的碰撞邊界會大幅增加仿真器的計算難度并提高訓練時間,因此如何平衡學習過程中的訓練效率與模型的精準度是需要格外關注的。4.4

動力學仿真配置與優化4.4.1機器人參數設置以某人型機器人為例,簡化前與簡化后的機器人如圖4-20所示(機器人視覺特征與碰撞屬性一致):a)機器人未簡化模型b)機器人簡化模型圖4-20機器人視覺屬性圖示

可以看到,使用精準視覺貼圖的機器人模型更為真實,其細節、文理更為豐富。而經簡化的機器人模型看上去較為怪異,連桿與連桿之間甚至會出現空隙。雖然機器人模型簡化方式并不統一,但除特定任務需求外,對于機器人碰撞模型通常不要求所有連桿組成的模型沒有空隙,在對學習后的效果沒有影響的情況下,碰撞模型往往是越簡潔越好,這樣仿真器模擬的難度更低,效率更高。碰撞屬性設置4.4

動力學仿真配置與優化4.4.1機器人參數設置

機器人關節的物理屬性往往選取目標機器人之后采集實際中的關節響應數據進行對比,通過在仿真中與現實中發出相同的控制指令,對比仿真中的指令響應曲線與現實中的指令響應曲線區別,估計實際機器人關節的物理屬性。實際操作中,往往采取階躍脈沖響應,正、余弦信號相應,以及一些特殊任務需求的一些軌跡作為參考指令,以下以某人型機器人為例,圖4-21展示了其中一些典型信號在PD控制器下的響應曲線。物理屬性設置圖4-21典型信號響應4.4

動力學仿真配置與優化4.4.1機器人參數設置物理屬性設置

關節阻尼往往影響關節的動態響應速度,關節阻尼過大或過小時往往會影響關節響應速度與滯后相位,圖4-22為一些關節阻尼設置不合理的軌跡曲線。

關節阻尼過大往往會導致響應速度慢、超調低或欠調等現象,與之相反的是若關節阻尼過小則容易出現巨大的超調以及震蕩等現象。圖4-22不合理阻尼時信號響應4.4

動力學仿真配置與優化4.4.1機器人參數設置物理屬性設置

靜摩擦力除影響關節動態響應外,還會影響關節響應的穩態誤差,圖4-23為關節靜摩擦力差別過大的軌跡曲線。

可以看到,靜摩擦力直接影響了關節響應的穩態誤差。在不考慮重力的情況下,關節穩態誤差幾乎正比于關節靜摩擦力。圖4-23靜摩擦力影響圖示4.4

動力學仿真配置與優化4.4.1環境參數隨機化通過對現實中的機器人進行建模,再在仿真環境中進行訓練可以有效學習到機器人在現實世界集中所需的各類技能,但由于現實中的傳感器噪聲,環境的變化以及許多機器人參數的誤差導致了仿真中訓練的各種策略難以直接部署在現實環境中應用。為此需要提高策略的魯棒性以應對這類問題。最為常見的解決方法為環境參數的隨機化,其中包含了機器人物理參數的域隨機化,還有傳感器參數、外界干擾以及外界環境的隨機化模擬。4.4

動力學仿真配置與優化4.4.1環境參數隨機化

通過訓練策略以適應環境動態中的可變性,所得到的策略可能會更好地推廣到現實世界的動態中。4.4

動力學仿真配置與優化4.4.1環境參數隨機化

4.4

動力學仿真配置與優化4.4.1環境參數隨機化

域隨機化的方法主要在于擴大策略的適應范圍,提高其策略魯棒性,當現實環境參數范圍能夠被域隨機化的范圍覆蓋時,在仿真中訓練的策略就理論上可以直接在現實中進行部署,域隨機化的示意圖4-24所示:圖4-24域隨機化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論