一種面向動態環境的機器人尋徑在線控制方法
【專利摘要】本發明公開了一種面向動態環境的機器人尋徑在線控制方法,包括:1)環境和參數初始化;2)由機器人的基本動作集合和抽象動作集合構成機器人的可選動作,初始化所有的狀態?動作的評估值;所述抽象動作集合中的每個抽象動作為可中斷的抽象動作;3)生成隨機障礙物;4)通過動作選擇模塊及更新模塊選擇動作并對狀態?動作的評估值更新;5)若到達終點狀態,轉向步驟6),否則進行步驟4);6)滿足條件時結束本次任務,否則轉向步驟3)。本發明通過引入中斷機制,能夠在線控制機器人使其能夠將抽象動作應用到動態不確定的環境中,靈活應對動態環境,從而使得機器人能夠解決復雜、動態環境下的任務,在提高效率的同時拓展應用環境。
【專利說明】
一種面向動態環境的機器人尋徑在線控制方法
技術領域
[0001] 本發明涉及一種機器人尋徑在線控制方法,屬于機器學習領域,具體涉及一種面 向動態環境的可中斷抽象動作的機器人尋徑在線控制方法。
【背景技術】
[0002] 隨著機器人應用領域的不斷拓展,機器人所面臨的任務越來越復雜。盡管很多算 法能夠對機器人可能執行的行為進行預先設計和編程,但是當面臨復雜的任務,以及機器 人所要面對的環境無法完全探測并且會動態發生變化時,存在各種不確定性。設計人員往 往不能事先對動態變化的環境做出有效預測,從而無法根據環境的實際情況合理地控制機 器人的動作和行為。因此,設計一種能夠根據環境的動態變化而調整機器人控制,繼而完成 復雜的任務的方法及裝置顯得尤為重要。
[0003] 以路徑規劃和學習為代表的強化學習 (Reinforcement Learning)采用不斷試錯 式的學習方式以獲取最優的行為策略,目前已經產生的眾多強化學習方法在機器人行為學 習方面表現出了良好的學習性能。然而,在解決大數據大規模問題時,傳統的強化學習方法 性能會急劇下降,因為強化學習是通過機器人不斷地與環境交互來進行學習,所以當問題 規模擴大時,算法的復雜度會急劇上升,機器人就需要大量的時間和經驗來與環境進行交 互以獲得好的策略。
[0004] 包括分層強化學習、核方法和函數近似等方法在內的很多方法可以用來解決數據 規模大這一難題。在其中,分層強化學習的方法是一種重要的常用方法。不同于核方法和函 數逼近器,分層強化學習能將充分利用機器人之前學習到的經驗,用來解決某一個問題域 中的所有或部分任務集合。對這些經驗以時間抽象是分層強化學習中的一類重要的方法, 利用時間抽象,機器人可以關注更高層策略的選擇,從而減少選擇行為所需的時間。
[0005] 基于時間抽象的分層強化學習近些年也產生了很多高性能的算法,經典的學習算 法如Macro-QJacro-Q算法能夠讓機器人利用給定的抽象動作來進行高效的學習,從本質 上改善了傳統Q學習的性能。
[0006] 時間抽象是指將若干個動作封閉在一起,視為單個抽象動作。一個抽象動作通常 需要幾個時間步來完成。由于時間抽象的定義限制,使得抽象動作在被機器人采用時,不能 夠在執行抽象動作的中途再執行其他動作,這個定義大大的局限了抽象動作的應用環境, 尤其是機器人執行任務的環境為一個動態變化的環境時,Macro-Q學習將變得效率低下。
【發明內容】
[0007] 本發明的發明目的是提供一種面向動態環境的機器人尋徑在線控制方法,能夠在 線地控制機器人使其能夠將抽象動作應用到動態不確定的環境中,靈活應對動態環境,從 而使得機器人能夠解決復雜、動態環境下的任務,在提高效率的同時拓展應用環境。
[0008] 為達到上述發明目的,本發明采用的技術方案是:一種面向動態環境的機器人尋 徑在線控制方法,包括以下步驟: 1) 環境和參數初始化:設定機器人的運行環境、機器人到達目標的獎賞值以及用于更 新值的步長參數、折扣因子參數; 2) 設計預先給定的抽象動作集合,由機器人的基本動作集合和所述抽象動作集合構成 機器人的可選動作,同時初始化所有的狀態-動作的評估值; 3) 生成隨機障礙物; 4) 通過動作選擇模塊及更新模塊指導機器人選擇動作并對狀態-動作的評估值更新; 當動作選擇模塊處理的動作為抽象動作時,引入中斷機制,通過對完成抽象動作和中斷抽 象動作選擇新的動作這兩種方法的結果進行比較,確定是否執行中斷; 5) 若本次動作到達終點狀態,轉向步驟6),否則繼續進行步驟4); 6) 若滿足任務結束條件,結束本次任務,否則轉向步驟3)。
[0009] 上述技術方案中,步驟1)中所述運行環境包括環境的邊界、任務的起點位置、終點 位置、環境中固定的障礙物的位置,并將每一個位置看作一個狀態。
[0010] 步驟2)所述抽象動作集合中的每個抽象動作由以下三部分組成:初始狀態集、內 部策略和終止條件。
[0011] 步驟3)中,通過隨機生成障礙物模擬現實動態環境。
[0012] 步驟4)中所述動作選擇模塊中,具體處理方法包括以下步驟: ① 根據狀態-動作的評估值,采用ε -greedy動作選擇方法得到動作; ② 如果得到的動作是抽象動作,則轉向步驟③,否則轉向步驟④; ③ 比較按照抽象動作執行得到的狀態-動作的評估值和中斷抽象動作選擇新的動作得 到的狀態值函數,若后者結果更優,則進入步驟⑤,否則執行步驟⑥; ④ 直接采取動作,并進入步驟⑤; ⑤ 記錄得到的獎賞以及下一個狀態-動作的評估值,采用更新模塊更新評估值; ⑥ 若滿足抽象動作的結束條件,轉向步驟⑤,若不滿足抽象動作的結束條件,則繼續執 行該抽象動作,轉向步驟③。
[0013] 所述更新模塊的具體處理方法包括以下步驟: (1) 根據動作選擇模塊,獲得機器人在狀態St處執行了動作〇得到的獎賞值貧,以及下 一個狀態-動作的評估值; (2) 更新上一個狀態-動作的評估值,其更新公式為式(1)和(2); δ = ·γ4 -f s"}-$f5£,〇): ( 1 ) 式中,y為折扣因子,k表示動作o執行完畢所需要的時間,mas。. 表示在狀態 處所有的狀態-動作值中取最大的值,S表示機器人采取了動作〇之后計算得到 的評估值增量; Q<5-r.〇} Q<5-r.〇} -i- (2) 式中,α表示步長參數,表示在狀態St處采取動作〇得到的評估值。
[0014] 優選的技術方案,步驟③中,按照抽象動作執行得到的狀態-動作的評估值為 中斷抽象動作選擇新的動作得到的狀態值函數為: Mi (3) 其中Ιφ?.表示機器人在狀態S處選擇抽象動作〇'的概率,獄表示在狀態S處選擇 抽象動作〇'后得到的評估值; 如果VM? 妁,則中斷抽象動作選擇新的動作結果更優。
[0015] 由于上述技術方案運用,本發明與現有技術相比具有下列優點: 本發明突破了傳統概念中時間抽象將若干個動作封閉在一起,視為單個抽象動作的概 念限制,創造性地在抽象動作中引入了中斷機制,克服了現有技術的偏見,具備創造性。
[0016] 本發明基于動態環境下機器人尋徑在線控制方法,通過引入中斷機制,能夠在線 控制機器人,使其能夠將抽象動作應用到動態不確定的環境中,靈活應對動態環境,從而使 得機器人能夠解決復雜、動態環境下的任務,在提高效率的同時拓展應用環境。
【附圖說明】
[0017] 圖1為本發明實施例中基于動態環境下機器人尋徑在線控制方法的總流程圖; 圖2為實施例中動作選擇模塊的流程圖; 圖3為實施例中更新模塊的流程圖; 圖4為基于動態環境下機器人尋徑在線控制裝置的示意圖。
【具體實施方式】
[0018] 下面結合附圖及實施例對本發明作進一步描述: 實施例:參照圖1所示,一種面向動態環境的可中斷抽象動作的機器人尋徑在線控制方 法,具體包括以下步驟: 1) 環境和參數初始化:設定機器人的運行環境、機器人到達目標的獎賞值以及用于更 新值的步長參數、折扣因子參數,其中運行環境包括環境的邊界、任務的起點位置、終點位 置、環境中固定的障礙物的位置,并將每一個位置看作一個狀態; 2) 設計預先給定的抽象動作集合,將該抽象動作集合加入到機器人的可選動作中,同 時初始化所有的狀態-動作的評估值〇〗,其中抽象動作集合中的每個抽象動作由以下三 部分組成:初始狀態集,內部策略和終止條件; 3 )隨機生成一定數量的障礙物用來模擬動態環境,障礙物的總數量 __〖?轉扣_辨__,其中表示固定障礙物的數量,|_丨|_^ 表示隨機生成的障礙物的數量; 4) 通過動作選擇模塊及更新模塊指導機器人選擇動作并對狀態-動作的評估值 更新; 5) 若本次動作到達終點狀態,轉向步驟6),否則繼續轉向步驟4); 6) 若滿足任務結束條件,結束本次任務,否則轉向步驟3)。
[0019] 本發明中的動作與傳統的動作不一樣的是,除了抽象動作,還有基本動作,當機器 人選擇到的動作是基本動作時,便會按照選擇的動作去執行;當機器人選擇到的動作是抽 象動作時,便會按照選擇到的抽象動作去執行,抽象動作是基本動作按照一定順序組成的 序列,一般來說,抽象動作都不能在一個時間步(time step)內完成(time step是機器人采 取一個基本動作所花費的時間),而基本動作一般都可以在一個time step內完成;參照圖2 所示,步驟4)中動作選擇模塊的具體處理方法包括以下步驟: 1) 根據狀態-動作的評估值j,采用ε - grssd.y動作選擇方法得到動作; 2) 如果得到的動作是抽象動作,則轉向步驟3),否則轉向步驟4); 3) 比較按照抽象動作執行得到的狀態-動作的評估值Q!Xe)和中斷抽象動作選擇新的 抽象動作得到的狀態值函數V(sD,若滿足fC#,___,進入步驟5),否則執行步驟6),其中 狀態值函數戰輯如下所示: _祿.:=?擔⑶ 其中樣表示機器人在狀態S選擇抽象動作故的概率,?表示在狀態S處選擇動 作故后得到的評估值; 4) 直接采取動作,并進入步驟5); 5) 記錄得到的獎賞以及下一個狀態-動作的評估值,進入評估值更新模塊; 6) 若滿足抽象動作的結束條件,轉向步驟5),若不滿足抽象動作的結束條件,則繼續執 行該抽象動作,轉向步驟3)。
[0020] 參照圖3所示,本發明步驟4)中更新模塊的具體處理方法包括以下步驟: 1) 由動作選擇模塊得到獎賞值以及下一個狀態-動作的評估值; 2) 根據數據按照公式1和公式2來更新上一個狀態-動作的評估值Q(s.e),其更新公式 如下;
其中植表示機器人在狀態爲處執行了動作?得到的獎賞,?表示折扣因子,k表示動作〇 執行完畢所需要的時間,表示在狀態%*處所有的狀態-動作值靡的中取 最大的值,S表示機器人采取了動作孩之后計算得到的評估值增量; Ο/?μ、)-_μ、) +涵⑵ 其中§表示步長參數,:鱗式:.樣表示在狀態~處采取動作0得到的評估值。
[0021] 按照本發明方法來進行狀態-動作的評估值的初始化,參數的設定,評估值的更新 以及動作選擇,機器人便可高效的利用抽象動作來尋徑,通過比較評估值靈活的改變抽象 動作的執行,能夠有效的解決抽象動作在動態環境下容易被阻塞而導致整個學習過程停滯 的后果,同時還能充分利用到使用抽象動作帶來的好處,加快機器人的學習效率。
【主權項】
1. 一種面向動態環境的機器人尋徑在線控制方法,其特征在于,包括以下步驟: 1) 環境和參數初始化:設定機器人的運行環境、機器人到達目標的獎賞值以及用于更 新值的步長參數、折扣因子參數; 2) 設計預先給定的抽象動作集合,由機器人的基本動作集合和所述抽象動作集合構成 機器人的可選動作,同時初始化所有的狀態-動作的評估值; 3) 生成隨機障礙物; 4) 通過動作選擇模塊及更新模塊指導機器人選擇動作并對狀態-動作的評估值更新; 當動作選擇模塊處理的動作為抽象動作時,引入中斷機制,通過對完成抽象動作和中斷抽 象動作選擇新的動作這兩種方法的結果進行比較,確定是否執行中斷; 5) 若本次動作到達終點狀態,轉向步驟6),否則繼續進行步驟4); 6 )若滿足任務結束條件,結束本次任務,否則轉向步驟3 )。2. 根據權利要求1所述的面向動態環境的機器人尋徑在線控制方法,其特征在于:步驟 1) 中所述運行環境包括環境的邊界、任務的起點位置、終點位置、環境中固定的障礙物的位 置,并將每一個位置看作一個狀態。3. 根據權利要求1所述的面向動態環境的機器人尋徑在線控制方法,其特征在于:步驟 2) 所述抽象動作集合中的每個抽象動作由以下三部分組成:初始狀態集、內部策略和終止 條件。4. 根據權利要求1所述的面向動態環境的機器人尋徑在線控制方法,其特征在于:步驟 4)中所述動作選擇模塊中,具體處理方法包括以下步驟: ① 根據狀態-動作的評估值,采用ε-greedy動作選擇方法得到動作; ② 如果得到的動作是抽象動作,則轉向步驟③,否則轉向步驟④; ③ 比較按照抽象動作執行得到的狀態-動作的評估值和中斷抽象動作選擇新的動作得 到的狀態值函數,若后者結果更優,則進入步驟⑤,否則執行步驟⑥; ④ 直接采取動作,并進入步驟⑤; ⑤ 記錄得到的獎賞以及下一個狀態-動作的評估值,采用更新模塊更新評估值; ⑥ 若滿足抽象動作的結束條件,轉向步驟⑤,若不滿足抽象動作的結束條件,則繼續執 行該抽象動作,轉向步驟③。5. 根據權利要求1或4所述的面向動態環境的機器人尋徑在線控制方法,其特征在于: 所述更新模塊的具體處理方法包括以下步驟: (1) 根據動作選擇模塊,獲得機器人在狀態st處執行了動作〇得到的獎賞值_,以及下一 個狀態-動作的評估值; (2) 更新上一個狀態-動作的評估值,其更新公式為式(1)和(2); ::在奸禮..一 幾(1) 式中J為折扣因子,k表示動作〇執行完畢所需要的時間,輯?表示在狀態― 處所有的狀態-動作值中取最大的值,δ表示機器人采取了動作〇之后計算得到的 評估值增量; :?? :?? + :0: (2 ) 式中,α表示步長參數,0(^4表示在狀態St處采取動作〇得到的評估值。6.根據權利要求4所述的面向動態環境的機器人尋徑在線控制方法,其特征在于:步驟 ③中,按照抽象動作執行得到的狀態-動作的評估值為QG 中斷抽象動作選擇新的動作得到的狀態值函數為: Η 參¥ Φ 鴻獅(3) 其中_5;4^表示機器人在狀態S處選擇抽象動作〇'的概率,的表示在狀態S處選擇 抽象動作〇'后得到的評估值; 如果¥4) >講?),則中斷抽象動作選擇新的動作結果更優。
【文檔編號】G05D1/12GK105867427SQ201610238109
【公開日】2016年8月17日
【申請日】2016年4月18日
【發明人】朱斐, 伏玉琛, 劉全, 陳冬火, 黃蔚
【申請人】蘇州大學