龔 凡 龔永康
1(廣東技術師范大學天河學院 廣東 廣州 510540) 2(廣東技術師范大學 廣東 廣州 510665)
無人駕駛智能車利用車載攝像機、激光/微波雷達、GPS等傳感器實現對周邊環境的感知,進而構建包含車輛自身狀態信息、道路信息和障礙物信息在內的局部行駛地圖,并根據一定的準則實現對行駛方向和速度的實時控制,保證車輛安全可靠行駛。無人駕駛智能車技術能夠有效地減少公路交通的擁堵,大幅提高運輸效率,同時具備更高的安全性,自20世紀60年代以來,人類就開始了對該技術的研究[1-3]。作為一種典型的多學科融合技術,近年來自動控制、人工智能、計算機和微電子等技術的飛速發展極大地推動了智能車技術的進步[4]。
實際工程應用中,由于智能車所處的公路交通路況復雜,不同車輛過彎以及載貨量差異等不確定因素的存在,造成智能車的巡航控制呈現出典型的非線性、非平穩、時變和不確定性等特點,因此如何精確、快速和穩定地實現智能車速度控制是當前研究的難點和熱點[5-7]。目前國內外學者的研究主要集中在兩個方向:采用傳統的控制理論和采用人工智能的控制理論。其中傳統控制理論通常需要對被控對象構建精確的數學模型,控制精度與數學模型的精度成正比,而智能車作為一種高度復雜和強耦合的非線性系統,只能采用簡化的數學模型對其描述,導致傳統控制方法的控制效果較差,常用的傳統控制方法有比例-積分-微分(Proportional Integral Derivative,PID)控制、線性二次型控制等[7-10];人工智能控制理論是將傳統控制方法與人工智能手段結合而興起的一種新的控制方法,控制精度不依賴于被控對象的精確數學模型,具備在線學習和多任務并行處理能力,特別適合于模型未知的復雜非線性系統,因此被廣泛應用于智能車速度控制領域。文獻[11]將模糊控制理論與PID結合,利用模糊PID控制器實現對智能車車速的控制,具備高精度和響應速度快的優勢。文獻[12-14]提出將神經網絡和PID進行結合構建出智能車速度控制方案,利用MATLAB建模并通過仿真實驗進行分析,結果表明所提方法相對于模糊PID控制能夠獲得更高的控制精度和系統穩定性。然而文獻[13]的分析表明,神經網絡PID控制雖然能夠獲得更高的系統動態和更好的穩定性,但是模型初始參數的選取對控制結果影響較大,常用的經驗試湊法在選擇初始參數時存在主觀性強和工作量大的問題。文獻[14-17]提出利用遺傳算法、模擬退火等優化算法對神經網絡模型的模型參數進行自動尋優,在一定程度上解決了該問題,但是遺傳算法存在局部搜索能力較差并且理論不完善的缺點,而模擬退火算法存在全局搜索能力不足、易陷入局部極小值等問題,因此該類方法在面對復雜場景時會出現表現不穩定、抗干擾能力差等問題。
針對上述問題,本文提出一種基于遺傳模擬退火(GSA)優化的BP-PID控制算法,利用BP神經網絡的自學習、自適應能力對PID的控制參數進行調整,同時針對BP-PID的初始參數選取問題,利用GSA的全局搜索能力優化BP神經網絡模型的學習過程,避免其陷入局部極值的同時提升控制精度和穩定度。
PID控制即比例、積分、微分控制,是當前工業控制領域中應用最為廣泛的一種控制方式,具備算法簡單、魯棒性好和可靠性高等特點。其基本原理是根據系統的預設值和實際輸出值構成控制偏差,將偏差按照比例(P)、積分(I)和微分(D)通過線性組合構成控制量,利用該控制量實現對被控對象的反饋控制。作為一種典型的線性控制器,其性能的優劣取決于P、I、D3個參數的整定,然而在復雜路況中實現智能車速度控制是一個典型的非線性、時變性和非平穩性控制問題,直接使用PID控制會出現參數整定不良、穩定性差的問題[18]。
BP(Back Propagation)神經網絡作為一種典型的多層前向反饋神經網絡,具備任意線性表達能力,即BP神經網絡能夠逼近任何一個連續且有界的非線性函數,因此可以利用BP神經網絡根據系統的運行狀態實時、自適應地調節PID的參數kp、ki和kd。
圖1給出了利用BP-PID控制器對智能車車速控制的控制結構,可以看出整個控制系統由兩部分構成:

