郝銘軒
摘 要 本文介紹了一種基于面陣CMOS攝像頭傳感器的循跡智能車的軟硬件結(jié)構(gòu)和開發(fā)流程。通過MT9V022攝像頭獲取環(huán)境信息進(jìn)行循跡,對采集的原始圖像進(jìn)行梯形校正和桶形校正,處理圖像后獲取賽道邊界,利用人工勢場法規(guī)劃路徑,在轉(zhuǎn)向控制上利用位置式PID,速度控制上采用串級PID控制。使系統(tǒng)的穩(wěn)定性和魯棒性得到了很大的改善。最終實現(xiàn)智能車快速平穩(wěn)運行。
關(guān)鍵詞 CMOS攝像頭;圖像校正;路徑規(guī)劃;智能車
中圖分類號 TP2 文獻(xiàn)標(biāo)識碼 A 文章編號 2095-6363(2015)09-0030-02
1 總體設(shè)計
系統(tǒng)結(jié)構(gòu)如圖1所示,該系統(tǒng)采用飛思卡爾MK60FX512VLL15作為控制芯片,利用DMA模塊進(jìn)行CMOS攝像頭圖像數(shù)據(jù)傳輸以提供微控器識別處理和規(guī)劃決策,通過對圖像處理和識別,驅(qū)動舵機(jī)電機(jī),實現(xiàn)轉(zhuǎn)向和速度控制,使用旋轉(zhuǎn)編碼器將當(dāng)前測量速度值和測量加速度值反饋給微控器,使用速度串級控制,使智能車平穩(wěn)運行。
2 硬件系統(tǒng)設(shè)計
1)供電模塊。完整的智能控制車系統(tǒng)應(yīng)包括轉(zhuǎn)向、動力、檢測采集和運算處理等模塊。各個模塊的電源均由7.2V鎳鎘電池提供,而工作電壓各不相同。攝像頭輸入電壓為3.3V,因其對電壓噪聲較敏感,因此使用了TPS7350和TPS7333兩片低壓差穩(wěn)壓芯片組成的兩級穩(wěn)壓電路,并使用濾波電容,穩(wěn)定輸入輸出電壓。實際使用中,CMOS攝像頭供電電壓在供電電壓波動時依舊穩(wěn)定。
2)電機(jī)驅(qū)動模塊。智能車電機(jī)的供電電壓為電池電壓,為提高電機(jī)靈敏性,充分發(fā)揮電機(jī)性能,使用4片IR2104半橋驅(qū)動控制MOS管構(gòu)成H橋電路,控制兩個RN260電機(jī)正反轉(zhuǎn)。為控制智能車車體重量與體積,選用了具有體積小,導(dǎo)通電流大,導(dǎo)通內(nèi)阻小等特點的LR7843型號MOS管。實驗證明,智能車高速運行時,設(shè)計的驅(qū)動模塊芯片溫度依然處于正常范圍。
3 軟件系統(tǒng)設(shè)計
3.1 軟件系統(tǒng)流程
如圖2所示,軟件控制包括攝像頭圖像采集、圖像存儲、圖像處理、轉(zhuǎn)向控制、速度控制等部分。
3.2 程序分配與中斷處理
在程序分配上,為充分利用處理器空閑時間,使用DMA采集圖像的同時,在主循環(huán)中進(jìn)行圖像存儲。在軟件設(shè)計中,將中斷優(yōu)先級分組和分配。配置最高優(yōu)先級為場中斷,次高級為行中斷,最低優(yōu)先級為5ms定時中斷,使圖像采集、轉(zhuǎn)向控制、速度控制能夠同時進(jìn)行。
3.3 攝像頭圖像處理與識別
1)二值化。賽道是由白色PVC耐磨塑膠地板和黑邊組成,在采集的圖像中,黑色的灰度值低,白色的灰度值高。因此應(yīng)根據(jù)圖像黑白灰度值的差異,確定圖像閾值,對圖像進(jìn)行二值化處理。
2)梯形校正。梯形校正采用不均勻行采集的方法校正圖像的梯形畸變。利用攝像頭采集一幅完整的圖像,然后利用校正板計算出需要采集的行數(shù)。在圖像的行中斷到來時,只選擇需要的行數(shù)進(jìn)行采集。
3.4 路徑規(guī)劃
先獲取賽道的邊沿。從校正后的圖像中部向兩邊搜黑白跳變點,從而確定左右邊界的位置。搜到邊界后,采用人工勢場法進(jìn)行路徑規(guī)劃,使智能車獲得更好的
路徑。
根據(jù)智能車在周圍環(huán)境中的運動,設(shè)計成一種抽象的人造引力場中的運動,障礙物對智能車產(chǎn)生“斥力”,目標(biāo)點對智能車產(chǎn)生“引力”,最后通過求合力來控制智能車的運動。在智能車的控制過程中,將圖像遠(yuǎn)處的賽道中點視為目標(biāo)點,把賽道邊界視為障礙物,應(yīng)用勢場法規(guī)劃出來的路徑一般是比較平滑并且安全。利用此算法規(guī)劃出的路徑,可以使智能車在過S彎時直沖,快速過彎。
3.5 速度控制
在定時中斷程序中通過SPI通訊協(xié)議讀取當(dāng)前旋轉(zhuǎn)編碼器的計數(shù)值,并進(jìn)行計算得出車模當(dāng)前速度。同時也通過AD模塊讀出安裝在智能車上的加速度計的值。
由于電機(jī)加速和減速過程存在較大的延時,所以單環(huán)PID控制存在滯后現(xiàn)象,無法達(dá)到對速度達(dá)到實時控制,因此采用動態(tài)響應(yīng)更快的串級控制。圖3為串級控制流程圖。
在串級控制系統(tǒng)中,主、副調(diào)節(jié)器放大系數(shù)的乘積愈大,系統(tǒng)的抗擾動能力愈強,控制質(zhì)量愈好。經(jīng)過實踐驗證,采用串級控制后,車模的速度全程都比較穩(wěn)定,直道加速快,彎道減速不明顯。
3.6 轉(zhuǎn)向控制
車模的轉(zhuǎn)向控制是借助舵機(jī)實現(xiàn)的。前輪通過連桿與舵機(jī)相連,進(jìn)而實現(xiàn)通過控制舵機(jī)的打角改變前輪的角度,讓智能車轉(zhuǎn)彎。計算車體與規(guī)劃出的路徑相對偏移量Error,采用比例和微分控制,可以得到輸出量Steer Out。通過調(diào)節(jié)比例和微分系數(shù)兩個系數(shù)能夠有效控制車模的轉(zhuǎn)向,把作為控制量輸入到舵機(jī)從而改變智能車前輪角度,進(jìn)而改變行駛方向。
參考文獻(xiàn)
[1]呂俊哲.圖像二值化算法研究及其實現(xiàn)[J].科技情報開發(fā)與經(jīng)濟(jì),2004(12).
[2]王建,張曉煒,楊錦,等.基于視覺傳感器的智能車攝像頭標(biāo)定技術(shù)研究(下)[J].電子產(chǎn)品世界,2010.
[3]劉久維,陳鋒,邢嵐.數(shù)字式CMOS攝像頭在智能車中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(7):42-44.
[4]師樹恒,趙斌,郭朋彥,等.基于MK60N512的智能循跡小車設(shè)計[J].機(jī)床與液壓,2014,42(2).