馮玉如
摘要:由于信息時(shí)代的進(jìn)步,各種科技技術(shù)得到了蓬勃發(fā)展,智能車(chē)研究成為現(xiàn)代社會(huì)的熱點(diǎn),智能車(chē)?yán)脗鞲衅骱退惴▉?lái)快速了解車(chē)輛行駛的道路環(huán)境。本文設(shè)計(jì)的智能小車(chē)?yán)肅CD傳感器來(lái)采集道路信息,并以恩智浦K60單片機(jī)為控制芯片,研究其路徑識(shí)別算法,從而控制電機(jī)的速度及舵機(jī)的轉(zhuǎn)向,實(shí)現(xiàn)自動(dòng)循跡的功能。同時(shí),對(duì)智能車(chē)的研究現(xiàn)狀以及未來(lái)應(yīng)用與發(fā)展前景做一個(gè)全方面的介紹。
關(guān)鍵詞:CCD傳感器;智能車(chē);路徑識(shí)別;識(shí)別算法
中圖分類號(hào):TP212.9 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)08-0087-02
智能汽車(chē)領(lǐng)域在世界范圍內(nèi)迅速發(fā)展,公共交通、工業(yè)和軍事領(lǐng)域的多樣性日益增加。智能車(chē)自動(dòng)化系統(tǒng)提供了在安全和操作效率方面顯著增強(qiáng)的潛力[1]。智能車(chē)輛系統(tǒng)使用傳感器和智能算法來(lái)快速了解車(chē)輛周?chē)沫h(huán)境,或者協(xié)助駕駛員進(jìn)行車(chē)輛操作或汽車(chē)自動(dòng)化行駛[2]。在智能車(chē)發(fā)展的背景下,設(shè)計(jì)一種基于線性CCD傳感器為識(shí)別裝置,并以恩智浦K60單片機(jī)為控制器的路徑識(shí)別系統(tǒng)。線性CCD傳感器作為路徑識(shí)別裝置,將采集到的圖像發(fā)送給單片機(jī),單片機(jī)根據(jù)閾值進(jìn)行二值化處理,二值化后的數(shù)據(jù)再經(jīng)過(guò)數(shù)值濾波,獲得完整的二值化圖像。根據(jù)當(dāng)前的行駛軌跡和編碼器采集反饋的速度,利用PID控制方法動(dòng)態(tài)調(diào)節(jié)舵機(jī)轉(zhuǎn)角以及控制直流電機(jī)的轉(zhuǎn)速,調(diào)整行駛方向與行車(chē)速度,實(shí)現(xiàn)任意路徑識(shí)別與智能行駛。
1 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件主要由單片機(jī)、CCD傳感器、SD-5舵機(jī)、TFT液晶屏、編碼器和電機(jī)驅(qū)動(dòng)六個(gè)部分組成,如圖1所示為系統(tǒng)硬件框架圖。
主控制器采用恩智浦K60單片機(jī),此單片機(jī)為32位微控制器,是整個(gè)系統(tǒng)的“大腦”。
CCD傳感器采用TSL1401L芯片,可以采集道路當(dāng)前信息發(fā)送給單片機(jī),供單片機(jī)處理道路信息。舵機(jī)選用SD-5舵機(jī),其靈敏度較高,在接收到單片機(jī)的控制信號(hào)后能快速調(diào)整車(chē)輛轉(zhuǎn)角。編碼器用以采集電機(jī)轉(zhuǎn)速,轉(zhuǎn)速信息編碼器將轉(zhuǎn)化為脈沖發(fā)送給單片機(jī),而K60單片機(jī)具有正交解碼功能,可以將采集到計(jì)數(shù)脈沖通過(guò)正交解碼轉(zhuǎn)化成速度信息。系統(tǒng)采用一塊TFT液晶屏,能實(shí)時(shí)顯示CCD傳感器采集到的圖像信息、舵機(jī)角度、賽道信息和編碼器反饋回來(lái)的速度。電機(jī)驅(qū)動(dòng)由2個(gè)半橋驅(qū)動(dòng)芯片BTS7960B組合而成為一個(gè)全橋驅(qū)動(dòng)器,同時(shí)增加總線驅(qū)動(dòng)芯片74LVC245,該芯片能提高驅(qū)動(dòng)能力,并能隔離BTN7940B芯片和主控K60芯片,防止芯片燒壞[3]。
1.1 單片機(jī)主控芯片
系統(tǒng)核心控制單元采用恩智浦K60單片機(jī),此單片機(jī)為32位微控制器,線性CCD采集到的道路信息,返回到單片機(jī),單片機(jī)會(huì)輸出一路PWM波,用以控制舵機(jī)的轉(zhuǎn)向。在車(chē)速控制中,單片機(jī)會(huì)輸出四路PWM波到電機(jī)驅(qū)動(dòng)上,電機(jī)驅(qū)動(dòng)再加以控制電機(jī)正反轉(zhuǎn)和相應(yīng)轉(zhuǎn)速,以此來(lái)控制車(chē)速。
1.2 CCD傳感器模塊
整個(gè)控制系統(tǒng)最核心的部分就是如何清晰地看見(jiàn)道路的具體情況,即系統(tǒng)的“眼睛”,系統(tǒng)設(shè)計(jì)上選用CCD傳感器。CCD傳感器相比于傳統(tǒng)的光電管,具有分辨率高、功耗低、前瞻性好等優(yōu)點(diǎn),從而可以獲取更多的道路信息。
1.3 電源模塊
使用標(biāo)準(zhǔn)車(chē)模7.2V電池供電,路徑識(shí)別的CCD傳感器和編碼器需要5V電源,采用LM2940降壓芯片將7.2V的電池電壓降壓到5V,供CCD傳感器使用,而單片機(jī)系統(tǒng)需要3.3V電源,將經(jīng)過(guò)降壓后的5V電源通過(guò)AMS1117芯片降壓3.3V電源供單片機(jī)使用,舵機(jī)使用6V供電,通過(guò)調(diào)節(jié)滑動(dòng)變阻器將7.2V降壓到6V供舵機(jī)使用,而直流電機(jī)可以使用7.2V電源直接供電。
2 系統(tǒng)算法設(shè)計(jì)
2.1 主程序流程圖
主程序流程圖如2所示,將主控板的電源開(kāi)關(guān)打開(kāi),單片機(jī)開(kāi)始運(yùn)行,初始化程序完成后,液晶屏上會(huì)顯示當(dāng)前賽道圖像和行駛速度,根據(jù)當(dāng)前環(huán)境光照,輸入相關(guān)參數(shù)。緊接著CCD傳感器開(kāi)始工作,采集賽道信息,供單片機(jī)處理。CCD傳感器不斷掃描賽道,根據(jù)特征點(diǎn)判斷出賽道類型,是直線還是彎道等等,以便控制舵機(jī)轉(zhuǎn)向和電機(jī)的速度。當(dāng)CCD傳感器掃描到停車(chē)線時(shí),單片機(jī)輸出信號(hào)使舵機(jī)回正方向,以及電機(jī)反轉(zhuǎn)使行駛速度減下來(lái),速度為零時(shí)停車(chē)。
2.2 路徑識(shí)別算法
如圖3所示為整個(gè)路徑識(shí)別算法的過(guò)程。根據(jù)CCD傳感器采集回來(lái)的像素點(diǎn),計(jì)算出像素點(diǎn)的最大值與最小值,根據(jù)最大值與最小值計(jì)算出動(dòng)態(tài)閾值。由動(dòng)態(tài)閾值的大小,對(duì)圖像進(jìn)行二值化處理,二值化處理后的數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)濾波,排除干擾點(diǎn)。
2.3 彎道處理
路徑識(shí)別算法的重要性不言而喻,而彎道處理對(duì)于車(chē)輛的穩(wěn)定性也是非常重要的。在處理彎道時(shí),需要考慮三個(gè)參數(shù)并加以設(shè)定,分別是切彎時(shí)路徑選擇、入彎時(shí)角度控制、過(guò)彎時(shí)速度大小[4]。在本設(shè)計(jì)中,切彎時(shí)采取沿中線過(guò)彎,與過(guò)內(nèi)道相比,增加車(chē)輛調(diào)整時(shí)間,提高容錯(cuò)率。與過(guò)外道相比,能縮短車(chē)輛過(guò)彎的時(shí)間。選擇中線過(guò)彎,能夠保證車(chē)輛運(yùn)動(dòng)狀態(tài)穩(wěn)定。入彎角度將根據(jù)CCD傳感器兩側(cè)跳變沿的偏移值算出舵機(jī)的轉(zhuǎn)向角度,供舵機(jī)轉(zhuǎn)向。過(guò)彎速度采取入彎減速,出彎加速的策略。
在處理彎道中,切彎時(shí)路徑選擇、入彎時(shí)角度控制、過(guò)彎時(shí)速度大小這三個(gè)參數(shù)的選擇是尤為重要的,不可僅僅對(duì)單一參數(shù)進(jìn)行調(diào)整。同時(shí),彎道的處理也受傳感器的安裝位置、舵機(jī)的靈敏度和電機(jī)的驅(qū)動(dòng)力影響。
2.4 PID控制
由于小車(chē)跑過(guò)的路線不需要考慮,在設(shè)計(jì)過(guò)程中將舵機(jī)的PID控制簡(jiǎn)化為PD控制,速度閉環(huán)控制采用了增量式PID控制。在設(shè)計(jì)中,因?yàn)樯釛壛薎控制,就不需要再確定舵機(jī)和電機(jī)積分參數(shù),只需通過(guò)試湊法來(lái)確定比例和微分參數(shù)[5]。根據(jù)試湊法,觀察各參數(shù)對(duì)舵機(jī)和電機(jī)的大致影響,最終確定舵機(jī)PD控制中比例系數(shù)Kp為8,微分常數(shù)Td為0.02,速度閉環(huán)增量式PID控制中比例系數(shù)Kp為15,積分常數(shù)Td為1,微分常數(shù)Td為4。
3 結(jié)果驗(yàn)證
如圖4所示,當(dāng)CCD傳感器掃描到直線特征時(shí),單片機(jī)處理采集到的數(shù)據(jù),控制舵機(jī)方向微調(diào),使小車(chē)始終維持在中線上,電機(jī)加速使其快速通過(guò)直線區(qū)域。當(dāng)掃描到彎道特征使,如圖5所示,按照入彎時(shí)減速,以得到足夠的調(diào)整時(shí)間,獲得正確的轉(zhuǎn)向角度;在彎道內(nèi)適當(dāng)提速,并保持角度不變,為出彎時(shí)的加速節(jié)約時(shí)間;出彎時(shí),先準(zhǔn)確判斷標(biāo)志,然后加速。當(dāng)CCD掃描到左右黑線偏差五個(gè)像素點(diǎn)時(shí),即是S形彎道,根據(jù)S形彎道算法的處理,此時(shí)小車(chē)將S形彎道當(dāng)作直線,加速駛過(guò)。在十字的時(shí)候,出現(xiàn)全白的信號(hào),在傳感器穩(wěn)定的前提下,能出現(xiàn)全白的也只會(huì)在十字的時(shí)候出現(xiàn),此時(shí)按照入十字的速度平穩(wěn)行駛。當(dāng)CCD測(cè)得具有駝峰形狀的賽道信息,即測(cè)得停車(chē)線信息,單片機(jī)輸出信號(hào)使舵機(jī)回正方向,以及電機(jī)反轉(zhuǎn)使行駛速度減下來(lái),速度為零時(shí)停車(chē)。
4 結(jié)語(yǔ)
基于對(duì)機(jī)械布局、硬件設(shè)計(jì)和軟件算法的研究,實(shí)驗(yàn)結(jié)果表明依據(jù)CCD傳感器采集回來(lái)的路徑信息,單片機(jī)在路徑算法的幫助下,能規(guī)劃好行駛路徑,很好地分辨出直道、彎道、S彎、十字路口等路況。
參考文獻(xiàn)
[1]Bishop R. A survey of intelligent vehicle applications worldwide[C]. Intelligent Vehicles Symposium, 2000. IV 2000. Proceedings of the IEEE. IEEE, 2000:25-30.
[2]尹念東.智能車(chē)輛的研究及前景[J].上海汽車(chē),2002,2(4):40-42.
[3]李旭東,廖中浩,孟嬌.基于CMOS攝像頭的智能車(chē)控制系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2013,31(04):414-418.
[4]高正中,趙麗娜,李世光,白星振,宋森森.基于攝像頭的智能車(chē)控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2015,30(06):1-4.
[5]陳孟元,孫書(shū)誠(chéng),王虎.基于圖像識(shí)別的尋跡智能車(chē)設(shè)計(jì)[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2013,27(03):80-84.