夏雨磊
【摘要】 為了實(shí)現(xiàn)無(wú)人控制智能車在特殊道路上實(shí)現(xiàn)的自主行走的目的;采用光電攝像頭作為實(shí)時(shí)采集單元結(jié)合軟件控制單元閉環(huán)反饋的方法,在特殊賽道下自行調(diào)整舵機(jī)轉(zhuǎn)向,電機(jī)的加減速,成功實(shí)現(xiàn)了在非人為環(huán)境下按照黑色引導(dǎo)路線快速準(zhǔn)確的行駛。
【關(guān)鍵詞】 攝像頭 自主行駛 智能小車
一、引言
進(jìn)入21世紀(jì)以來(lái),智能化與自動(dòng)化這一課題,隨著時(shí)代的發(fā)展,愈發(fā)扮演者重要的角色。到如今,汽車行業(yè)在時(shí)代的前進(jìn)腳步中同樣不斷進(jìn)行著蛻變,隨著自動(dòng)化產(chǎn)業(yè)的高速發(fā)展,無(wú)人控制領(lǐng)域的誕生,無(wú)人自主智能車應(yīng)運(yùn)而生。本設(shè)計(jì)以單片機(jī)為控制核心,采用CCD攝像頭實(shí)現(xiàn)對(duì)引導(dǎo)路線圖像的獲取,并通過(guò)軟件對(duì)圖像進(jìn)行處理提取路徑,然后通過(guò)控制算法控制智能小車實(shí)現(xiàn)自動(dòng)行駛。
二、系統(tǒng)的總體設(shè)計(jì)
2.1 系統(tǒng)的工作原理
智能車系統(tǒng)的工作原理是:CCD攝像頭拍攝賽道圖像,通過(guò)片外AD進(jìn)行模數(shù)轉(zhuǎn)換,將得到的數(shù)據(jù)輸入MC9SXS128單片機(jī),通過(guò)程序提取黑色引導(dǎo)線;通過(guò)編碼器檢測(cè)車速,通過(guò)單片機(jī)輸入捕捉功能進(jìn)行脈沖計(jì)數(shù)得到小車的實(shí)時(shí)速度。由得到的引導(dǎo)線,選擇參考行,通過(guò)分段P系數(shù)算法來(lái)控制舵機(jī);通過(guò)賽道的曲率,計(jì)算得到目標(biāo)速度,利用PID相結(jié)合的閉環(huán)控制算法調(diào)整電機(jī)來(lái)控制小車速度。
2.2 系統(tǒng)的總體設(shè)計(jì)框圖
三、硬件模塊的設(shè)計(jì)
攝像頭采用TSL1401線性CCD模塊,此芯片主要是以TAOS公司生產(chǎn)的芯片TSL1401R為核心構(gòu)成,并且繼承高達(dá)128像素的線性陣列傳感器并且配套專門(mén)用于線性CCD的透鏡。該模塊成像所反映的是一維的圖像,當(dāng)在伴隨車身運(yùn)動(dòng)的過(guò)程中可以獲得二維的圖像。
小車轉(zhuǎn)向控制使用的是SD-5數(shù)字舵機(jī)。主驅(qū)動(dòng)電機(jī)采用RS-540速度電機(jī),其轉(zhuǎn)速高達(dá)20000r/min,內(nèi)裝散熱風(fēng)扇,最大功率可達(dá)118w,能夠快速有力的帶動(dòng)車身前進(jìn)后退,是一款較為理想的驅(qū)動(dòng)電機(jī)。測(cè)量速度采用歐姆龍編碼器將車輪轉(zhuǎn)速轉(zhuǎn)換成以數(shù)字脈沖。RS-540電機(jī)功率比較大,驅(qū)動(dòng)電路板采用TC4427MOSFET驅(qū)動(dòng)器加四支N溝道功率MOSFET管設(shè)計(jì)了一個(gè)直流電動(dòng)機(jī)可逆橋式驅(qū)動(dòng)電路,其電路圖如圖2所示。
單片機(jī)選用Freescale公司16位的高速單片機(jī)MC9SXS128其可以達(dá)到25MHz的處理速度。
四、軟件控制方案
4.1 攝像頭圖像處理
圖像信號(hào)采集作為整個(gè)控制算法的基礎(chǔ),其效果好壞直接影響到智能車整體的穩(wěn)定性、準(zhǔn)確性。因而經(jīng)過(guò)多次試驗(yàn)與反復(fù)嘗試最終決定采用自適應(yīng)曝光方案。由TSL1401線性CCD傳感器的用戶手冊(cè)的分析可知,每個(gè)像素所采集的圖像灰度值與他所感知的光強(qiáng)和積分時(shí)間成正比,積分時(shí)間越長(zhǎng)亮度也就越高,CCD上就是采集到的電壓值的高低。
在試驗(yàn)的過(guò)程中發(fā)現(xiàn)曝光時(shí)間最終確定在10-15ms是最為合理的,原因有兩個(gè):首先曝光時(shí)間的增加就表示對(duì)于圖像的采集周期變長(zhǎng),不利于對(duì)于系統(tǒng)的控制,就會(huì)導(dǎo)致系統(tǒng)的反應(yīng)滯后,降低了系統(tǒng)的穩(wěn)定性,準(zhǔn)確性。其次曝光時(shí)間的延長(zhǎng)會(huì)使采集回來(lái)的圖像變得模糊,不利于后期對(duì)于圖像的分析提取。
4.2 路徑提取算法
由于智能車系統(tǒng)對(duì)實(shí)時(shí)性的要求很高,過(guò)于復(fù)雜的黑線提取算法,會(huì)導(dǎo)致決策周期溢出,使程序崩潰,所以必須采用簡(jiǎn)單高效的圖像識(shí)別算法。在這里采用直接邊緣檢測(cè)算法。采用逐點(diǎn)掃描的方法,首先從定義的起始點(diǎn)開(kāi)始進(jìn)行往兩邊掃描的方式,這里的起始點(diǎn)是定義為中間64點(diǎn)處開(kāi)始掃描,找到從路面白色像素到路面邊緣黑色像素的邊沿,計(jì)算兩個(gè)沿的位置差,通過(guò)閾值判斷合理的話通過(guò)求平均值估算出路面的中心。
邊沿的檢測(cè),可以通過(guò)比較前后兩次采樣數(shù)的差值的絕對(duì)值是否大于一個(gè)閾值來(lái)判斷,如果差值為負(fù),則為上升沿;否則為下降沿。這里,閥值可以根據(jù)經(jīng)驗(yàn)設(shè)定,基本上介于8~15之間(當(dāng)A/D模塊的參考電壓為2.5 V時(shí)),也可以采用全局自適應(yīng)法設(shè)定,每次采樣后首先都遍歷一次圖像,得到圖像灰度值的平均值,然后用這個(gè)平均值乘以一個(gè)調(diào)試系數(shù)即可得到所要的閾值。
4.3 PID速度閉環(huán)控制
速度控制策略的好壞就決定小車能否取得優(yōu)秀成績(jī),為了使賽車能快速達(dá)到給定速度,經(jīng)過(guò)很長(zhǎng)時(shí)間的測(cè)試,我們最終采用了增量式PID,PdIt=Kp*(e(t)-e(t-1)+Ki*e(t)+Kd*(e(t)-2*e(t-1)+e(t-2));其返回的值是控制量所需加上的增量。其中e(t)是當(dāng)前測(cè)量真實(shí)值與設(shè)定的目標(biāo)差。是當(dāng)前測(cè)量真實(shí)值與設(shè)定的目標(biāo)差。
比例項(xiàng)主要使快速達(dá)到目標(biāo),但是過(guò)沖可能大,積分以減小過(guò)沖但使反應(yīng)變慢,微分項(xiàng)可以提高系統(tǒng)靈敏度但是也會(huì)對(duì)于干擾信號(hào)進(jìn)行放大。
五、結(jié)束語(yǔ)
在智能小車車開(kāi)發(fā)過(guò)程中,在行駛過(guò)程中發(fā)現(xiàn),如果對(duì)于前瞻過(guò)遠(yuǎn)容易發(fā)生丟失道路現(xiàn)象,但是過(guò)于近的前瞻在直道入急彎時(shí)會(huì)發(fā)生舵機(jī)打角反應(yīng)滯后現(xiàn)象,所以好的前瞻可提高小車的反應(yīng)速度,通過(guò)對(duì)PID等參數(shù)的調(diào)整,成功實(shí)現(xiàn)了小車通過(guò)CCD光電攝像頭對(duì)路徑的快速跟蹤行駛。