關志偉 丁建峰 閆光輝
(天津職業技術師范大學,天津 300222)
主題詞:安全距離模型 BP神經網絡PID控制器 縮微智能車 車間距誤差
當前,智能交通行業迅速發展,車路協同控制技術逐漸成為研究熱點[1],作為能有效消除駕駛員不穩定性因素、提高道路通行效率的解決方案而備受關注。縱向控制是車路協同研究領域中的典型技術,國內外學者也先后提出相關控制方法和設計方案。Wang Yuejian等人[2]設計了一種基于滑模控制(Sliding Mode Control,SMC)的模型匹配控制(Model Matching Control,MMC)方案,用于實現車輛跟隨的速度控制,該方案還建立了車輛加速度控制的傳遞函數和基于滑模控制反饋的模型匹配控制器;Payman Shakouri等人[3]設計了一種利用單個控制回路的控制方案,通過引入與前、后車輛之間的相對距離和前車速度相對應的額外狀態變量實現車輛速度和距離的跟蹤;張向南基于模糊控制理論對傳統的車輛自適應巡航控制算法進行了改進,提出了一種采用模糊控制策略進行智能調節的車輛自適應巡航控制方法[4]。
本文選取車輛跟隨過程作為縱向控制的核心應用場景,通過建立安全距離控制模型,設計跟隨控制器并利用MATLAB/Simulink軟件進行仿真分析,運用縮微環境下的智能車輛系統試驗平臺完成驗證。
假設跟隨系統采用相同道路上若干車輛組成的具有共同行駛方向且時刻保持安全車間距的行駛方式,該條件下車間縱向安全距離受車輛數量或車隊總長的干擾小,車隊可穩定行駛。首先,該安全距離模型以縱向控制為基礎,能充分反映車輛協同行駛的過程;其次,該模型以相對誤差為研究重點,并通過將相對誤差作為控制系統的輸入,采用智能控制算法減小誤差,實現車輛的安全穩定跟隨。車間縱向相對距離如圖1所示。

圖1 車間縱向相對距離示意
由圖1,車間縱向相對距離誤差為:

式中,Δxi為第i輛車與第(i+1)輛車的實際車間距;ds為各車輛間的期望車間距。
鑒于跟隨車輛的速度會對數學模型精度產生一定影響,將式(1)進行優化,得到更高精度的相對距離誤差表達式:

式中,δd為考慮跟隨車速度的車間縱向相對距離誤差;vi+1為跟隨車速度;λ為跟隨車δd收斂于δd1的補償時間,一般選取λ=0.2 s。
而車間縱向相對速度誤差可表示為:

式中,vi為巡航車速度。
現以上述關系式為核心,建立基于前、后車的車間縱向安全距離模型,其狀態空間表達形式為:


車間縱向安全距離模型中選取δd和δv作為狀態變量,用于評價車輛跟隨過程的控制效果,由于本文利用仿真和試驗驗證BP神經網絡PID控制器對跟隨系統中安全車間距的控制效果,根據BP神經網絡輸入層的結構特點,僅采用相對距離誤差δd這一狀態量進行評價分析。
為了使PID控制取得良好的控制效果,必須調整好比例、積分和微分控制的作用[5],形成控制量中既相互配合又相互制約的關系。神經網絡具有逼近任意非線性函數的能力[6],可以實現并行協同處理,而且自學習能力強,能夠通過對系統性能的學習實現最佳組合的PID控制。而BP神經網絡學習算法是一種利用梯度最速下降法的算法,其中心思想是通過調整權值使網絡的總誤差最小化,即采用梯度搜索技術,使網絡的期望輸出值與實際輸出值的誤差最小。
因此,本文采用BP神經網絡PID控制實現參數Kp、Ki、Kd的自學習和自行調整。BP神經網絡PID控制器的結構如圖2所示。

圖2 BP神經網絡PID控制器結構框
本文設計的BP神經網絡PID控制器采用如圖3所示的3層BP神經網絡結構形式,包含1個輸入層、1個隱含層、1個輸出層。具體來說,控制器采用3-5-3的BP神經網絡結構,即輸入層的信號為輸入量rin、輸出量yout和偏差量error,輸出層的信號分別為PID控制器的參數Kp、Ki、Kd。

圖3 3層BP神經網絡結構
3.1.1 工作信號的前向算法
對3層BP神經網絡的輸入層和隱含層進行逐級分析,得到輸出層的輸入與輸出分別為:

3.1.2 誤差信號的反向算法
利用梯度最速下降法對網絡的加權系數進行修正,并附加慣性項使得搜索可以快速收斂到全局極小,根據輸出層加權系數變化量與系統性能指標函數之間的關系,推導得:
式中,E()為系統性能指標函數;y()為系統性能指標函數的輸出量;u()為控制函數。
由式(5)和增量式PID控制表達式[7]推導可得:

式中,e()為誤差函數。
綜上,輸出層加權系數的學習算法為:

同理,隱含層加權系數的學習算法為:

上述BP神經網絡PID控制器控制算法流程如圖4所示。

