山東理工大學 孔 巖 董 奧 王 勇
攝像頭型智能車的賽道類型處理
山東理工大學 孔 巖 董 奧 王 勇
【摘要】文章主要介紹了以MCU52255芯片為核心控制單元的攝像頭型智能車。其利用光電效用理論,通過CMOS攝像頭進行路況信息采集,經過對圖像數據的濾波、動態閾值計算、二值化、邊沿提取等算法對賽道類型進行分類處理;通過舵機打角、編碼器測速及雙電機差速實現對智能車方向控制和速度控制。本文將從整體設計思路、硬件系統電路設計、信息處理算法設計三個方面進行詳述。
【關鍵詞】MCU52255;攝像頭;動態閾值;邊沿提取;賽道類型
攝像頭型智能車利用了光電效用理論,采用CMOS型攝像頭采集圖像,經過對圖像數據的濾波、動態閾值計算[1]、二值化[2]、邊緣提取等算法提取賽道中心線,根據對不同路況數據特征的分析并得到不同的賽道類型,并且對賽道類型進行分類處理。
根據智能車系統的基本要求,設計了系統結構圖如圖1所示。

圖1
硬件電路有電源模塊、微控制器核心處理、圖像采集、信息顯示、車體實時速度采集、轉速控制、轉向控制、鍵盤調試八個部分。
2.1 單片機最小系統
采用冷火系列的MCU52255芯片,主板上用到的引腳包括PWM接口、鍵盤接口、計數器接口、外部中斷接口、若干普通IO接口,如圖2所示。

圖2
2.2 電源模塊
采用TPS7350將7.2V電源電壓變為5V供給攝像頭、編碼器,采用LM7806-ADJ將7.2V電源電壓變為6V供給舵機,采用LM1117T將7.2V電源電壓變為3.3V供給核心板、OLED。如圖3所示。

圖3
2.3 電機驅動模塊
電機驅動模塊采用BTN7960[3],該芯片是應用于電機驅動的大電流半橋高集成芯片,它帶有一個P溝道的高邊MOSFET、一個N溝道的低邊MOSFET和一個驅動Ic。電機驅動模塊電路圖如圖4所示。
3.1 動態閾值的設定及二值化
首先設定一個閾值來分離出白色賽道和底布,當像素點灰度值大于該閾值時為白色賽道,當像素點灰度值小于該閾值時為底布。由于燈光以及底布顏色深淺的不同,閾值也應該進行相應的改變,所以采用動態閾值來提高小車對環境的適應性。閾值提取完成后,對于像素點灰度值小于閾值的像素點全部設定為0,對于像素點灰度值小于閾值的像素點全部設定為1。

圖4
3.2 賽道邊沿提取
直接逐行掃描原始圖像,提取1與0的跳變點。(1)賽道寬度有一個范圍,在確定的賽道寬度范圍內提取有效賽道邊沿,這樣可以濾除不在寬度范圍內的干擾。(2)利用賽道的連續性,根據上一行白塊的位置和邊沿的位置來確定本行的邊沿點。(3)求邊沿點時,因為近處的圖像穩定,遠處圖像不穩定,所以采用由近及遠的辦法。
3.3 推算中心點
通過之前提取的賽道邊沿數據推算中心,若只有單邊有邊沿點數據,則通過校正對單邊數據按法線平移賽道寬度一半的距離;當能找到與一邊能匹配上的另一邊沿點時則直接求其中心作為中心點。推算完中心點后,對中心點進行均勻化,方便之后的控制。
3.4 對不合理的中心點進行處理
對于在校正后的圖像數據中求得的中心線,反校正到原始圖像后存在一行中含有多個中心點的情況。在通常情況下,這種情況出現在較遠的視野中,但由于我們增大了視場前部圖像的權重,這些中心點對權重的影響極大,導致車模容易出現掉輪甚至沖出賽道的現象。對此,我們利用數學方法求出了中心線的折點,對折點之后的中心點單獨處理,使車模不再出現掉輪的現象。
3.5 賽道類型
下面對各種不同類型的道路展開討論:(1)直道識別:賽道中心線為直線,并且此中心線由視野底部一直延伸到視野頂部。(2)彎道識別:智能車進入彎道后,中心線變成曲線,根據對不同類型彎道的曲率計算對其進行分類。(3)虛線識別:虛線只是小范圍間斷,所以先找到全部正確的內測邊緣,通過差值計算出下一段虛線出現的區域,再鏈接起來便可以還原出正常賽道。(4)坡道識別:一旦出現坡道,兩側的邊線變得外擴,而中線依然是直線,用此特征便可準確識別坡道。 (5)十字處理:在離十字段的線短于某一值時,搜尋遠處的線,當發現符合跑道類型的邊線時,采用這些線予以控制,從而在十字處取得良好直行效果。
本文是基于MCU52255單片機,數字信號基礎上討論的一種攝像頭型智能車,涉及電源模塊、微控制器核心處理、圖像采集、信息顯示、車體實時速度采集、轉速控制、轉向控制、鍵盤調試,集控制、數模轉換、傳感技術、汽車電子、機械等多個學科于一身,最終完成對賽道類型的分類處理。
參考文獻
[1]涂其遠,吳建華,萬國金.動態閾值結合全局閾值對圖像進行分割[M].南昌大學學報,2002.03.15.
[2]江明,劉輝,黃歡.圖像二值化技術的研究[M].軟件導刊,2009.04.30.
[3]楊明輝,孫猛猛,張玉炳,萬林.BTN7960直流伺服電動機驅動板的設計[M].科技展望,2015.