圖1 BP-PID控制原理
1) 傳統PID控制器,根據當前kp、ki和kd的值完成對智能車速度的閉環控制。
2) BP神經網絡控制,根據系統運行狀態,通過網絡的自學習能力實現對kp、ki和kd3個參數的實時在線調整,保證系統工作在高精度的穩定工作狀態。其中kp、ki和kd對應BP神經網絡輸出層的3個神經元。
BP-PID控制系統中,PID系統的輸入為智能車的實際車速與預設車速之間的偏差e(t)=y(t)-v(t),則根據增量式PID控制算法可以得到PID控制量u(t)的值,同時對其進行離散化可得:
(1)
式中:Ti表示積分時間參數;Td表示微分時間參數。
根據式(1)可以得到PID控制增量為:
Δu(k)=u(k)-u(k-1)=
kp[e(k)-e(k-1)]+kie(k)+
kd[e(k-1)-2e(k-1)+e(k-2)]
(2)


圖2 3層BP網絡結構
(3)

(4)
網絡輸出層的輸入輸出可以表示為:
(5)

(6)
BP-PID的性能指標函數為智能車的目標車速v(k)和實際車速y(k)之間的均方誤差:
(7)
(8)
式中:g′(·)=g(x)(1-g(x));f(·)=(1-f2(x))/2;α為慣性系數;η為學習率。
根據上述分析可以得到BP-PID控制算法流程為:

(2) 記錄此時實際車速y(k)和目標車速v(k),計算此時的性能指標函數e(k)=v(k)-y(k)。
(3) 根據式(2)、式(3)和式(5)計算得到此時的網絡各層的輸出,從而獲取PID控制器的可調參數kp、ki和kd。
(4) 根據式(8)在線調整網絡權值。
(5) 判斷是否滿足迭代終止條件,如不滿足,令k=k+1,返回步驟(2)。
BP-PID控制算法的性能受網絡初值的選取影響較大,例如在圖3示意的優化問題中,存在唯一的最小值C,如果網絡初值選在e點或者f點,則根據梯度下降算法可以得到最優解,但是如果網絡初始值選在a、b、c、d點,則最終會陷入局部極小值A和B點,無法實現最優的控制。

圖3 存在局部極小值時優化問題示意
智能車車速控制系統作為一種典型的復雜非線性系統,在求解過程中必然存在很多局部極值,因此需要對BP-PID算法進行優化從而保證其能獲得全局最優解。針對該問題,本文將遺傳算法(Genetic Algorithm,GA)引入模擬退火(Simulated Annealing,SA)模型,將GA的全局搜索能力和SA的局部搜索能力相結合,提出一種GSA-BP-PID控制算法,在獲取全局最優解的同時提升算法的穩定性和收斂速度。
GA是一種模擬大自然中生物自然選擇和進化過程的隨機搜索計算模型,在算法的每次迭代過程中,通過選擇、交叉和變異等操作對生物個體進行篩選,產生更適應于自然環境的生物集合,通過多輪迭代更新直至獲取最優解,具有較強的全局尋優能力,但是局部搜索能力較弱并且收斂速度慢[19-21]。
SA算法是一種描述固體物質退火過程的隨機優化算法,理論上能夠以概率1收斂于全局最優解。根據Metropolis準則,SA算法在迭代過程中如果尋找到一個局部最優解時,會賦予它一個跳出該局部最優解的概率,從而保證其能夠最終趨近于全局最優。SA算法的優點是局部搜索能力強,收斂時間短,但是全局搜索能力差[22-23]。
本文將GA和SA算法的優勢相結合,提出遺傳模擬退火算法(GSA),基本思想是首先利用GA進行全局搜索,將當前條件下得到的最優解作為SA算法的初始值,然后利用SA算法進行局部搜索,并將獲得的滿足Metropolis準則的解作為下一輪迭代中GA的初始種群,依次往復迭代,全局搜索和局部搜索交替進行,直至滿足終止條件。
所提GSA-BP-PID智能車車速控制算法流程如圖4所示,具體步驟描述如下。

圖4 GSA-BP-PID算法流程
步驟1BP網絡結構初始化。根據所要描述的具體問題設置網絡的輸入神經元個數、隱層節點個數和網絡層數。

步驟3自適應遺傳操作。

(2) 對當前種群進行選擇、交叉和變異,并得到當前的最優種群。
步驟4SA算法參數初始化。將步驟3(2)中得到的最優種群作為SA算法的當前初始解。
步驟5模擬退火操作。
(1) 計算當前初始解對應的目標函數S。

(3) 利用Metropolis準則判斷是否接受新解。
(4) 判斷是否滿足SA算法終止條件,若不滿足進行降溫,循環模擬退火操作,否則跳至步驟2,并將SA算法得到的新解作為GA的初始種群。

