網絡機器人手眼分析論文
時間:2022-06-26 08:56:00
導語:網絡機器人手眼分析論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:在機器人手眼系統位置控制中,用CMAC神經網絡建立了機器人非線性視覺映射關系模型,實現了圖像坐標到機器人坐標的變換。該模型采用了一種新的多維CMAC網絡的處理方法——疊加處理法。實驗,與BP網絡相比,CMAC網絡能以羅高的精度和較快的速度完成手眼系統的坐標變換。
關鍵詞:CMAC神經網絡BP網絡疊加處理器機器人手眼系統
近年來,在智能機器人領域,關于機器人手眼系統位置控制問題的研究受到越來越多的關注。在研究中發現存在這樣一個問題,即如何以較高的精度和較快的速度實現機器人手眼系統位置控制,以使機器人能快速實現對目標物體的準確定位和自動抓取。這個問題也就是機器人手眼系統中非線性視覺映射關系模型的建模問題。采用精確的數學模型是機器人視覺系統傳統的建模方法。但由于這類問題是高度的非線性問題,參數多且其間的相關性強,故這種方法理論上雖然精確,但是建模困難、計算量大,實時性差且沒有容錯能力和自學習能力,而神經網絡作為一種智能信息處理的新技術,具有極強的非線性映射能力。因此采用神經網絡的建模方法與傳統的方法相比具有極大的優越性。
作者已經采用BP網絡建立了機器人視覺系統的映射模型,并作了初步的研究和實驗。結果發現,采用神經網絡建立機器人視覺映射模型是一種有效的建模方法。但采用BP網絡建立模型存在網絡規模大、訓練時間長、容易陷入局部最小解、定位精度較低等缺點。本文采用CMAC神經網絡建立了機器人視覺系統的映射模型,取得了十分令人滿意的效果。
1CMAC神經網絡簡介
小腦模型關節控制器神經網絡(CerebellarModelArticulationControllerNeuralNetwork,即CMAC神經網絡)是Albus根據小腦的生物模型提出的一種人工神經網絡。它學習速度快,具有局域泛化能力,能夠克服BP網絡容易陷入局部最小點的問題,且硬件易于實現。目前,CMAC神經網絡被廣泛應用于機器人控制、非線性函數映射、模式識別以及自適應控制等領域。
1.1CMAC的基本結構和原理
CMAC神經網絡的模型結構原理圖如圖1所示。它本質上可看作是一種用于表示復雜非線性函數的查表結構。
圖1中,S為n維輸入矢量空間;A為聯想記憶空間;Y是輸出響應矢量。輸入空間S中的每一矢量S(…,Si,…,Sj,…)被量化后送人存鍺區A,每個輸入變量Si激活存儲區A中C個連續存儲單元。網絡輸出yi為這C個對應單元中值(即權wi)的累加結果,對某一輸入樣本,總可通過調整權值達到期望輸出值。由圖1可以看出,每一輸入樣本對應于存儲區A中的C個單元,當各樣本分散存儲在A中時,在S中比較靠近的那些樣本就會在A中出現交疊現象,其輸出值也比較相近,即這C個單元遵循"輸入相鄰,輸出相近"的原則,這種現象被稱為CMAC神經網絡的局部泛化特性,C為泛化參數:C越大,對樣本的映射關系影響越大,泛化能力越好。
CMAC網絡的學習采用誤差糾正算法,計算量少斂速度快。其權值修正公式及輸出可表示如下:
式中,η為學習步長,yd為期望輸出,mi為輸入變量S激活存儲單元的首地址。修正方法可以采用每個樣本修正一次的增量學習方法,也可以采用所有樣本都輸入一輪后再修正的批量學習方法。
1.2多維CMAC網絡的計算方法
由上述CMAC模型的算法可知,應用傳統的多維CMAC概念映射算法會因輸入維數的增大而使存儲空間劇烈增大,從而使網絡計算量增大,收斂速度變慢。這里采用一種新的多維CMAC網絡的處理方法--疊加處理法。即把輸入空間為n維的多維CMAC網絡看作是由n個一維CMAC網絡疊加而成,其輸出為n個一維子網絡的輸出的疊加。\par
當輸入空間的維數n=1時,對于每一個輸入變量,都激活C個連續存儲單元,即有C個對應單元的權值輸出非零。它的激勵情況如表l所示。
表1激活單元地址分布
sia1a2a3a4a5a6a7a8a9a10
01111000000
10111100000
20011110000
30001111000
40000111100
50000011110
60000001111
經歸納,輸入變量Si激活存儲單元的首地址mi的計算方法如下:
mi=Si(C-Δ)+1(4)
其中,Si為輸入量的量化值;C為泛化參數;△為相鄰輸入激活存儲單元的重疊單元數大小。若輸入矢量有q個量化級,則存儲區A需要q(C-△)+C個存儲單元。.
當輸入空間的維數n>1時;設輸入空間為n維矢量Si=(Si1,Si2,…,Sin),對于每個分量Sij,都可以看作圖1所示結構模型的一維輸入量。由式(3)可得其對應的輸出為:
其中,mj為Sij所激活存儲單元的首地址。整個CMAC網絡可看作由n個如圖1所示的子網絡組成,S對應的輸出yi可看作n個子網絡輸出yij(j=1,2,…,n)的疊加。
若每個輸入分量有q個量化級,每個子網絡中兩相鄰樣本有△個單元重疊,采用上述疊加方法共需存儲單元n×[q(C-△)+C]。而對于傳統的多維概念映射算法來說,n維輸入空間中可能的輸入狀態為qn個。對于一些實際系統,qn往往遠遠大于n×[q(C-△)+C]。例如8維輸入,量化級為200個等級,泛化參數C取為40,相鄰輸入激活存儲單元的重疊單元數大小△為35,則用疊加處理法需要11200個存儲單元,而用傳統的概念映射算法需要2008個存儲單元。對于傳統的概念映射算法所帶來的要求存儲空間過大的問題,最常用的方法是把A當作一個虛擬存儲區,通過散射編碼映射到一個小得多的物理空間單元Ap中,從而減少存儲空間。但是這種地址壓縮技術隨機性很強,會帶來沖撞問題且不可避免。然而,對多維CMAC網絡采用疊加處理法,不但可以大大減少占用的存儲單元數,而且還可以避免地址壓縮帶來的沖撞現象,大大提高網絡的映射精度和學習速度。
圖2
2實驗及仿真結果
實驗是在山東大學現代物流實驗中心進行的。該機器人手眼系統由用于抓取物體的SK6機械手和用于視覺定位的PanasonicWV-CP410/G彩色攝像頭組成。攝像頭采集的圖像是二維的,而機械手運動到某一位置需要六自由度坐標。因此必須把二維圖像坐標轉換成機器人運動空間的六維坐標,才能控制機器人運動到指定的空間位置,這就是機器人手眼系統位置控制問題。本文采用CMAC神經網絡實現了這一坐標變換,并對其結果與BP網絡進行了比較。
本實驗共采集到793個輸入樣本,選取CMAC網絡的量化精度Q為1000,泛化參數C為80,學習步長η為0.30。圖2(a)和(b)分別為對CMAC網絡訓練25次和對BP網絡訓練5000次的誤差平方和曲面圖。可以看出,CMAC網絡在訓練次數少于BP網絡的情況下,其誤差平方和遠遠小于BP網絡,且誤差分布比較均勻。圖3(a)和(b)分別為CMAC網絡和BP網絡的誤差平方和隨學習次數的增加而變化的曲線圖。由圖可知CMAC網絡的學習速度較BP網絡有較大提高。
- 上一篇:黨建反腐倡廉理論的發展與創新
- 下一篇:交流電機轉速調整器研究管理論文