曹京勛+王金祥
摘 要: 本文主要研究移動(dòng)機(jī)器人感知環(huán)境并構(gòu)建地圖的方法,引入了基于規(guī)劃的神經(jīng)網(wǎng)絡(luò)(價(jià)值迭代網(wǎng)絡(luò))的地圖構(gòu)建模型,并以此為模型為基礎(chǔ)設(shè)計(jì)了環(huán)境地圖構(gòu)建算法,讓機(jī)器人可以智能地尋路并構(gòu)建完整的環(huán)境地圖。
關(guān)鍵詞: 移動(dòng)機(jī)器人;神經(jīng)網(wǎng)絡(luò);地圖構(gòu)建
DOI:10.16640/j.cnki.37-1222/t.2017.17.141
1 研究現(xiàn)狀
近20年來, 地圖構(gòu)建問題已經(jīng)成為國際機(jī)器人與自動(dòng)化領(lǐng)域的研究熱點(diǎn)。目的就是對(duì)環(huán)境定位,機(jī)器人在位置環(huán)境中進(jìn)行移動(dòng)并根據(jù)自身位置和構(gòu)建出的地圖信息進(jìn)行自身定位,在此基礎(chǔ)上進(jìn)行環(huán)境定位。
現(xiàn)在的前沿領(lǐng)域研究多是基于視覺攝像頭傳感器的研究。常見的濾波器是將非線性系統(tǒng)線性化的擴(kuò)展卡爾曼濾波,高效率且計(jì)算成本低。也有人將粒子濾波器與卡爾曼濾波器集成在一起研究,目前比較前沿的濾波算法是計(jì)算代小更小,精度更高的基于平方根容積等算法。
2 基于規(guī)劃的價(jià)值迭代網(wǎng)絡(luò)方法
本論文主要探討的是基于激光傳感器的地圖構(gòu)建方法,它最主要的特點(diǎn)是可以在黑暗的空間內(nèi)探索未知環(huán)境,構(gòu)建2D黑白圖/點(diǎn)云圖,本文注重嘗試用俯瞰的點(diǎn)云圖結(jié)合價(jià)值迭代網(wǎng)絡(luò)解決機(jī)器人的環(huán)境感知問題。
現(xiàn)有的方法往往只注重于構(gòu)建環(huán)境地圖本身,而不擅長于在構(gòu)建環(huán)境地圖基礎(chǔ)上和環(huán)境交互。機(jī)器人與環(huán)境交互會(huì)使機(jī)器人更加智能,規(guī)劃更好路徑的行進(jìn)路徑,本文應(yīng)用了價(jià)值迭代網(wǎng)絡(luò)進(jìn)行交互,引入這種算法的目的是為了解決其他強(qiáng)化學(xué)習(xí)泛化能力弱的問題。這種方法的優(yōu)點(diǎn)是提高機(jī)器人對(duì)不同環(huán)境的適應(yīng)性,價(jià)值迭代網(wǎng)絡(luò)每次的狀態(tài)轉(zhuǎn)移都僅跟當(dāng)前狀態(tài)的鄰接狀態(tài)有關(guān),也就是為什么它有規(guī)劃的能力。尤其是像地圖構(gòu)建等變化多且要考慮現(xiàn)實(shí)性的問題上該方法的優(yōu)勢(shì)明顯。
3 適應(yīng)于規(guī)劃神經(jīng)網(wǎng)絡(luò)模型的環(huán)境地圖構(gòu)建算法
價(jià)值迭代網(wǎng)絡(luò)訓(xùn)練算法的思想:準(zhǔn)備樣本集和測(cè)試集,其中每個(gè)樣本由二元組((地圖數(shù)據(jù)+獎(jiǎng)勵(lì)層),最優(yōu)動(dòng)作)組成。其中的地圖數(shù)據(jù)并不是真實(shí)的觀測(cè)數(shù)據(jù),而是通過軟件生成的虛擬網(wǎng)格數(shù)據(jù),其中將墻等障礙物網(wǎng)格點(diǎn)對(duì)應(yīng)的位置為1,其他為0。獎(jiǎng)勵(lì)層中機(jī)器人走過的區(qū)域和障礙物(也可以說是墻,也就是我們最終要測(cè)出的環(huán)境地圖,暫且以障礙物命名)的獎(jiǎng)勵(lì)值為負(fù),其他為0,也可以添加一些可以和環(huán)境交互的物體并設(shè)置他們的獎(jiǎng)勵(lì)。網(wǎng)絡(luò)輸入上述的信息以后,輸出一個(gè)預(yù)測(cè)動(dòng)作,再根據(jù)預(yù)測(cè)動(dòng)作和最優(yōu)動(dòng)作的損失殘差進(jìn)行反向傳播。
機(jī)器人實(shí)際工作算法描述:
(1)初始化傳感器狀態(tài),加載價(jià)值迭代網(wǎng)絡(luò)模塊,初始化網(wǎng)格坐標(biāo),初始化獎(jiǎng)勵(lì)層,動(dòng)作集,要構(gòu)建的全局網(wǎng)格地圖,機(jī)器人當(dāng)前探測(cè)出的環(huán)境圖(非網(wǎng)格圖,為激光傳感器測(cè)量出的實(shí)際圖),上一輪循環(huán)的環(huán)境圖,機(jī)器人坐標(biāo)等變量,其中機(jī)器人坐標(biāo)初值為全局地圖的網(wǎng)格中心點(diǎn)。
(2)對(duì)每一個(gè)離散時(shí)間T=0,1,2,3…… 執(zhí)行下列(3)~(7)直到時(shí)間結(jié)束或者探索結(jié)束。
(3)調(diào)用價(jià)值迭代網(wǎng)絡(luò)模塊,該網(wǎng)絡(luò)輸入為機(jī)器人當(dāng)前坐標(biāo),全局地圖和獎(jiǎng)勵(lì)層,輸出結(jié)果為下一時(shí)刻的最優(yōu)動(dòng)作,如果動(dòng)作是移動(dòng)動(dòng)作則跳轉(zhuǎn)到(4),如是非移動(dòng)動(dòng)作則跳轉(zhuǎn)到(6)。
(4)根據(jù)輸出動(dòng)作a移動(dòng)機(jī)器人,之后轉(zhuǎn)到步驟(5)。
(5)用激光傳感器掃描周圍環(huán)境構(gòu)建當(dāng)前環(huán)境圖,并用圖像匹配的SIFT算法基于特征點(diǎn)匹配上一輪循環(huán)的環(huán)境圖和本輪環(huán)境圖,獲取仿射矩陣,根據(jù)仿射矩陣中的旋轉(zhuǎn)角平移來輔助修正探測(cè)過程的各種不確定或誤差信息,將探測(cè)到的信息更新到全局網(wǎng)格地圖中。跳到(6)。
(6)根據(jù)全局網(wǎng)格地圖信息更新獎(jiǎng)勵(lì)層(更新內(nèi)容包括將障礙物和走過的路徑的網(wǎng)格點(diǎn)對(duì)應(yīng)的獎(jiǎng)勵(lì)設(shè)置為負(fù)等操作,以作為下一輪循環(huán)中價(jià)值迭代網(wǎng)絡(luò)的輸入),轉(zhuǎn)到(2)。
(7)處理非移動(dòng)動(dòng)作,轉(zhuǎn)到(2)。
4 仿真實(shí)驗(yàn)結(jié)果與分析
(1)如圖4-1所示,首先,初始化移動(dòng)機(jī)器人的傳感器等模塊,加載規(guī)劃的神經(jīng)網(wǎng)絡(luò),將地圖坐標(biāo)網(wǎng)格化。(注:其中實(shí)線的墻是真實(shí)的墻,是為了演示和對(duì)比,也就是說機(jī)器人處在未知的環(huán)境中)。
(2) 如圖4-1所示,機(jī)器人用激光傳感器沿順時(shí)針或逆時(shí)針掃描周圍環(huán)境,尋找探測(cè)到的距離d: d(閾值) (3)如圖4-1所示,以左閉右合的原則,標(biāo)記障礙物網(wǎng)格點(diǎn)并添加到障礙物集合,期間用SIFT算法進(jìn)行輔助誤差修正。 (4)如圖4-2所示,將之前走過的頂點(diǎn)和障礙物的負(fù)獎(jiǎng)勵(lì)加到獎(jiǎng)勵(lì)層。(小方塊為之前探索過的區(qū)域,星號(hào)為障礙物)。 (5)如圖4-3所示,機(jī)器人的位置和當(dāng)前地圖輸入進(jìn)規(guī)劃的神經(jīng)網(wǎng)絡(luò),規(guī)劃的神經(jīng)網(wǎng)絡(luò)會(huì)根據(jù)輸入自動(dòng)規(guī)劃出理想的動(dòng)作,比如上圖里當(dāng)輸入狀態(tài)信息后,在機(jī)器人右方的路上的神經(jīng)激活值會(huì)明顯高于上下障礙物和左方已經(jīng)走過得路徑。 (6)重復(fù)步驟2直到搜索完(如果中間遇到可處理的物體,則可執(zhí)行相應(yīng)的功能,即指d 仿真實(shí)驗(yàn)表明,應(yīng)用本論文的算法能有效地實(shí)現(xiàn)機(jī)器人與環(huán)境交互情況下的機(jī)器人與環(huán)境定位問題,實(shí)現(xiàn)環(huán)境探測(cè)功能并最終形成環(huán)境地圖,算法具有一定的精確性與魯棒性。 作者簡(jiǎn)介:曹京勛(1995-),男,吉林延吉人,本科。