為了驗證所提GSA-BP-PID算法在智能車車速控制中的性能,在MATLAB/SIMULINK中搭建圖5所示的仿真架構,仿真模型的輸入目標車速選取本課題組在市郊某路況錄取的12分鐘實測車速,車速變化如圖6所示,可以看出該段實測數據的速度變化范圍較大,在0~96 km/h之間。整個路況的車速變化大致可以分為如下6段:

圖5 仿真架構

圖6 某實際路況車速測試數據
(1) 0~100 s范圍內,車速從0一直加速到約80 km/h。
(2) 100~265 s范圍內,反復出現了減速和加速模式。
(3) 265~300 s范圍內,車速從80 km/h一直減速到46 km/h。
(4) 300~350 s范圍內,車速一直加速到96 km/h。
(5) 350~720 s范圍內,車速維持在80~96 km/h。
(6) 720~766 s范圍內,車速一直減為0。
實驗中BP神經網絡結構設置為3-6-3,GA初始種群P=[α,η,w(2),w(3)],取值范圍下限設置為Pmin=[0,0,0.01,0.01],取值范圍上限設置為Pmax=[1,1,40,40]。利用所提GSA算法對BP-PID控制系統進行優化后,參數的收斂過程如圖7所示,可以看出只需要10次左右的迭代,系統就可以達到收斂狀態,收斂時α=0.05、η=1、w(2)=20.2、w(3)=7.9。

(a) 參數α

(b) 參數η

(c) 參數w(2)

(d) 參數w(3)圖7 參數優化曲線
智能車速度控制的首要目的是安全性和穩定性,車速控制的精度是保證車輛安全性的關鍵。因此本文中對所提GSA-BP-PID方法的控制精度與GA-BP-PID方法[14]和SA-BP-PID方法[17]的進行對比,仿真實驗中上述3種方法的車速跟蹤結果如圖8(a)所示,圖8(c)給出了3種方法的速度跟蹤誤差。圖8(b)和圖8(d)分別為圖8(a)和圖8(c)的局部放大圖。

(a) 速度跟蹤結果

(b) 速度跟蹤結果局部放大

(d) 速度跟蹤誤差的局部放大圖8 GSA-BP-PID、SA-BP-PID和GA-BP-PID的速度跟蹤結果
可以看出,所提GSA-BP-PID方法的速度跟蹤誤差在[-0.671 9,0.760 3]范圍內,而SA-BP-PID方法的跟蹤誤差在[-2.209 9,2.686 6]范圍內,GA-BP-PID方法的跟蹤誤差在[-4.536 8,4.365 4]范圍內,表明GSA-BP-PID方法在3種方法中可以獲得最高的控制精度。為了進一步定量對比3種方法的性能,采用跟蹤誤差均值emean對算法的全局控制精度進行評估,采用跟蹤誤差的方差estd對算法的控制穩定度進行評估。
(9)
表1給出了對3種控制算法得到的跟蹤結果分別計算上述2個物理量的值。可以看出3種方法速度控制誤差均值emean分別為0.185 4、0.625 5、1.086 8,GSA-BP-PID最小,表明其能夠獲得最優的全局跟蹤精度;3種方法跟蹤誤差的方差分別為0.234 6、0.780 4、1.358 0,同樣是GSA-BP-PID最小,表明其能夠獲得最高的控制穩定性。表2給出了3種方法在前述6種不同運動狀態下PID控制器比例kp、積分ki和微分kd3個參數的整定結果。

表1 3種方法控制誤差指標

表2 3種方法在不同運動狀態下參數整定結果
綜合上述實驗結果可知,所提GSA-BP-PID在3種方法中可以獲得最高的控制精度和最優的控制穩定性。
智能車技術的發展對緩解交通擁堵、提升交通運力和同行安全性具有重要意義。但是智能車的運行環境復雜多變,使得智能車車速控制呈現出典型的非線性、非平穩和時變性特征,傳統PID控制器難以滿足控制要求。針對該問題,本文提出一種基于遺傳模擬退火算法優化的BP神經網絡PID控制系統,利用GSA算法優化BP神經網絡的初值,提升收斂速度的同時避免其陷入局部計值,進而利用GSA-BP神經網絡的自學習能力實時調整PID的控制參數,提升系統的控制精度和穩定度。基于MATLAB/SIMULINK的仿真試驗表明,本文方法的跟蹤誤差均值為0.185 4,遠低于傳統SA-BP-PID和GA-BP-PID方法;本文方法的跟蹤誤差方差度為0.234 6,同樣明顯低于傳統SA-BP-PID和GA-BP-PID方法。