陳小龍
一、引言
隨著移動互聯(lián)網(wǎng)的飛速發(fā)展,人工智能已經(jīng)成為科技發(fā)展的推動力,同時也是目前計算機智能領(lǐng)域最炙手可熱的課題之一。而人工智能最具代表性的就是智能化設(shè)備的研究,包括智能機器人、智能家居、智能小車、智能家電等。各個高校、科研機構(gòu)都在開展對智能小車的研究,讓智能小車的普及大眾化,全國也在舉辦相應(yīng)的智能車大賽如“機器人大賽”、“飛思卡爾全國電子設(shè)計大賽”、“全國大學(xué)生創(chuàng)新大賽”等。所以研究智能小車是當(dāng)下研究的重點之一。目前智能小車的蔽障和尋跡依靠的主要是紅外傳感器、距離傳感器、灰度傳感器等,三種傳感器各有優(yōu)缺。
故本文設(shè)計了以O(shè)V7670作為視頻采集終端的智能小車尋跡,能夠根據(jù)視頻采集到的信號作為尋跡的參照,準(zhǔn)確避障。
二、避障系統(tǒng)設(shè)計與實現(xiàn)
要實現(xiàn)一個完整的基于攝像頭的智能小車尋跡,首先要做的就是將攝像頭輸出的圖像采集到控制器中,然后對采集到的原始圖像數(shù)據(jù)做處理,以獲取賽道中央的黑線在圖像坐標(biāo)系中的位置,接著對小車進行轉(zhuǎn)角控制驅(qū)動小車轉(zhuǎn)動。由于賽道是白底黑線,所以為達到尋線目的,只需要提取畫面的灰度信息即可,不必提取其他的彩色信息,從而減少控制器的負(fù)擔(dān)。整個軟件的流程是:系統(tǒng)初始化——視頻圖像采集——處理圖像(濾波,二值化)——提取中線——計算偏差和PID控制——控制舵機和機電。
(一)硬件設(shè)計
本文主要參考的硬件設(shè)備為博創(chuàng)提供的智能小車,主要的汽車模型組件為主控電路STM32F103控制器、驅(qū)動馬達、轉(zhuǎn)向舵機、圖像傳感器、可充電式電源。程序開發(fā)組件為KEIL MDK4.14,作為程序的開發(fā)平臺,上位機圖像程序為Demok Tool Build1114,采用MDK 作為開發(fā)平臺,開發(fā)功能強大易學(xué)易用,同時適用于多數(shù)對環(huán)境要求嚴(yán)苛的嵌入式應(yīng)用程序開發(fā)。攝像頭采用帶FIFO功能的OV7670攝像頭作為路面信息的采集設(shè)備,用以采集實時的路面信息,供控制器路面尋跡使用。在STM32F103嵌入式處理器上編寫相應(yīng)程序,使智能跑車在專門設(shè)計的跑道上通過灰度圖像自動識別道路并完成指定路徑的行駛。
(二)圖像數(shù)據(jù)采集與處理
當(dāng)前在智能小車攝像頭采集的數(shù)據(jù)中,PAL制式和NTSC制式作為主流制式,PAL制式和NTSC制式主要的區(qū)別就在于兩種制式每秒輸出的圖像幀數(shù)不一樣,PAL制式每秒輸出25幀圖像,而NTSC制式每秒輸出30幀圖像?,F(xiàn)在基于PAL制式的攝像頭有OV6620、sonyCCD、LGCCD、OV5116等;而基于NTSC制式的主要有OV7670、OV7620、OV7640等,本文基于OV7670攝像頭采用PAL制式的方式,此攝像頭30萬像素最高分辨率達到640×480,即長寬比為4:3,同時具有較高的分辨率。當(dāng)智能小車在尋跡的過程中通過攝像頭獲得軌道實時視頻信息后交給視頻信號分理處進行處理,進行視頻信號處理的同時分離視頻信號獲得圖片信息,通過分析圖片從而判斷軌道路面是否是邊緣黑線,繼而尋跡。由于攝像頭獲取的數(shù)據(jù)是視頻數(shù)據(jù),需要進行視頻信號的分離。采用視頻信號分離,分離出復(fù)合同步信號、復(fù)合消弭信號、圖像視頻信號。
(三)邊緣數(shù)據(jù)的濾波以及二值化
由于分離出的信號具有較大的噪聲,需要對信號進行濾波,濾波是將信號中特定噪聲濾除的操作,是抑制和防止干擾的重要措施。采用中值濾波是一種較好的方式,不僅能夠快速的提取軌道線路的邊緣信息,而且能夠?qū)⒃肼暯档阶钚 ,F(xiàn)在主要的邊緣檢測技術(shù)為基于區(qū)域的圖像分割和基于邊緣檢測的圖像分割。而邊緣檢測技術(shù)提取邊緣亮度變化,能夠快速檢測因而廣泛應(yīng)用在快速檢測領(lǐng)域。由于邊緣檢測提取后的數(shù)據(jù)具有較大的噪聲,為了減少外界信號的干擾,需要對濾波后的數(shù)據(jù)進行二值化,二值化的主要算法思路是將圖片像素點的灰度值設(shè)置為0或者255,也就是讓整個圖像呈現(xiàn)出只有黑白的視覺效果。設(shè)定一個閾值Value,對于視頻信號矩陣中的每一行,從左至右比較各個像素點值和閾值的大小,若大于閾值則判斷該點對應(yīng)白色賽道,反之對應(yīng)于目標(biāo)黑線。當(dāng)然也可能出現(xiàn)差值始終小于閾值的情況,此時一種方法是令該行上目標(biāo)黑線位置為0,通過進一步濾波或擬合來修正;另一種方法是讓該行上目標(biāo)黑線位置和通過上一場視頻數(shù)據(jù)求得的位置一樣。實驗證明進行去噪和二值化的數(shù)據(jù)具有較高的精確度。
(四)PID舵機轉(zhuǎn)向控制
將提取后的數(shù)據(jù)送入主控電路進行PID處理,通過與兩個邊緣點的值做對比,計算前進方向與中線的轉(zhuǎn)角。PID調(diào)節(jié)是模擬調(diào)節(jié)系統(tǒng)技術(shù)中最成熟、應(yīng)用最廣泛的一種調(diào)節(jié)方式。其實質(zhì)是根據(jù)輸入的偏差值,按比例、積分、微分的函數(shù)關(guān)系進行運算,運算結(jié)果用以控制在實際應(yīng)用中。根據(jù)被控對象的特性和控制要求,可靈活地改變PID的結(jié)構(gòu),取其中的一部分環(huán)節(jié)構(gòu)成控制規(guī)律,如比例(P)調(diào)節(jié)、比例積分(PI)調(diào)節(jié)、比例積分微分(PID)調(diào)節(jié)等。特別在計算機控制系統(tǒng)中,更可以靈活應(yīng)用,以充分發(fā)揮微型機的作用。如圖1所示,從而驅(qū)動轉(zhuǎn)向舵機讓其實現(xiàn)加速和轉(zhuǎn)彎的功能。為了減少小車與地面的阻力和摩擦,要求小車在轉(zhuǎn)向時所有的車輪在地面做純轉(zhuǎn)動,這要求所有的車輪的車軸相交于一點,這一點也稱為車輪的轉(zhuǎn)向中心。
根據(jù)阿克曼轉(zhuǎn)角定律:
三、實驗
本文基于灰度傳感器設(shè)計基于攝像頭的智能小車尋跡,旨在通過灰度傳感器獲取路面的圖像信息進行小車路徑的選擇,能夠達到實時躲避障礙按規(guī)定的路徑行駛等目的。在提取過程中由于只需要知道路面的灰度信息即可。既減少控制器處理的負(fù)擔(dān),又提高了控制器處理的效率。經(jīng)過測試該方案具有高效率。
四、結(jié)束語
本文基于灰度傳感器的智能小車巡線系統(tǒng)與設(shè)計,結(jié)合賽道的特點,對攝像頭采集到的數(shù)據(jù)進行提取、邊緣化處理、去噪、二值化以及通過PID控制轉(zhuǎn)向舵機的占空比PWM,來實時控制智能小車的轉(zhuǎn)向。同時也進行了賽道信息圖像的分割處理和濾波。通過實驗發(fā)現(xiàn)該系統(tǒng)所提出的方案是有效的。