專利名稱:基于單鏈序貫回溯q學(xué)習(xí)的移動機器人路徑規(guī)劃算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種利用改進強化學(xué)習(xí)算法進行移動機器人路徑規(guī)劃的方法,屬于人工智能技術(shù)領(lǐng)域。
背景技術(shù):
路徑規(guī)劃問題是移動機器人研究中的關(guān)鍵技術(shù)之一,路徑規(guī)劃算法是指移動機器 人按照某一性能指標(biāo),搜索一條從起始位置到目標(biāo)位置的最優(yōu)或次優(yōu)的無碰路徑。根據(jù)環(huán)境信息是否完全已知,路徑規(guī)劃可以分為環(huán)境信息完全已知的離線全局路徑規(guī)劃和環(huán)境信息完全或部分未知的在線局部路徑規(guī)劃,又稱為靜態(tài)路徑規(guī)劃和動態(tài)路徑規(guī)劃。目前,確定環(huán)境下的全局路徑規(guī)劃研究已較成熟,未知環(huán)境下的路徑規(guī)劃問題仍是機器人研究領(lǐng)域的熱點問題。傳統(tǒng)的路徑規(guī)劃算法大多基于圖論,在環(huán)境的幾何模型上搜索某種最優(yōu)或次優(yōu)的避碰路徑。近年來,隨著人工智能的深入研究,研究者們將人工勢場法、模糊邏輯、神經(jīng)網(wǎng)絡(luò)、遺傳算法、強化學(xué)習(xí)等應(yīng)用于路徑規(guī)劃,提出了多種智能路徑規(guī)劃算法。人工勢場法計算簡單,便于實現(xiàn),但可能陷入局部極小點,運動到一個合力為零的死區(qū),規(guī)劃失敗,無法到達(dá)目標(biāo)位置。模糊邏輯算法不需精確的系統(tǒng)模型,可以根據(jù)模糊信息,針對環(huán)境知識總結(jié)出規(guī)則,但當(dāng)環(huán)境復(fù)雜時,難以建立全面的規(guī)則庫,規(guī)則庫的建立和修改需要花費大量時間,且缺乏泛化能力。采用神經(jīng)網(wǎng)絡(luò)算法進行路徑規(guī)劃,較難獲得具有代表性的訓(xùn)練樣本。遺傳算法基于自然選擇和基因遺傳的搜索算法,通過機器人對環(huán)境的逐漸適應(yīng),學(xué)會相應(yīng)的避碰行為,但實時性差,且較難構(gòu)造合適的適應(yīng)度函數(shù)。強化學(xué)習(xí)是一種無監(jiān)督的學(xué)習(xí)方法,其中的Q-學(xué)習(xí)算法不需要建立環(huán)境模型、算法簡單、易于使用,許多研究者應(yīng)用Q-學(xué)習(xí)算法獲取未知環(huán)境下機器人控制策略,實現(xiàn)復(fù)雜環(huán)境下移動機器人的路徑規(guī)劃。2OO2 年發(fā)表在《嚴(yán) International Workshop on Advanced Motion Control))(《第七屆國際先進運動控制研討會》)462-466頁的論文《A reinforcement learningapproach to obstacle avoidance of mobile robots))(((一種基于強化學(xué)習(xí)的移動機器人避障方法》)不需環(huán)境先驗知識、通過與環(huán)境的交互學(xué)習(xí),利用無監(jiān)督的Q-學(xué)習(xí)算法實現(xiàn)移動機器人的無碰路徑規(guī)劃。2004年發(fā)表在《IEEE Proceedingsof the3rdInternational Conference on Machine Learning and Cybernetics))(〈〈第三屆 IEEE 機器學(xué)習(xí)和控制論國際會議論文集》)48-52頁的論文《Mobile robot navigation usingneural Q-learning》(《基于神經(jīng)網(wǎng)絡(luò)Q-學(xué)習(xí)算法的移動機器人導(dǎo)航》)采用了多層前饋神經(jīng)網(wǎng)絡(luò)逼近值函數(shù)Q-學(xué)習(xí),機器人經(jīng)過多次嘗試后能夠在環(huán)境中找到一條無碰路徑進行導(dǎo)航° 2004 年發(fā)表在〈〈Proceedings of the IEEE International Conference onNetworking, Sens ing&Control》(《IEEE網(wǎng)絡(luò)、傳感器和控制國際會議論文集》)的論文《Areinforcement-learning approach to robot navigation))(((一種用于機器人導(dǎo)航的強化學(xué)習(xí)方法》)提出了一種基于強化學(xué)習(xí)的移動機器人導(dǎo)航方法,通過強化學(xué)習(xí)建立的模糊規(guī)則把傳感器的觀測映射到機器人適當(dāng)?shù)膭幼餍袨?,實現(xiàn)移動機器人的路徑規(guī)劃。但是上述方法僅適用于靜態(tài)環(huán)境并且學(xué)習(xí)時間長,效率低,對于復(fù)雜環(huán)境,難以收斂,不能夠在短時間內(nèi)找到一條最優(yōu)路徑。2008年發(fā)表在《Neural Networks》(《神經(jīng)網(wǎng)絡(luò)》)第21卷,第10 期,1556-1566 頁的論文〈〈Automatic generation of fuzzy inference systems viaunsupervised learning》(無監(jiān)督學(xué)習(xí)自動生成模糊推理系統(tǒng))提出了一種能夠自動生成模糊推理系統(tǒng)的增強型動態(tài)模糊Q-學(xué)習(xí)方法,仿真研究了單個移動機器人避障和沿壁行走行為,說明了這種新方法的有效性,但是這種方法也僅限于解決靜態(tài)環(huán)境下的路徑規(guī)劃。2008年發(fā)表在《Applied Artificial Intelligence》(《應(yīng)用人工智能》)第22卷,第7-8期,761-779 頁的論文〈〈Reinforcement learning for POMDP using state classification))(《基于狀態(tài)分類的部分可觀察馬爾可夫決策過程的強化學(xué)習(xí)》)提出將強化學(xué)習(xí)與遞歸神經(jīng)網(wǎng)絡(luò)相結(jié)合,將狀態(tài)空間分成完全可觀的狀態(tài)和隱狀態(tài),利用Q值表存放完全可觀狀態(tài)的值,用回歸神經(jīng)網(wǎng)絡(luò)近似隱狀態(tài)的值,但是該方法仍舊沒有解決復(fù)雜環(huán)境中學(xué)習(xí)算法收斂速度慢的問題。2011 年發(fā)表在《Robotics and Computer-Integrated Manufacturing》(《機器人學(xué)與計算機集成制造》)第27卷,第I期,135-149頁的論文《Reinforcement basedmobile robot navigation in dynamic environment》(《動態(tài)環(huán)境下基于強化學(xué)習(xí)的移動機器人導(dǎo)航》)采用Q-學(xué)習(xí)算法實現(xiàn)動態(tài)環(huán)境下移動機器人導(dǎo)航,為了解決動態(tài)環(huán)境下狀·態(tài)值儲存量大的問題,通過對狀態(tài)空間進行重新定義,減少Q(mào)值表大小,從而加快了算法速度。作為一種智能的路徑規(guī)劃算法,強化學(xué)習(xí)算法已被廣泛地應(yīng)用于移動機器人的路徑規(guī)劃問題。雖然經(jīng)典單步Q學(xué)習(xí)算法較簡單,但動態(tài)尋優(yōu)和學(xué)習(xí)速度慢,如何對收斂過程進行改善,使得算法以較快速度收斂,以較短的時間找到最優(yōu)或次優(yōu)路徑,是機器人行為學(xué)習(xí)急需解決的問題。1996年發(fā)表在《Machine Learning》(機器學(xué)習(xí))第22卷,第1-3期,283-290頁的論文《Incremental Multi-step Q-Iearning))(遞增的多步Q-學(xué)習(xí)算法)提出的多步Q(入)在線回溯算法引入回溯和遺忘跟蹤原理,顯式地利用資格跡衰退系數(shù)入,對將來多步?jīng)Q策的在線強化信息進行高效的回溯操作,提高了算法收斂速度。但是,多步Q(X)算法利用資格跡衰退系數(shù),將后續(xù)狀態(tài)-動作的強化信息直接作用于前面的狀態(tài)-動作對的Q值,不能及早校正錯誤動作決策,存在無意義的搜索,學(xué)習(xí)時間有待進一步減少,收斂速度有待進一步提聞。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有強化學(xué)習(xí)算法在未知環(huán)境下移動機器人路徑規(guī)劃應(yīng)用中存在的學(xué)習(xí)時間長、收斂速度慢等不足,提出了一種能夠在復(fù)雜環(huán)境中快速高效地搜索到最優(yōu)路徑的基于單鏈序貫回溯Q學(xué)習(xí)的移動機器人路徑規(guī)劃算法。本發(fā)明的基于單鏈序貫回溯Q學(xué)習(xí)的移動機器人路徑規(guī)劃算法,是使用柵格法表示二維環(huán)境,每塊環(huán)境區(qū)域都對應(yīng)一個離散的位置表示,移動機器人在某一時刻的狀態(tài)就表示為機器人所在環(huán)境位置,按照移動機器人順序通過的環(huán)境位置依次排列,形成移動機器人的狀態(tài)單鏈,移動機器人的每一步搜索,都以非確定性馬爾科夫決策過程的Q-學(xué)習(xí)迭代公式為基礎(chǔ),從單鏈的末端即當(dāng)前狀態(tài)的Q值開始逐步序貫回溯到單鏈的首端即初始位置的Q值,直到到達(dá)目標(biāo)位置,移動機器人循環(huán)往復(fù)地從初始位置開始尋找到達(dá)目標(biāo)位置的路徑,在搜索的每一步按照上述步驟,不斷迭代和優(yōu)化狀態(tài)的Q值,直到收斂為止;具體步驟如下(I)建立狀態(tài)單鏈在每一 t時刻,為移動機器人記憶矩陣M(t)增加一行M(t) — [st, at, rt,入J,其中st表示機器人的當(dāng)前狀態(tài),當(dāng)前狀態(tài)就是機器人所在位置的坐標(biāo),st = [xt,yt]),at表示在當(dāng)前狀態(tài)下執(zhí)行的動作,包括向上、向下、向左、向右、靜止五個動作,分別表示為
,
, [-1,0], [1,0],
,動作集合表示為A,當(dāng)前狀態(tài)St與五個動作構(gòu)成五個狀態(tài)-動作對,每一個狀態(tài)-動作對對應(yīng)一個Q值Q(s,a),所有的Q(s,a)初始化為零,并根據(jù)步驟(2)中的迭代更新公式進行更新,根據(jù)貪婪策略選擇動作at,即選擇滿足
權(quán)利要求
1.一種基于單鏈序貫回溯Q學(xué)習(xí)的移動機器人路徑規(guī)劃算法,其特征是 使用柵格法表示二維環(huán)境,每塊環(huán)境區(qū)域都對應(yīng)一個離散的位置表示,移動機器人在某一時刻的狀態(tài)就表示為機器人所在環(huán)境位置,按照移動機器人順序通過的環(huán)境位置依次排列,形成移動機器人的狀態(tài)單鏈,移動機器人的每一步搜索,都以非確定性馬爾科夫決策過程的Q-學(xué)習(xí)迭代公式為基礎(chǔ),從單鏈的末端即當(dāng)前狀態(tài)的Q值開始逐步序貫回溯到單鏈的首端即初始位置的Q值,直到到達(dá)目標(biāo)位置,移動機器人循環(huán)往復(fù)地從初始位置開始尋找到達(dá)目標(biāo)位置的路徑,在搜索的每一步按照上述步驟,不斷迭代和優(yōu)化狀態(tài)的Q值,直到收斂為止;具體步驟如下 (1)建立狀態(tài)單鏈 在每一 t時刻,為移動機器人記憶矩陣M(t)增加一行M(t) — [st, at, rt,入山其中81表示機器人的當(dāng)前狀態(tài),當(dāng)前狀態(tài)就是機器人所在位置的坐標(biāo),st = [xt,yt] ),at表示在當(dāng)前狀態(tài)下執(zhí)行的動作,包括向上、向下、向左、向右、靜止五個動作,分別表示為[O,I],
,[-1,O], [I, O], [O, O],動作集合表示為A,當(dāng)前狀態(tài)St與五個動作構(gòu)成五個狀態(tài)-動作對,每一個狀態(tài)-動作對對應(yīng)一個Q值Q (s,a),所有的Q (s,a)初始化為零,并根據(jù)步驟(2)中的迭代更新公式進行更新,根據(jù)貪婪策略選擇動作at,即選擇滿足& = ai^max Oh、* -.I也就是選擇與當(dāng)前狀態(tài)st構(gòu)成的五個狀態(tài)-動作對的Q值最大的動作作為at,st+1表示執(zhí)行動作at后下一時刻狀態(tài)值,rt表示對動作at獎勵值,如果執(zhí)行at后的下一個坐標(biāo)上有障礙物,則機器人下一時刻狀態(tài)st+1仍為St的坐標(biāo)值,獎勵值rt = -O. 2 ;如果執(zhí)行at后的下一個坐標(biāo)上沒有障礙物,則st+1為該坐標(biāo),獎勵值rt = -O. I ;如果執(zhí)行at后的下一個坐標(biāo)是目標(biāo)位置即終點,則獎勵值rt = l;Ate (O, I)表示學(xué)習(xí)率,只要At e (O, I),經(jīng)過有限次迭代,Q-學(xué)習(xí)算法一定能夠收斂于最優(yōu)解,這里取λ t = O. 3 ;從初始時刻t = O到當(dāng)前時刻t = n,所有的狀態(tài)依序構(gòu)成一個狀態(tài)單鏈; (2)序貫回溯迭代 在t+Ι時刻,記憶矩陣M(t)增加一行新內(nèi)容[st+1,at+1, rt+1, λ t+1],并根據(jù)記憶矩陣中存儲的狀態(tài)鏈,用Q-學(xué)習(xí)迭代公式進行序貫回溯迭代更新 對于 k = t, t-1, t-2,…,I, O,執(zhí)行 Cl,I為 },(.、.*;Hk) + 4 rk +rmaxft,,( ' 川), “ .卜」 其中,Y是折扣因子,反映了后續(xù)狀態(tài)-動作對對應(yīng)的Q值對狀態(tài)單鏈中前面狀態(tài)動作對Q-值的影響,使得某一狀態(tài)的動作決策能夠直接受到其后續(xù)狀態(tài)的影響,Y e (O, I),值越大,后續(xù)狀態(tài)對狀態(tài)單鏈中前面的狀態(tài)動作選擇影響越大,在移動機器人路徑規(guī)劃問題中,為了使?fàn)顟B(tài)單鏈中前面的動作選擇對后續(xù)狀態(tài)的Q值影響及時反饋回來,取Y =O.95 ; 通過序貫回溯迭代,在t+Ι時刻不僅更新了狀態(tài)St的Q值,也順序地更新了狀態(tài)單鏈中st前面的狀態(tài)st_1; st_2,……,s2,S1, S0的Q值,迭代過程如下
全文摘要
本發(fā)明提出了一種基于單鏈序貫回溯Q學(xué)習(xí)的移動機器人路徑規(guī)劃算法,是使用柵格法表示二維環(huán)境,每塊環(huán)境區(qū)域都對應(yīng)一個離散的位置表示,移動機器人在某一時刻的狀態(tài)就表示為機器人所在環(huán)境位置,移動機器人的每一步搜索,都以非確定性馬爾科夫決策過程的Q-學(xué)習(xí)迭代公式為基礎(chǔ),從單鏈的末端即當(dāng)前狀態(tài)的Q值開始逐步序貫回溯到單鏈的首端的Q值,直到到達(dá)目標(biāo)狀態(tài),移動機器人循環(huán)往復(fù)地從初始狀態(tài)開始尋找到達(dá)目標(biāo)狀態(tài)的路徑,在搜索的每一步按照上述步驟,不斷迭代和優(yōu)化狀態(tài)的Q值,直到收斂為止。本發(fā)明搜索最優(yōu)路徑需要的步數(shù)遠(yuǎn)少于經(jīng)典Q-學(xué)習(xí)算法和Q(λ)算法,學(xué)習(xí)時間較短,學(xué)習(xí)效率較高,特別是對于大環(huán)境,優(yōu)勢更加明顯。
文檔編號G05D1/02GK102799179SQ201210234510
公開日2012年11月28日 申請日期2012年7月6日 優(yōu)先權(quán)日2012年7月6日
發(fā)明者馬昕, 孫國強, 許亞, 宋銳, 榮學(xué)文, 李貽斌 申請人:山東大學(xué)