基于神經網絡的自主吸塵機器人混合視覺研究
BP算法框圖
圖4給出了BP神經網絡算法的程序流程圖。在執行算法之前,首先要設置變量和參量。其中:Wmi(n)為第n次迭代時輸入層與隱層I之間的權值向量;Wip(n)為第n次迭代時輸出層與隱層I之間的權值向量;n為迭代次數,K為訓練樣本的下標,Maxloop為最大迭代次數,Maxtrain為訓練樣本的總數,ξ為能量最小誤差。
仿真結果
用FoxPro建立輸入樣本的數據庫,用VC編程訓練網絡。訓練時用了72組輸入樣本,并且循環4000次訓練網絡,訓練時間15s。表1給出了部分訓練樣本的示例(P0表示樣本0,以下同)。
表1 訓練樣本示例
初始權值為-0.01~0.01的隨機數值。下面給出了網絡訓練的權值輸出。
輸入層與隱層權值
0.251,-9.187,2.347
0.231,-9.225,2.373
0.266,-9.213,2.331
4.722,-1.479,-1.470
0.214,2.520,-9.067
0.293,2.512,-9.013
0.275,2.442,-8.890
輸出層與隱層權值
-11.843,-5.154,-4.722,6.348
9.970,10.696,-10.990,-11.535
9.938,-9.617,10.613,-12.470
為了驗證訓練權值的正確性與強壯性,對大量的輸入樣本(包括沒有經歷訓練過程的樣本)進行實驗,網絡產生相匹配的輸出。實驗結果表明,網絡的訓練是成功的。
部分實驗數據如下:
輸入數據組數:6
第0組輸入數據:0000000
第0組輸出為:1000
第1組輸入數據:0001000
第1組輸出為:0001
第2組輸入數據:1101000
第2組輸出為:0010
第3組輸入數據:1110000
第3組輸出為:1010
第4組輸入數據:0001100
第4組輸出為:0100
第5組輸入數據:1101001
第5組輸出為:0001
最后利用Matlab提供的Neural Network工具箱,對訓練網絡的輸出和相應的期望輸出進行衰退分析,以測定訓練網絡的性能。圖5為前面訓練所用的72組輸入數據產生的輸出A和期望輸出T的衰退分析圖。其中虛線為最佳線性擬合曲線A=T,實線為72組輸出A與相應的期望輸出T的線性擬合。由圖5可以看出,擬合效果理想,因此訓練網絡的性能可靠。
實際應用過程的思路為:將BP網絡訓練的權值移植到機器人的處理器中;7組傳感器按順序輪流工作,每循環一次得到一組輸入作為神經網絡的輸入;通過神經網絡計算得到匹配的實時輸出;行走電機根據輸出信號作出相應的避障行為。
本文將超聲波傳感器和紅外傳感器融合進自主吸塵機器人的視覺系統,從而獲得相對于單一傳感器更加準確和全面的障礙物信息。采用了基于神經網絡的多傳感器信息融合算法,通過網絡訓練,機器人能夠對訓練過程中沒有經歷的實際情況做出合理的反應。這種算法的魯棒性和容錯性很強,能夠適應自主吸塵機器人非結構化的工作環境。
評論