梁 旺,秦兆博,陳 亮,邊有鋼,胡滿江
(湖南大學(xué),汽車車身先進(jìn)設(shè)計(jì)制造國(guó)家重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)沙 410082)
智能汽車自動(dòng)駕駛技術(shù)因其能夠有效提高行駛安全性、緩解交通擁堵、降低能耗,正逐漸成為近年來(lái)的研究熱點(diǎn)??v向控制是該領(lǐng)域的核心技術(shù)之一,主要研究車輛按照預(yù)定的速度巡航或與前方動(dòng)態(tài)目標(biāo)保持一定距離的能力,平順、精確且可靠的速度跟蹤是智能汽車成功的基礎(chǔ)??v向控制方法可分為直接式控制與分層式控制。直接式控制將車輛視為一個(gè)非線性多變量系統(tǒng),根據(jù)車輛模型和參考速度直接生成期望制動(dòng)壓力或節(jié)氣門開(kāi)度,常采用比 例 - 積 分 - 微 分(proportion-integrationdifferentiation,PID)控制、自適應(yīng)控制等方法實(shí)現(xiàn)。例如,Kim 等提出了一種基于特征集總參數(shù)的線性化縱向車輛模型,并開(kāi)發(fā)了參數(shù)自適應(yīng)速度控制策略。該方法集成度較高、響應(yīng)迅速,但由于模型的非線性特性,通過(guò)單個(gè)控制器難以實(shí)現(xiàn)多性能控制。為了降低縱向控制系統(tǒng)的設(shè)計(jì)難度,許多研究者基于分層控制結(jié)構(gòu)進(jìn)行控制器設(shè)計(jì),上層控制器產(chǎn)生期望車速或者期望加速度,再通過(guò)下層控制器計(jì)算期望制動(dòng)壓力與油門開(kāi)度以實(shí)現(xiàn)縱向控制。例如,Zhu等提出了結(jié)合自適應(yīng)模型預(yù)測(cè)控制和逆縱向車輛模型的分層速度控制方法,該方法對(duì)建模不確定性和外部干擾具有魯棒性,可實(shí)現(xiàn)高精度的速度控制。賓洋等提出了一種分層魯棒控制策略,該方法利用非線性干擾解耦和變結(jié)構(gòu)控制中滑動(dòng)模的不變性特性,針對(duì)模型中存在的外界干擾、參數(shù)不確定性和非線性特性具有強(qiáng)魯棒性。分層控制通過(guò)模型解耦來(lái)降低模型復(fù)雜度,但同時(shí)也會(huì)存在較大的建模誤差。
由于車輛縱向動(dòng)力學(xué)涉及油門、制動(dòng)、發(fā)動(dòng)機(jī)、傳動(dòng)等車輛子系統(tǒng),具有高度非線性及參數(shù)時(shí)變等特性,這導(dǎo)致建立精確的車輛縱向動(dòng)力學(xué)模型極其困難,并在很大程度上限制了基于模型的縱向控制方法。因此在無(wú)法精確建模的情況下,常采用PID 等直接式控制方法,其具有結(jié)構(gòu)簡(jiǎn)單、魯棒性強(qiáng)、可靠性高等優(yōu)點(diǎn),但需要通過(guò)專家經(jīng)驗(yàn)或大量現(xiàn)場(chǎng)試驗(yàn)不斷調(diào)整控制參數(shù)來(lái)優(yōu)化效果。而神經(jīng)網(wǎng)絡(luò)擁有強(qiáng)大的學(xué)習(xí)能力和數(shù)據(jù)處理能力,可根據(jù)實(shí)際情況自適應(yīng)調(diào)節(jié)控制參數(shù)。例如,Huang等基于反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了離線和在線整定BP-PID 控制器用于車輛橫向穩(wěn)定性控制,前者可快速計(jì)算車輛所需的直接偏航力矩,后者通過(guò)在線整定達(dá)到較高的橫向穩(wěn)定性控制精度。文獻(xiàn)[11]中基于神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了自動(dòng)調(diào)整PID 增益集,并且通過(guò)欠驅(qū)動(dòng)微型ROV 驗(yàn)證了該方案的有效性。因此通過(guò)融合神經(jīng)網(wǎng)絡(luò)可有效解決單一PID 控制參數(shù)固定且不易整定的問(wèn)題。
基于上述分析,本文中提出了一種基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的智能汽車縱向控制方法,分別針對(duì)車輛驅(qū)/制動(dòng)模式設(shè)計(jì)了不同的BP 神經(jīng)網(wǎng)絡(luò),并利用粒子群算法和批處理歸一化方法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),網(wǎng)絡(luò)輸出作用于PI 控制器,在基于誤差實(shí)現(xiàn)快速調(diào)整參數(shù)的同時(shí)提高車輛縱向速度控制精度。
本文中所設(shè)計(jì)的基于改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)的縱向控制系統(tǒng)結(jié)構(gòu)如圖1所示。考慮到驅(qū)/制動(dòng)模式下車輛縱向動(dòng)力學(xué)行為存在顯著差異,分別構(gòu)建驅(qū)/制動(dòng)模式下的BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)初始參數(shù)由粒子群算法(particle swarm optimization,PSO)離線訓(xùn)練獲取。
圖1 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的縱向控制系統(tǒng)框架
所設(shè)計(jì)的縱向控制系統(tǒng)運(yùn)行步驟如下。
(1)根據(jù)車輛反饋狀態(tài)及參考軌跡計(jì)算預(yù)瞄速度誤差。
(2)判斷控制模式?;陬A(yù)瞄速度誤差的驅(qū)/制動(dòng)模式切換邏輯如下:
式中:()表示時(shí)刻控制模式;e()為預(yù)瞄速度誤差;Δ為死區(qū)偏置量,保證驅(qū)/制動(dòng)模式的平穩(wěn)切換。
(3)判斷BP 神經(jīng)網(wǎng)絡(luò)參數(shù)是否重新初始化。根據(jù)預(yù)瞄速度誤差是否超過(guò)閾值來(lái)判斷是否進(jìn)行BP 網(wǎng)絡(luò)初始化,初始參數(shù)由PSO 算法離線訓(xùn)練獲得。
(4)正向輸出驅(qū)/制動(dòng)控制器參數(shù)。當(dāng)判斷為驅(qū)動(dòng)或制動(dòng)模式時(shí),改進(jìn)BP神經(jīng)網(wǎng)絡(luò)根據(jù)輸入進(jìn)行計(jì)算,輸出相應(yīng)控制器的參數(shù)、。
(5)反向自學(xué)習(xí)修正網(wǎng)絡(luò)參數(shù)。BP網(wǎng)絡(luò)基于梯度下降法修正網(wǎng)絡(luò)參數(shù),新參數(shù)用于下一時(shí)刻BP網(wǎng)絡(luò)的正向計(jì)算。
(6)限制、參數(shù)的變化量。為防止由于參數(shù)變化過(guò)快而可能出現(xiàn)的控制不穩(wěn)定,限制PI 參數(shù)變化,以時(shí)刻取值為例:
式中:()表示時(shí)刻BP 網(wǎng)絡(luò)輸出的值;Δ =() -()為變化量;Δ為允許最大變化量。
(7)驅(qū)/制動(dòng)PI 控制器計(jì)算油門開(kāi)度或制動(dòng)壓力控制指令,傳給車輛底層。
(8)置=+ 1,返回步驟1。
現(xiàn)對(duì)上述縱向控制系統(tǒng)中基于改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)的參數(shù)在線整定、基于PSO 的網(wǎng)絡(luò)離線優(yōu)化進(jìn)行說(shuō)明。
BP 神經(jīng)網(wǎng)絡(luò)是一種按照誤差反向傳播訓(xùn)練算法的多層前饋神經(jīng)網(wǎng)絡(luò),具有復(fù)雜的模式分類能力和良好的多維函數(shù)映射能力。如圖2 所示,本文中采用3 層BP 神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)PI參數(shù)在線整定,分別包括輸入層、隱含層和輸出層。
圖2 改進(jìn)BP-PI控制器中的BP網(wǎng)絡(luò)結(jié)構(gòu)
輸入層選取與速度控制相關(guān)的3 個(gè)變量,包括:預(yù)瞄速度偏差()、期望速度()、當(dāng)前速度()。為保證網(wǎng)絡(luò)的穩(wěn)定性,在輸入層加入常數(shù)項(xiàng)1,故輸入層節(jié)點(diǎn)數(shù)為4。輸出層節(jié)點(diǎn)對(duì)應(yīng)PI 控制的兩個(gè)可調(diào)參數(shù)、,故數(shù)目為2。隱含層節(jié)點(diǎn)數(shù)參考經(jīng)驗(yàn)公式:
式中:為隱含層節(jié)點(diǎn)數(shù);、分別為輸入層、輸出層節(jié)點(diǎn)數(shù);∈(1,10)。
根據(jù)上述經(jīng)驗(yàn)公式計(jì)算值,選取隱含層節(jié)點(diǎn)數(shù)為10,最終確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為4-10-2。
對(duì)于BP 神經(jīng)網(wǎng)絡(luò)中隱含層及輸出層神經(jīng)元激活函數(shù)的選擇,考慮到輸出層節(jié)點(diǎn)對(duì)應(yīng)PI 控制的兩個(gè)非負(fù)參數(shù)、,其激活函數(shù)選取非負(fù)的Sigmoid函數(shù):
若隱含層仍選取Sigmoid 函數(shù),由于該函數(shù)的梯度隨增大或減小均趨于0,反向傳播時(shí)可能產(chǎn)生“梯度消失”現(xiàn)象,導(dǎo)致網(wǎng)絡(luò)層的參數(shù)不再發(fā)生變化。因此隱含層選取梯度固定的線性整流(rectified linear unit,ReLU)函數(shù):
輸出層的Sigmoid 激活函數(shù)使得“梯度消失”現(xiàn)象仍可能發(fā)生,本文采用Batch Normalization 批處理歸一化方法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),并通過(guò)改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)的正向輸出和反向傳播實(shí)現(xiàn)控制器參數(shù)自整定。
1.1.1 Batch Normalization批處理歸一化
針對(duì)“梯度消失”現(xiàn)象,Batch Normalization 批處理歸一化方法考慮將Sigmoid 函數(shù)的輸入分布始終保持為正態(tài)分布,以盡可能避免陷入梯度過(guò)小區(qū)域。其基本步驟如下。
(1)基于Batch 數(shù)據(jù)計(jì)算輸出層節(jié)點(diǎn)處輸入的均值。假設(shè)每個(gè)節(jié)點(diǎn)傳入個(gè)訓(xùn)練樣本(由實(shí)際運(yùn)行過(guò)程中存儲(chǔ)歷史數(shù)據(jù)而得到),第個(gè)輸出層節(jié)點(diǎn)的第個(gè)樣本數(shù)據(jù)輸入表示為:
(2)計(jì)算每個(gè)節(jié)點(diǎn)處輸入的方差:
(3)根據(jù)均值和方差,將輸出層的輸入分布更改為正態(tài)分布:
經(jīng)上述變換,輸出層的輸入分布滿足均值為0,方差為1。但這一方面會(huì)導(dǎo)致數(shù)據(jù)表達(dá)能力的缺失,另一方面也會(huì)使得輸入在經(jīng)過(guò)Sigmoid 激活函數(shù)時(shí),容易陷入其線性區(qū)域。因此,Batch Normalization又引入兩個(gè)可學(xué)習(xí)參數(shù)與。這兩個(gè)參數(shù)的引入是為了恢復(fù)數(shù)據(jù)本身的表達(dá)能力,對(duì)規(guī)范化后的數(shù)據(jù)進(jìn)行線性變換,即
式中參數(shù)與隨BP 網(wǎng)絡(luò)的反向傳播而發(fā)生改變。通過(guò)、的引入,在一定程度上保證了輸入數(shù)據(jù)的表達(dá)能力。
1.1.2 正向輸出
輸入層的輸入和輸出為
式中:上標(biāo)(1)代表輸入層;x()、()分別為時(shí)刻輸入層第個(gè)節(jié)點(diǎn)的輸入和輸出。
隱含層的輸入、輸出分別為
輸出層的輸入、輸出分別為
式中:上標(biāo)(3)代表輸出層;第1、4 項(xiàng)分別為該層輸入和輸出;第2、3 項(xiàng)表示針對(duì)輸出層輸入的Batch Normalization批處理歸一化。
由于Sigmoid 函數(shù)的值域?yàn)椋?,1),取值范圍可能無(wú)法滿足PI控制器,故使用、兩個(gè)增益來(lái)滿足PI 控制的輸出強(qiáng)度,且分別限制、在(0,)、(0,)之間變化,可得網(wǎng)絡(luò)輸出結(jié)果為
1.1.3 反向傳播
定義性能指標(biāo)函數(shù)為
式中:()為參考速度;()為用于BP 網(wǎng)絡(luò)反向傳播的預(yù)瞄速度偏差,其預(yù)瞄時(shí)間常數(shù)另外選取,記Δ。考慮求導(dǎo)方便,在性能指標(biāo)函數(shù)中引入系數(shù)1 2。
按照梯度下降法修正網(wǎng)絡(luò)參數(shù),通過(guò)()對(duì)加權(quán)系數(shù)的負(fù)梯度方向搜索調(diào)整,同時(shí)加入動(dòng)量項(xiàng)提高網(wǎng)絡(luò)性能,則輸出層的權(quán)值調(diào)整量為式中:為學(xué)習(xí)速率;為動(dòng)量因子。
將上述7 項(xiàng)代入權(quán)值調(diào)整量表達(dá)式,可得輸出層權(quán)值調(diào)整量為
其中:
Batch Normalization 批處理歸一化的可學(xué)習(xí)參數(shù)γ、β的調(diào)整量為
同理可得隱藏層權(quán)值調(diào)整量為
基于改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)的參數(shù)在線整定的步驟歸納如下:
(2)獲取時(shí)刻預(yù)瞄速度和車速,計(jì)算該時(shí)刻預(yù)瞄速度偏差() =() -();
(3)計(jì)算網(wǎng)絡(luò)正向輸出結(jié)果,即為時(shí)刻PI控制器參數(shù)()、();
(4)基于當(dāng)前預(yù)瞄速度偏差進(jìn)行網(wǎng)絡(luò)反向傳播,更新后的參數(shù)值用于下一時(shí)刻計(jì)算;
(5)置=+ 1,返回(2)。
本文選用位置式PI控制,結(jié)合改進(jìn)BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)BP-PI控制器,該結(jié)構(gòu)如圖3所示。
圖3 驅(qū)/制動(dòng)BP-PI控制器
位置式PI控制的離散化計(jì)算公式為
式中:()為期望油門開(kāi)度或制動(dòng)壓力值;()為預(yù)瞄速度偏差;∑()為偏差累積和;()、()分別為驅(qū)/制動(dòng)比例、積分系數(shù)。
式(23)的()取預(yù)瞄速度偏差可有效降低PI控制響應(yīng)延遲的影響,其根據(jù)驅(qū)/制動(dòng)模式定義為
式中:()為車輛當(dāng)前速度;()為預(yù)瞄點(diǎn)處的參考速度。預(yù)瞄點(diǎn)可根據(jù)預(yù)瞄距離對(duì)參考路徑進(jìn)行遍歷搜索而得到,參數(shù)的計(jì)算公式如下:
式中:為預(yù)瞄距離;為車輛當(dāng)前速度;Δ為預(yù)瞄時(shí)間常數(shù);為最小預(yù)瞄距離。
BP 神經(jīng)網(wǎng)絡(luò)的初始參數(shù)在很大程度上影響著網(wǎng)絡(luò)自學(xué)習(xí)的收斂速度,因此需要合理確定初始值。PSO 算法是一種基于種群行為對(duì)既定目標(biāo)進(jìn)行尋優(yōu)的新型群智能仿生算法,原理簡(jiǎn)單、調(diào)節(jié)參數(shù)少、收斂速度快,且容易實(shí)現(xiàn),可用于優(yōu)化目標(biāo)函數(shù)和進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練等。
本文中采用PSO 算法對(duì)改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行離線優(yōu)化,算法流程見(jiàn)圖4,步驟如下。
圖4 基于PSO算法離線優(yōu)化網(wǎng)絡(luò)的流程圖
(1)確定粒子維度。根據(jù)驅(qū)/制動(dòng)BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),計(jì)算參數(shù)數(shù)量,確定粒子維數(shù)。
(2)設(shè)置PSO 算法參數(shù),初始化種群。設(shè)置種群規(guī)模、學(xué)習(xí)因子與、最大迭代次數(shù),計(jì)算初始個(gè)體極值和全局極值。
(3)計(jì)算適應(yīng)度值。適應(yīng)度函數(shù)表示為整個(gè)速度跟蹤過(guò)程中的速度誤差均方根值。
(4)更新個(gè)體及全局極值。比較粒子的適應(yīng)度函數(shù)值、個(gè)體極值和全局極值并進(jìn)行更新,公式如下:
式中:v()為時(shí)刻第個(gè)粒子速度;x()為第個(gè)粒子位置;、為(0,1)范圍內(nèi)的隨機(jī)數(shù);、分別表示當(dāng)前迭代次數(shù)和允許最大迭代次數(shù);為隨迭代次數(shù)不斷變化的慣性權(quán)重;、為最小、最大慣性權(quán)重值。
(5)更新粒子速度與位置。根據(jù)式(27)~式(29)更新粒子速度和位置。
(6)判斷迭代是否結(jié)束。當(dāng)達(dá)到最大迭代次數(shù)或相鄰全局極值之差小于所設(shè)閾值,算法結(jié)束,輸出最優(yōu)解;如不滿足,返回步驟(3)。
(7)利用所得最優(yōu)解,初始化驅(qū)/制動(dòng)模式下的BP神經(jīng)網(wǎng)絡(luò)參數(shù)。
為驗(yàn)證所提出的基于改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)的智能汽車縱向控制方法(簡(jiǎn)稱改進(jìn)BP-PI 控制),本文基于Carsim/Simulink 搭建了仿真模型,針對(duì)一種包含加速、減速和勻速行駛的綜合工況進(jìn)行了仿真。同時(shí)為進(jìn)一步驗(yàn)證該方法的改進(jìn)效果,將其與常規(guī)PI控制、SMC 滑??刂七M(jìn)行對(duì)比分析。常規(guī)PI 控制參數(shù)選取經(jīng)人為調(diào)試后的固定數(shù)值:(1)驅(qū)動(dòng)=10、=0.6;(2)制動(dòng)=10、=0.55。仿真所用部分參數(shù)見(jiàn)表1。
表1 仿真驗(yàn)證部分參數(shù)
圖5(a)、圖5(b)、圖5(c)、圖5(d-e)和圖5(f)分別表示3 種控制器的速度跟蹤結(jié)果、速度誤差、縱向加速度、驅(qū)/制動(dòng)、參數(shù)變化和驅(qū)/制動(dòng)模式切換過(guò)程。結(jié)合圖5(a)局部放大圖及圖5(b-e)進(jìn)行分析:(1)起步階段,在= 0 時(shí),基于預(yù)瞄速度誤差進(jìn)行驅(qū)動(dòng)控制量計(jì)算導(dǎo)致3 種控制器均出現(xiàn)超調(diào),常規(guī)PI 及SMC 控制出現(xiàn)了-0.6 m/s 的超調(diào)誤差,如圖5(b)所示。而改進(jìn)BP-PI 基于負(fù)的速度誤差進(jìn)行網(wǎng)絡(luò)自學(xué)習(xí)以減小驅(qū)動(dòng)、參數(shù)(見(jiàn)圖5(d)放大圖),從而降低輸出的期望控制量,其超調(diào)誤差為-0.47 m/s,相較于常規(guī)PI 及SMC 控制降低約21.7%。隨著參考速度增大,改進(jìn)BP-PI 將驅(qū)動(dòng)、參數(shù)分別保持在13 和0.87附近波動(dòng),提高了PI輸出強(qiáng)度,在=0~200 m 內(nèi)獲得了更小的速度跟蹤誤差,此時(shí)制動(dòng)、保持不變;(2)350~450 m的驅(qū)動(dòng)階段,該階段內(nèi)改進(jìn)BP-PI 使驅(qū)動(dòng)、參數(shù)均大于固定PI參數(shù)值,保證車輛在加速-勻速行駛過(guò)程中快速跟蹤目標(biāo)速度,勻速過(guò)程中改進(jìn)BP-PI 的速度誤差為0.01 m/s,而常規(guī)PI 和SMC 控制的速度誤差分別為0.05 和-0.1 m/s。需要注意的是,、參數(shù)在變化到一定數(shù)值后不再顯著增加或減小,主要原因是Batch Normalization 批處理歸一化改變了輸出層輸入的分布和Sigmoid函數(shù)值域的限制;(3)520~580 m的制動(dòng)階段,該階段內(nèi)制動(dòng)BP 網(wǎng)絡(luò)通過(guò)自學(xué)習(xí)使得制動(dòng)參數(shù)值在該階段顯著增大,制動(dòng)參數(shù)保持在11.5附近波動(dòng),使車輛在由驅(qū)動(dòng)切換到制動(dòng)后快速獲得足夠的制動(dòng)壓力,該階段內(nèi)改進(jìn)BP-PI、常規(guī)PI的最大速度誤差分別為-0.39 和-0.58 m/s,峰值誤差降低約32.8%。而SMC 控制在該階段末制動(dòng)-驅(qū)動(dòng)切換不及時(shí),導(dǎo)致車輛縱向加速度急劇變化(圖5(c)所示),產(chǎn)生了1.64 m/s的最大誤差。
圖5 仿真結(jié)果對(duì)比
從上述分析可以發(fā)現(xiàn),改進(jìn)BP-PI 通過(guò)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)參數(shù)動(dòng)態(tài)調(diào)整,使其參數(shù)值在固定PI 參數(shù)值的一定范圍內(nèi)變化,獲得了相比于常規(guī)PI 控制器更高的縱向控制精度。SMC 控制與改進(jìn)BP-PI 的速度誤差較為接近,但從整體速度誤差及最大誤差來(lái)看,所提出的改進(jìn)BP-PI 效果最優(yōu),側(cè)面驗(yàn)證了本文基于改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)對(duì)PI 控制的改進(jìn)效果。圖5(e)給出了車輛跟蹤過(guò)程中的驅(qū)/制動(dòng)模式切換過(guò)程,表明3 種控制器均能實(shí)現(xiàn)平穩(wěn)的驅(qū)/制動(dòng)模式切換。
本文基于圖6所示的林肯MKZ無(wú)人駕駛平臺(tái)對(duì)所提出的方法進(jìn)行測(cè)試驗(yàn)證。該平臺(tái)配備差分全球定位系統(tǒng)(DGPS)和慣性測(cè)量單元(IMU),這些傳感器能夠直接測(cè)量車輛的位置、速度和加速度等信息,底層采用線控模塊,可以實(shí)現(xiàn)油門、制動(dòng)、轉(zhuǎn)向和換擋系統(tǒng)的自動(dòng)化。各模塊算法基于ROS用C++語(yǔ)言實(shí)現(xiàn)。本研究中,車輛所跟蹤的目標(biāo)路徑和速度為事先采集好的一系列軌跡點(diǎn)。用于實(shí)車驗(yàn)證的算法部分參數(shù)見(jiàn)表2。
表2 實(shí)車驗(yàn)證部分算法參數(shù)
圖6 林肯MKZ實(shí)驗(yàn)平臺(tái)
本文使用兩種測(cè)試工況評(píng)估所設(shè)計(jì)的縱向控制器,包括:(1)低速工況,速度范圍0~20 km/h;(2)高速工況,速度范圍0~40 km/h。以常規(guī)PI控制器作為基準(zhǔn)控制器,參數(shù)選取:(1)驅(qū)動(dòng)= 10、= 2;(2)制動(dòng)= 6、= 2。表3 給出了兩種控制器的實(shí)車驗(yàn)證結(jié)果分析。
表3 實(shí)車驗(yàn)證結(jié)果分析(t>2 s)
圖7(a)、圖7(b)、圖7(c)、圖7(d-e)、圖7(f)和圖7(g-h)分別給出了兩種控制器在該工況下的速度跟蹤結(jié)果、速度誤差、縱向加速度、驅(qū)/制動(dòng)、參數(shù)變化曲線、模式切換過(guò)程和期望油門/制動(dòng)控制量對(duì)比結(jié)果。結(jié)合圖7(a-f)進(jìn)行分析可知:(1)=0~10 s 內(nèi)。由于起步階段選取預(yù)瞄速度誤差的影響,常規(guī)PI 及改進(jìn)BP-PI 均出現(xiàn)起步超調(diào)現(xiàn)象,如圖7(a)所示。此時(shí)改進(jìn)BP-PI 基于速度誤差快速減小、參數(shù)值,圖7(d)顯示了改進(jìn)BP-PI的驅(qū)動(dòng)、參數(shù)變化過(guò)程,其中值從10 減小至3.3,值從2減小至1.5。隨后在=5~10 s 內(nèi)改進(jìn)BP-PI 增大控制參數(shù)以提高輸出強(qiáng)度,使其在該時(shí)間段內(nèi)最大速度誤差為0.37 m/s,而常規(guī)BP-PI 最大速度誤差為-0.55 m/s,峰值降低約32.7%;(2)=15~20 s 內(nèi)。常規(guī)PI在=16 s時(shí)通過(guò)固定控制參數(shù)計(jì)算出相較于改進(jìn)BP-PI更大的期望制動(dòng)壓力,導(dǎo)致其出現(xiàn)了制動(dòng)-驅(qū)動(dòng)-制動(dòng)的控制模式切換,進(jìn)而產(chǎn)生了最大為1.13 m/s 的速度誤差,而改進(jìn)BP-PI 通過(guò)降低制動(dòng)、參數(shù)避免了模式切換的發(fā)生,該階段其速度誤差峰值僅-0.34 m/s,并且圖7(c)的縱向加速度對(duì)比結(jié)果同樣表明:在=15~20 s 時(shí),常規(guī)PI 控制因模式切換導(dǎo)致加速度存在波動(dòng),改進(jìn)BP-PI 控制具有更好的平順性及舒適性。
圖7 低速工況結(jié)果對(duì)比
從對(duì)比結(jié)果可以看出:相較于常規(guī)PI 控制,改進(jìn)BP-PI 能夠在低速工況中通過(guò)動(dòng)態(tài)調(diào)整參數(shù)有效降低速度誤差,并在一定程度上減少了模式切換的發(fā)生,實(shí)現(xiàn)了平穩(wěn)、舒適的的縱向跟蹤。
高速工況的參考速度曲線如圖8(a)實(shí)線所示。其中圖8(a)下圖標(biāo)記了常規(guī)PI 在驅(qū)動(dòng)、制動(dòng)階段的控制效果,對(duì)比圖8(a)上圖可以發(fā)現(xiàn):在兩個(gè)標(biāo)記處,改進(jìn)BP-PI 的控制效果明顯優(yōu)于常規(guī)PI 控制。其速度誤差對(duì)比反映在圖8(b)。其結(jié)果表明:(1)在=27~35 s 的驅(qū)動(dòng)階段,常規(guī)PI 最大速度誤差為1.06 m/s,改進(jìn)BP-PI 最大速度誤差為0.85 m/s,該階段最大速度誤差降低約19.8%。(2)在>40 s的制動(dòng)階段,常規(guī)PI 和改進(jìn)BP-PI 的最大速度誤差分別為1.406 和0.81 m/s,最大值降低約42.4%。盡管圖8(c)的縱向加速度曲線顯示改進(jìn)BP-PI在該階段存在加速度波動(dòng),但并未引起驅(qū)/制動(dòng)模式切換(如圖8(f)所示),且獲得了更小的速度誤差。
圖8(d-e)為兩種控制器的驅(qū)/制動(dòng)、參數(shù)對(duì)比結(jié)果。可以發(fā)現(xiàn):=15~35 s 內(nèi),網(wǎng)絡(luò)通過(guò)反向傳播使驅(qū)動(dòng)、參數(shù)分別增加至13和2.4附近,且大于固定值10 和2,使改進(jìn)BP-PI 控制器更適用于該時(shí)間段內(nèi)的高速行駛。而在>41 s 內(nèi),網(wǎng)絡(luò)使制動(dòng)、參數(shù)分別下降至3 和1.5 附近,避免了常規(guī)PI出現(xiàn)的制動(dòng)過(guò)大,從而產(chǎn)生了更小的速度誤差。圖8(h)給出了期望控制量變化曲線。
圖8 高速工況結(jié)果對(duì)比
從結(jié)果可以看出:、參數(shù)的變化體現(xiàn)出改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)動(dòng)態(tài)調(diào)整參數(shù)以提高縱向控制精度的特點(diǎn),且在除起步外的整個(gè)過(guò)程中,改進(jìn)BP-PI 的速度誤差始終小于常規(guī)PI,表現(xiàn)出改進(jìn)BP-PI 誤差曲線包含于常規(guī)PI誤差曲線內(nèi)。
該方法也適用于多車場(chǎng)景。例如隨著自動(dòng)駕駛車輛商業(yè)化進(jìn)展加快,諸如港口、礦山都在進(jìn)行規(guī)?;\(yùn)營(yíng),由于不同車的縱向特性存在差別,若單獨(dú)對(duì)每輛車進(jìn)行調(diào)試,人力及時(shí)間成本較高。而采用本文所提的縱向控制方法,則只需給定適當(dāng)?shù)某跏伎刂破鲄?shù),算法自行實(shí)現(xiàn)在線整定,從而節(jié)省調(diào)試時(shí)間。
本文提出了基于改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)的智能汽車縱向控制方法,該方法針對(duì)驅(qū)/制動(dòng)模式分別建立BP神經(jīng)網(wǎng)絡(luò),利用粒子群優(yōu)化算法和批處理歸一化方法解決BP 神經(jīng)網(wǎng)絡(luò)存在的初始網(wǎng)絡(luò)參數(shù)選取和反向自學(xué)習(xí)存在梯度消失等問(wèn)題,最終實(shí)現(xiàn)控制器參數(shù)的動(dòng)態(tài)自整定。通過(guò)Carsim/Simulink 聯(lián)合仿真和實(shí)車測(cè)試進(jìn)行了驗(yàn)證,仿真和實(shí)驗(yàn)結(jié)果表明:相比于傳統(tǒng)PI控制,所提出的基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的縱向控制方法能夠針對(duì)不同速度工況實(shí)現(xiàn)快速調(diào)整控制器參數(shù),同時(shí)提高車輛縱向控制精度。