龔 凡 龔永康
1(廣東技術(shù)師范大學(xué)天河學(xué)院 廣東 廣州 510540) 2(廣東技術(shù)師范大學(xué) 廣東 廣州 510665)
無(wú)人駕駛智能車(chē)?yán)密?chē)載攝像機(jī)、激光/微波雷達(dá)、GPS等傳感器實(shí)現(xiàn)對(duì)周邊環(huán)境的感知,進(jìn)而構(gòu)建包含車(chē)輛自身狀態(tài)信息、道路信息和障礙物信息在內(nèi)的局部行駛地圖,并根據(jù)一定的準(zhǔn)則實(shí)現(xiàn)對(duì)行駛方向和速度的實(shí)時(shí)控制,保證車(chē)輛安全可靠行駛。無(wú)人駕駛智能車(chē)技術(shù)能夠有效地減少公路交通的擁堵,大幅提高運(yùn)輸效率,同時(shí)具備更高的安全性,自20世紀(jì)60年代以來(lái),人類(lèi)就開(kāi)始了對(duì)該技術(shù)的研究[1-3]。作為一種典型的多學(xué)科融合技術(shù),近年來(lái)自動(dòng)控制、人工智能、計(jì)算機(jī)和微電子等技術(shù)的飛速發(fā)展極大地推動(dòng)了智能車(chē)技術(shù)的進(jìn)步[4]。
實(shí)際工程應(yīng)用中,由于智能車(chē)所處的公路交通路況復(fù)雜,不同車(chē)輛過(guò)彎以及載貨量差異等不確定因素的存在,造成智能車(chē)的巡航控制呈現(xiàn)出典型的非線(xiàn)性、非平穩(wěn)、時(shí)變和不確定性等特點(diǎn),因此如何精確、快速和穩(wěn)定地實(shí)現(xiàn)智能車(chē)速度控制是當(dāng)前研究的難點(diǎn)和熱點(diǎn)[5-7]。目前國(guó)內(nèi)外學(xué)者的研究主要集中在兩個(gè)方向:采用傳統(tǒng)的控制理論和采用人工智能的控制理論。其中傳統(tǒng)控制理論通常需要對(duì)被控對(duì)象構(gòu)建精確的數(shù)學(xué)模型,控制精度與數(shù)學(xué)模型的精度成正比,而智能車(chē)作為一種高度復(fù)雜和強(qiáng)耦合的非線(xiàn)性系統(tǒng),只能采用簡(jiǎn)化的數(shù)學(xué)模型對(duì)其描述,導(dǎo)致傳統(tǒng)控制方法的控制效果較差,常用的傳統(tǒng)控制方法有比例-積分-微分(Proportional Integral Derivative,PID)控制、線(xiàn)性二次型控制等[7-10];人工智能控制理論是將傳統(tǒng)控制方法與人工智能手段結(jié)合而興起的一種新的控制方法,控制精度不依賴(lài)于被控對(duì)象的精確數(shù)學(xué)模型,具備在線(xiàn)學(xué)習(xí)和多任務(wù)并行處理能力,特別適合于模型未知的復(fù)雜非線(xiàn)性系統(tǒng),因此被廣泛應(yīng)用于智能車(chē)速度控制領(lǐng)域。文獻(xiàn)[11]將模糊控制理論與PID結(jié)合,利用模糊PID控制器實(shí)現(xiàn)對(duì)智能車(chē)車(chē)速的控制,具備高精度和響應(yīng)速度快的優(yōu)勢(shì)。文獻(xiàn)[12-14]提出將神經(jīng)網(wǎng)絡(luò)和PID進(jìn)行結(jié)合構(gòu)建出智能車(chē)速度控制方案,利用MATLAB建模并通過(guò)仿真實(shí)驗(yàn)進(jìn)行分析,結(jié)果表明所提方法相對(duì)于模糊PID控制能夠獲得更高的控制精度和系統(tǒng)穩(wěn)定性。然而文獻(xiàn)[13]的分析表明,神經(jīng)網(wǎng)絡(luò)PID控制雖然能夠獲得更高的系統(tǒng)動(dòng)態(tài)和更好的穩(wěn)定性,但是模型初始參數(shù)的選取對(duì)控制結(jié)果影響較大,常用的經(jīng)驗(yàn)試湊法在選擇初始參數(shù)時(shí)存在主觀性強(qiáng)和工作量大的問(wèn)題。文獻(xiàn)[14-17]提出利用遺傳算法、模擬退火等優(yōu)化算法對(duì)神經(jīng)網(wǎng)絡(luò)模型的模型參數(shù)進(jìn)行自動(dòng)尋優(yōu),在一定程度上解決了該問(wèn)題,但是遺傳算法存在局部搜索能力較差并且理論不完善的缺點(diǎn),而模擬退火算法存在全局搜索能力不足、易陷入局部極小值等問(wèn)題,因此該類(lèi)方法在面對(duì)復(fù)雜場(chǎng)景時(shí)會(huì)出現(xiàn)表現(xiàn)不穩(wěn)定、抗干擾能力差等問(wèn)題。
針對(duì)上述問(wèn)題,本文提出一種基于遺傳模擬退火(GSA)優(yōu)化的BP-PID控制算法,利用BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、自適應(yīng)能力對(duì)PID的控制參數(shù)進(jìn)行調(diào)整,同時(shí)針對(duì)BP-PID的初始參數(shù)選取問(wèn)題,利用GSA的全局搜索能力優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)過(guò)程,避免其陷入局部極值的同時(shí)提升控制精度和穩(wěn)定度。
PID控制即比例、積分、微分控制,是當(dāng)前工業(yè)控制領(lǐng)域中應(yīng)用最為廣泛的一種控制方式,具備算法簡(jiǎn)單、魯棒性好和可靠性高等特點(diǎn)。其基本原理是根據(jù)系統(tǒng)的預(yù)設(shè)值和實(shí)際輸出值構(gòu)成控制偏差,將偏差按照比例(P)、積分(I)和微分(D)通過(guò)線(xiàn)性組合構(gòu)成控制量,利用該控制量實(shí)現(xiàn)對(duì)被控對(duì)象的反饋控制。作為一種典型的線(xiàn)性控制器,其性能的優(yōu)劣取決于P、I、D3個(gè)參數(shù)的整定,然而在復(fù)雜路況中實(shí)現(xiàn)智能車(chē)速度控制是一個(gè)典型的非線(xiàn)性、時(shí)變性和非平穩(wěn)性控制問(wèn)題,直接使用PID控制會(huì)出現(xiàn)參數(shù)整定不良、穩(wěn)定性差的問(wèn)題[18]。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)作為一種典型的多層前向反饋神經(jīng)網(wǎng)絡(luò),具備任意線(xiàn)性表達(dá)能力,即BP神經(jīng)網(wǎng)絡(luò)能夠逼近任何一個(gè)連續(xù)且有界的非線(xiàn)性函數(shù),因此可以利用BP神經(jīng)網(wǎng)絡(luò)根據(jù)系統(tǒng)的運(yùn)行狀態(tài)實(shí)時(shí)、自適應(yīng)地調(diào)節(jié)PID的參數(shù)kp、ki和kd。
圖1給出了利用BP-PID控制器對(duì)智能車(chē)車(chē)速控制的控制結(jié)構(gòu),可以看出整個(gè)控制系統(tǒng)由兩部分構(gòu)成:
圖1 BP-PID控制原理
1) 傳統(tǒng)PID控制器,根據(jù)當(dāng)前kp、ki和kd的值完成對(duì)智能車(chē)速度的閉環(huán)控制。
2) BP神經(jīng)網(wǎng)絡(luò)控制,根據(jù)系統(tǒng)運(yùn)行狀態(tài),通過(guò)網(wǎng)絡(luò)的自學(xué)習(xí)能力實(shí)現(xiàn)對(duì)kp、ki和kd3個(gè)參數(shù)的實(shí)時(shí)在線(xiàn)調(diào)整,保證系統(tǒng)工作在高精度的穩(wěn)定工作狀態(tài)。其中kp、ki和kd對(duì)應(yīng)BP神經(jīng)網(wǎng)絡(luò)輸出層的3個(gè)神經(jīng)元。
BP-PID控制系統(tǒng)中,PID系統(tǒng)的輸入為智能車(chē)的實(shí)際車(chē)速與預(yù)設(shè)車(chē)速之間的偏差e(t)=y(t)-v(t),則根據(jù)增量式PID控制算法可以得到PID控制量u(t)的值,同時(shí)對(duì)其進(jìn)行離散化可得:
(1)
式中:Ti表示積分時(shí)間參數(shù);Td表示微分時(shí)間參數(shù)。
根據(jù)式(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網(wǎng)絡(luò)結(jié)構(gòu)
(3)
(4)
網(wǎng)絡(luò)輸出層的輸入輸出可以表示為:
(5)
(6)
BP-PID的性能指標(biāo)函數(shù)為智能車(chē)的目標(biāo)車(chē)速v(k)和實(shí)際車(chē)速y(k)之間的均方誤差:
(7)
(8)
式中:g′(·)=g(x)(1-g(x));f(·)=(1-f2(x))/2;α為慣性系數(shù);η為學(xué)習(xí)率。
根據(jù)上述分析可以得到BP-PID控制算法流程為:
(2) 記錄此時(shí)實(shí)際車(chē)速y(k)和目標(biāo)車(chē)速v(k),計(jì)算此時(shí)的性能指標(biāo)函數(shù)e(k)=v(k)-y(k)。
(3) 根據(jù)式(2)、式(3)和式(5)計(jì)算得到此時(shí)的網(wǎng)絡(luò)各層的輸出,從而獲取PID控制器的可調(diào)參數(shù)kp、ki和kd。
(4) 根據(jù)式(8)在線(xiàn)調(diào)整網(wǎng)絡(luò)權(quán)值。
(5) 判斷是否滿(mǎn)足迭代終止條件,如不滿(mǎn)足,令k=k+1,返回步驟(2)。
BP-PID控制算法的性能受網(wǎng)絡(luò)初值的選取影響較大,例如在圖3示意的優(yōu)化問(wèn)題中,存在唯一的最小值C,如果網(wǎng)絡(luò)初值選在e點(diǎn)或者f點(diǎn),則根據(jù)梯度下降算法可以得到最優(yōu)解,但是如果網(wǎng)絡(luò)初始值選在a、b、c、d點(diǎn),則最終會(huì)陷入局部極小值A(chǔ)和B點(diǎn),無(wú)法實(shí)現(xiàn)最優(yōu)的控制。
圖3 存在局部極小值時(shí)優(yōu)化問(wèn)題示意
智能車(chē)車(chē)速控制系統(tǒng)作為一種典型的復(fù)雜非線(xiàn)性系統(tǒng),在求解過(guò)程中必然存在很多局部極值,因此需要對(duì)BP-PID算法進(jìn)行優(yōu)化從而保證其能獲得全局最優(yōu)解。針對(duì)該問(wèn)題,本文將遺傳算法(Genetic Algorithm,GA)引入模擬退火(Simulated Annealing,SA)模型,將GA的全局搜索能力和SA的局部搜索能力相結(jié)合,提出一種GSA-BP-PID控制算法,在獲取全局最優(yōu)解的同時(shí)提升算法的穩(wěn)定性和收斂速度。
GA是一種模擬大自然中生物自然選擇和進(jìn)化過(guò)程的隨機(jī)搜索計(jì)算模型,在算法的每次迭代過(guò)程中,通過(guò)選擇、交叉和變異等操作對(duì)生物個(gè)體進(jìn)行篩選,產(chǎn)生更適應(yīng)于自然環(huán)境的生物集合,通過(guò)多輪迭代更新直至獲取最優(yōu)解,具有較強(qiáng)的全局尋優(yōu)能力,但是局部搜索能力較弱并且收斂速度慢[19-21]。
SA算法是一種描述固體物質(zhì)退火過(guò)程的隨機(jī)優(yōu)化算法,理論上能夠以概率1收斂于全局最優(yōu)解。根據(jù)Metropolis準(zhǔn)則,SA算法在迭代過(guò)程中如果尋找到一個(gè)局部最優(yōu)解時(shí),會(huì)賦予它一個(gè)跳出該局部最優(yōu)解的概率,從而保證其能夠最終趨近于全局最優(yōu)。SA算法的優(yōu)點(diǎn)是局部搜索能力強(qiáng),收斂時(shí)間短,但是全局搜索能力差[22-23]。
本文將GA和SA算法的優(yōu)勢(shì)相結(jié)合,提出遺傳模擬退火算法(GSA),基本思想是首先利用GA進(jìn)行全局搜索,將當(dāng)前條件下得到的最優(yōu)解作為SA算法的初始值,然后利用SA算法進(jìn)行局部搜索,并將獲得的滿(mǎn)足Metropolis準(zhǔn)則的解作為下一輪迭代中GA的初始種群,依次往復(fù)迭代,全局搜索和局部搜索交替進(jìn)行,直至滿(mǎn)足終止條件。
所提GSA-BP-PID智能車(chē)車(chē)速控制算法流程如圖4所示,具體步驟描述如下。
圖4 GSA-BP-PID算法流程
步驟1BP網(wǎng)絡(luò)結(jié)構(gòu)初始化。根據(jù)所要描述的具體問(wèn)題設(shè)置網(wǎng)絡(luò)的輸入神經(jīng)元個(gè)數(shù)、隱層節(jié)點(diǎn)個(gè)數(shù)和網(wǎng)絡(luò)層數(shù)。
步驟3自適應(yīng)遺傳操作。
(2) 對(duì)當(dāng)前種群進(jìn)行選擇、交叉和變異,并得到當(dāng)前的最優(yōu)種群。
步驟4SA算法參數(shù)初始化。將步驟3(2)中得到的最優(yōu)種群作為SA算法的當(dāng)前初始解。
步驟5模擬退火操作。
(1) 計(jì)算當(dāng)前初始解對(duì)應(yīng)的目標(biāo)函數(shù)S。
(3) 利用Metropolis準(zhǔn)則判斷是否接受新解。
(4) 判斷是否滿(mǎn)足SA算法終止條件,若不滿(mǎn)足進(jìn)行降溫,循環(huán)模擬退火操作,否則跳至步驟2,并將SA算法得到的新解作為GA的初始種群。
為了驗(yàn)證所提GSA-BP-PID算法在智能車(chē)車(chē)速控制中的性能,在MATLAB/SIMULINK中搭建圖5所示的仿真架構(gòu),仿真模型的輸入目標(biāo)車(chē)速選取本課題組在市郊某路況錄取的12分鐘實(shí)測(cè)車(chē)速,車(chē)速變化如圖6所示,可以看出該段實(shí)測(cè)數(shù)據(jù)的速度變化范圍較大,在0~96 km/h之間。整個(gè)路況的車(chē)速變化大致可以分為如下6段:
圖5 仿真架構(gòu)
圖6 某實(shí)際路況車(chē)速測(cè)試數(shù)據(jù)
(1) 0~100 s范圍內(nèi),車(chē)速?gòu)?一直加速到約80 km/h。
(2) 100~265 s范圍內(nèi),反復(fù)出現(xiàn)了減速和加速模式。
(3) 265~300 s范圍內(nèi),車(chē)速?gòu)?0 km/h一直減速到46 km/h。
(4) 300~350 s范圍內(nèi),車(chē)速一直加速到96 km/h。
(5) 350~720 s范圍內(nèi),車(chē)速維持在80~96 km/h。
(6) 720~766 s范圍內(nèi),車(chē)速一直減為0。
實(shí)驗(yàn)中BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置為3-6-3,GA初始種群P=[α,η,w(2),w(3)],取值范圍下限設(shè)置為Pmin=[0,0,0.01,0.01],取值范圍上限設(shè)置為Pmax=[1,1,40,40]。利用所提GSA算法對(duì)BP-PID控制系統(tǒng)進(jìn)行優(yōu)化后,參數(shù)的收斂過(guò)程如圖7所示,可以看出只需要10次左右的迭代,系統(tǒng)就可以達(dá)到收斂狀態(tài),收斂時(shí)α=0.05、η=1、w(2)=20.2、w(3)=7.9。
(a) 參數(shù)α
(b) 參數(shù)η
(c) 參數(shù)w(2)
(d) 參數(shù)w(3)圖7 參數(shù)優(yōu)化曲線(xiàn)
智能車(chē)速度控制的首要目的是安全性和穩(wěn)定性,車(chē)速控制的精度是保證車(chē)輛安全性的關(guān)鍵。因此本文中對(duì)所提GSA-BP-PID方法的控制精度與GA-BP-PID方法[14]和SA-BP-PID方法[17]的進(jìn)行對(duì)比,仿真實(shí)驗(yàn)中上述3種方法的車(chē)速跟蹤結(jié)果如圖8(a)所示,圖8(c)給出了3種方法的速度跟蹤誤差。圖8(b)和圖8(d)分別為圖8(a)和圖8(c)的局部放大圖。
(a) 速度跟蹤結(jié)果
(b) 速度跟蹤結(jié)果局部放大
(d) 速度跟蹤誤差的局部放大圖8 GSA-BP-PID、SA-BP-PID和GA-BP-PID的速度跟蹤結(jié)果
可以看出,所提GSA-BP-PID方法的速度跟蹤誤差在[-0.671 9,0.760 3]范圍內(nèi),而SA-BP-PID方法的跟蹤誤差在[-2.209 9,2.686 6]范圍內(nèi),GA-BP-PID方法的跟蹤誤差在[-4.536 8,4.365 4]范圍內(nèi),表明GSA-BP-PID方法在3種方法中可以獲得最高的控制精度。為了進(jìn)一步定量對(duì)比3種方法的性能,采用跟蹤誤差均值emean對(duì)算法的全局控制精度進(jìn)行評(píng)估,采用跟蹤誤差的方差estd對(duì)算法的控制穩(wěn)定度進(jìn)行評(píng)估。
(9)
表1給出了對(duì)3種控制算法得到的跟蹤結(jié)果分別計(jì)算上述2個(gè)物理量的值??梢钥闯?種方法速度控制誤差均值emean分別為0.185 4、0.625 5、1.086 8,GSA-BP-PID最小,表明其能夠獲得最優(yōu)的全局跟蹤精度;3種方法跟蹤誤差的方差分別為0.234 6、0.780 4、1.358 0,同樣是GSA-BP-PID最小,表明其能夠獲得最高的控制穩(wěn)定性。表2給出了3種方法在前述6種不同運(yùn)動(dòng)狀態(tài)下PID控制器比例kp、積分ki和微分kd3個(gè)參數(shù)的整定結(jié)果。
表1 3種方法控制誤差指標(biāo)
表2 3種方法在不同運(yùn)動(dòng)狀態(tài)下參數(shù)整定結(jié)果
綜合上述實(shí)驗(yàn)結(jié)果可知,所提GSA-BP-PID在3種方法中可以獲得最高的控制精度和最優(yōu)的控制穩(wěn)定性。
智能車(chē)技術(shù)的發(fā)展對(duì)緩解交通擁堵、提升交通運(yùn)力和同行安全性具有重要意義。但是智能車(chē)的運(yùn)行環(huán)境復(fù)雜多變,使得智能車(chē)車(chē)速控制呈現(xiàn)出典型的非線(xiàn)性、非平穩(wěn)和時(shí)變性特征,傳統(tǒng)PID控制器難以滿(mǎn)足控制要求。針對(duì)該問(wèn)題,本文提出一種基于遺傳模擬退火算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)PID控制系統(tǒng),利用GSA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初值,提升收斂速度的同時(shí)避免其陷入局部計(jì)值,進(jìn)而利用GSA-BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力實(shí)時(shí)調(diào)整PID的控制參數(shù),提升系統(tǒng)的控制精度和穩(wěn)定度?;贛ATLAB/SIMULINK的仿真試驗(yàn)表明,本文方法的跟蹤誤差均值為0.185 4,遠(yuǎn)低于傳統(tǒng)SA-BP-PID和GA-BP-PID方法;本文方法的跟蹤誤差方差度為0.234 6,同樣明顯低于傳統(tǒng)SA-BP-PID和GA-BP-PID方法。