蔣澤鑫 侯明 陳培錫 張治康
北京信息科技大學,北京 100192
隨著社會經(jīng)濟的不斷發(fā)展,每個家庭基本上都具備了擁有一輛汽車的經(jīng)濟實力。隨著社會生產(chǎn)、生活的需要,人類社會對于交通的依賴也越來越大。盡管城市交通方式多種多樣,但人們對于私家車的需求依然呈指數(shù)增長,政府修建道路的速度仍無法滿足汽車數(shù)量增長的速度。龐大的汽車數(shù)量帶來了很多問題,比如交通堵塞、交通事故、交通違法等事件都比之前有所增加,人、車與路之間的矛盾日益加劇[1]。為了減少這些事件的發(fā)生,國家開始大力發(fā)展智能交通系統(tǒng)。我國早期對于智能交通系統(tǒng)的建設只是引進國外的成熟系統(tǒng),隨著我國的經(jīng)濟發(fā)展,智能交通系統(tǒng)在國內開始迅速發(fā)展起來。國家政策也大力支持智能交通系統(tǒng)的建設,從“十二五”以來,為了支持智能交通的發(fā)展,我國已累計投入數(shù)千億的資金,并且于2019年9月發(fā)布了《交通強國建設綱要》,為智能交通系統(tǒng)的發(fā)展提供了十分便利的條件。同時,在高新技術蓬勃發(fā)展的今天,人工智能、車聯(lián)網(wǎng)、5G網(wǎng)絡以及大數(shù)據(jù)等技術已經(jīng)十分成熟,在未來的發(fā)展中將這些技術與智能交通系統(tǒng)相結合,將使大范圍、全方位實時、準確、高效的智能交通系統(tǒng)逐漸成為未來交通的方案。研究智能交通系統(tǒng)可從模型出發(fā),而智能交通系統(tǒng)的模型從3個角度出發(fā)可分為學科體系模型、服務功能模型以及網(wǎng)絡層次模型。這3種模型對于智能交通系統(tǒng)的開發(fā)、研究和標準化有著一定的指導意義[2]。在智能交通系統(tǒng)中,交通監(jiān)測系統(tǒng)是一個重要的環(huán)節(jié),負責采集有關道路的路況信息。近年來,隨著圖像處理技術的不斷發(fā)展,基于視覺技術與圖像處理的車輛檢測器逐漸替代傳統(tǒng)的車輛檢測器,成為現(xiàn)代智能交通系統(tǒng)的一個重要組成部分[3]。針對智能交通系統(tǒng)研究需要,使用1:24的四輪車模,設計制作了一款基于OpenMV+STM32控制的智能小車,為智能交通系統(tǒng)的研究提供了低成本的實驗室級別教學裝備。
系統(tǒng)硬件構成如圖1所示,采用長焦OpenMV 1采集障礙物、紅綠燈、行人等信息,采用廣角OpenMV 2采集交通路線信息,兩個視頻模塊分別通過串口1和串口2與STM32主控制器通信。整個系統(tǒng)采用4節(jié)1.5 V的7號電池供電,系統(tǒng)電源輸入為6 V,采用LM2596穩(wěn)壓至5 V,為主控制器和OpenMV供電。主控制器通過PWM信號控制舵機,通過PWM信號和配置信息作用電機驅動芯片TB6612以實現(xiàn)電機的控制。
1.1.1 小車模型
為了使該裝備占用的空間盡可能小,能容納在更多地方,小車采用1:24的四輪電動模型車,長寬為12 cm×6.5 cm。小車前方傾斜一定角度安裝有一個廣角攝像頭,用來采集道路信號;正前方裝有一個長焦攝像頭,用來采集障礙物信號[4]。小車搭載一個舵機用作控制小車方向,迷你電機驅動,前后車輪采用軸傳動,傳動效率高,運行平穩(wěn)。小車安裝有一個3D打印框架,用作固定兩個OpenMV和一個STM32主控板,保證攝像頭角度以采集到有效交通信號。小車模型如圖2所示。
1.1.2 街景模型
為模擬真實道路以測試小車識別交通信號之后做出的反應,本文搭建了一個尺寸1.2 m×1.2 m的模擬環(huán)境,包含城市道路、交通燈、行人及障礙物,如圖3所示。街景中央放有建筑物、草坪,交通道路以白線為邊界,道路中間的黃線為循跡線條。街景用小乒乓球模擬障礙物,用紙人模擬真實道路中的行人,用紅黃綠LED燈作為真實道路中的紅綠燈。
1.1.3 系統(tǒng)主控電路構成
一個高精準控制、低干擾的硬件電路是智能算法運行的基礎前提條件。小車控制系統(tǒng)采用STM32C8T6芯片作為主控芯片,其具有體積小、功耗低的優(yōu)點[5],具有最高72 MHz時鐘頻率,定時器資源豐富,最多可以同時輸出30路高精準度的PWM信號,具有3個串口,可與多個外部設備連接,選用STM32既滿足了車輛的小型化也滿足了控制精度和靈敏度的需求。自主設計的硬件電路主要包括電壓轉換、執(zhí)行機構驅動及控制、信號檢測的作用幾個部分[6]。
1.1.4 電源及電壓變換
小車系統(tǒng)的電力變換過程如圖4所示。小車采用6 V電池組供電,通過LM2596芯片穩(wěn)壓到5 V為舵機供電,通過電機驅動芯片為電機供電,通過LM1117穩(wěn)壓輸出3.3 V為STM32單片機和OpenMV供電。
1.1.5 電機驅動
電機驅動采用TB6612雙電機直流驅動芯片,最高連續(xù)電流1 A,最大PWM頻率100 kHz,具有正反轉、停止、制動4個狀態(tài),工作溫度范圍廣,動作速度快,功耗滿足小車需求。
1.1.6 目標檢測
本系統(tǒng)采用雙攝像頭的設計,利用OpenMV機器視覺模塊,通過OV7725攝像頭采集路況信息。其中,設計采用廣角攝像頭搭配OpenMV識別道路路線,實現(xiàn)小車的車道保持功能;采用長焦攝像頭搭配OpenMV采集障礙物以及紅綠燈信息,實現(xiàn)小車的實時避障和紅綠燈識別功能。
模擬道路采用與真實道路相近的黃白線設計,使用廣角攝像頭的OpenMV實現(xiàn)黃線循跡。當OpenMV模塊上電開啟后,首先,讀取灰度圖像,同時關閉自動增益以及白平衡,并將圖像橫分成3個矩形作為取樣區(qū)域,每個矩形區(qū)域占有一定的權重,具體權值需根據(jù)實際情況進行調整,離小車視野最近的矩形權值最大;然后,依次對視頻幀進行處理,并利用顏色識別分別尋找3個設定好的矩形區(qū)域內的線段,當在目標區(qū)域內識別到直線時,將最大的線段塊作為本區(qū)域內的目標直線,用這3個矩形框和十字形將視野中的直線框出;最后,分別用3個矩形框的x軸坐標權重相乘,再求其和,將此值與視野中線對應值作比較,即可求出路線在視野中的偏轉方向和角度[7]。根據(jù)計算得到的偏轉角度和方向向主控制器發(fā)送對應的控制信息,即可實現(xiàn)小車的視頻巡線功能。
模擬道路中設有紅綠燈和障礙物,采用長焦攝像頭在指定的距離范圍內識別跑道上的障礙物以及紅綠燈信號。當模塊上電開啟后,首先,讀取彩色RGB圖像,并關閉白平衡;接著,利用矯正函數(shù)對圖像進行畸變矯正,在ROI區(qū)域內尋找障礙物,當找到障礙物時將其框出,計算出障礙物像素大小,并根據(jù)參考距離的像素量計算出小車與障礙物之間的距離;然后,對紅綠燈顏色閾值進行設定,讀取視頻幀判斷圖像內是否出現(xiàn)紅綠燈,若圖像內有紅綠燈,則用矩形框將其框出,并根據(jù)同樣的圖像原理計算出小車與紅綠燈之間的距離;最后,根據(jù)獲得的紅綠燈與障礙物的信息進行判斷,若識別到紅燈或障礙物,并且紅燈或障礙物與小車之間的距離小于安全距離,則通過串口向主控制器發(fā)送控制信號,控制小車停下來,若識別到綠燈,則通過串口向主控制器發(fā)送對應的命令,控制小車繼續(xù)前行。
STM32主控在其中起到收集2個OpenMV識別信號的功能,通過串口通信實現(xiàn)三者之間的通信,再由主控提取接收數(shù)據(jù)幀中的有效數(shù)據(jù)。主控通過有效數(shù)據(jù)的特定字節(jié)數(shù)據(jù)去控制舵機方向角度,控制電機驅動以控制電機轉速和轉向的功能。
圖6為小車通過廣角攝像頭循跡模擬街景中的黃線。當檢測到小車主視野偏離軌道黃線時,系統(tǒng)會控制舵機轉動使軌道黃線回歸小車主視野;當軌道黃線偏向小車主視野左側時,舵機左偏;當軌道黃線偏向小車主視野右側時,舵機右偏。通過這種舵機方向調整策略,可以使小車對軌跡偏離做出調整,不論是直線行駛還是彎道行駛,始終都能保持在規(guī)劃的航跡中。
圖7為小車通過長焦攝像頭識別道路中的紅綠燈,目前識別到紅燈,返回距離36 cm左右,小車處于停止狀態(tài)。借助OpenMV的視覺能力,系統(tǒng)賦予小車識別紅綠燈交通信號的能力,小車與真實道路汽車一樣,當識別到紅燈且距離紅燈一定距離時,小車停止,進入等待;當小車識別到綠燈時,小車啟動,繼續(xù)前進。
圖8為小車通過長焦攝像頭識別到障礙球,障礙球距離小車30 cm時,小車處于停止狀態(tài)。系統(tǒng)選擇小球用于模擬真實道路中的障礙物,當識別到該障礙物且距離障礙物較近時,為防止小車與障礙物相撞而損壞小車,系統(tǒng)停止信號觸發(fā)。
交通系統(tǒng)正朝著車輛越來越多、交通網(wǎng)絡越來越復雜的方向發(fā)展,未來交通一定是智能化、多學科交叉的。本研究選用12 cm×6.5 cm車模,使用OpenMV和STM32設計制作了通過視覺功能識別交通信號并做出準確響應的智能小車,搭建了包括道路、交通信號、尺寸1.2 m×1.2 m的模擬環(huán)境,兩者組成智能交通裝備。小車設計中使用自主設計的、兼具電壓變換、電機驅動的主控電路板,使用購入的OpenMV視頻模塊。其中,OpenMV視頻模塊用于采集模擬環(huán)境中的障礙物及道路信息,利用模塊的像素處理能力,將獲取的道路信息計算得到控制字節(jié)數(shù)據(jù);小車主控電路板起到輸入輸出電壓穩(wěn)壓,數(shù)據(jù)接收的功能,接收OpenMV視頻模塊發(fā)送的控制字節(jié)后,作用于電機控制電機轉向、轉速及電機工作狀態(tài),構成智能小車控制閉環(huán),以實現(xiàn)小車在模擬環(huán)境中的無人駕駛。本系統(tǒng)將真實道路中的交通信號、障礙物等因素考慮到模擬道路中,設計制作了一套能識別道路信息并作出正確反應的小型、低成本智能小車,為智能交通系統(tǒng)研究的小型化提供了一種思路。