山東理工大學(xué) 孔 巖 董 奧 王 勇
攝像頭型智能車的賽道類型處理
山東理工大學(xué) 孔 巖 董 奧 王 勇
【摘要】文章主要介紹了以MCU52255芯片為核心控制單元的攝像頭型智能車。其利用光電效用理論,通過CMOS攝像頭進(jìn)行路況信息采集,經(jīng)過對(duì)圖像數(shù)據(jù)的濾波、動(dòng)態(tài)閾值計(jì)算、二值化、邊沿提取等算法對(duì)賽道類型進(jìn)行分類處理;通過舵機(jī)打角、編碼器測(cè)速及雙電機(jī)差速實(shí)現(xiàn)對(duì)智能車方向控制和速度控制。本文將從整體設(shè)計(jì)思路、硬件系統(tǒng)電路設(shè)計(jì)、信息處理算法設(shè)計(jì)三個(gè)方面進(jìn)行詳述。
【關(guān)鍵詞】MCU52255;攝像頭;動(dòng)態(tài)閾值;邊沿提??;賽道類型
攝像頭型智能車?yán)昧斯怆娦в美碚?,采用CMOS型攝像頭采集圖像,經(jīng)過對(duì)圖像數(shù)據(jù)的濾波、動(dòng)態(tài)閾值計(jì)算[1]、二值化[2]、邊緣提取等算法提取賽道中心線,根據(jù)對(duì)不同路況數(shù)據(jù)特征的分析并得到不同的賽道類型,并且對(duì)賽道類型進(jìn)行分類處理。
根據(jù)智能車系統(tǒng)的基本要求,設(shè)計(jì)了系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1
硬件電路有電源模塊、微控制器核心處理、圖像采集、信息顯示、車體實(shí)時(shí)速度采集、轉(zhuǎn)速控制、轉(zhuǎn)向控制、鍵盤調(diào)試八個(gè)部分。
2.1 單片機(jī)最小系統(tǒng)
采用冷火系列的MCU52255芯片,主板上用到的引腳包括PWM接口、鍵盤接口、計(jì)數(shù)器接口、外部中斷接口、若干普通IO接口,如圖2所示。
圖2
2.2 電源模塊
采用TPS7350將7.2V電源電壓變?yōu)?V供給攝像頭、編碼器,采用LM7806-ADJ將7.2V電源電壓變?yōu)?V供給舵機(jī),采用LM1117T將7.2V電源電壓變?yōu)?.3V供給核心板、OLED。如圖3所示。
圖3
2.3 電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)模塊采用BTN7960[3],該芯片是應(yīng)用于電機(jī)驅(qū)動(dòng)的大電流半橋高集成芯片,它帶有一個(gè)P溝道的高邊MOSFET、一個(gè)N溝道的低邊MOSFET和一個(gè)驅(qū)動(dòng)Ic。電機(jī)驅(qū)動(dòng)模塊電路圖如圖4所示。
3.1 動(dòng)態(tài)閾值的設(shè)定及二值化
首先設(shè)定一個(gè)閾值來分離出白色賽道和底布,當(dāng)像素點(diǎn)灰度值大于該閾值時(shí)為白色賽道,當(dāng)像素點(diǎn)灰度值小于該閾值時(shí)為底布。由于燈光以及底布顏色深淺的不同,閾值也應(yīng)該進(jìn)行相應(yīng)的改變,所以采用動(dòng)態(tài)閾值來提高小車對(duì)環(huán)境的適應(yīng)性。閾值提取完成后,對(duì)于像素點(diǎn)灰度值小于閾值的像素點(diǎn)全部設(shè)定為0,對(duì)于像素點(diǎn)灰度值小于閾值的像素點(diǎn)全部設(shè)定為1。
圖4
3.2 賽道邊沿提取
直接逐行掃描原始圖像,提取1與0的跳變點(diǎn)。(1)賽道寬度有一個(gè)范圍,在確定的賽道寬度范圍內(nèi)提取有效賽道邊沿,這樣可以濾除不在寬度范圍內(nèi)的干擾。(2)利用賽道的連續(xù)性,根據(jù)上一行白塊的位置和邊沿的位置來確定本行的邊沿點(diǎn)。(3)求邊沿點(diǎn)時(shí),因?yàn)榻幍膱D像穩(wěn)定,遠(yuǎn)處圖像不穩(wěn)定,所以采用由近及遠(yuǎn)的辦法。
3.3 推算中心點(diǎn)
通過之前提取的賽道邊沿?cái)?shù)據(jù)推算中心,若只有單邊有邊沿點(diǎn)數(shù)據(jù),則通過校正對(duì)單邊數(shù)據(jù)按法線平移賽道寬度一半的距離;當(dāng)能找到與一邊能匹配上的另一邊沿點(diǎn)時(shí)則直接求其中心作為中心點(diǎn)。推算完中心點(diǎn)后,對(duì)中心點(diǎn)進(jìn)行均勻化,方便之后的控制。
3.4 對(duì)不合理的中心點(diǎn)進(jìn)行處理
對(duì)于在校正后的圖像數(shù)據(jù)中求得的中心線,反校正到原始圖像后存在一行中含有多個(gè)中心點(diǎn)的情況。在通常情況下,這種情況出現(xiàn)在較遠(yuǎn)的視野中,但由于我們?cè)龃罅艘晥?chǎng)前部圖像的權(quán)重,這些中心點(diǎn)對(duì)權(quán)重的影響極大,導(dǎo)致車模容易出現(xiàn)掉輪甚至沖出賽道的現(xiàn)象。對(duì)此,我們利用數(shù)學(xué)方法求出了中心線的折點(diǎn),對(duì)折點(diǎn)之后的中心點(diǎn)單獨(dú)處理,使車模不再出現(xiàn)掉輪的現(xiàn)象。
3.5 賽道類型
下面對(duì)各種不同類型的道路展開討論:(1)直道識(shí)別:賽道中心線為直線,并且此中心線由視野底部一直延伸到視野頂部。(2)彎道識(shí)別:智能車進(jìn)入彎道后,中心線變成曲線,根據(jù)對(duì)不同類型彎道的曲率計(jì)算對(duì)其進(jìn)行分類。(3)虛線識(shí)別:虛線只是小范圍間斷,所以先找到全部正確的內(nèi)測(cè)邊緣,通過差值計(jì)算出下一段虛線出現(xiàn)的區(qū)域,再鏈接起來便可以還原出正常賽道。(4)坡道識(shí)別:一旦出現(xiàn)坡道,兩側(cè)的邊線變得外擴(kuò),而中線依然是直線,用此特征便可準(zhǔn)確識(shí)別坡道。 (5)十字處理:在離十字段的線短于某一值時(shí),搜尋遠(yuǎn)處的線,當(dāng)發(fā)現(xiàn)符合跑道類型的邊線時(shí),采用這些線予以控制,從而在十字處取得良好直行效果。
本文是基于MCU52255單片機(jī),數(shù)字信號(hào)基礎(chǔ)上討論的一種攝像頭型智能車,涉及電源模塊、微控制器核心處理、圖像采集、信息顯示、車體實(shí)時(shí)速度采集、轉(zhuǎn)速控制、轉(zhuǎn)向控制、鍵盤調(diào)試,集控制、數(shù)模轉(zhuǎn)換、傳感技術(shù)、汽車電子、機(jī)械等多個(gè)學(xué)科于一身,最終完成對(duì)賽道類型的分類處理。
參考文獻(xiàn)
[1]涂其遠(yuǎn),吳建華,萬國(guó)金.動(dòng)態(tài)閾值結(jié)合全局閾值對(duì)圖像進(jìn)行分割[M].南昌大學(xué)學(xué)報(bào),2002.03.15.
[2]江明,劉輝,黃歡.圖像二值化技術(shù)的研究[M].軟件導(dǎo)刊,2009.04.30.
[3]楊明輝,孫猛猛,張玉炳,萬林.BTN7960直流伺服電動(dòng)機(jī)驅(qū)動(dòng)板的設(shè)計(jì)[M].科技展望,2015.