楊忠 劉華春
摘要:傳統(tǒng)的尋路算法通常用在已知地形結(jié)構(gòu)的基礎上規(guī)劃路線,而掃地機器人的工作環(huán)境通常是陌生的,傳統(tǒng)尋路算法在此失效。該文結(jié)合BP神經(jīng)網(wǎng)絡的特性,提出一種基于BP神經(jīng)網(wǎng)絡的掃地機器人尋路算法,目標是使掃地機器人能夠在任何陌生的環(huán)境中正確地完成尋路任務,通過分析掃地機器人的清掃模式,建立觀察模型和運動模型,利用MatLab實現(xiàn)對應的BP神經(jīng)網(wǎng)絡,并對傳統(tǒng)BP網(wǎng)絡激勵函數(shù)進行了優(yōu)化,最后經(jīng)過訓練和仿真驗證了算法的有效性和實用性。
關鍵詞:尋路算法;掃地機器A-;BP神經(jīng)網(wǎng)絡
中圖分類號:TPl8
文獻標識碼:A
文章編號:1009-3044(2017)10-0156-03
隨著科技的不斷進步,智能家居理念逐步滲透了現(xiàn)代生活中,智能掃地機器人日益流行起來,很多廠家都開始生產(chǎn)智能掃地機器人。過去機器人通常只能完成一些簡單的任務,但隨著人工智能、傳感器技術的發(fā)展,機器人的功能得到了很大的升級和改善,加上網(wǎng)絡推廣,智能掃地機器人已經(jīng)真正地進入人們的日常生活。智能掃地機器人能在無人監(jiān)督的情況下通過紅外線傳感器、超聲波傳感器、陀螺儀、電子羅盤、室內(nèi)GPS等傳感器設備掃描并學習房間局部戶型結(jié)構(gòu),規(guī)劃路徑完成房間的清潔任務。通常由于所處位置的局限性和現(xiàn)代住房結(jié)構(gòu)復雜等因素,難以獲得完整準確的戶型結(jié)構(gòu)圖,而要求用戶事先將戶型圖輸入機器人也不現(xiàn)實,因此清掃路徑的規(guī)劃是整個清掃活動的難點。目前通常采取線性算法進行路徑規(guī)劃,通過傳統(tǒng)程序設計模式編程實現(xiàn)。這種方式導致掃地機器人智能程度不高,在遇到一些特殊情況時,導致整個清掃工作中斷。
1.問題分析
掃地機器人按清掃路線形式可分為規(guī)劃式和隨機式兩類。目前,掃地機器人大部分都采取隨機式掃地機,即不規(guī)劃路線,掃到哪算哪,碰到障礙物自己走開。規(guī)劃式清掃模式:掃地機器人感知四周的環(huán)境,然后規(guī)劃行走的路徑,有效地遍歷各個區(qū)域,完成各個區(qū)域的打掃。規(guī)劃式清掃模式的行走路徑方式有螺旋式行走模式,S形行走模式,五邊形行走模式。其中,以螺旋行走模式的清掃效率最高,它最大程度的避免了重復路線。但單一的規(guī)劃式清潔模式,始終不能完美解決障礙物問題,螺旋行走模式以程序的形式編寫進掃地機器人控制中心計算機,它只能以固定不變的路徑完成清掃任務,在途中若遇到形狀復雜、面積較大的障礙物,如茶幾,甚至人、寵物等隨機移動的物體時,路線即被中斷。目前多采取在主路徑規(guī)劃算法中嵌套避開障礙物的算法,如繞行障礙物后校正角度返回原路徑,或從拓撲學的角度提出新算法如等單元分解法來解決掃地機器人遍歷過程中遇到障礙的問題,但這些解決辦法通常產(chǎn)生較大的角度誤差,缺乏靈活性,增大了重復路徑的概率,甚至在一些特殊情況下方法失效。為此,引入神經(jīng)網(wǎng)絡算法結(jié)合以上的螺旋式行走模式,提出一種基于BP神經(jīng)網(wǎng)絡的尋路算法,從而達到在陌生的環(huán)境中掃地機器人“完全自主”完成清掃任務的目標。
2.BP神經(jīng)網(wǎng)絡(簡介原理)
BP網(wǎng)絡全稱為(Back Propagation Network),它是最早由科學家Rumelhart和McCelland提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡模型之一。其特點是在理論上可根據(jù)問題規(guī)模無限擴大網(wǎng)絡規(guī)模,通過學習算法存儲海量的輸入一輸出模式映射關系,相較傳統(tǒng)的通過線性數(shù)學方程描述映射關系的方法,BP網(wǎng)絡有著不可比擬的優(yōu)勢。BP網(wǎng)絡在學習過程中采用最速下降法,并通過反向傳播來不斷調(diào)整網(wǎng)絡的權(quán)值和閾值,使網(wǎng)絡的誤差平方和最小。BP神經(jīng)網(wǎng)絡模型拓撲結(jié)構(gòu)包括輸入層、隱層和輸出層,圖1展示了一個簡單的三層BP網(wǎng)絡。
3.系統(tǒng)模型
根據(jù)BP神經(jīng)網(wǎng)絡的基本結(jié)構(gòu)建立輸入和輸出模型,即運動模型和觀測模型。
5.仿真實驗
在利用神經(jīng)網(wǎng)絡建立尋路模型的過程中,最重要的一步就是對神經(jīng)網(wǎng)絡進行訓練,從而確定網(wǎng)絡中各神經(jīng)元之間的連接權(quán)值。在訓練之前,需要將樣本數(shù)據(jù)集隨機分為訓練數(shù)據(jù)和測試數(shù)據(jù)兩部分。編程對掃地機器人尋路過程進行仿真實驗,其中用二維數(shù)組對戶型結(jié)構(gòu)進行保存,以螺旋式行走模式為基礎算法,編程生成2000組數(shù)據(jù)作為樣本,選取其中1200組作為訓練樣本對網(wǎng)絡進行訓練,600組作為測試,200組仿真,網(wǎng)絡設置1個隱藏層,隱藏層神經(jīng)元數(shù)為20,修正權(quán)系數(shù)為0.9,初始學習速率為0.3,初始連接權(quán)值隨機生成,網(wǎng)絡輸出形式表示為矢量(v,ω),其中,v為線速度,ω為旋轉(zhuǎn)角速度。調(diào)用matlab創(chuàng)建BP網(wǎng)絡:newff(0 6),(20,2),tansig,logsigEX,traingdx,其中l(wèi)ogsigEX為改進后的激勵函數(shù)。
6.實驗結(jié)果分析
利用matlab對掃地機器人尋路模型BP神經(jīng)網(wǎng)絡的訓練結(jié)果如圖3所示,從圖中可以看出網(wǎng)絡在87次訓練時趨于穩(wěn)定,之后的權(quán)值調(diào)整幾乎為零,網(wǎng)絡達到收斂,在后繼測試中,基于BP神經(jīng)網(wǎng)絡算法的螺旋式尋路算法很好完成了掃地機器人路徑尋優(yōu)任務,有效地解決了障礙物導致的清掃路徑重復,提高了清潔效率。
7.結(jié)論
分析了目前掃地機器人尋路算法所存在的問題,基于BP神經(jīng)網(wǎng)絡,提出了一種基于BP神經(jīng)網(wǎng)絡的掃地機器人尋路算法。建立了掃地機器人的運動模型和觀測模型,根據(jù)模型設計出三層BP神經(jīng)網(wǎng)絡,利用matlab對網(wǎng)絡進行訓練和仿真實驗,仿真實驗結(jié)果表明基于BP神經(jīng)網(wǎng)絡的掃地機器人尋路算法有效避免了路徑重復,解決了前述障礙物問題,算法具有一定實用價值。