圖4 BP神經網絡PID控制算法流程
為比較傳統PID控制器和BP神經網絡PID控制器對跟隨系統中安全車間距的控制效果,將式(4)轉換為傳遞函數形式:G(s)=(0.2s+1)/s2。另外,仿真車速取為40 km/h,目標車間距為3 m,車輛基本參數如表1所示。

表1 車輛基本參數
設η=0.25,α=0.01[8],wij、wjl的初值在區間[-0.5,0.5]上取隨機值,傳統PID控制的參數分別為Kp=0.85、Ki=0.2、Kd=0.3,仿真采樣時間ts=1 s,搭建仿真模型如圖5所示。

圖5 控制仿真模型
在圖5所示的控制仿真模型中,將已設計完成的基于BP神經網絡的PID控制算法的m文件導入S函數(SFunction)的模塊中,并將模塊名稱設置為“bppid”,仿真時間設定為120 s。
通過對BP神經網絡各層加權系數的調整,獲得BP神經網絡輸出層輸出的3個參數的變化曲線如圖6所示,相對距離誤差仿真結果如圖7所示。

圖6 PID控制器3個參數的變化曲線

圖7 車間縱向相對距離誤差仿真結果
由圖6和圖7可知,采用BP神經網絡的PID自適應控制,通過對神經網絡各層加權系數的調整,使得BP神經網絡PID控制器相對于傳統PID控制器的控制準確性明顯提升,誤差收斂至零的時間明顯縮短,且變化非常平穩。仿真結果體現了神經網絡算法極強的自學習能力,表明神經網絡算法能更快速地使控制系統的實際輸出達到期望目標,使控制更精準和高效。
為了更充分地驗證智能車跟隨系統基于安全距離模型控制器的正確性和可行性,本文利用車-路協同縮微智能車輛仿真試驗平臺進行車隊跟隨試驗。
縮微環境下智能車試驗系統總體框架如圖8所示,試驗硬件包括縮微道路環境、縮微智能車和多媒體監控系統,軟件系統包括視覺模塊、控制模塊、通信模塊和定位模塊。各軟、硬件之間通過無線網絡進行信息交換。

圖8 試驗系統的總體構架
4.2.1 試驗Update算法
試驗Update算法流程為:
a.完成攝像頭標定工作[9];
b.通過主程序讀取超聲波測距數據,更新前方車輛或障礙物的距離;
c.讀取車輛位置信息,判斷是否為上、下坡或交叉口路段;
d.讀取車道信息,更新轉角偏移量;
e.決策并更新電機速度狀態和運行狀態;
f.決策執行,更新車速和舵機轉角,輸出至Arduino板通信模塊中的ArduinoClient,同時,ArduinoClient輸出傳感器數據反向傳遞供主程序讀取ArduinoServer,主控模塊算法如圖9所示。
智能小車的跟隨控制過程算法如圖10所示。本文利用相對距離誤差驗證跟隨控制器的有效性,因此需要超聲波傳感器測出實際車間距。采用數字信號處理器(Digital Signal Processor,DSP)上的脈沖寬度調制(Pulse Width Modulation,PWM)功能,向超聲波傳感器提供10 μs的觸發信號,通過如圖11所示的數據采集算法得到實際車間距。

圖9 主控模塊算法

圖11 超聲波傳感器數據采集算法
4.2.2 跟隨行駛試驗及結果分析
智能車跟隨試驗在縮微道路環境系統中進行,試驗用縮微車有3輛,試驗過程如圖12所示。

圖12 跟隨行駛過程
試驗過程中,車輛分別在傳統PID控制和BP神經網絡PID控制下行駛,首車車速設定為50 cm/s,車隊中相鄰車輛之間的距離目標值設定為40 cm,車隊沿著車道線在沙盤路面上跟隨行駛。通過數據采集和處理,得到一定試驗時間內的相鄰兩車實際車間距及其誤差,分別如圖13、圖14所示。

圖13 實際車間距

圖14 車間距誤差
通過對試驗結果的分析可知:在傳統PID控制下,實際車間距偏大,相對車間距誤差的波動量較大,車輛可以較穩定地實現跟隨行駛;在BP神經網絡PID控制下,實際車間距與期望車間距基本吻合,相對車間距誤差在趨于零的很小范圍內。試驗結果說明基于安全距離模型的BP神經網絡PID控制器在縮微智能車隊跟隨行駛過程中達到了預期控制目標。
本文以車輛跟隨過程的控制策略為研究重點,建立了車間縱向安全距離控制模型,為了使車間距誤差降至最低,實現車輛跟隨的穩定控制,將BP神經網絡與PID控制相結合,充分利用BP神經網絡可以實現誤差向后傳播的同時修正加權系數的優點,設計了控制器,并給出了相應的控制算法。為驗證該控制器的控制效果,分別進行了MATLAB/Simulink仿真和縮微環境下的跟隨試驗,仿真和試驗結果表明,BP神經網絡PID控制器的控制準確性較傳統PID控制器更高,可滿足車輛的安全跟隨行駛。由于縮微道路環境的局限性,很多復雜場景未能模擬,后續研究將開展實車測試,在特定的真實道路環境下進行更多協同控制新技術的開發。