0 引言
無人搬運(yùn)車(Automated Guided Vehicle,AGV),也叫做自動導(dǎo)引運(yùn)輸車,是指裝備有電磁或光學(xué)傳感器裝置,能夠沿規(guī)定好的路徑行駛,具有安全保護(hù)以及各種移載功能的運(yùn)輸車。
傳統(tǒng)的工廠和倉庫中的貨物搬運(yùn)需要大量人力,效率低下,容易出錯。貨物儲存位置、不同貨物大小和重量,對機(jī)器和人都是一種挑戰(zhàn)。
目前國內(nèi)自動導(dǎo)引車普遍使用在地面上的標(biāo)線對小車進(jìn)行導(dǎo)航,或者在規(guī)定區(qū)域的地面,貼上標(biāo)志圖形,其缺點(diǎn)在于需要在地面上鋪設(shè)大量標(biāo)志線和圖形,其活動范圍受到限制,且標(biāo)志線被污染容易造成導(dǎo)航精度降低甚至失效的后果。或者采用全局?jǐn)z像頭定位小車在室內(nèi)的位置,其缺點(diǎn)是定位精度差,成本高。
在AGV的相關(guān)技術(shù)研究中,導(dǎo)航技術(shù)是其核心技術(shù),也是其實(shí)現(xiàn)真正的智能化和完全的自主移動的關(guān)鍵技術(shù)。導(dǎo)航研究的目標(biāo)是在沒有人工干預(yù)的情況下使機(jī)器人有目的地移動并完成特定任務(wù)。而路徑軌跡計(jì)算又是導(dǎo)航的核心技術(shù)之一,只有知道了機(jī)器人自身移動的軌跡,才能完成導(dǎo)航任務(wù)。
本文利用機(jī)器視覺技術(shù)檢測地面,使用塊匹配算法計(jì)算AGV軌跡。其優(yōu)點(diǎn)是無需在地面鋪設(shè)大量標(biāo)志線和圖形,精度高,成本低。在運(yùn)行較長軌跡后,只需用極少坐標(biāo)作為誤差矯正即可完成AGV的長期導(dǎo)航任務(wù)。
1 直線行駛圖像匹配
圖像匹配是通過計(jì)算相似性度量來判斷圖像間的變換參數(shù),從不同傳感器、不同方位、不同時(shí)間采集同一場景的2幅或多幅圖像,將其變換到同一坐標(biāo)系下,并在像素層上實(shí)現(xiàn)最佳匹配的效果。圖像匹配的方法可以劃分為4類:基于灰度的匹配、基于模板的匹配、基于變換域的匹配和基于特征的匹配。
本文利用CCD拍攝地面,從地面的圖像的移動來判斷小車移動的距離,由于地面特征變化很多,特征有時(shí)明顯有時(shí)不明顯,所以采用基于模板的匹配的方法來計(jì)算小車移動的距離,簡單實(shí)用。
1.1 基于模板的匹配
基于模板的匹配是在圖像已知的重疊區(qū)域里選擇一塊矩形區(qū)域作為模板,與掃描被匹配圖像中同樣大小的區(qū)域進(jìn)行對比,計(jì)算其相似性度量,確定最佳的匹配位置,所以此方法也被稱為塊匹配過程。其匹配過程包括4個步驟,如圖1所示。
圖1 基于模板的匹配算法流程圖
1.2 基于塊匹配過程
CCD攝像頭拍攝地面,以幀的方式傳輸?shù)?a target="_blank">處理器中,圖2是相鄰2幀可能的相對位置情況。
圖2 相鄰2幀相對位置情況
如圖3所示,假設(shè)每2幀的圖像有部分重疊,重疊部分用陰影表示,此重疊區(qū)域即為塊匹配的基準(zhǔn)模板,相鄰2幀重疊區(qū)域與前一幀圖像面積的比值定義為重疊系數(shù)β。
圖3相鄰2幀圖像重疊的位置情況
模板的大小和坐標(biāo)定義如下:前一幀的坐標(biāo)系是x - y,每一像素點(diǎn)的灰度值為f(x,y),后一幀的坐標(biāo)系是X - Y,每一像素點(diǎn)的灰度值為g(X,Y),坐標(biāo)系變換是x = X + ΔX,y = Y + ΔY。
重疊區(qū)域S的比對采用差值法,重疊區(qū)域相似性度量計(jì)算公式如下:
模板掃描策略從β ~ 1,每次掃描都會有一個A值,取所有A值中的最小值:min(A1,A2,A3,…)
此時(shí)的ΔX是AGV在2幀時(shí)間內(nèi)行駛前進(jìn)方向的路程,ΔY是AGV行駛方向的垂直方向的偏移。在時(shí)間t內(nèi)前進(jìn)方向行駛的距離為∑ΔX,垂直方向?yàn)椤痞。
1.3 CCD攝像頭與AGV移動速度關(guān)系
CCD攝像頭拍攝面積、傳輸幀數(shù)與AGV行駛速度之間的關(guān)系如下:
其中,v是AGV移動速度,β是重疊區(qū)域重疊系數(shù),LONG是CCD攝像頭窗口拍攝矩形長度大小,COLUMN是CCD攝像頭分辨率列數(shù),F(xiàn)PS是幀率。
1.4 拍攝條件
1)消除拖影。運(yùn)動物體如果速度過快,在每一幀的圖像中會有拖影出現(xiàn),所以在選擇CCD攝像頭時(shí),最好選擇120 FPS的CCD攝像頭,快門速度>=1/50 s,小車行駛越快,需要快門速度越快。這樣可以有效消除拖影對算法的影響。
2)消除曝光瑕疵。照射地面的光線可能由于外在原因,導(dǎo)致不同幀的圖像的不同位置的光強(qiáng)度有變化對算法的結(jié)果有一定影響。所以需要在AGV底部增加主動光源,如圖4所示。
圖4 光源與CCD攝像頭位置示意圖
試驗(yàn)選擇日常的瓷磚地面,瓷磚地面普遍比較光滑,顏色趨于一致。但是如果近距離用攝像頭拍攝,會發(fā)現(xiàn)瓷磚表面會有大小不一的孔洞,有光源照射時(shí),與瓷磚背景形成鮮明對比,如圖5 ~ 圖6所示,CCD攝像頭鏡頭角度為30.4°,距離地面距離100mm。
圖5 光源以30°角照射地面
圖6 光源垂直照射地面
根據(jù)地面狀況不同,光源入射角度也不同,此試驗(yàn)選擇光源垂直照射地面,使得特征孔洞與地面整體有更大的對比反差。
2 轉(zhuǎn)彎行駛圖像匹配
試驗(yàn)使用的AGV是由2個無刷電機(jī)帶主動輪和一個萬向輪被動輪構(gòu)成的樣車即小車,如圖7所示。
圖7 小車示意圖
CCD攝像頭安裝在小車下方,2個主動輪中心位置,向右轉(zhuǎn)彎時(shí),小車右輪不動,左輪轉(zhuǎn)動,向左轉(zhuǎn)彎時(shí),小車左輪不動,右輪轉(zhuǎn)動。
2.1 轉(zhuǎn)彎塊匹配算法
小車轉(zhuǎn)彎的過程也是CCD攝像頭繞固定輪旋轉(zhuǎn)的過程,以向左轉(zhuǎn)彎為例,示意圖如8所示。
圖8 相鄰2幀的位置
模板的大小和坐標(biāo)定義如下:前一幀的坐標(biāo)系是ρ - θ,每一像素點(diǎn)的灰度值為f(ρ,θ),后一幀的坐標(biāo)系是r - φ,每一像素點(diǎn)的灰度值為g(r,φ),坐標(biāo)系變換是φ = θ + Δθ,r = ρ + Δρ。在此采用極坐標(biāo)系。
重疊區(qū)域S的比對采用差值法,重疊區(qū)域相似性度量計(jì)算公式如下:
板掃描策略從β ~ 1,每次掃描都會有一個B值,取所有B值中的最小值:min(B1,B2,B3,…)
此時(shí)的Δρ值是小車在2幀時(shí)間轉(zhuǎn)動瞬心的偏移,直角坐標(biāo)系內(nèi)的值是(Δρ × cosθ,Δρ × sinθ),Δθ是小車行轉(zhuǎn)彎時(shí)的瞬時(shí)轉(zhuǎn)角。在時(shí)間t內(nèi)轉(zhuǎn)彎的偏移量為(∑Δρ × cosθ,∑Δρ × sinθ)和轉(zhuǎn)彎角度為∑Δθ。
3 試驗(yàn)驗(yàn)證和結(jié)果分析
3.1 其中2幀對比的計(jì)算結(jié)果
試驗(yàn)用CCD攝像頭設(shè)定為320 x 240像素,β系數(shù)設(shè)定為0.9,用Matlab仿真,圖9為其中2幀掃描結(jié)果。
圖9 4個方向Matlab計(jì)算結(jié)果
分析從4個方向計(jì)算結(jié)果,在右上方有最小值,所以判斷第2幀圖像在第1幀圖像的右上方,將4個方向的計(jì)算結(jié)果合成在一個坐標(biāo)系下,結(jié)果如圖10所示。
圖10 4個方向坐標(biāo)系合成Matlab計(jì)算結(jié)果
由坐標(biāo)系換算得到,第2幀圖像在第1幀圖像右上方,橫坐標(biāo)偏離21個像素點(diǎn),縱坐標(biāo)偏離23個像素點(diǎn)。
3.2 小車直線行駛計(jì)算結(jié)果
試驗(yàn)用CCD攝像頭設(shè)定為320 x 240像素,β系數(shù)設(shè)定為0.9,幀率120 FPS。小車直線向前行駛距離,其中約1 s的數(shù)據(jù)如圖11所示。
圖11 小車約1 s內(nèi)行駛前方和側(cè)方每幀像素個數(shù)
小車在約1 s時(shí)間內(nèi),向右移動了206個像素點(diǎn),向下方偏移了32個像素點(diǎn)。換算成距離約向前移動了34.9788 mm,偏移5.4336 mm。
使用基恩士激光位移傳感器(型號LK-G150,精度0.01 um)測量小車,將小車移動200 mm的距離,重復(fù)試驗(yàn)30次。CCD攝像頭拍下的圖像,用基于塊匹配算法,實(shí)際計(jì)算結(jié)果如表1所示。
表1 小車直線行駛200mm時(shí)算法誤差
3.3 小車轉(zhuǎn)彎2幀對比結(jié)果
以左轉(zhuǎn)彎為例,圖12為小車左轉(zhuǎn)彎時(shí),2幀圖像基于塊掃描的匹配結(jié)果。
圖12 小車左轉(zhuǎn)彎2幀圖像塊掃描結(jié)果
表2 小車左轉(zhuǎn)彎時(shí)的轉(zhuǎn)角計(jì)算誤差
使用精度為0.05°的陀螺儀芯片,使小車向左轉(zhuǎn)彎30°,CCD攝像頭拍下圖像,用基于塊匹配算法,四舍五入精度到小數(shù)點(diǎn)后一位。實(shí)際計(jì)算結(jié)果如表2所示。
經(jīng)計(jì)算,計(jì)算值與實(shí)際值存在一定誤差,直線行駛,計(jì)算值的誤差率比較低,轉(zhuǎn)彎行駛誤差比較高,分析其原因如下:
1)直線行駛。
①實(shí)際移動不完全是像素點(diǎn)的整數(shù)倍,而算法中沒有考慮不是完整像素的情況。
②實(shí)際CCD攝像頭安裝位置和鏡頭角度導(dǎo)致攝像頭可照射范圍不是整數(shù)倍,本身鏡頭覆蓋面有一定誤差。
2)轉(zhuǎn)彎行駛。
①由于轉(zhuǎn)彎行駛是按照極坐標(biāo)系來計(jì)算的,而像素點(diǎn)本身是直角坐標(biāo)系,在相互轉(zhuǎn)換計(jì)算中,會有一定誤差。
②由于轉(zhuǎn)彎時(shí)會考慮轉(zhuǎn)動瞬息的移動情況,在算法消除瞬心移動時(shí),也會造成一定誤差。
所以整體轉(zhuǎn)彎行駛的算法的誤差會比直線行駛誤差要大。
4 結(jié)束語
本文介紹了使用CCD攝像頭,根據(jù)地面圖像,配合本文提出的算法,可以用于平整地面AGV的軌跡計(jì)算。其優(yōu)點(diǎn)是與全局?jǐn)z像頭相比成本低,精度高。
與傳統(tǒng)方法相比,無需在地面鋪設(shè)大量標(biāo)志線,適用范圍廣,AGV行駛更加自由。但本算法在長期運(yùn)行時(shí),其誤差的累積還是比較大。為此筆者將對以下幾種解決方法進(jìn)行研究:
1)選取像素更低、曝光時(shí)間更短的CCD攝像頭來提高精度。
2)選擇2個或者3個CCD攝像頭,采用數(shù)據(jù)融合技術(shù)來降低誤差。
3)在地面鋪設(shè)少許RFID標(biāo)簽,在導(dǎo)航路徑規(guī)劃時(shí),行駛一定距離時(shí),導(dǎo)航到RFID標(biāo)簽范圍內(nèi),對其累積誤差進(jìn)行校正。
-
自動化
+關(guān)注
關(guān)注
29文章
5562瀏覽量
79240 -
人工智能
+關(guān)注
關(guān)注
1791文章
47183瀏覽量
238265
原文標(biāo)題:?基于地面特征塊匹配的機(jī)器視覺用于平整地面AGV行駛軌跡計(jì)算方法
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論