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