攝像頭黑線(xiàn)識別算法和賽車(chē)行駛控制策略
引言
本文引用地址:http://dyxdggzs.com/article/95519.htm按照第一屆全國大學(xué)生“飛思卡爾”智能車(chē)大賽比賽規則要求:使用大賽組委會(huì )統一提供的競賽車(chē)模,采用飛思卡爾16 位微控制器MC9S12DG128 作為核心控制單元,自主構思控制方案及系統設計,包括傳感器信號采集處理、控制算法及執行、動(dòng)力電機驅動(dòng)、轉向舵機控制等,以比賽完成時(shí)間短者為優(yōu)勝者。其中賽道為在白色底板上鋪設黑色引導線(xiàn)。根據賽道特點(diǎn),主要有兩種尋線(xiàn)設計方案:一、光電傳感器方案;二、攝像頭方案。
這兩種方案各有特點(diǎn):其中光電傳感器構成“線(xiàn)型檢測陣列”的方案簡(jiǎn)單易行,但是將其應用于智能車(chē)競賽中仍有一些局限性。例如,由于受比賽規則限制(傳感器數量不超過(guò)16 個(gè)(紅外傳感器的每對發(fā)射與接受單元計為1 個(gè)傳感器,CCD 傳感器記為1 個(gè)傳感器)), 光電管的數量不可能太多,從而單個(gè)線(xiàn)型檢測陣列所能確定的指引線(xiàn)信息較少。所以若是采用此方案,會(huì )導致尋線(xiàn)精度不夠高,在接下來(lái)的舵機轉向控制的時(shí)候產(chǎn)生直道蛇行或者彎道舵機回擺。此外,光電線(xiàn)型檢測陣列的探測距離較短,而比賽又限制了整個(gè)車(chē)體系統的長(cháng)度,這樣,其對前方路況的預判斷距離很有限。車(chē)輛行進(jìn)速度較快時(shí),若能預判前方一定距離的路況,則有助于智能車(chē)對前方突然出現的路況變化(如轉彎)作及時(shí)的應對處理;否則,車(chē)輛可能會(huì )偏離指引線(xiàn)較遠,甚或沖出賽道。
基于前述對“線(xiàn)型檢測陣列”尋線(xiàn)能力局限性的考慮,我們選擇采用攝像頭作為尋線(xiàn)傳感器。這是因為,一方面攝像頭所能探測的賽道信息遠多于“線(xiàn)型檢測陣列”探測的,而且攝像頭也有足夠遠的探測距離以方便對前方路況進(jìn)行預判。另一方面,比賽規定使用的Freescale16 位單片機MC9S12DG128 的運算速度和自身AD 口的采樣速度,能夠適應對黑白低線(xiàn)數攝像頭的有效視頻采樣和對大量圖像數據的處理。
本文就是在攝像頭方案的實(shí)時(shí)圖像數據已經(jīng)獲得的基礎上,對圖像進(jìn)行數據處理,提取賽道中的引導黑線(xiàn)位置,從而以此作為舵機和驅動(dòng)電機的控制依據。
圖像數據信息特點(diǎn)
攝像頭的主要工作原理是:按一定的分辨率,以隔行掃描的方式采集圖像上的點(diǎn),當掃描到某點(diǎn)時(shí),就通過(guò)圖像傳感芯片將該點(diǎn)處圖像的灰度轉換成與灰度成一一對應關(guān)系的電壓值,然后將此電壓值通過(guò)視頻信號端輸出。具體而言(參見(jiàn)圖1),攝像頭連續地掃描圖像上的一行,則輸出就是一段連續的電壓視頻信號,該電壓信號的高低起伏正反映了該行圖像的灰度變化情況。當掃描完一行,視頻信號端就輸出低于最低視頻信號電壓的電平(如0.3V),并保持一段時(shí)間。這樣相當于,緊接著(zhù)每行圖像對應的電壓信號之后會(huì )有一個(gè)電壓“凹槽”,此“凹槽”叫做行同步脈沖,它是掃描換行的標志。然后,跳過(guò)一行后(因為攝像頭是隔行掃描的方式),開(kāi)始掃描新的一行,如此下去,直到掃描完該場(chǎng)的視頻信號,接著(zhù)就會(huì )出現一段場(chǎng)消隱區。此區中有若干個(gè)復合消隱脈沖(簡(jiǎn)稱(chēng)消隱脈沖),在這些消隱脈沖中,有個(gè)脈沖,它遠寬于(即持續時(shí)間長(cháng)于)其他的消隱脈沖,該消隱脈沖又稱(chēng)為場(chǎng)同步脈沖,它是掃描換場(chǎng)的標志。場(chǎng)同步脈沖標志著(zhù)新的一場(chǎng)的到來(lái),不過(guò),場(chǎng)消隱區恰好跨在上一場(chǎng)的結尾部分和下一場(chǎng)的開(kāi)始部分,得等場(chǎng)消隱區過(guò)去,下一場(chǎng)的視頻信號才真正到來(lái)。攝像頭每秒掃描25 幅圖像,每幅又分奇、偶兩場(chǎng),先奇場(chǎng)后偶場(chǎng),故每秒掃描50 場(chǎng)圖像。奇場(chǎng)時(shí)只掃描圖像中的奇數行,偶場(chǎng)時(shí)則只掃描偶數行。
圖1 攝像頭視頻信號
評論