陳孟元,孫書(shū)誠(chéng),王 虎
(安徽工程大學(xué)安徽省電氣傳動(dòng)與控制重點(diǎn)實(shí)驗(yàn)室,安徽蕪湖241000)
尋跡是機(jī)器人自主運(yùn)動(dòng)的關(guān)鍵技術(shù)之一,在現(xiàn)有的多種導(dǎo)航方式中,視覺(jué)導(dǎo)航是穩(wěn)定性較好的方案之一[1]。本文研究對(duì)象為一個(gè)標(biāo)準(zhǔn)汽車(chē)模型,通過(guò)車(chē)載CMOS攝像頭動(dòng)態(tài)獲取路面圖像,在一個(gè)具有特定幾何尺寸約束、摩擦因數(shù)及光學(xué)特性的白色KT板上,利用轉(zhuǎn)向和車(chē)速控制,使智能車(chē)自動(dòng)沿著其中心鋪設(shè)的黑色帶狀引導(dǎo)線行駛,在保證穩(wěn)定性的前提下以最短時(shí)間完成尋跡任務(wù)。
在路徑的識(shí)別方面,一般只考慮均勻光照情況,忽視光照強(qiáng)弱對(duì)圖像采集的影響(光照原因造成的圖像信息的丟失會(huì)降低智能車(chē)判斷路徑的準(zhǔn)確率)[2]。本文在圖像處理中改進(jìn)邊緣檢測(cè)算法,使用動(dòng)態(tài)閾值提高圖像的區(qū)分度,提升了智能車(chē)在前行過(guò)程中因光照強(qiáng)度不均勻引起的圖像特征提取準(zhǔn)確度問(wèn)題。
尋跡智能車(chē)以飛思卡爾公司的MC9S12XS128微處理器為控制核心[3],硬件包括電源管理模塊、CMOS攝像頭、舵機(jī)轉(zhuǎn)向模塊、電機(jī)驅(qū)動(dòng)模塊、轉(zhuǎn)向/行走電機(jī)和車(chē)速檢測(cè)模塊、PC機(jī)調(diào)試模板等,其中上位機(jī)調(diào)試模板通過(guò)ZigBee無(wú)線通信模塊與PC機(jī)通訊,結(jié)合基于VC環(huán)境開(kāi)發(fā)的應(yīng)用軟件實(shí)現(xiàn)在線綜合調(diào)試和分析功能。智能車(chē)系統(tǒng)總體結(jié)構(gòu)框圖[4]如圖1所示。
圖1 智能車(chē)系統(tǒng)總體結(jié)構(gòu)框圖
智能車(chē)采用MC9S12XS128微處理器作為系統(tǒng)的控制核心,它負(fù)責(zé)控制各個(gè)模塊間的協(xié)調(diào)工作,接收來(lái)自CMOS攝像頭采集的路況信息和速度檢測(cè)模塊反饋的速度信息,采用邊緣檢測(cè)算法對(duì)這些信息進(jìn)行處理,形成合適的控制量對(duì)轉(zhuǎn)向/行走電機(jī)進(jìn)行控制,保證智能車(chē)快速穩(wěn)定地沿指定路徑行駛;同時(shí)通過(guò)異步串口(SCI)把智能車(chē)行駛過(guò)程中的關(guān)鍵參數(shù)應(yīng)用ZigBee無(wú)線通信動(dòng)技術(shù)發(fā)送到PC機(jī)以便實(shí)時(shí)分析。
智能車(chē)系統(tǒng)采用標(biāo)準(zhǔn)車(chē)模7.2 V 2 000 mAh Ni-Cd充電電池進(jìn)行供電,電機(jī)驅(qū)動(dòng)模塊可以用7.2 V充電電池直接供電,CMOS攝像頭、微處理器、舵機(jī)和編碼器等模塊通過(guò)LM2940穩(wěn)壓芯片將7.2 V電壓轉(zhuǎn)換成穩(wěn)定的5 V電壓。
路徑信息采集模塊主要負(fù)責(zé)采集智能車(chē)所處位置的路況信息,輸出相應(yīng)的信號(hào)供微處理器處理。選擇基于 CMOS傳感器的數(shù)字?jǐn)z像頭OV6620,采用邊緣檢測(cè)算法對(duì)其采集到的路面信息進(jìn)行處理,以達(dá)到良好的路徑信息采集效果。
由于路徑情況復(fù)雜,智能車(chē)需要不停地調(diào)整轉(zhuǎn)向以適應(yīng)跑道的變化。舵機(jī)轉(zhuǎn)向模塊為智能車(chē)方向控制執(zhí)行機(jī)構(gòu)。微處理器通過(guò)對(duì)攝像頭采集的路況信息進(jìn)行分析處理,針對(duì)不同的采集信號(hào)對(duì)轉(zhuǎn)向電機(jī)進(jìn)行相應(yīng)的控制,實(shí)現(xiàn)相應(yīng)的轉(zhuǎn)彎要求,從而保證智能車(chē)沿跑道準(zhǔn)確行駛。
電機(jī)驅(qū)動(dòng)模塊作為控制行走電機(jī)轉(zhuǎn)速的執(zhí)行機(jī)構(gòu),要求能有很好的加速和制動(dòng)性能。智能車(chē)的電機(jī)驅(qū)動(dòng)是利用兩片半橋驅(qū)動(dòng)芯片BST7960構(gòu)成的H橋式驅(qū)動(dòng)電路,為了實(shí)現(xiàn)直流電機(jī)的調(diào)速采用PWM波對(duì)智能車(chē)進(jìn)行控制調(diào)速。
采用歐姆龍E6A2-CS3E光電編碼器對(duì)智能車(chē)當(dāng)前速度進(jìn)行檢測(cè),反饋傳至微處理器,通過(guò)各種智能算法實(shí)現(xiàn)速度的閉環(huán)控制。
按照以上設(shè)計(jì)方案研制的尋跡智能車(chē)如圖2所示。
在光線強(qiáng)度不均勻的情況下使用二值法算法處理圖像時(shí),二值化閾值很難確定,且當(dāng)光線有較小變化時(shí),圖像就無(wú)法識(shí)別引導(dǎo)線[5]。直接邊緣檢測(cè)算法適合光線變化較弱的情況,當(dāng)光線變化較強(qiáng)時(shí),圖像像素的灰度值不呈線性變化,這時(shí)此種算法不能清晰分辨圖像引導(dǎo)線。本次設(shè)計(jì)改進(jìn)了邊緣檢測(cè)算法,用動(dòng)態(tài)閾值替代之前的靜態(tài)閾值。動(dòng)態(tài)閾值計(jì)算如式(1)所示[6]。
式中:Y(i)是第i行計(jì)算的動(dòng)態(tài)閾值;X(a)、X(b)分別為第i行白色和黑色像素點(diǎn)的灰度值;λ為取值在0.7~1.0的閾值系數(shù)。將k行的所有白色像素點(diǎn)和l行的所有黑色像素點(diǎn)的灰度值求取幾何平均,再將2個(gè)平均值相減作為下一行的閾值。由于不同的場(chǎng)合光線強(qiáng)度不同,從而閾值也不一樣。采用動(dòng)態(tài)閾值可使得每行的閾值過(guò)渡自然,可更有效地準(zhǔn)確提取圖像中的引導(dǎo)線[7]。
圖2 智能車(chē)實(shí)物
智能車(chē)跑道一般由直道、直角彎道與S型彎道組成,如圖3 所示[8-9]。
圖3 路徑類(lèi)型
圖4(a)、5(a)、6(a)是采集的實(shí)際圖像,中間陰影部分為圖像中黑色引導(dǎo)線,亮處為干擾光斑;圖4(b)、5(b)、6(b)是直接邊緣檢測(cè)的處理圖像;圖4(c)、5(c)、6(c)是改進(jìn)后的邊緣檢測(cè)的處理圖像。通過(guò)圖4~6中比較可以看出,當(dāng)光線強(qiáng)烈改變時(shí),直接邊緣檢測(cè)算法就無(wú)法分辨出黑線,而改進(jìn)后的邊緣檢測(cè)則能適應(yīng)光線的改變,區(qū)分出道路中的黑線。
圖4 直道圖像處理前后的對(duì)比
圖5 直角彎道圖像處理前后的對(duì)比
圖6 S型彎道圖像處理前后的對(duì)比
實(shí)驗(yàn)參數(shù)測(cè)量示意圖如圖7所示,智能車(chē)的幾何中心為示意圖B點(diǎn)所在直線,道路的中心為A點(diǎn)所在直線,其中路徑寬度為50 cm,中間黑色引導(dǎo)線寬度為2.5 cm,智能車(chē)為示意圖中的方塊,攝像頭視野為虛線梯形所示范圍,圖像距車(chē)近端視野寬度是24 cm,最遠(yuǎn)端視野寬度是30 cm。選取圖像中的某一行,測(cè)出視野最左端至視野中心(即車(chē)的幾何中心)的距離m,測(cè)出視野最左端至黑線中心(即道路)的距離n。x(x=|n-m|)為按比例還原后得到的實(shí)際偏差。
圖7 實(shí)驗(yàn)參數(shù)測(cè)量示意圖
經(jīng)實(shí)驗(yàn)測(cè)試可知,智能車(chē)的最高速度可以達(dá)到3.5 m/s。為了獲取更穩(wěn)定的參數(shù),設(shè)置智能車(chē)以 0.8 m/s、1.2 m/s和 1.6 m/s三種速度運(yùn)行,并分別對(duì)直道、直角彎道和S型彎道3種道路類(lèi)型的偏差進(jìn)行記錄。偏差經(jīng)過(guò)計(jì)算得到均值和方差,均值反映了智能車(chē)偏離黑線中心的遠(yuǎn)近,方差反映了智能車(chē)運(yùn)行的穩(wěn)定狀態(tài)。
尋跡智能車(chē)在均勻光照情況下分別按照直接采集的圖像和經(jīng)過(guò)改進(jìn)邊緣檢測(cè)算法處理后的圖像行駛,獲得的實(shí)驗(yàn)數(shù)據(jù)如表1和表2所示。
表1 尋跡智能車(chē)均勻光照情況下采集圖像的跟蹤誤差
表2 尋跡智能車(chē)均勻光照情況下采集圖像經(jīng)改進(jìn)邊緣檢測(cè)算法處理后的跟蹤誤差
由表1分析可知,當(dāng)智能車(chē)以0.8 m/s速度行駛時(shí),偏離道路中心位置少,運(yùn)行的狀態(tài)穩(wěn)定,各種道路類(lèi)型均可穩(wěn)定運(yùn)行;當(dāng)智能車(chē)以1.6 m/s速度行駛時(shí),在直線型的道路上行駛,偏離道路中心仍然較少,能保持良好的運(yùn)行狀態(tài),但在直角彎道和S型彎道時(shí),其偏離中心較多,跟蹤誤差較大。在速度相同時(shí),通過(guò)比較智能車(chē)行駛的偏差均值可知,直角彎道和S型彎道時(shí)偏差較大。為了減小這2種道路類(lèi)型時(shí)的偏差,需對(duì)智能車(chē)進(jìn)行預(yù)測(cè)控制,使智能車(chē)提前轉(zhuǎn)彎。比較智能車(chē)行駛時(shí)的方差可知,彎道的方差較大,反應(yīng)了智能車(chē)運(yùn)行狀態(tài)變化較快,產(chǎn)生了一定的振蕩。針對(duì)這種情況,對(duì)某些彎道進(jìn)行直線化處理,即當(dāng)攝像頭檢測(cè)并判斷出當(dāng)前路徑為直角彎道時(shí),尋跡智能車(chē)應(yīng)適當(dāng)減速并沿著彎道內(nèi)側(cè)前行以保證智能車(chē)所走的路程最短且增強(qiáng)了穩(wěn)定性;當(dāng)攝像頭檢測(cè)并判斷出當(dāng)前路徑為S型彎道時(shí),尋跡智能車(chē)應(yīng)沿著S型彎道的中心直線前行。智能車(chē)在不同路徑類(lèi)型的規(guī)劃行走路線如圖8所示[10]。
圖8 智能車(chē)規(guī)劃行走路線
同時(shí),對(duì)比表1和表2可知,以直角彎道為例,按照直接采集圖像行駛方案,0.8 m/s、1.2 m/s和1.6 m/s速度時(shí)的路徑偏差均方差分別為:11.666 7、20.166 7、26.000 0;按照改進(jìn)邊緣檢測(cè)算法處理后的圖像行駛方案路徑偏差均方差分別為:7.666 7、12.666 7、16.833 3,穩(wěn)定性分別提高了34.2%、37.2%和35.3%。由此可見(jiàn),在相同道路類(lèi)型和速度下,按照改進(jìn)邊緣檢測(cè)算法處理后的圖像行駛的尋跡智能車(chē)均比按照直接采集圖像行駛的均方差小,穩(wěn)定性好。
尋跡智能車(chē)在光線強(qiáng)度不同情況下分別按照直接邊緣檢測(cè)算法與改進(jìn)邊緣檢測(cè)算法處理后的圖像行駛,獲得的實(shí)驗(yàn)數(shù)據(jù)如表3和表4所示。
對(duì)比表3和表4可知,在相同的道路類(lèi)型和速度情況下,表4中的各項(xiàng)數(shù)據(jù)均優(yōu)于表3。這表明,當(dāng)有外來(lái)光線影響時(shí),尋跡智能車(chē)采用直接邊緣檢測(cè)算法后可以沿著指定路徑行駛,但偏離黑色中心線較遠(yuǎn),穩(wěn)定性較差;在采用改進(jìn)邊緣檢測(cè)算法后,智能車(chē)行駛時(shí)接近黑色中心線,穩(wěn)定性有所提高,接近于表2所示的誤差水平,表明通過(guò)使用改進(jìn)后的邊緣檢測(cè)算法,能解決圖像在光照強(qiáng)度不同的情況下引起較大誤差的問(wèn)題,提高了尋跡智能車(chē)的穩(wěn)定性。
表3 尋跡智能車(chē)在光線強(qiáng)度不同情況下經(jīng)直接邊緣檢測(cè)算法處理后的跟蹤誤差
表4 尋跡智能車(chē)在光線強(qiáng)度不同情況下經(jīng)改進(jìn)邊緣檢測(cè)算法處理后的跟蹤誤差
實(shí)驗(yàn)結(jié)果表明,采用MC9S12XS128單片機(jī)作為控制核心,CMOS攝像頭作為路徑識(shí)別的傳感器,可以充分利用模糊自適應(yīng)PI控制實(shí)現(xiàn)模糊控制算法,具有較好的前瞻性,同時(shí),根據(jù)道路的不同類(lèi)型采用不同的控制參數(shù),對(duì)智能車(chē)尋跡起到一個(gè)良好的預(yù)判作用,使智能車(chē)能夠平滑地沿引導(dǎo)線行駛。
在圖象處理方面,通過(guò)在均勻光照與光線強(qiáng)度不同的兩種情況下對(duì)尋跡智能車(chē)分別按照直接采集圖像、直接邊緣檢測(cè)算法與改進(jìn)邊緣檢測(cè)算法處理后的圖像行駛的誤差進(jìn)行對(duì)比,發(fā)現(xiàn)使用改進(jìn)的邊緣檢測(cè)算法能很好地解決圖像受光線影響的問(wèn)題,提高了整個(gè)智能車(chē)的抗干擾能力,使智能車(chē)的平均速度由原來(lái)的1.4 m/s提高到2.1 m/s。
[1]卓晴,黃開(kāi)勝,邵貝貝.學(xué)做智能車(chē)——挑戰(zhàn)飛思卡爾杯[M].北京:北京航空航天大學(xué)出版社,2007.
[2]許歡,唐競(jìng)新.調(diào)制光尋線系統(tǒng)及其在自動(dòng)行走機(jī)器人中的應(yīng)用[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2002,42(1):115-117,142.
[3]邵貝貝.微處理器嵌入式應(yīng)用的在線開(kāi)發(fā)方法[M].北京:清華大學(xué)出版社,2004.
[4]安徽工程大學(xué).一種面向路徑識(shí)的遠(yuǎn)程遙控智能車(chē):中國(guó),201120478840.0[P].2012 -08 -15.
[5]張?jiān)浦?,師恩義,吳成東,等.基于CCD的智能車(chē)導(dǎo)航系統(tǒng)研究[J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2009,30(2):162-165.
[6]鄭建立,黃麗佳,葛鵬飛,等.基于CCD的智能車(chē)尋跡方法[J].東華大學(xué)學(xué)報(bào):自然科學(xué)版,2008,34(6):728-730.
[7]孫書(shū)誠(chéng),郎朗,王虎.基于路徑識(shí)別的尋跡智能車(chē)設(shè)計(jì)與實(shí)現(xiàn)[J].安徽工程大學(xué)學(xué)報(bào),2012,27(1):60-63.
[8]蘭華,李曉鵬,丁勇竣.智能車(chē)轉(zhuǎn)向系統(tǒng)模糊控制器設(shè)計(jì)研究[J].傳感器與微系統(tǒng),2010,29(5):34 -36.
[9]邱鐵,徐子川,江賀.基于模糊控制的智能車(chē)路況識(shí)別[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(14):213 -216.
[10]游林儒,胡慶華.雙舵機(jī)模糊控制在智能車(chē)控制中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(32):209 -211.
重慶理工大學(xué)學(xué)報(bào)(自然科學(xué))2013年3期