王開南 劉楊 王國(guó)軍 劉博 張?jiān)骑w
(陸軍軍事交通學(xué)院 天津市 300171)
近年來,隨著攝像頭等傳感器,人工智能等高科技在智能車領(lǐng)域的廣泛應(yīng)用,汽車的智能化程度越來越高[1]。在物流領(lǐng)域,智能車可以應(yīng)用于流程自動(dòng)化、配送效率提升、貨物追蹤等方面,提高整個(gè)物流產(chǎn)業(yè)的效率和便利性。在軍事領(lǐng)域,智能車可以應(yīng)用于軍用裝備、無人戰(zhàn)車、偵察和救援行動(dòng)中,增強(qiáng)作戰(zhàn)能力和軍事行動(dòng)的效率。在車聯(lián)網(wǎng)背景下發(fā)展出的智能網(wǎng)聯(lián)汽車還可以帶動(dòng)相關(guān)產(chǎn)業(yè)的發(fā)展,推動(dòng)智慧城市的發(fā)展,在智能車的車人互聯(lián)、車車互聯(lián)以及車聯(lián)萬物的發(fā)展之勢(shì)下,智能車將不再是單純的工具,而是一個(gè)智能的可移動(dòng)空間[2]。
“恩智浦杯”全國(guó)大學(xué)生智能車大賽是由恩智浦(中國(guó))有限公司主辦的一項(xiàng)賽事、是國(guó)內(nèi)最具影響力的智能車比賽之一,引領(lǐng)了全國(guó)大學(xué)生在自動(dòng)駕駛、視覺識(shí)別等方面的技術(shù)創(chuàng)新,旨在突破傳統(tǒng)智能車只依據(jù)激光雷達(dá)、毫米波雷達(dá)等傳感器進(jìn)行控制的模式,采用更為普及、成本更低的攝像頭來實(shí)現(xiàn)對(duì)智能車的控制。本文開展攝像頭與智能車發(fā)展的研究并以其攝像頭智能車比賽規(guī)則基礎(chǔ)上設(shè)計(jì)一款只依據(jù)單目攝像頭來控制行駛的智能車,旨在為智能車發(fā)展提供支持和做好技術(shù)儲(chǔ)備,以期為智能車的應(yīng)用和推廣提供一定的理論基礎(chǔ)和研究指導(dǎo)。
車載攝像頭被譽(yù)為自動(dòng)駕駛之眼,是ADAS 系統(tǒng)、智能車領(lǐng)域的核心傳感設(shè)備。隨著攝像頭技術(shù)的革新與發(fā)展,其對(duì)智能車領(lǐng)域的發(fā)展也有著明顯的促進(jìn)與制約。車載攝像頭在L3 級(jí)別下的智能車系統(tǒng)方案中居于主導(dǎo)地位,1956年別克首個(gè)引用攝像頭的概念車型Centurion。隨著攝像頭關(guān)鍵零部件和芯片技術(shù)的發(fā)展,90年代中期,美國(guó)麻省理工學(xué)院提出用計(jì)算機(jī)軟件替換駕駛員的思想。直到2007年首款應(yīng)用攝像頭的環(huán)景監(jiān)視系統(tǒng)在日本誕生,其為駕駛員提供車身鳥瞰圖和停車輔助線,智能的駕駛輔助從此開始。2015年后,隨著無人駕駛、車聯(lián)網(wǎng)的發(fā)展風(fēng)潮,車載攝像頭加持軟件算法,已逐漸參與到智能處理當(dāng)中,為智能提供感知、決策、控制的資源和信息。目前智能車的自動(dòng)駕駛系統(tǒng)已經(jīng)可以在駕駛中部分解放人的肢體和大腦[3],實(shí)現(xiàn)自動(dòng)控制。
攝像頭智能車將有著廣闊的發(fā)展前景。攝像頭會(huì)逐漸實(shí)現(xiàn)高清、廣角、高速,并具備深度學(xué)習(xí)和其他人工智能技術(shù)。未來攝像頭智能車不僅能駕駛,還將承擔(dān)更多的功能,比如情感識(shí)別、疲勞識(shí)別等,幫助駕駛員的安全駕駛。在實(shí)際應(yīng)用中,人工智能攝像頭智能車將成為未來社會(huì)中的重要角色,為交通安全、節(jié)能減排、降低交通事故等方面做出積極的貢獻(xiàn)。未來,攝像頭智能車將會(huì)逐漸實(shí)現(xiàn)自主駕駛和智能交通的目標(biāo),為人類社會(huì)的可持續(xù)發(fā)展做出積極的貢獻(xiàn)。
本文設(shè)計(jì)的是以TC264DA 單片機(jī)作為核心控制系統(tǒng),主要功能模塊包括電源模塊、道路信息采集模塊、電機(jī)驅(qū)動(dòng)模塊、轉(zhuǎn)向模塊、行駛狀態(tài)反饋模塊、調(diào)試模塊。在圖1 中給出了智能型汽車系統(tǒng)的硬件結(jié)構(gòu)框圖。在此基礎(chǔ)上,通過攝像頭獲取道路圖像,通過核心控制器進(jìn)行處理,完成道路邊線的提取,道路要素的識(shí)別,以及基于車輛當(dāng)前運(yùn)行狀態(tài)的閉環(huán)控制驅(qū)動(dòng)與轉(zhuǎn)向裝置。
圖1:系統(tǒng)硬件設(shè)計(jì)框圖
道路信息采集模塊是本文研究系統(tǒng)的核心,本模塊的核心是攝像頭。本文采用MT9V032 攝像頭滿足本文所設(shè)計(jì)系統(tǒng)的對(duì)實(shí)時(shí)道路信息采集的要求。其采用3.3V電源供電,集成了可編程寄存器和靈活的控制接口,用戶可以通過設(shè)定傳感器的工作模式和參數(shù)獲取高質(zhì)量的圖像輸出。該傳感器還具有高動(dòng)態(tài)范圍和低噪聲等優(yōu)秀的性能指標(biāo),能夠適應(yīng)不同的成像場(chǎng)景和復(fù)雜環(huán)境。
智能車電源模塊是智能車中不可或缺的組成部分之一,它主要是為智能車提供電源穩(wěn)定、功耗低、電路保護(hù)等功能的模塊。供電系統(tǒng)圖如圖2 所示。使用7.4V鋰離子電池為整個(gè)系統(tǒng)供電,考慮到智能車所需的不同電壓和電流,使用TPS7350 和TPS7333 低壓差線性穩(wěn)壓器芯片將電源電壓降為5V 和3.3V 為各模塊提供電壓。為了保證在車輛行駛過程中保證轉(zhuǎn)向的穩(wěn)定性和及時(shí)性,舵機(jī)使用TL1963 芯片單獨(dú)供電。這樣也可以有效地保護(hù)車輛中的電子元件免受損壞。
圖2:供電系統(tǒng)圖
BTN7970 是一種電機(jī)驅(qū)動(dòng)器IC,可以用于驅(qū)動(dòng)直流電機(jī)和步進(jìn)電機(jī),廣泛應(yīng)用于機(jī)器人、智能車、自動(dòng)化設(shè)備等領(lǐng)域[4]。此芯片為半橋驅(qū)動(dòng)芯片,本文采用兩片芯片構(gòu)建能夠精準(zhǔn)控制電機(jī)的全橋驅(qū)動(dòng)電路的方案作為電機(jī)驅(qū)動(dòng)模塊。這樣的設(shè)計(jì)可以將電源采樣引腳用來為內(nèi)部邏輯和高側(cè)驅(qū)動(dòng)器提供電壓,減少了外部電容器,進(jìn)一步提高了系統(tǒng)總體效率。同時(shí)全橋驅(qū)動(dòng)電路使得負(fù)載可直接通過NMOSFET 驅(qū)動(dòng)器連接到電源輸出端,電流管理更加靈活,更好地提高了系統(tǒng)的性能表現(xiàn)。電路圖如圖3 所示。
圖3:驅(qū)動(dòng)電路圖
控制算法是智能車系統(tǒng)性能好與不好的關(guān)鍵,控制系統(tǒng)必須穩(wěn)定可靠。本文中主要控制對(duì)象為舵機(jī)和電機(jī)。智能車系統(tǒng)的軟件設(shè)計(jì)使用了攝像頭所拍攝到的賽道圖像,其主要設(shè)計(jì)思路使通過核心控制芯片對(duì)所拍攝到的圖像進(jìn)行了濾波[5]、二值化而后提取道路邊線信息,根據(jù)道路邊線的變化情況從而判別車體當(dāng)前所處的道路元素類型,做出對(duì)應(yīng)的決策,通過對(duì) PWM的輸出進(jìn)行控制,從而實(shí)現(xiàn)舵機(jī)的轉(zhuǎn)向以及對(duì)直流電動(dòng)機(jī)的轉(zhuǎn)速控制。該系統(tǒng)的主要部分由初始化,圖像處理,道路要素識(shí)別,車輛控制等組成。系統(tǒng)軟件控制流程圖如圖4 所示。
圖4:軟件流程圖
通過使用DMA 傳輸技術(shù),可將MT9V032 攝像頭采集到的高清圖像流快速高效地傳送到單片機(jī),從而有效減輕處理器的壓力,提高系統(tǒng)運(yùn)行速度和響應(yīng)能力。針對(duì)道路特征識(shí)別應(yīng)用場(chǎng)景,攝像頭直接采集高分辨率圖像的方式存在兩個(gè)問題:一是MT9V032 攝像頭采集到的圖像數(shù)據(jù)量巨大,處理起來需要消耗很長(zhǎng)時(shí)間;二是在車速較快時(shí),采集到的高分辨率圖像會(huì)變得模糊或失真,難以識(shí)別路面特征。因此,可以采取隔行取樣的方式,只選取部分像素點(diǎn)來采集圖像,雖然取樣率較低,但已經(jīng)足夠滿足道路特征識(shí)別的需求。這種方式可以有效減小數(shù)據(jù)量和處理時(shí)間,同時(shí)可以保證較高的動(dòng)態(tài)穩(wěn)定性和識(shí)別效果。
使用中值濾波算法,將各象素點(diǎn)附近的數(shù)值按照一定的順序排列,取而代之的中值,以達(dá)到消除噪聲,對(duì)圖像進(jìn)行平滑處理的目的。利用大津法對(duì)經(jīng)過濾波的圖像進(jìn)行二值處理[6],通過對(duì)圖像的直方圖分布進(jìn)行分析,找到最佳的二值化閾值用于將圖像轉(zhuǎn)換為黑白二值圖像。最后一項(xiàng)重要的處理步驟是對(duì)每行像素點(diǎn)進(jìn)行掃描,以確定道路的左右邊線。通過檢測(cè)每行道路中黑白像素點(diǎn)變化情況[7],可以精確地識(shí)別道路的邊界,并進(jìn)一步提取出路面的中央線和轉(zhuǎn)彎處的拐點(diǎn)等道路元素,為后續(xù)路徑規(guī)劃和行駛控制奠定基礎(chǔ)。通過這種方法,智能車可以在復(fù)雜的道路環(huán)境中提高識(shí)別精度和魯棒性,實(shí)現(xiàn)更加精準(zhǔn)、安全的自主行駛。
經(jīng)過預(yù)處理和道路邊界提取,我們可以獲得一系列關(guān)于道路的特征數(shù)據(jù),從而可以開始進(jìn)行元素識(shí)別。道路元素包括彎道、十字交叉口、Y 形交叉口、環(huán)形障礙物和上下斜坡等。根據(jù)圖像處理提取的道路邊線使用最小二乘法擬合出虛擬的中心線,分析其曲率值變化從而獲得偏差值作為控制舵機(jī)方向的基本依據(jù)。
通過不斷掃描道路兩邊邊線來確定交叉口的存在。當(dāng)?shù)缆愤吘€出現(xiàn)中斷時(shí),我們可以通過計(jì)算邊線中斷的數(shù)量和位置來判斷是否為交叉口,并進(jìn)一步確定交叉口的類型。例如,在十字路口的情況下,我們可以觀察道路邊線的中斷點(diǎn)的數(shù)量和位置,分別為近端兩個(gè)邊線中斷點(diǎn)和遠(yuǎn)端兩個(gè)中斷點(diǎn),以及交叉口的形狀和大小,從而將其識(shí)別為十字路口,以此按照目的地位置控制車輛在路口中轉(zhuǎn)向或是直行。在Y 形交叉口或環(huán)形障礙物的情況下,可以依據(jù)道路邊線的中斷數(shù)量、交叉口位置和形狀來進(jìn)行識(shí)別,輔以比較道路邊線的曲率變化來判定交叉口的存在,可以減少錯(cuò)誤判斷的可能性。系統(tǒng)處理過程中十字路口的圖像如圖5 所示。
圖5:處理中的道路圖片
此外上下坡道的速度控制直接影響了車輛的安全性。根據(jù)路面坡度不同導(dǎo)致圖像中道路變形的情況,結(jié)合反饋系統(tǒng)中的陀螺儀數(shù)據(jù),可以進(jìn)一步確定上下坡的位置和角度,提高算法的精度和可靠性。
該系統(tǒng)使用了安裝在驅(qū)動(dòng)輪上的行駛狀態(tài)反饋模塊編碼器,該編碼器返回脈沖值,采用此值參與增量式PID 算法閉環(huán)控制車輛速度,從而實(shí)現(xiàn)對(duì)車的速度控制。該系統(tǒng)通過獲取編碼器反饋的當(dāng)前位置和前一次位置,計(jì)算這兩者之差作為當(dāng)前誤差值,并根據(jù)當(dāng)前誤差值、前一次誤差值以及累計(jì)誤差值計(jì)算出PID 控制量,從而根據(jù)誤差的大小來控制電機(jī)的轉(zhuǎn)速,使車輛能夠達(dá)到目標(biāo)速度[8]。在具體實(shí)現(xiàn)中,PID 計(jì)算結(jié)果使用PWM 信號(hào)波來控制驅(qū)動(dòng)模塊,對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)節(jié),從而實(shí)現(xiàn)對(duì)車速的控制。通過增量式PID 算法,可以對(duì)速度進(jìn)行精確控制,提高車輛的運(yùn)行穩(wěn)定性和性能。該方法不僅具有較高的控制精度,而且由于采用了編碼器行駛狀態(tài)反饋模塊,能夠?qū)崟r(shí)監(jiān)測(cè)本車的運(yùn)行狀態(tài),從而可以對(duì)車速進(jìn)行實(shí)時(shí)調(diào)整,適應(yīng)不同的路況和運(yùn)行環(huán)境,提高了系統(tǒng)的實(shí)用性和適應(yīng)性。
使用增量式PID 算法控制舵機(jī)。以偏差值為基本計(jì)算依據(jù),本系統(tǒng)采用的攝像頭像素為188×120,經(jīng)過隔行提取使用像素點(diǎn)像素為94×60,選取圖像的第46 列作為圖像的中心線,方向偏差即為圖像中心線與擬合的賽道中線的坐標(biāo)差值。使用舵機(jī)反饋的當(dāng)前位置值和轉(zhuǎn)向所要達(dá)到的目標(biāo)位置值之間的誤差,并計(jì)算誤差的變化率。最后以舵機(jī)中值為基礎(chǔ)加減控制量,即為本次傳向的舵機(jī)PWM 值??梢蕴岣叨鏅C(jī)控制的精度和穩(wěn)定性,確保舵機(jī)能夠按照設(shè)定的角度完成運(yùn)動(dòng)任務(wù)。同時(shí),使用舵機(jī)的反饋信息可以實(shí)現(xiàn)對(duì)舵機(jī)運(yùn)動(dòng)中的誤差進(jìn)行實(shí)時(shí)調(diào)整,使得整個(gè)舵機(jī)控制系統(tǒng)可以適應(yīng)不同的運(yùn)動(dòng)環(huán)境和任務(wù)需求。
測(cè)試的主要內(nèi)容有:信息采集測(cè)試、圖像處理測(cè)試、車輛控制測(cè)試和總體性能測(cè)試[9]。信息采集測(cè)試是測(cè)試攝像頭及其他傳感器能否正確連接到主控板并被讀取,上位機(jī)主要測(cè)試DMA 傳輸中斷是否成功且穩(wěn)定,采集到的圖像質(zhì)量大小是否完整。圖像處理測(cè)試測(cè)試系統(tǒng)能否正確地對(duì)圖像進(jìn)行處理和分析,識(shí)別出道路元素,擬合出中線,本文使用顯示屏將濾波二值化后擬合了虛擬中線的道路圖像顯示在屏幕上,由此能夠直觀的觀察到圖像是否成功處理。車輛控制測(cè)試需要將小車放置在不同的位置上,檢測(cè)和記錄其偏差值和PWM 控制輸出值等參數(shù),并對(duì)這些參數(shù)進(jìn)行圖表分析。通過對(duì)測(cè)試數(shù)據(jù)進(jìn)行分析和比對(duì),可以發(fā)現(xiàn)系統(tǒng)控制中存在的缺陷和問題,并對(duì)系統(tǒng)參數(shù)進(jìn)行優(yōu)化和調(diào)整[10]。舵機(jī)PWM 控制輸出值如下圖6 所示。為了保證測(cè)試結(jié)果的準(zhǔn)確性,測(cè)試過程中需要確保測(cè)試環(huán)境的一致性。例如,需要確保測(cè)試時(shí)車及測(cè)試環(huán)境處于同一水平面上,并排除其他干擾因素的影響。系統(tǒng)性能測(cè)試是在各模塊協(xié)調(diào)工作的前提下進(jìn)行,對(duì)系統(tǒng)控制下的車輛運(yùn)行速度,元素識(shí)別準(zhǔn)確性等進(jìn)行統(tǒng)計(jì),可以有效地驗(yàn)證系統(tǒng)控制算法的正確性和穩(wěn)定性,進(jìn)一步提高系統(tǒng)在自動(dòng)駕駛領(lǐng)域的可靠性和實(shí)用性。
圖6:舵機(jī)在半徑0.5 米90°彎道轉(zhuǎn)向時(shí)的PWM 輸出值
本文對(duì)攝像頭和智能汽車的發(fā)展進(jìn)行了闡述,并對(duì)攝像頭智能汽車系統(tǒng)進(jìn)行了設(shè)計(jì)。包括系統(tǒng)硬件設(shè)計(jì)和軟件設(shè)計(jì)和實(shí)現(xiàn)方法。通過不斷測(cè)試、反復(fù)調(diào)試,分析系統(tǒng)運(yùn)行中數(shù)據(jù),選擇合適參數(shù),最終實(shí)現(xiàn)攝像頭智能車系統(tǒng)控制車輛模型快速穩(wěn)定行駛并順利通過不同道路元素。攝像頭智能車是未來智能交通的重要組成部分。隨著技術(shù)的不斷進(jìn)步和市場(chǎng)需求的不斷增加,攝像頭智能車的應(yīng)用前景將會(huì)越來越廣闊,智能車技術(shù)的發(fā)展和應(yīng)用將會(huì)給人們的出行和生活帶來更多的便利和安全性。