孫桐,鄭天昱,陳龍
(杭州電子科技大學(xué)電子信息學(xué)院,浙江杭州,310018)
智能小車是一個集環(huán)境感知、規(guī)劃和決策于一體的多維度輔助駕駛集成系統(tǒng),重點研究計算機與現(xiàn)代傳感技術(shù)、信息融合技術(shù)、通信技術(shù)、人工智能技術(shù)和自動控制技術(shù),是新技術(shù)與高新技術(shù)的典型結(jié)合[1]。智能小車可以用于在不利條件下進行無人檢測和操作,這種控制技術(shù)可應(yīng)用于像智能物流這樣的物聯(lián)網(wǎng)工業(yè)應(yīng)用領(lǐng)域[2-4]。為了更深入的認識和了解智能化汽車,可通過設(shè)計與實現(xiàn)智能小車來進一步研究智能汽車的控制理念和方式[5-6]。傳統(tǒng)的智能尋跡小車只能運行在簡單的賽道上,對復(fù)雜的賽道元素缺乏處理能力,具有很大的局限性,且不能將舵機轉(zhuǎn)向與電機速度控制有效結(jié)合,在尋跡路徑上還有很大的提升空間。
為了解決這些問題,本文以全國大學(xué)生智能汽車競賽為背景,設(shè)計并實現(xiàn)了基于K66單片機的智能尋跡小車系統(tǒng),通過對數(shù)字圖像的邊緣掃描和特征檢測等處理,能夠?qū)崟r識別復(fù)雜賽道,并對舵機轉(zhuǎn)向與電機速度控制進行有效配合,完成路徑優(yōu)化,實現(xiàn)智能尋跡。
智能尋跡小車系統(tǒng)整體方案設(shè)計如圖1所示,該系統(tǒng)通過處理攝像頭模塊采集的灰度圖像,判斷道路類型并控制舵機模塊與電機模塊。系統(tǒng)可通過OLED模塊顯示實時圖像,TF卡模塊存儲行駛圖像與數(shù)據(jù),按鍵調(diào)試模塊實現(xiàn)PID參數(shù)快速整定,從而輔助人工完善智能尋跡。系統(tǒng)的主控芯片使用恩智浦K66單片機,該單片機主頻為180MHz,超頻處理后可以達到220MHz,具有5個UART串口、4個FTM定時器等模塊,充分滿足智能尋跡小車的設(shè)計。
圖1 智能尋跡小車系統(tǒng)整體方案框圖
單片機外圍電路設(shè)計如圖2所示,包括單片機時鐘與復(fù)位電路、JTAG下載電路、UART串口電路、OLED顯示電路和按鍵調(diào)試電路。
圖2 單片機外圍電路
攝像頭模塊電路如圖3所示,攝像頭模塊采用了MT9V032總鉆風(fēng)數(shù)字攝像頭。該攝像頭是一款基于MT9V032芯片設(shè)計的全局快門攝像頭,優(yōu)點是自動曝光、曝光時間隨時可調(diào)、高動態(tài)性能等。
圖3 攝像頭模塊電路
舵機模塊電路如圖4所示,舵機模塊采用FUTABA3010,具有低成本、高扭矩的優(yōu)點。該舵機在不同工作電壓下,舵機的轉(zhuǎn)矩與速度數(shù)據(jù)有略大差別,系統(tǒng)采用6V為舵機模塊工作電壓。
圖4 舵機模塊電路
電機驅(qū)動電路設(shè)計如圖5所示,該電路采用IR2104和MOS管組合的H橋電路,可通過改變單片機對應(yīng)電機模塊引腳占空比輸出,實現(xiàn)電機的變速控制。
圖5 電機驅(qū)動電路
系統(tǒng)的軟件設(shè)計由圖像采集、圖像處理、舵機轉(zhuǎn)向控制、電機速度控制等四個部分組成。系統(tǒng)軟件主流程圖如圖6所示,系統(tǒng)軟件首先進行程序初始化,包括時鐘初始化、定時器初始化等,對采集到的灰度圖像提取道路信息并進行分析,完成轉(zhuǎn)向與速度決策。若系統(tǒng)在智能尋跡過程中識別到車庫,則尋跡小車會自動入庫并停車。
圖6 系統(tǒng)軟件主流程框圖
攝像頭就好比智能車的“眼睛”,為微控制器提供當前道路信息,并可將獲取的圖像信息實時傳輸?shù)轿⒖刂破鬟M行處理[7]。為了更加符合真實汽車比例,系統(tǒng)的攝像頭安裝在車輛縱向平分線上,高度距地面10厘米。系統(tǒng)采用DMA方式采集圖像,DMA采集速度快且不經(jīng)過微處理器[8],使單片機能獲得更多的有效數(shù)據(jù)。圖像采集的原始灰度圖像如圖7所示,共186×70個像素,在視野廣、前瞻長的前提下,圖像采集速率能達到50fps,基本滿足系統(tǒng)尋跡高速穩(wěn)定的要求。
圖7 原始灰度圖像
3.2.1 二值化圖像處理
原始灰度圖像經(jīng)過二值化處理后的圖像如圖8所示,二值化處理能降低圖像的復(fù)雜度,使數(shù)據(jù)量減小,并凸顯出目標道路輪廓。由于系統(tǒng)的攝像頭高度較低,在實際行駛過程中道路光線不均勻,導(dǎo)致單一閾值的設(shè)定不能滿足需求,故采用最大協(xié)方差閾值法計算二值化閾值,實現(xiàn)圖像前景與背景的分離。
圖8 二值化圖像
3.2.2 圖像邊緣檢測處理
二值化圖像經(jīng)過邊緣檢測后的圖像如圖9所示,系統(tǒng)邊緣檢測采用中心掃線與邊緣掃線兩種方式。中心掃線是指每行圖像起始掃線從上一行圖像的中線坐標開始,分別向左向右尋找黑白像素切換點坐標作為可能的賽道邊界,擬合出賽道中心線。而邊緣掃線是指,每行圖像起始掃線從上一行左右邊界線的坐標點開始,分別向左向右尋找本行的左右邊界線的坐標。經(jīng)過這兩種圖像邊緣檢測方法,可得到與實際道路中線擬合度較高的圖像中線值。
圖9 邊緣檢測圖像
3.3.1 舵機整體控制思路
舵機通過一個由FTM靈活定時器模塊輸出的PWM波控制,經(jīng)過各種參數(shù)對比之后,采用50Hz的PWM波能使舵機響應(yīng)速度最快且工作時狀態(tài)穩(wěn)定。
在每個控制周期中,圖像處理完成后,可根據(jù)不同的賽道類型和實際行駛速度綜合分析后計算出最佳的舵機打角行,將此行的中線偏差值通過舵機PID公式計算得出最佳舵機打角值。
3.3.2 不同道路元素的舵機PID控制
PID控制器原理框圖如圖10所示,PID控制是傳統(tǒng)控制中最具代表性的一種控制方式,應(yīng)用也最為廣泛[9]。在計算機控制系統(tǒng)中,使用數(shù)字PID控制器,控制規(guī)律如式(1)。
圖10 PID控制器原理框圖
式(1)中:k為采樣序號;u(k)為第k次輸出控制量;KP為比例系數(shù);TI為積分系數(shù);TD為微分系數(shù);T為采樣周期;e(k)為第k次偏差;e(k? 1 )為第k?1次偏差。
系統(tǒng)的舵機控制采用位置式PID,經(jīng)過調(diào)試發(fā)現(xiàn)I項(積分項)不適用于舵機控制,便將舵機的PID控制簡化為PD控制。
當尋跡小車行進到不同道路元素時,采取恒定的舵機PD參數(shù)會造成直道抖動和彎道轉(zhuǎn)向不連貫的問題,因此可根據(jù)不同的道路類型選取不同的舵機PD參數(shù)值,做到直道跑的直,過彎流暢并同時在S型彎道實現(xiàn)路徑優(yōu)化。經(jīng)過調(diào)試后發(fā)現(xiàn),不同道路元素的舵機PD參數(shù)值選取有以下的規(guī)律:直道PD值小,彎道PD值大,S型彎道P值小D值略大。
3.4.1 電機轉(zhuǎn)速整體控制思路
尋跡小車在直道設(shè)定較高的轉(zhuǎn)速,在彎道設(shè)定稍慢的轉(zhuǎn)速使小車能夠流暢的跑完整個賽道,其中直道速度能決定小車的整體速度,合適的彎道速度能夠提升小車的穩(wěn)定性。由于直道入彎的過程是關(guān)鍵,系統(tǒng)采取了特殊的減速策略,即先根據(jù)小車當前速度給出相應(yīng)減速需要的圖像場數(shù),當減速場數(shù)較高時設(shè)定速度可較低,當減速場數(shù)較少時設(shè)定速度可較高,并隨著減速場數(shù)的減少設(shè)定速度可逐漸接近彎道速度,使小車能夠流暢的進入彎道,避免出現(xiàn)“猛加猛減”的情況。
3.4.2 不同道路元素的電機PID控制
系統(tǒng)對電機模塊采用了增量式PID控制,該控制算法如式(3)所示,由式(1)可推出式(2),式(1)減去式(2)可得式(3)。
經(jīng)過調(diào)試發(fā)現(xiàn),微分系數(shù)KD不適用于該電機轉(zhuǎn)速控制,故系統(tǒng)使用了增量式PI來控制電機轉(zhuǎn)速。
系統(tǒng)在直道行駛過程中,后輪兩個電機可以設(shè)定相同的速度目標值,在彎道行駛過程中,后輪電機可通過主動差速來輔助小車轉(zhuǎn)向。在調(diào)試中發(fā)現(xiàn),可根據(jù)舵機打角值來控制電機的差速。把舵機轉(zhuǎn)向角度分為若干個區(qū)間,在每個區(qū)間內(nèi),外側(cè)電機給原彎道速度,轉(zhuǎn)向的內(nèi)側(cè)電機在原彎道設(shè)定速度的基礎(chǔ)上使用不同比例的差速,這一策略能使電機和舵機較好的協(xié)同工作,避免因為電機推動而導(dǎo)致小車過彎不流暢,進一步實現(xiàn)路徑優(yōu)化。
本系統(tǒng)使小車實現(xiàn)智能尋跡,通過對二值化圖像的邊緣檢測處理,識別十字、環(huán)島等復(fù)雜元素,并使舵機轉(zhuǎn)向與電機后輪差速控制有效結(jié)合,在不同的復(fù)雜道路上,利用軟件算法針對性的做出不同的行駛路徑優(yōu)化。在攝像頭高度低的情況下,使用最大協(xié)方差閾值法計算二值化閾值,大幅降低路面反光引起圖像噪聲大的影響。系統(tǒng)具有很強的前瞻性,通過圖像處理算法能夠提前判斷路面情況并做出轉(zhuǎn)向與速度決策。經(jīng)過大量賽道測試與檢驗,該系統(tǒng)具有較強的魯棒性,能將高速性與穩(wěn)定性較好的結(jié)合,在處理器算力和傳感器數(shù)量有限的情況下,初步實現(xiàn)現(xiàn)代化智能汽車的自動駕駛功能。系統(tǒng)仍存在不足之處,由于芯片算力和傳感器數(shù)量有限,不能對于車輛在真實道路的行駛有進一步的模擬。隨著人工智能的發(fā)展以及芯片算力的提升,希望能將更高級的算法與智能尋跡小車融合,進一步拓展智能尋跡小車的發(fā)展。