王 錚,趙 曉,佘宏杰,劉洪海,趙燕偉,+
(1.浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023; 2.浙江工業(yè)大學(xué) 特種裝備制造與先進(jìn)加工技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310014)
自動(dòng)導(dǎo)引車(chē)(Automatic Guided Vehicle, AGV)指能夠沿著磁性或光路自動(dòng)引導(dǎo)路徑行駛,并配備安全設(shè)備,具有編程調(diào)試、停車(chē)選擇等多種功能的無(wú)人運(yùn)輸車(chē),是物流系統(tǒng)中重要的自動(dòng)化裝置[1-2]。近年來(lái),隨著自動(dòng)化水平的提高,AGV的應(yīng)用范圍不斷擴(kuò)展,被廣泛地應(yīng)用于軍事、工業(yè)、交通等領(lǐng)域。
在工業(yè)應(yīng)用中,AGV主要用來(lái)完成車(chē)間物料的運(yùn)送。盡管布局安排會(huì)盡量保證AGV的工作路徑?jīng)]有障礙,但是由于車(chē)間環(huán)境比較復(fù)雜,堆放隨意的物料和工人都可能影響小車(chē)的運(yùn)動(dòng),需要小車(chē)本身具有快速檢測(cè)障礙物、智能準(zhǔn)確地避開(kāi)障礙和停車(chē)等待的能力。完整的避障系統(tǒng)主要包括障礙物檢測(cè)、障礙物信息計(jì)算和避障操作3部分[3]。目前障礙物檢測(cè)方法主要有激光雷達(dá)檢測(cè)、超聲波傳感器檢測(cè)、紅外傳感器檢測(cè)、機(jī)器視覺(jué)檢測(cè)等[4],視覺(jué)檢測(cè)通常是利用電荷耦合器件(Charge Coupled Device, CCD)相機(jī)采集外界信息,通過(guò)計(jì)算機(jī)對(duì)圖像進(jìn)行處理和計(jì)算,得到障礙物的運(yùn)動(dòng)信息,因其具有精度高、信息量大等優(yōu)點(diǎn),受到國(guó)內(nèi)外的廣泛關(guān)注[5-6]。王榮本等[7]設(shè)計(jì)了一種基于視覺(jué)導(dǎo)航的AGV,能夠沿著視覺(jué)標(biāo)識(shí)帶行駛,并實(shí)現(xiàn)自主避障;楊福增等[8]提出一種基于立體視覺(jué)技術(shù)的障礙物檢測(cè)方法,該方法穩(wěn)定、可靠,識(shí)別準(zhǔn)確率較高。從目前的情況來(lái)看,對(duì)不同狀態(tài)下障礙物檢測(cè)的研究尚不全面,因此本文提出一種基于雙目視覺(jué)的障礙物檢測(cè)技術(shù),對(duì)車(chē)間內(nèi)不同狀態(tài)下障礙物進(jìn)行檢測(cè),并采取相應(yīng)的避障策略。
首先對(duì)攝像頭進(jìn)行標(biāo)定[9],計(jì)算地面在左攝像頭坐標(biāo)系下的平面方程。障礙物檢測(cè)流程如下:
步驟1通過(guò)雙目攝像頭采集AGV前方圖像,采集周期為T(mén)。
步驟2對(duì)左右兩幅圖像進(jìn)行畸變和極線校正,消除失真,將匹配點(diǎn)約束在一條直線上,減少誤匹配并大大縮短匹配時(shí)間。
步驟3對(duì)左右圖像進(jìn)行立體匹配,獲取視差圖。
步驟4計(jì)算圖像匹配點(diǎn)在左攝像頭坐標(biāo)系下的三維坐標(biāo),獲取其高度距離與水平距離,并與設(shè)定閾值比較,判定障礙物是否存在。
步驟5無(wú)障礙時(shí)繼續(xù)檢測(cè),有障礙物則減速停車(chē),檢測(cè)障礙物的運(yùn)動(dòng)狀態(tài),并獲取參數(shù)信息。
本文利用OpenCV視覺(jué)庫(kù)中的cvFindContours輪廓檢測(cè)函數(shù)檢測(cè)物體的輪廓,并用其外接矩形框標(biāo)記,如圖1所示。根據(jù)其中的白色像素點(diǎn),利用雙目視覺(jué)測(cè)距原理[10]計(jì)算出物體相對(duì)左攝像頭坐標(biāo)系下的三維坐標(biāo)[11]。
這里提出一種障礙物的判定算法:首先隨機(jī)提取若干個(gè)矩形框中的白色像素點(diǎn),計(jì)算其位于左攝像機(jī)坐標(biāo)系下的三維坐標(biāo)(x,y,z),其中x和z分別表示物體相對(duì)于左攝像頭的高度距離與水平距離,然后根據(jù)設(shè)定的閾值判斷是否為障礙物[12]。具體步驟如下:
步驟1隨機(jī)提取視差圖矩形框內(nèi)若干白色像素點(diǎn)di(i=1,2,3,…),計(jì)算其三維坐標(biāo)di(x,y,z),并按照水平距離z的大小排序。
步驟2因?yàn)樘崛『陀?jì)算過(guò)程中存在誤差,所以可能存在異常數(shù)據(jù),計(jì)算時(shí)取z值的中位數(shù)z0,并設(shè)定閾值φ,對(duì)于滿(mǎn)足|z-z0|>φ的像素點(diǎn),將其作為異常點(diǎn)剔除。
在AGV判定前方有障礙物的情況下,根據(jù)障礙物的運(yùn)動(dòng)信息進(jìn)一步確定障礙物的運(yùn)動(dòng)狀態(tài)。
對(duì)于動(dòng)態(tài)目標(biāo)的檢測(cè),傳統(tǒng)的檢測(cè)方法有幀差法、背景差法和光流法3種[13],這3種方法都要求攝像機(jī)為靜止?fàn)顟B(tài)。因此當(dāng)AGV檢測(cè)到障礙物時(shí),應(yīng)當(dāng)立即停車(chē),檢測(cè)障礙物的運(yùn)動(dòng)狀態(tài)。其中,背景差法需要預(yù)先提供場(chǎng)景的背景圖像,當(dāng)背景發(fā)生變化時(shí)需要更新背景圖像;光流法計(jì)算量較大,耗時(shí)長(zhǎng),難以滿(mǎn)足實(shí)時(shí)性要求;幀差法簡(jiǎn)單有效,能夠適應(yīng)動(dòng)態(tài)變化,但對(duì)噪聲比較敏感。綜合以上因素,考慮到算法復(fù)雜性和系統(tǒng)實(shí)時(shí)性,本文采用幀差法檢測(cè)動(dòng)態(tài)障礙。
幀差法的原理是將相鄰兩幀或三幀圖像數(shù)據(jù)相減后,通過(guò)預(yù)先設(shè)定的閾值過(guò)濾掉相對(duì)靜止的部分來(lái)提取動(dòng)態(tài)目標(biāo)區(qū)域[14]。首先對(duì)相鄰兩幀圖像進(jìn)行差分運(yùn)算,得到差分圖像,然后對(duì)差分圖像進(jìn)行二值化,假設(shè)像素值變化閾值為T(mén),如果對(duì)應(yīng)像素值的變化小于T,則認(rèn)為此處屬于背景圖像,否則屬于目標(biāo)圖像。則有:
(1)
Di(x,y)=|fi(x,y)-fi-1(x,y)|。
(2)
式中:Di(x,y)表示差分圖像;Ri(x,y)表示二值化的差分圖像,黑色表示背景,白色表示運(yùn)動(dòng)目標(biāo)。
當(dāng)障礙物靜止時(shí),相鄰兩幀的圖像沒(méi)有發(fā)生變化,幀差法得到的差分圖像數(shù)據(jù)接近零,二值化圖像應(yīng)為全黑,即Ri(x,y)=0;當(dāng)障礙物運(yùn)動(dòng)時(shí),根據(jù)閾值T的設(shè)定,二值化圖像中的白色部分為障礙物,即Ri(x,y)≠0。
不同運(yùn)動(dòng)狀態(tài)的障礙物需要分別獲取相關(guān)的參數(shù)信息,為后續(xù)的避障提供數(shù)據(jù)支持。
對(duì)于靜態(tài)障礙,除了得到深度信息外,還需要獲取其寬度、相對(duì)于小車(chē)的方向及偏距等信息,以便于小車(chē)?yán)@過(guò)該障礙;而對(duì)于動(dòng)態(tài)障礙,在得到深度距離后,還需要獲取其速度信息,以便于小車(chē)制定相應(yīng)的避障策略[15]。
具體的算法設(shè)計(jì)步驟如下:
步驟1在深度檢測(cè)過(guò)程中,得到障礙物輪廓外接矩形,可將矩形的寬度近似為障礙物的寬度,設(shè)為W,矩形的中心則近似為障礙物中心,記為O。
步驟2利用深度檢測(cè)得到點(diǎn)的三維坐標(biāo)di(x,y,z),其中y表示該點(diǎn)相對(duì)于左攝像頭光心的偏移距離Li。
步驟3視差圖中,白色點(diǎn)不夠致密,矩形中點(diǎn)的像素為黑,不能直接得出其坐標(biāo)信息,但是可以通過(guò)獲取矩形一側(cè)邊界白色像素點(diǎn)的坐標(biāo),如左側(cè)(xL,yL,zL),再根據(jù)矩形的寬度計(jì)算出障礙物中心O點(diǎn)的縱坐標(biāo),即O點(diǎn)相對(duì)于左攝像頭光心的偏移量LO,
(3)
步驟4雙目攝像頭安裝居中,兩個(gè)光心距離B=70,計(jì)算障礙物中心O相對(duì)于小車(chē)中心的偏距d,
(4)
d>0表示偏右,d<0表示偏左,d=0表示居中。
(5)
本文搭建的AGV實(shí)驗(yàn)?zāi)P腿鐖D2和圖3所示,其中:兩個(gè)前輪為驅(qū)動(dòng)輪,由兩個(gè)伺服電機(jī)獨(dú)立驅(qū)動(dòng);兩個(gè)后輪為萬(wàn)向輪,作為從動(dòng)輪。系統(tǒng)主要由車(chē)體、上位機(jī)、攝像頭、伺服電機(jī)、電源等組成,各主要部件的規(guī)格參數(shù)如表1所示。
表1 AGV主要部件規(guī)格參數(shù)表
部件規(guī)格參數(shù)車(chē)體車(chē)體尺寸600×450×500(mm)驅(qū)動(dòng)輪直徑?160mm上位機(jī)聯(lián)想z460筆記本,內(nèi)存2G,處理器酷睿i3,Win7系統(tǒng)導(dǎo)航攝像頭CMOS感光元件、視角70°、像素200萬(wàn)
續(xù)表1
綜合考慮實(shí)際場(chǎng)景和雙目攝像頭的景深范圍,設(shè)定將高于地面10 mm且距離小車(chē)1 000 mm以?xún)?nèi)的物體視為障礙物。攝像頭安裝于小車(chē)前部中央,圖像采集的周期為250 ms,距離地面高度為200 mm,因此障礙物的高度距離閾值和水平距離閾值分別設(shè)為xd=-190 mm,zd=1 000 mm。另外,實(shí)驗(yàn)中用于幀差法檢測(cè)的圖像全部采用左攝像頭采集。
2.1.1 基于深度檢測(cè)的障礙物判定
圖4a和圖4b所示分別為左右攝像頭采集到的紙箱圖像(此處假定紙箱為障礙物),紙箱的實(shí)際高度為160 mm,距離攝像頭光心700 mm。采集的圖像經(jīng)過(guò)畸變校正、極限約束和立體匹配后,取矩形框的白色像素點(diǎn)數(shù)為10,設(shè)異常點(diǎn)閾值φ=50。根據(jù)前文所述計(jì)算步驟,得到表2所示的實(shí)驗(yàn)數(shù)據(jù)。
表2 靜態(tài)紙箱障礙檢測(cè)實(shí)驗(yàn)數(shù)據(jù) mm
采集點(diǎn)數(shù)據(jù)三維坐標(biāo)(x,y,z)(相對(duì)左攝像頭坐標(biāo)系)水平距離z高度距離x水平距離均值(剔除異常點(diǎn)后)高度距離最大值(剔除異常點(diǎn)后)檢測(cè)結(jié)果1(-26.9,-2.2,724.5)724.5-26.92(-62.9,13.8,720.9)720.9-62.93(-20.6,7.6,720.3)720.3-20.64(-26.1,47.3,722.1)722.1-26.15(-69.7,39.7,728.1)728.1-69.76(-64.5,132.3,728.7)728.7-64.57(-52.6,133.2,723.8)723.8-52.68(368.7,354.1,-54878)-548780368.79(-61.7,41.4,726.9)726.9-61.710(-33.2,-7.3,725.2)725.2-33.2724.5-20.6-20.6>-190且724.5<1000判定為障礙物
從表2可以看出,在紙箱作為障礙物的情況下,通過(guò)雙目視覺(jué)計(jì)算得到深度距離的誤差為724.5-700=24.5 mm,誤差率為3.5%,基本滿(mǎn)足實(shí)際要求。因?yàn)樘崛〖坝?jì)算過(guò)程中存在未知錯(cuò)誤,造成采集點(diǎn)8檢測(cè)的坐標(biāo)超出臨界值,所以將該采集點(diǎn)作為異常點(diǎn)剔除。
2.1.2 基于幀差法的障礙物運(yùn)動(dòng)狀態(tài)檢測(cè)
為了提高圖像處理速度,減少噪聲的影響,分別對(duì)其進(jìn)行灰度化與5×5窗口的中值濾波去噪的圖像預(yù)處理[16-17]。圖5a和圖5b所示分別為預(yù)處理后的相鄰兩幀障礙物圖像。
兩幀圖像相減得到差分圖像,設(shè)定閾值T=30,得到二值化的差分圖像為全黑,即Ri(x,y)=0,可以判定該障礙物為靜止?fàn)顟B(tài)。
2.1.3 靜態(tài)障礙物方位信息的獲取
根據(jù)前文設(shè)計(jì)的障礙物方位和速度信息獲取算法步驟,計(jì)算得到的障礙物方位信息如表3所示。可以看出,計(jì)算所得的障礙物方位信息與實(shí)際信息相比略有差別,考慮到攝像頭的安裝以及測(cè)量過(guò)程中不可避免地存在誤差,對(duì)靜態(tài)障礙物信息的檢測(cè),基本能夠滿(mǎn)足實(shí)際要求。
表3 靜態(tài)紙箱障礙方位信息 mm
2.2.1 基于深度檢測(cè)的障礙物判定
圖6所示為雙目攝像頭采集的行人腿部圖像,視野內(nèi)腿的實(shí)際高度為512 mm,距離攝像頭光心860 mm。同樣,圖像經(jīng)過(guò)畸變校正、極限約束和立體匹配后,將判定算法中矩形框內(nèi)的白色像素點(diǎn)數(shù)取為10,設(shè)異常點(diǎn)的閾值φ=50。根據(jù)算法步驟,得到如表4所示的實(shí)驗(yàn)數(shù)據(jù)。可以看出,將行人作為障礙物的情況下,雙目視覺(jué)測(cè)得的深度距離為872.4 mm,誤差為872.4-860=12.4 mm,誤差率為1.4%,與實(shí)際值接近。檢測(cè)得到采集點(diǎn)7和8的坐標(biāo)由于超出臨界值,在這里作為異常點(diǎn)剔除。
表4 行人障礙檢測(cè)數(shù)據(jù) mm
采集點(diǎn)數(shù)據(jù)三維坐標(biāo)(x,y,z)(相對(duì)左攝像頭坐標(biāo)系)水平距離z高度距離x水平距離均值(剔除異常點(diǎn)后)高度距離最大值(剔除異常點(diǎn)后)檢測(cè)結(jié)果1(-14.5,6.2,876.3)876.3-14.52(21.3,15.8,871.1)871.121.33(40.6,55.6,862.4)862.440.64(78.5,86.4,868.7)868.778.55(69.7,79.6,881.3)881.369.76(94.1,132.3,879.8)879.894.17(368.7,354.1,-54878)-54878.0368.78(368.7,354.1,-54878)-54878.0368.79(71.6,114.5,863.6)863.671.610(83.5,127.6,875.9)875.983.58724941941>-190且8724<1000判定為障礙物
2.2.2 基于幀差法的障礙物運(yùn)動(dòng)狀態(tài)檢測(cè)
對(duì)停車(chē)后左攝像頭采集到的圖像進(jìn)行灰度化與5×5窗口的中值濾波去噪預(yù)處理[16-17],得到如圖7所示的相鄰兩幀行人障礙灰度圖像。
兩幀圖像相減得到差分圖像,根據(jù)設(shè)定閾值T=30,得到二值化的差分圖像,分別如圖8a和圖8b所示。
可以看出二值化的差分圖像不為全黑,即Ri(x,y)≠0,可以判定該障礙物處于運(yùn)動(dòng)狀態(tài)。
2.2.3 動(dòng)態(tài)障礙物速度信息的獲取
根據(jù)障礙物方位和速度信息獲取算法步驟,得到障礙物上同一點(diǎn)在連續(xù)視差圖中的坐標(biāo)分別為d1(78.5,86.4,868.7)和d2(81.3,-12.7,871.5),計(jì)算其速度
=0.39 m/s。
由于d1和d2的x和z坐標(biāo)基本沒(méi)有變化,可以認(rèn)為只在y方向上存在運(yùn)動(dòng),即速度方向是垂直于AGV的中軸線,并且速度為正,表示障礙物相對(duì)于小車(chē)從右往左運(yùn)動(dòng)。
針對(duì)不同運(yùn)動(dòng)狀態(tài)的障礙物提出簡(jiǎn)單的避障策略,描述如下:
(1)當(dāng)AGV檢測(cè)到物體并判定為障礙物時(shí),應(yīng)逐漸減速至停車(chē)。
(2)在停車(chē)時(shí),通過(guò)前述算法判定障礙物的運(yùn)動(dòng)狀態(tài),并獲取障礙物相應(yīng)的參數(shù)信息。
(3)對(duì)于動(dòng)態(tài)障礙,AGV繼續(xù)停車(chē)等待,直到障礙物消失后按原路繼續(xù)行駛。
(4)對(duì)于靜態(tài)障礙,則根據(jù)障礙物尺寸、方位等參數(shù)控制AGV繞過(guò)障礙,然后回歸導(dǎo)航路徑。
避障的具體流程如圖9所示。
動(dòng)態(tài)障礙的避障策略比較簡(jiǎn)單,只需停車(chē)等待,靜態(tài)障礙則需要控制AGV繞過(guò)障礙物,相對(duì)比較復(fù)雜,因此主要描述靜態(tài)障礙的避障過(guò)程。
(1)獲取靜態(tài)障礙物的尺寸和方位信息 在障礙物檢測(cè)過(guò)程中,已經(jīng)能夠比較精確地獲得靜態(tài)障礙物的寬度尺寸及其相對(duì)于小車(chē)的方位信息,此處無(wú)法獲得障礙的長(zhǎng)度尺寸,假設(shè)其長(zhǎng)度為W。
(2)控制AGV繞過(guò)障礙物并回歸導(dǎo)航路徑 本文提出的方法是:當(dāng)障礙物相對(duì)于小車(chē)偏左時(shí),為了能更快繞過(guò)障礙物,根據(jù)障礙物的位置及車(chē)間環(huán)境的不同,設(shè)置一個(gè)恒定的安全距離,小車(chē)右轉(zhuǎn)角度θ并沿平行安全距離直行一段距離X,當(dāng)車(chē)身中心與障礙物中心的連線與導(dǎo)航路徑垂直時(shí),左轉(zhuǎn)角度2θ并直行距離X,使其回歸導(dǎo)航路徑。障礙物偏右和居中時(shí)同理,不再贅述。其避障過(guò)程如圖10所示。
圖中:L為小車(chē)的車(chē)身寬度;θ和2θ為小車(chē)的旋轉(zhuǎn)角度;D為障礙物相對(duì)小車(chē)的距離;yL為障礙物左側(cè)邊界相對(duì)于小車(chē)中心的偏移距離;d為考慮存在的誤差和安全問(wèn)題所增加的補(bǔ)償距離。對(duì)于AGV的避障過(guò)程,有
(6)
(7)
視覺(jué)AGV導(dǎo)航的主要任務(wù)是根據(jù)視覺(jué)系統(tǒng)檢測(cè)到的運(yùn)動(dòng)偏差來(lái)控制小車(chē)行進(jìn)。為了在避障時(shí)避免產(chǎn)生較大的偏移,本文采用一個(gè)閉環(huán)反饋系統(tǒng)對(duì)避障時(shí)的偏差進(jìn)行控制,整個(gè)避障系統(tǒng)如圖11所示。首先通過(guò)攝像頭采集外界圖像傳給上位機(jī)進(jìn)行圖像處理,提取相關(guān)信息并計(jì)算相應(yīng)偏差傳給控制系統(tǒng),控制系統(tǒng)計(jì)算得到相應(yīng)的輸出量,以差速的方式實(shí)現(xiàn)對(duì)車(chē)體的位姿調(diào)整,使AGV在較小的偏移下穩(wěn)定運(yùn)行。
根據(jù)上文構(gòu)建小車(chē)在避障過(guò)程中實(shí)際路徑與預(yù)定路徑的偏差示意圖,如圖12所示??梢钥闯?,偏差主要包括路徑中心線與小車(chē)中點(diǎn)的距離偏差u及中心線與小車(chē)中軸線的角度偏差ε。
以圖像中點(diǎn)為坐標(biāo)原點(diǎn),水平向右為x軸正方向,豎直向上為y軸正方向,建立直線坐標(biāo)方程
y=kx+b。
(8)
其中距離偏差u和角度偏差ε分別表示為:
(9)
(10)
本文結(jié)合傳統(tǒng)比例—積分—微分(Proportional-Integral-Derivative, PID)控制與模糊控制的優(yōu)點(diǎn),采用模糊PID控制方法對(duì)AGV小車(chē)避障時(shí)的路徑進(jìn)行控制。模糊PID控制是一種利用模糊控制方法實(shí)時(shí)調(diào)節(jié)數(shù)字PID控制系統(tǒng)中各控制參數(shù)的智能控制系統(tǒng),本文采用的模糊PID控制器由模糊推理和常規(guī)的數(shù)字增量型PID共同組成。
圖13所示為模糊PID控制器的結(jié)構(gòu)原理圖,系統(tǒng)輸入為誤差e和誤差變化量ec,并找到PID的3個(gè)控制參數(shù)與e及ec之間的模糊關(guān)系,在運(yùn)行時(shí)不斷檢測(cè)e和ec,采用基于模糊控制規(guī)則對(duì)PID控制參數(shù)進(jìn)行在線修改,滿(mǎn)足不同時(shí)刻誤差e和誤差變化量ec對(duì)PID參數(shù)的不同要求,從而使被控對(duì)象具有較好的動(dòng)、靜態(tài)性能。
由AGV的運(yùn)動(dòng)學(xué)模型易知,角度偏差是距離偏差產(chǎn)生的主要原因,而且角度偏差越大,距離偏差就越大。為了體現(xiàn)這種差異,添加一個(gè)權(quán)重系數(shù)p,將這兩個(gè)偏差融合,得到一個(gè)總偏差E,
E=pe+(1-p)ε。
(11)
本文將總偏差E和總偏差變化率Ec作為模糊PID控制器的輸入量, PID控制器3個(gè)參數(shù)的變化量 ,ΔKP,ΔKI和ΔKD作為輸出量。將3個(gè)參數(shù)的變化量分別與原始參數(shù)相加,得到較為準(zhǔn)確的參數(shù),再將該參數(shù)傳遞給數(shù)字增量型PID控制器,經(jīng)過(guò)計(jì)算得到左右輪電機(jī)的轉(zhuǎn)速差Δn。根據(jù)車(chē)速設(shè)定約束,相應(yīng)地給左輪或右輪電機(jī)一個(gè)轉(zhuǎn)速變化量Δn,從而使小車(chē)能夠?qū)崟r(shí)調(diào)整自身的位姿,將偏差控制在一個(gè)較小的范圍。圖14所示為利用MATLAB的模糊控制工具箱(Fuzzy toolBox)寫(xiě)入的49條模糊控制規(guī)則。
借助實(shí)驗(yàn)室場(chǎng)地模擬車(chē)間,鋪設(shè)導(dǎo)航帶,在有障礙物的路徑上進(jìn)行對(duì)比實(shí)驗(yàn)。先后采用傳統(tǒng)PID控制方法和模糊PID控制方法控制AGV小車(chē)運(yùn)動(dòng),分析兩種情況下小車(chē)的距離偏差和角度偏差,從而驗(yàn)證避障策略的有效性。AGV小車(chē)及導(dǎo)航帶如圖15所示。
調(diào)整好AGV小車(chē)的初始位置,使其初始距離偏差為-30 mm,角度偏差為3°,分別進(jìn)行PID和模糊PID控制實(shí)驗(yàn),采樣周期為1 s,采集前10 s的數(shù)據(jù)變化如圖16和圖17所示。其中u為AGV實(shí)際路徑與預(yù)定路徑的距離偏差,ε為角度偏差。
從曲線圖中可以看出,在初始偏差相同的情況下,無(wú)論是對(duì)距離偏差還是角度偏差的控制,模糊PID控制相比傳統(tǒng)PID控制方法都具有較快的響應(yīng)速度和較小的超調(diào)量,AGV的運(yùn)行均更加高效和平穩(wěn)。
本文AGV的應(yīng)用背景為視覺(jué)導(dǎo)引的車(chē)間環(huán)境下的物料搬運(yùn),針對(duì)該背景,需要設(shè)計(jì)相應(yīng)的符合要求的上位機(jī)軟件,實(shí)現(xiàn)AGV對(duì)導(dǎo)航帶的圖像處理和標(biāo)識(shí)符識(shí)別,控制AGV小車(chē)的運(yùn)動(dòng)位姿,以及對(duì)障礙物的識(shí)別檢測(cè)等功能。
在運(yùn)行過(guò)程中,上位機(jī)軟件實(shí)時(shí)檢測(cè)AGV的運(yùn)行狀態(tài)信息,包括直線行駛數(shù)據(jù)和障礙物的檢測(cè)。直線行駛時(shí)需要計(jì)算小車(chē)中心與導(dǎo)航帶中心線的實(shí)時(shí)偏差,包括偏距和偏角;當(dāng)檢測(cè)到障礙物時(shí),能夠根據(jù)圖像信息計(jì)算障礙物的相關(guān)信息。
上位機(jī)軟件的系統(tǒng)界面如圖18所示。
EmguCV中提供了相應(yīng)的類(lèi),即Capture類(lèi)[18],調(diào)用Capture類(lèi)即可實(shí)現(xiàn)對(duì)多個(gè)攝像頭的控制。
打開(kāi)攝像頭并調(diào)整好分辨率后,設(shè)置一定的時(shí)間間隔周期采集圖像,然后對(duì)采集到的圖像進(jìn)行處理。在圖像采集過(guò)程中調(diào)用C#工具箱中的timer控件,將timer控件拖入程序設(shè)計(jì)窗口,設(shè)定時(shí)間周期,在代碼中啟動(dòng)該控件,然后利用QueryFrame()函數(shù)讀取攝像頭的當(dāng)前幀,將其保存在設(shè)定變量中,并顯示在程序界面,便實(shí)現(xiàn)了周期性采集圖像的功能??刂齐p目避障攝像頭采集的圖像如圖19所示。
本文采用基于雙目視覺(jué)的障礙物檢測(cè),通過(guò)安裝在車(chē)體前面的雙目攝像頭,周期性地采集路面前方的圖像,并對(duì)圖像進(jìn)行處理和計(jì)算,分析圖像中是否存在障礙物,然后計(jì)算得出障礙物的運(yùn)動(dòng)狀態(tài)和方位速度等信息。
按照前文提出的障礙物檢測(cè)流程與運(yùn)動(dòng)參數(shù)檢測(cè)算法,分別在無(wú)障礙、靜態(tài)障礙和動(dòng)態(tài)障礙的情況下進(jìn)行實(shí)驗(yàn),得到3種狀態(tài)下的檢測(cè)結(jié)果,分別如圖20a~圖20c所示。通過(guò)對(duì)比計(jì)算可知,檢測(cè)得到的障礙物參數(shù)與實(shí)際參數(shù)相差不大,靜態(tài)障礙誤差率小于3.5%,動(dòng)態(tài)障礙誤差率小于2.0%,基本能夠滿(mǎn)足實(shí)際要求。
本文提出一種基于深度檢測(cè)的障礙物判定算法,該算法可以根據(jù)距離閾值判定是否存在障礙物,如果存在障礙物,則繼續(xù)檢測(cè)障礙物的運(yùn)動(dòng)狀態(tài)。針對(duì)不同狀態(tài)下的障礙物,本文提出一種方法分別獲取其方位和速度信息,然后在障礙物靜止和運(yùn)動(dòng)狀態(tài)下分別進(jìn)行實(shí)驗(yàn)驗(yàn)證,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析和對(duì)比。實(shí)驗(yàn)表明,本文所提算法是可行的。另外,本文還提出一種簡(jiǎn)單的避障策略,分別采用傳統(tǒng)PID和模糊PID控制方法控制AGV前進(jìn),通過(guò)分析兩種控制方法下存在的距離和角度偏差,驗(yàn)證了避障策略的有效性。最后設(shè)計(jì)出一種簡(jiǎn)單高效的上位機(jī)軟件,實(shí)現(xiàn)了對(duì)障礙物的檢測(cè)以及AGV運(yùn)動(dòng)的控制。
[1] WU Xing, LOU Peihuang, TANG Dunbing.Integrated motion control of path tracking and servo control for an automated guided vehicle[J].Journal of Mechanical Engineering,2011,47(3):43-48(in Chinese).[武 星,樓佩煌,唐敦兵.自動(dòng)導(dǎo)引車(chē)路徑跟蹤和伺服控制的混合運(yùn)動(dòng)控制[J].機(jī)械工程學(xué)報(bào),2011,47(3):43-48.]
[2] MARTINEZBARBERA H, HERREROPEREZ D. Development of a flexible AGV for flexible manufacturing systems[J]. Industrial Robot:the International Journal of Robotics Research and Application,2013,37(5):459-468.
[3] WANG Rongben, CHU Jiangwei, FENG Yan, et al. A practical design of AGV visual navigation[J]. Chinese Journal of Mechanical Engineering,2002,38(11):135-138(in Chinese).[王榮本,儲(chǔ)江偉,馮 炎,等.一種視覺(jué)導(dǎo)航的實(shí)用型AGV設(shè)計(jì)[J].機(jī)械工程學(xué)報(bào),2002,38(11):135-138.]
[4] XIAO Haining, LOU Peihuang.Collision avoidance and cycle-deadlock control method for automated guided vehicle system[J]. Computer Integrated Manufacturing Systems,2015,21(5):1244-1252(in Chinese).[肖海寧,樓佩煌.自動(dòng)導(dǎo)引車(chē)系統(tǒng)避碰及環(huán)路死鎖控制方法[J].計(jì)算機(jī)集成制造系統(tǒng),2015,21(5):1244-1252.]
[5] WANG Mengdi, HAN Baoling, LUO Qingsheng. Binocular visual navigation and obstacle avoidance of mobile robots based on speeded-up robust features[J]. Computer Aided Drafting,Design and Manufacturing,2013,23(4):18-24.
[6] ZHUANG Xiaolin, ZHANG Tiemin. Design and experiment of obstacle avoidance of binocular vision recognition system[J]. Journal of Agricultural Engineering,2015,31(S2):24-30(in Chinese).[莊曉霖,張鐵民.小車(chē)避障雙目視覺(jué)識(shí)別系統(tǒng)的研發(fā)[J].農(nóng)業(yè)工程學(xué)報(bào),2015,31(S2):24-30.]
[7] WANG Rongben, CHU Jiangwei, FENG Yan, et al. Design for a new type of AGV based on machine vision[J]. Chinese Journal of Mechanical Engineering,2002,38(11):135-138(in Chinese).[王榮本,儲(chǔ)江偉,馮 炎,等.一種視覺(jué)導(dǎo)航的實(shí)用型AGV設(shè)計(jì)[J].機(jī)械工程學(xué)報(bào),2002,38(11):135-138.]
[8] YANG Fuzeng, LIU Shan, CHEN Liping, et al. Detection method of various obstacles in farmland based on stereovision technology[J]. Transactions of the Chinese Society for Agricultural Machinery,2012,43(5):168-172,202(in Chinese).[楊福增,劉 珊,陳麗萍,等.基于立體視覺(jué)技術(shù)的多種農(nóng)田障礙物檢測(cè)方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2012,43(5):168-172,202.]
[9] YANG Jinghao, LIU Wei, LIU Yang, et al. Calibration of binocular vision measurement system[J]. Optics and Precision Engineering,2016,24(2):300-308(in Chinese).[楊景豪,劉 巍,劉 陽(yáng),等.雙目立體視覺(jué)測(cè)量系統(tǒng)的標(biāo)定[J].光學(xué)精密工程,2016,24(2):300-308.]
[10] SHEN Tong, LIU Wenbo,WANG Jing.Distance measurement system based on binocular stereo vision[J].Electronic Measurement Technology,2015,38(4):52-54(in Chinese).[沈 彤,劉文波,王 京.基于雙目立體視覺(jué)的目標(biāo)測(cè)距系統(tǒng)[J].電子測(cè)量技術(shù),2015,38(4):52-54.]
[11] ZHU Kun, YANG Tangwen, RUAN Qiuqi, et al. Real-time tracking and measuring of moving objects based OR binocular vision[J].Robot,2009(4):327-334(in Chinese).[祝 琨,楊唐文,阮秋琦,等.基于雙目視覺(jué)的運(yùn)動(dòng)物體實(shí)時(shí)跟蹤與測(cè)距[J].機(jī)器人,2009(4):327-334.]
[12] AHSAN M, IQBAL A. Using image processing for design of an autonomous ground vehicle[J]. International Journal of Computer Applications,2014,85(10):33-37.
[13] LI Gang, QIU Shangbin.New moving target detection method based on background differencing and coterminous frames differencing[J]. Journal of Instrumentation,2006,27(8):961-964(in Chinese).[李 剛,邱尚斌.基于背景差法和幀間差法的運(yùn)動(dòng)目標(biāo)檢測(cè)方法[J].儀器儀表學(xué)報(bào),2006,27(8):961-964.]
[14] SGORBISSA A, ZACCARIA R. Planning and obstacle avoidance in mobile robotics[J]. Robotics and Autonomous Systems,2012,60(4):628-638.
[15] CHEN Tianding. Fast computing scheme for AGV obstacle distance measure and road recognition[J]. Advanced Materials Research,2010,108/109/110/111:500-506.
[16] XU Linfeng, TIAN Zhixiang. Design for AGV based on binocular stereo vision[J]. Advanced Materials Research,2011,271/272/273:137-143.
[17] JAMDAGNI P P, PATRA K. Obstacle avoidance for mobile robot navigation in unknown environment using geometrical information of mobile camera images[J]. International Journal of Computational Vision and Robotics,2014,4(1/2):39-54.
[18] CHEN Shengyong, LIU Sheng. Implementation of computer vision technology based on OpenCV[M]. Beijing:Science Press,2008:390-399(in Chinese).[陳勝勇,劉 盛.基于OpenCV的計(jì)算機(jī)視覺(jué)技術(shù)實(shí)現(xiàn)[M].北京:科學(xué)出版社,2008:390-399.]