關(guān)志偉 丁建峰 閆光輝
(天津職業(yè)技術(shù)師范大學(xué),天津 300222)
主題詞:安全距離模型 BP神經(jīng)網(wǎng)絡(luò)PID控制器 縮微智能車 車間距誤差
當(dāng)前,智能交通行業(yè)迅速發(fā)展,車路協(xié)同控制技術(shù)逐漸成為研究熱點[1],作為能有效消除駕駛員不穩(wěn)定性因素、提高道路通行效率的解決方案而備受關(guān)注。縱向控制是車路協(xié)同研究領(lǐng)域中的典型技術(shù),國內(nèi)外學(xué)者也先后提出相關(guān)控制方法和設(shè)計方案。Wang Yuejian等人[2]設(shè)計了一種基于滑??刂疲⊿liding Mode Control,SMC)的模型匹配控制(Model Matching Control,MMC)方案,用于實現(xiàn)車輛跟隨的速度控制,該方案還建立了車輛加速度控制的傳遞函數(shù)和基于滑??刂品答伒哪P推ヅ淇刂破?;Payman Shakouri等人[3]設(shè)計了一種利用單個控制回路的控制方案,通過引入與前、后車輛之間的相對距離和前車速度相對應(yīng)的額外狀態(tài)變量實現(xiàn)車輛速度和距離的跟蹤;張向南基于模糊控制理論對傳統(tǒng)的車輛自適應(yīng)巡航控制算法進行了改進,提出了一種采用模糊控制策略進行智能調(diào)節(jié)的車輛自適應(yīng)巡航控制方法[4]。
本文選取車輛跟隨過程作為縱向控制的核心應(yīng)用場景,通過建立安全距離控制模型,設(shè)計跟隨控制器并利用MATLAB/Simulink軟件進行仿真分析,運用縮微環(huán)境下的智能車輛系統(tǒng)試驗平臺完成驗證。
假設(shè)跟隨系統(tǒng)采用相同道路上若干車輛組成的具有共同行駛方向且時刻保持安全車間距的行駛方式,該條件下車間縱向安全距離受車輛數(shù)量或車隊總長的干擾小,車隊可穩(wěn)定行駛。首先,該安全距離模型以縱向控制為基礎(chǔ),能充分反映車輛協(xié)同行駛的過程;其次,該模型以相對誤差為研究重點,并通過將相對誤差作為控制系統(tǒng)的輸入,采用智能控制算法減小誤差,實現(xiàn)車輛的安全穩(wěn)定跟隨。車間縱向相對距離如圖1所示。
圖1 車間縱向相對距離示意
由圖1,車間縱向相對距離誤差為:
式中,Δxi為第i輛車與第(i+1)輛車的實際車間距;ds為各車輛間的期望車間距。
鑒于跟隨車輛的速度會對數(shù)學(xué)模型精度產(chǎn)生一定影響,將式(1)進行優(yōu)化,得到更高精度的相對距離誤差表達式:
式中,δd為考慮跟隨車速度的車間縱向相對距離誤差;vi+1為跟隨車速度;λ為跟隨車δd收斂于δd1的補償時間,一般選取λ=0.2 s。
而車間縱向相對速度誤差可表示為:
式中,vi為巡航車速度。
現(xiàn)以上述關(guān)系式為核心,建立基于前、后車的車間縱向安全距離模型,其狀態(tài)空間表達形式為:
車間縱向安全距離模型中選取δd和δv作為狀態(tài)變量,用于評價車輛跟隨過程的控制效果,由于本文利用仿真和試驗驗證BP神經(jīng)網(wǎng)絡(luò)PID控制器對跟隨系統(tǒng)中安全車間距的控制效果,根據(jù)BP神經(jīng)網(wǎng)絡(luò)輸入層的結(jié)構(gòu)特點,僅采用相對距離誤差δd這一狀態(tài)量進行評價分析。
為了使PID控制取得良好的控制效果,必須調(diào)整好比例、積分和微分控制的作用[5],形成控制量中既相互配合又相互制約的關(guān)系。神經(jīng)網(wǎng)絡(luò)具有逼近任意非線性函數(shù)的能力[6],可以實現(xiàn)并行協(xié)同處理,而且自學(xué)習(xí)能力強,能夠通過對系統(tǒng)性能的學(xué)習(xí)實現(xiàn)最佳組合的PID控制。而BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法是一種利用梯度最速下降法的算法,其中心思想是通過調(diào)整權(quán)值使網(wǎng)絡(luò)的總誤差最小化,即采用梯度搜索技術(shù),使網(wǎng)絡(luò)的期望輸出值與實際輸出值的誤差最小。
因此,本文采用BP神經(jīng)網(wǎng)絡(luò)PID控制實現(xiàn)參數(shù)Kp、Ki、Kd的自學(xué)習(xí)和自行調(diào)整。BP神經(jīng)網(wǎng)絡(luò)PID控制器的結(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)PID控制器結(jié)構(gòu)框
本文設(shè)計的BP神經(jīng)網(wǎng)絡(luò)PID控制器采用如圖3所示的3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)形式,包含1個輸入層、1個隱含層、1個輸出層。具體來說,控制器采用3-5-3的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即輸入層的信號為輸入量rin、輸出量yout和偏差量error,輸出層的信號分別為PID控制器的參數(shù)Kp、Ki、Kd。
圖3 3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
3.1.1 工作信號的前向算法
對3層BP神經(jīng)網(wǎng)絡(luò)的輸入層和隱含層進行逐級分析,得到輸出層的輸入與輸出分別為:
3.1.2 誤差信號的反向算法
利用梯度最速下降法對網(wǎng)絡(luò)的加權(quán)系數(shù)進行修正,并附加慣性項使得搜索可以快速收斂到全局極小,根據(jù)輸出層加權(quán)系數(shù)變化量與系統(tǒng)性能指標函數(shù)之間的關(guān)系,推導(dǎo)得:
式中,E()為系統(tǒng)性能指標函數(shù);y()為系統(tǒng)性能指標函數(shù)的輸出量;u()為控制函數(shù)。
由式(5)和增量式PID控制表達式[7]推導(dǎo)可得:
式中,e()為誤差函數(shù)。
綜上,輸出層加權(quán)系數(shù)的學(xué)習(xí)算法為:
同理,隱含層加權(quán)系數(shù)的學(xué)習(xí)算法為:
上述BP神經(jīng)網(wǎng)絡(luò)PID控制器控制算法流程如圖4所示。
圖4 BP神經(jīng)網(wǎng)絡(luò)PID控制算法流程
為比較傳統(tǒng)PID控制器和BP神經(jīng)網(wǎng)絡(luò)PID控制器對跟隨系統(tǒng)中安全車間距的控制效果,將式(4)轉(zhuǎn)換為傳遞函數(shù)形式:G(s)=(0.2s+1)/s2。另外,仿真車速取為40 km/h,目標車間距為3 m,車輛基本參數(shù)如表1所示。
表1 車輛基本參數(shù)
設(shè)η=0.25,α=0.01[8],wij、wjl的初值在區(qū)間[-0.5,0.5]上取隨機值,傳統(tǒng)PID控制的參數(shù)分別為Kp=0.85、Ki=0.2、Kd=0.3,仿真采樣時間ts=1 s,搭建仿真模型如圖5所示。
圖5 控制仿真模型
在圖5所示的控制仿真模型中,將已設(shè)計完成的基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法的m文件導(dǎo)入S函數(shù)(SFunction)的模塊中,并將模塊名稱設(shè)置為“bppid”,仿真時間設(shè)定為120 s。
通過對BP神經(jīng)網(wǎng)絡(luò)各層加權(quán)系數(shù)的調(diào)整,獲得BP神經(jīng)網(wǎng)絡(luò)輸出層輸出的3個參數(shù)的變化曲線如圖6所示,相對距離誤差仿真結(jié)果如圖7所示。
圖6 PID控制器3個參數(shù)的變化曲線
圖7 車間縱向相對距離誤差仿真結(jié)果
由圖6和圖7可知,采用BP神經(jīng)網(wǎng)絡(luò)的PID自適應(yīng)控制,通過對神經(jīng)網(wǎng)絡(luò)各層加權(quán)系數(shù)的調(diào)整,使得BP神經(jīng)網(wǎng)絡(luò)PID控制器相對于傳統(tǒng)PID控制器的控制準確性明顯提升,誤差收斂至零的時間明顯縮短,且變化非常平穩(wěn)。仿真結(jié)果體現(xiàn)了神經(jīng)網(wǎng)絡(luò)算法極強的自學(xué)習(xí)能力,表明神經(jīng)網(wǎng)絡(luò)算法能更快速地使控制系統(tǒng)的實際輸出達到期望目標,使控制更精準和高效。
為了更充分地驗證智能車跟隨系統(tǒng)基于安全距離模型控制器的正確性和可行性,本文利用車-路協(xié)同縮微智能車輛仿真試驗平臺進行車隊跟隨試驗。
縮微環(huán)境下智能車試驗系統(tǒng)總體框架如圖8所示,試驗硬件包括縮微道路環(huán)境、縮微智能車和多媒體監(jiān)控系統(tǒng),軟件系統(tǒng)包括視覺模塊、控制模塊、通信模塊和定位模塊。各軟、硬件之間通過無線網(wǎng)絡(luò)進行信息交換。
圖8 試驗系統(tǒng)的總體構(gòu)架
4.2.1 試驗Update算法
試驗Update算法流程為:
a.完成攝像頭標定工作[9];
b.通過主程序讀取超聲波測距數(shù)據(jù),更新前方車輛或障礙物的距離;
c.讀取車輛位置信息,判斷是否為上、下坡或交叉口路段;
d.讀取車道信息,更新轉(zhuǎn)角偏移量;
e.決策并更新電機速度狀態(tài)和運行狀態(tài);
f.決策執(zhí)行,更新車速和舵機轉(zhuǎn)角,輸出至Arduino板通信模塊中的ArduinoClient,同時,ArduinoClient輸出傳感器數(shù)據(jù)反向傳遞供主程序讀取ArduinoServer,主控模塊算法如圖9所示。
智能小車的跟隨控制過程算法如圖10所示。本文利用相對距離誤差驗證跟隨控制器的有效性,因此需要超聲波傳感器測出實際車間距。采用數(shù)字信號處理器(Digital Signal Processor,DSP)上的脈沖寬度調(diào)制(Pulse Width Modulation,PWM)功能,向超聲波傳感器提供10 μs的觸發(fā)信號,通過如圖11所示的數(shù)據(jù)采集算法得到實際車間距。
圖9 主控模塊算法
圖11 超聲波傳感器數(shù)據(jù)采集算法
4.2.2 跟隨行駛試驗及結(jié)果分析
智能車跟隨試驗在縮微道路環(huán)境系統(tǒng)中進行,試驗用縮微車有3輛,試驗過程如圖12所示。
圖12 跟隨行駛過程
試驗過程中,車輛分別在傳統(tǒng)PID控制和BP神經(jīng)網(wǎng)絡(luò)PID控制下行駛,首車車速設(shè)定為50 cm/s,車隊中相鄰車輛之間的距離目標值設(shè)定為40 cm,車隊沿著車道線在沙盤路面上跟隨行駛。通過數(shù)據(jù)采集和處理,得到一定試驗時間內(nèi)的相鄰兩車實際車間距及其誤差,分別如圖13、圖14所示。
圖13 實際車間距
圖14 車間距誤差
通過對試驗結(jié)果的分析可知:在傳統(tǒng)PID控制下,實際車間距偏大,相對車間距誤差的波動量較大,車輛可以較穩(wěn)定地實現(xiàn)跟隨行駛;在BP神經(jīng)網(wǎng)絡(luò)PID控制下,實際車間距與期望車間距基本吻合,相對車間距誤差在趨于零的很小范圍內(nèi)。試驗結(jié)果說明基于安全距離模型的BP神經(jīng)網(wǎng)絡(luò)PID控制器在縮微智能車隊跟隨行駛過程中達到了預(yù)期控制目標。
本文以車輛跟隨過程的控制策略為研究重點,建立了車間縱向安全距離控制模型,為了使車間距誤差降至最低,實現(xiàn)車輛跟隨的穩(wěn)定控制,將BP神經(jīng)網(wǎng)絡(luò)與PID控制相結(jié)合,充分利用BP神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)誤差向后傳播的同時修正加權(quán)系數(shù)的優(yōu)點,設(shè)計了控制器,并給出了相應(yīng)的控制算法。為驗證該控制器的控制效果,分別進行了MATLAB/Simulink仿真和縮微環(huán)境下的跟隨試驗,仿真和試驗結(jié)果表明,BP神經(jīng)網(wǎng)絡(luò)PID控制器的控制準確性較傳統(tǒng)PID控制器更高,可滿足車輛的安全跟隨行駛。由于縮微道路環(huán)境的局限性,很多復(fù)雜場景未能模擬,后續(xù)研究將開展實車測試,在特定的真實道路環(huán)境下進行更多協(xié)同控制新技術(shù)的開發(fā)。