智能車(chē)黑線(xiàn)識別算法及控制策略研究
0 引言
“飛思卡爾”杯全國大學(xué)生智能車(chē)大賽是由摩托羅拉旗下飛思卡爾公司贊助由高等學(xué)校自動(dòng)化專(zhuān)業(yè)教學(xué)指導委員會(huì )負責主辦的全國性的賽事,旨在加強大學(xué)生的創(chuàng )新意識、團隊合作精神和培養學(xué)生的創(chuàng )新能力。此項賽事專(zhuān)業(yè)知識涉及控制、模式識別、傳感技術(shù)、汽車(chē)電子、電氣、計算機、機械等多個(gè)學(xué)科,對學(xué)生的知識融合和動(dòng)手能力的培養,對高等學(xué)校控制及汽車(chē)電子學(xué)科學(xué)術(shù)水平的提高,具有良好的推動(dòng)作用。
智能車(chē)競賽所使用的車(chē)模是一款帶有差速器的后輪驅動(dòng)模型賽車(chē),它由大賽組委會(huì )統一提供。自動(dòng)控制器是以飛思卡爾16位微控制器MC9S12DGl28(S12)為核心控制單元,配合有傳感器、電機、舵機、電池以及相應的驅動(dòng)電路,它能夠自主識別路徑,控制車(chē)高速穩定運行在跑道上。比賽要求自己設計控制系統及自行確定控制策略,在規定的賽道上以比賽完成的時(shí)間短者為優(yōu)勝者。賽道由白色底板和黑色的指引線(xiàn)組成。根據賽道的特點(diǎn),比賽組委會(huì )確定了兩種尋線(xiàn)方案:1.光電傳感器。
2.攝像頭。
兩種尋線(xiàn)方案的特點(diǎn)如下:
(1)光電傳感器方案。通過(guò)紅外發(fā)射管發(fā)射紅外線(xiàn)光照射跑道,跑道表面與中心指引線(xiàn)具有不同的反射強度,利用紅外接收管可以檢測到這些信息。此方案簡(jiǎn)單易行程序調試也簡(jiǎn)單且成本低廉,但是它受到競賽規則的一些限制(組委會(huì )要求傳感器數量不超過(guò)16個(gè)(紅外傳感器的每對發(fā)射與接收單元計為一個(gè)傳感器,CCD傳感器計為1個(gè)傳感器)),傳感器的數量不可能安放的太多,因而道路檢測的精度較低,能得到指引線(xiàn)的信息量也較少。若采用此方案容易引起舵機的回擺走蛇形路線(xiàn)。
(2)攝像頭方案。根據賽道的特點(diǎn)斯用黑白圖像傳感器即可滿(mǎn)足要求。CCD攝像頭有面陣和線(xiàn)陣兩種類(lèi)型,它們在接口電路、輸出信號以及檢測信息等方面有著(zhù)較大的區別,面陣攝像頭可以獲取前方賽道的圖像信息,而線(xiàn)陣CCD只能獲取賽道一條直線(xiàn)上的圖像信息。攝像頭方案的所能探測的道路信息量遠大于光電傳感器方案,而且攝像頭也可以探測足夠遠的距離以方便控制器對前方道路進(jìn)行預判。雖然此方案對控制器的要求比較高,但組委會(huì )提供的MC9S12DGl28(S12)的運算能力以及自身AD口的采樣速度完全能夠滿(mǎn)足攝像頭的視頻采樣和大量圖像數據的處理的要求。
本文就是在攝像頭方案的前提下,在實(shí)時(shí)的圖像數據獲取的基礎上對圖像信息進(jìn)行數據處理,從而提取賽道中心的黑色指引線(xiàn),再以此來(lái)作為舵機和驅動(dòng)電機的控制依據。
1 攝像頭采樣數據的特點(diǎn)
采用的黑白攝像頭的主要工作原理為:按一定的分辨率,以隔行掃描的方式采集圖像上的點(diǎn),當掃描到某點(diǎn)時(shí),就通過(guò)圖像傳感芯片將該點(diǎn)處圖像的灰度轉換成與灰度一一對應的電壓值,然后將此電壓值通過(guò)視頻信號端輸出,見(jiàn)圖1。攝像頭連續地掃描圖像上的一行,則輸出就是一段連續的電壓信號,該電壓信號的高低起伏反映了該行圖像的灰度變化。當掃描完一行,視頻信號端就輸出一個(gè)低于最低視頻信號電壓的電平(如O.3V),并保持一段時(shí)間。這樣相當于緊接著(zhù)每行圖像信號之后會(huì )有一個(gè)電壓“凹槽”,此“凹槽”叫做行同步脈沖,它是掃描換行的標志。然后,跳過(guò)一行后(因為攝像頭是隔行掃描的),開(kāi)始掃描新的一行,如此下去,直到掃描完該場(chǎng)的視頻信號,接著(zhù)又會(huì )出現一段場(chǎng)消隱區。該區中有若干個(gè)復合消隱脈沖,其中有個(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í)則只掃描偶數行。
因MC9S12DGl28(S12)控制芯片的處理能力達不到計算機的運算速度,故采用了目前市面上分辨率最小的320X240的CMOS單板攝像頭,它同樣可以每秒掃描501幅圖像。為了擴大攝像頭的掃描距離來(lái)滿(mǎn)足圖像和控制處理的需要,將S12單片機的總線(xiàn)周期超頻到32M,這樣攝像頭每行最多能夠采集70個(gè)點(diǎn)。
通過(guò)實(shí)驗測得攝像頭掃描的每場(chǎng)圖像中有320個(gè)行信號,其中的第23行到第310行是視頻信號,即每場(chǎng)中有用的視頻信號有288行。第3ll行到下一場(chǎng)第22行是場(chǎng)消隱信號。在實(shí)際的圖像處理和控制過(guò)程當中完全沒(méi)有必要對全部288行視頻信號進(jìn)行處理。由于每行能采集到80個(gè)有點(diǎn)像素點(diǎn),所以在每場(chǎng)視頻信號中每隔15行對行信號采集一次,用18行視頻信號來(lái)判斷前方是直道還是彎道,從而對小車(chē)進(jìn)行速度和轉向的控制。
評論