專利名稱:移動機器人路徑規(guī)劃q學習初始化方法
技術(shù)領(lǐng)域:
本發(fā)明屬于機器學習技術(shù)領(lǐng)域,尤其涉及一種移動機器人路徑規(guī)劃Q學習初始化方法。
背景技術(shù):
隨著機器人應(yīng)用領(lǐng)域的不斷拓展,機器人所面臨的任務(wù)也越來越復雜,盡管很多情況下研究人員可以對機器人可能執(zhí)行的重復行為進行預(yù)編程,但為實現(xiàn)整體的期望行為而進行行為設(shè)計變得越來越困難,設(shè)計人員往往不可能事先對機器人的所有行為做出合理的預(yù)測。因此,能夠感知環(huán)境的自治機器人必須能夠通過與環(huán)境的交互在線學習獲得新的行為,使得機器人能夠根據(jù)特定的任務(wù)選擇能達到目標的最優(yōu)動作。 強化學習利用類似于人類思維中的試錯(trial-and-eiror)的方法來發(fā)現(xiàn)最優(yōu)行為策略,目前已經(jīng)在機器人行為學習方面展現(xiàn)出了良好的學習性能。Q學習算法是求解信息不完全Markov決策問題的一種強化學習方法,根據(jù)環(huán)境狀態(tài)和上一步學習獲得的立即回報,修改從狀態(tài)到動作的映射策略,以使行為從環(huán)境中獲得的累積回報值最大,從而獲得最優(yōu)行為策略。標準Q學習算法一般將Q值初始化為O或隨機數(shù),機器人沒有對環(huán)境的先驗知識,學習的初始階段只能隨機地選擇動作,因此,在復雜環(huán)境中算法收斂速度較慢。為了提高算法收斂速度,研究人員提出了許多改進Q學習的方法,提高算法學習效率,改善學習性能。通常情況下,加速Q(mào)學習收斂速度的方法主要包括兩個方面一種方法是設(shè)計合適的回報函數(shù),另一種方法是合理初始化Q函數(shù)。目前,研究人員已經(jīng)提出了許多改進的Q學習算法,使機器人在強化學習的過程中能夠獲得更加有效的回報,主要包括關(guān)聯(lián)Q學習算法、惰性Q學習算法、貝葉斯Q學習算法等。其主要目的就是將對于機器人有價值的隱含信息融入到回報函數(shù)中,從而加速算法收斂速度。關(guān)聯(lián)Q學習將當前回報與過去時刻的立即回報進行比較,選擇回報值更大的動作,通過關(guān)聯(lián)回報方法能夠改善系統(tǒng)的學習能力,減少獲得最優(yōu)值所需要的迭代步數(shù)。惰性Q學習的目標是提供一種預(yù)測狀態(tài)立即回報的方法,學習過程中利用信息延遲原則,在必要的情況下對新的目標進行預(yù)測,動作比較器檢查每一種情形的期望回報,然后選擇期望回報最大的動作執(zhí)行。貝葉斯Q學習利用概率分布描述機器人狀態(tài)-動作對Q值的不確定性估計,學習過程中需要考慮前一時刻Q值的分布,并利用機器人學習到的經(jīng)驗對先前的分布進行更新,利用貝葉斯變量表示當前狀態(tài)的最大累積回報,貝葉斯方法從本質(zhì)上改進了 Q學習的探索策略,改善了 Q學習的性能。由于標準強化學習中強化信號都是由狀態(tài)值函數(shù)計算得到的標量值,無法將人的知識形態(tài)和行為模式融入到學習系統(tǒng)中。而在機器人學習過程中,人往往具有相關(guān)領(lǐng)域的經(jīng)驗和知識,因此,在學習過程中將人的認知和智能以強化信號的形式反饋給機器人,能夠減小狀態(tài)空間維數(shù),加快算法收斂速度。針對標準強化學習在人機交互過程中存在的問題,Thomaz等在機器人強化學習過程中由人實時地給出外部強化信號,人根據(jù)自身經(jīng)驗調(diào)整訓練行為,引導機器人進行前瞻性探索。Arsenio提出了ー種對訓練數(shù)據(jù)進行在線、自動標注的學習策略,在人機交互過程中通過觸發(fā)特定的事件獲得訓練數(shù)據(jù),從而將施教者嵌入到強化學習的反饋回路。Mirza等提出了基于交互歷史的體系結(jié)構(gòu),機器人能夠利用與人進行社會性交互的歷史經(jīng)驗進行強化學習,使機器人能夠在與人進行的簡單游戲中逐漸獲得合適的行為。另ー種改善Q學習算法性能的方法就是將先驗知識融入到學習系統(tǒng)中,對Q值進行初始化。目前,對Q值進行初始化的方法主要包括近似函數(shù)法、模糊規(guī)則法、勢函數(shù)法等。近似函數(shù)法利用神經(jīng)網(wǎng)絡(luò)等智能系統(tǒng)逼近最優(yōu)值函數(shù),將先驗知識映射成為回報函數(shù)值,使機器人在整個狀態(tài)空間的子集上進行學習,從而能夠加快算法收斂速度。
模糊規(guī)則法根據(jù)初始環(huán)境信息建立模糊規(guī)則庫,然后利用模糊邏輯對Q值進行初始化。利用這種方法建立的模糊規(guī)則都是根據(jù)環(huán)境信息人為設(shè)定的,往往不能客觀地反映機器人的環(huán)境狀態(tài),造成算法不穩(wěn)定。勢函數(shù)法在整個狀態(tài)空間定義相應(yīng)的狀態(tài)勢函數(shù),每一點勢能值對應(yīng)于狀態(tài)空間中某一離散狀態(tài)值,然后利用狀態(tài)勢函數(shù)對Q值進行初始化,學習系統(tǒng)的Q值可以表示為初始值加上每次迭代的改變量。在機器人的各種行為當中,機器人必須遵守一系列的行為準則,機器人通過認知與交互作用涌現(xiàn)出相應(yīng)的行為與智能,機器人強化學習Q值初始化就是要將先驗知識映射成為相應(yīng)的機器人行為。因此,如何獲得先驗知識的規(guī)則化表達形式,特別是實現(xiàn)領(lǐng)域?qū)<业慕?jīng)驗與常識知識的機器推理,將人的認知和智能轉(zhuǎn)化為機器的計算和推理的人機智能融合技術(shù)是機器人行為學習急需解決的問題。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了解決上述問題,提供一種移動機器人路徑規(guī)劃Q學習初始化方法,該方法通過Q值初始化能夠?qū)⑾闰炛R融入到學習系統(tǒng)中,對機器人初始階段的學習進行優(yōu)化,從而為機器人提供一個較好的學習基礎(chǔ),具有能夠有效提高初始階段的學習效率、加快收斂速度的優(yōu)點。為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案一種移動機器人路徑規(guī)劃Q學習初始化方法,具體包括以下步驟步驟ー建立人工勢能場模型根據(jù)已知環(huán)境信息在機器人工作空間構(gòu)建人工勢能場,使得障礙物區(qū)域勢能值為零,目標點具有全局最大的勢能值,整個勢能場形成單調(diào)遞增的曲面,這時人工勢能場中每個狀態(tài)的勢能值就代表該狀態(tài)可獲得的最大累積回報;步驟ニ設(shè)計回報函數(shù);步驟三計算最大累積回報初始值將每個狀態(tài)的勢能值作為該狀態(tài)遵循最優(yōu)行為策略所能夠獲得的最大累積回報;步驟四Q值初始化將所有狀態(tài)-動作對的Q (s,a)初始值定義為當前狀態(tài)執(zhí)行選定的動作獲得的立即回報加上后繼狀態(tài)遵循最優(yōu)策略獲得的最大折算累積回報(最大累積回報乘以折算因子);
步驟五基于人工勢能場的移動機器人Q學習移動機器人在初始Q值的基礎(chǔ)上繼續(xù)在復雜環(huán)境中進行學習,通過Q值初始化能夠?qū)⑾闰炛R融入到學習系統(tǒng)中,對機器人初始階段的學習進行優(yōu)化,從而為機器人提供一個較好的學習基礎(chǔ)。所述步驟一中,人工勢能場法是由Khatib最先提出來的一種虛擬方法,最初只是為了解決機械手臂的避障問題,目前已成為應(yīng)用最為廣泛的機器人實時路徑規(guī)劃方法之一。其基本原理是將機器人的整個工作環(huán)境虛擬化為每一狀態(tài)點都具有相應(yīng)勢能的空間,目標點在全局環(huán)境產(chǎn)生引力勢場,障礙物在局部產(chǎn)生斥力場,利用疊加原理將引力場與斥力場疊加產(chǎn)生勢場中每個狀態(tài)的總場強。在人工勢場中機器人依靠斥力場進行避障,利用引力場趨向目標,使得機器人能夠從起始位置出發(fā),避開障礙物到達目標點。目前,大多采用庫倫定理創(chuàng)建人工勢能場計算模型,某一狀態(tài)的勢能大小反比于該狀態(tài)與障礙物或目標之間的距離;所述步驟二中,在學習過程中,機器人能夠在4個方向上移動,在任意狀態(tài)選擇上下左右4個動作,機器人根據(jù)當前狀態(tài)選擇動作,如果該動作使機器人到達目標則獲得的 立即回報為1,如果機器人與障礙物或其他機器人發(fā)生碰撞則獲得立即回報為-O. 2,如果機器人在自由空間移動則獲得的立即回報為-O. I ;所述步驟三中,根據(jù)已知環(huán)境信息構(gòu)造人工勢能場U',定義每個狀態(tài)的最大累積回報初始值Wlnit(Si)等于該狀態(tài)對應(yīng)點的勢能值Iu' I,其關(guān)系公式如下丨剛|’公式中,!U' (Si) I為狀態(tài)Si的勢能值,Vilnit(Si)為從狀態(tài)Si出發(fā)遵循最優(yōu)策略所能獲得的最大累積回報初始值;所述步驟四中,Q值初始化時,定義Q (Si, a)的初始值為在狀態(tài)Si下選擇動作a所獲得的立即回報r加上后繼狀態(tài)的最大折算累積回報Qhrir (s a) = r + yV^, (Sj)公式中,Sj為機器人在狀態(tài)Si下選擇動作a所產(chǎn)生的后繼狀態(tài),Qlnit (Si, a)為狀態(tài)-動作對(Si, a)的初始Q值;Y為折算因子,選擇Y =0. 95 ;所述步驟五的具體步驟為(a)利用構(gòu)造的人工勢能場U';(b)狀態(tài)Si獲得的最大累積回報的初始值定義為該狀態(tài)的勢能值,公式如下Ht/'Gv,) I(C)按照如下規(guī)則初始化Q值KspO) = r + yV*M,{sj),(d)觀察當前狀態(tài)St ;(e)繼續(xù)在復雜環(huán)境中探索,在當前狀態(tài)St下選擇一個動作at并執(zhí)行,環(huán)境狀態(tài)更新為新的狀態(tài)s, t,并接收立即回報rt;(f)觀察新狀態(tài)s' t ;(g)根據(jù)以下公式更新表項Q (st, at)值^ (s'· · )=(卜 α..)以 I (.、· ai) + a;' (廠.+arg i ax 0, , (s.. a,))
a f公式中,CitS學習率,取值范圍為(0,1),通常取值為0.5,并隨學習過程衰減;Qt_i (st, at)和 Qw (s' t,a' t)分別為狀態(tài) _動作對(st,at)和(s' t,a' t)在 t_l時刻的取值,a',為在新狀態(tài)s' t下選擇的動作;(h)判斷機器人是否已經(jīng)到達目標或者學習系統(tǒng)已經(jīng)達到設(shè)定的最大學習次數(shù)(保證學習系統(tǒng)在最大學習次數(shù)內(nèi)收斂,在本發(fā)明的實驗環(huán)境中最大學習次數(shù)設(shè)置為300),如果兩者滿足其一,則學習結(jié)束,否則返回到步驟(d)繼續(xù)學習。本發(fā)明的有益效果通過人工勢能場將已知環(huán)境信息映射成為Q函數(shù)初始值,從而將先驗知識融入到機器人學習系統(tǒng)中,提高了機器人在強化學習初始階段的學習能力,與傳統(tǒng)Q學習算法相 比,能夠有效提高初始階段的學習效率,加快算法收斂速度。
圖I是基于人工勢能場的移動機器人強化學習實施步驟流程圖;圖2是基于人工勢能場的移動機器人Q學習具體算法流程圖;圖3是基于初始環(huán)境構(gòu)建的人工勢能場示意圖;圖4是機器人目標點鄰域內(nèi)狀態(tài)勢能值及初始Q值示意圖;圖5是基于標準Q-學習的機器人規(guī)劃路徑示意圖;圖6是標準Q-學習算法收斂過程示意圖;圖7是改進Q-學習算法收斂過程示意圖;圖8是兩種Q-學習算法迭代次數(shù)標準差示意圖。
具體實施例方式下面結(jié)合附圖與實例對本發(fā)明作進ー步說明。本發(fā)明基于人工勢能場對機器人強化學習進行初始化,將機器人工作環(huán)境虛擬化為ー個人工勢能場,利用先驗知識構(gòu)建人工勢能場,使得障礙物區(qū)域勢能值為零,目標點具有全局最大的勢能值,這時人工勢能場中每個狀態(tài)的勢能值就代表相應(yīng)狀態(tài)遵循最優(yōu)策略可獲得的最大累積回報。然后定義Q初始值為當前狀態(tài)的立即回報加上后繼狀態(tài)的最大折算累積回報。通過Q值初始化,使得學習過程收斂速度更快,收斂過程更穩(wěn)定;如圖I所示,具體包括以下步驟I人工勢能場模型人工勢能場法是由Khatib最先提出來的一種虛擬方法,最初只是為了解決機械手臂的避障問題,目前已成為應(yīng)用最為廣泛的機器人實時路徑規(guī)劃方法之一。其基本原理是將機器人的整個工作環(huán)境虛擬化為每ー狀態(tài)點都具有相應(yīng)勢能的空間,目標點在全局環(huán)境產(chǎn)生引力勢場,障礙物在局部產(chǎn)生斥力場,利用疊加原理將引力場與斥力場疊加產(chǎn)生勢場中每個狀態(tài)的總場強。在人工勢場中機器人依靠斥力場進行避障,利用引力場趨向目標,使得機器人能夠從起始位置出發(fā),避開障礙物到達目標點。目前,大多采用庫倫定理創(chuàng)建人エ勢能場計算模型,某一狀態(tài)的勢能大小反比于該狀態(tài)與障礙物或目標之間的距離,計算公式如下U (s) =Ua (s)+Ur (S)其中U(S)為狀態(tài)s點的勢能,Ua(S)為引力場在狀態(tài)s點產(chǎn)生的勢能,UJs)為斥カ場在狀態(tài)s點產(chǎn)生的勢能。
權(quán)利要求
1.一種移動機器人路徑規(guī)劃Q學習初始化方法,其特征是,具體包括以下步驟 步驟一建立人工勢能場模型根據(jù)已知環(huán)境信息在機器人工作空間構(gòu)建人工勢能場,使得障礙物區(qū)域勢能值為零,目標點具有全局最大的勢能值,整個勢能場形成單調(diào)遞增的曲面,這時人工勢能場中每個狀態(tài)的勢能值就代表該狀態(tài)獲得的最大累積回報; 步驟二 設(shè)計回報函數(shù); 步驟三計算最大累積回報初始值將每個狀態(tài)的勢能值作為該狀態(tài)遵循最優(yōu)行為策略所能夠獲得的最大累積回報; 步驟四Q值初始化將所有狀態(tài)-動作對的Q(s,a)初始值定義為當前狀態(tài)執(zhí)行選定的動作獲得的立即回報加上后繼狀態(tài)遵循最優(yōu)策略獲得的最大折算累積回報; 步驟五基于人工勢能場的移動機器人Q-學習移動機器人在初始Q值的基礎(chǔ)上繼續(xù)在復雜環(huán)境中進行強化學習,通過Q值初始化能夠?qū)⑾闰炛R融入到學習系統(tǒng)中,對機器人初始階段的學習進行優(yōu)化,從而為機器人提供一個較好的學習基礎(chǔ)。
2.如權(quán)利要求I所述的一種移動機器人路徑規(guī)劃Q學習初始化方法,其特征是,所述步驟二中,在學習過程中,機器人能夠在4個方向上移動,在任意狀態(tài)選擇上下左右4個動作,機器人根據(jù)當前狀態(tài)選擇動作。
3.如權(quán)利要求I所述的一種移動機器人路徑規(guī)劃Q學習初始化方法,其特征是,所述步驟三中,根據(jù)已知環(huán)境信息構(gòu)造人工勢能場U',定義每個狀態(tài)的最大累積回報初始值Vlnit(Si)等于該狀態(tài)對應(yīng)點的勢能值Iu' |,其關(guān)系公式如下 O,) H"'認)I, 公式中,U, (Si)為狀態(tài)Si的勢能值,V*Init(Si)為從狀態(tài)Si出發(fā)遵循最優(yōu)策略所能獲得的最大累積回報初始值。
4.如權(quán)利要求I所述的一種移動機器人路徑規(guī)劃Q學習初始化方法,其特征是,所述步驟四中,Q值初始化描述如下 Q (Si, a)的初始值定義為在狀態(tài)Si下選擇動作a所獲得的立即回報r加上后繼狀態(tài)的最大折算累積回報 QmAs,^) = r +j) 公式中,Sj為機器人在狀態(tài)Si下選擇動作a所產(chǎn)生的后繼狀態(tài),Qlnit (Si, a)為狀態(tài)-動作對(Si, a)的初始Q值;Y為折算因子。
5.如權(quán)利要求I所述的一種移動機器人路徑規(guī)劃Q學習初始化方法,其特征是,所述步驟五的具體步驟為 Oa)根據(jù)已知環(huán)境信息構(gòu)造人工勢能場U'; (b)狀態(tài)Si獲得的最大累積回報的初始值定義為該狀態(tài)的勢能值,公式如下 Ojw ㈨ I (c)按照如下規(guī)則初始化Q值:QMt=/■ + yV:t(Sj), (d)觀察當前狀態(tài)st; (e)繼續(xù)在復雜環(huán)境中探索,在當前狀態(tài)St下選擇一個動作at并執(zhí)行,環(huán)境狀態(tài)更新為新的狀態(tài)s, t,并接收立即回報rt; (f)觀察新狀態(tài)s't ;(g)根據(jù)以下公式更新表項Q(st,at)值 公式中,a t為學習率,取值范圍為(O,I),通常取值為O. 5,并隨學習過程衰減;Qt_i (st,at)和QtJs' t,a' t)分別為狀態(tài)-動作對(st,at)和(s' t,a' t)在t_l時刻的取值,t為在新狀態(tài)V 選擇的動作; (h)判斷機器人是否已經(jīng)到達目標或者學習系統(tǒng)已經(jīng)達到設(shè)定的最大學習次數(shù),如果兩者滿足其一,則學習結(jié)束,否則返回到步驟(d)繼續(xù)學習。
全文摘要
本發(fā)明公開了一種基于人工勢能場的移動機器人強化學習初始化方法。將機器人工作環(huán)境虛擬化為一個人工勢能場,利用先驗知識確定所有狀態(tài)的勢能值,使得障礙物區(qū)域勢能值為零,目標點具有全局最大的勢能值,這時人工勢能場中每個狀態(tài)的勢能值就代表相應(yīng)狀態(tài)遵循最優(yōu)策略獲得的最大累積回報。然后定義Q初始值為當前狀態(tài)的立即回報加上后繼狀態(tài)的最大折算累積回報。人工勢能場將已知環(huán)境信息映射成為Q函數(shù)初始值,從而將先驗知識融入到機器人學習系統(tǒng)中,提高了機器人在強化學習初始階段的學習能力,與傳統(tǒng)Q學習算法相比,本發(fā)明能夠有效提高初始階段的學習效率,加快算法收斂速度,算法收斂過程更穩(wěn)定。
文檔編號G05D1/02GK102819264SQ201210269280
公開日2012年12月12日 申請日期2012年7月30日 優(yōu)先權(quán)日2012年7月30日
發(fā)明者宋勇, 李貽斌, 劉冰, 王小利, 榮學文 申請人:山東大學