侯一民 朱志超
(東北電力大學(xué)自動化工程學(xué)院,吉林 吉林 132000)
智能車即無人駕駛車輛,涉及環(huán)境感知、路徑規(guī)劃、駕駛行為智能決策、車輛導(dǎo)航定位及車輛自動控制等技術(shù)領(lǐng)域,作為智能交通系統(tǒng)中許多高新技術(shù)的載體而受到廣泛關(guān)注。對于智能車的研究,控制部分作為最底層和最重要的環(huán)節(jié),是智能車的核心部分[1]。
PID算法作為典型的傳統(tǒng)反饋控制,以結(jié)構(gòu)簡單、魯棒性好及穩(wěn)定性高等優(yōu)點而廣泛應(yīng)用。肖建文和李永科運用增量型PID控制算法對舵機和電機進(jìn)行控制,但在環(huán)境變化時,該算法不能及時自整定控制參數(shù),小車的行駛易受干擾而出現(xiàn)振蕩[2]。針對這一缺點,林煥新等提出了模糊PID控制算法,該方法克服了PID參數(shù)不能自整定的缺點,但模糊控制規(guī)則是根據(jù)研究者的先驗知識和實踐經(jīng)驗確定的,具有不完整和主觀性強的缺點[3]。黃志強提出了分段PID控制算法,該算法需對路徑進(jìn)行分段,降低了控制器的運行速度,從而影響小車的行駛速度[4]。為此,筆者嘗試將具有自學(xué)習(xí)、魯棒性強及不需建立具體的數(shù)學(xué)模型等優(yōu)點的單神經(jīng)元算法與經(jīng)典PID算法相結(jié)合實現(xiàn)對智能車的控制。
智能車能否平穩(wěn)快速行駛,取決于小車系統(tǒng)的路徑識別、判斷及反應(yīng)能力等,這都與小車的硬件系統(tǒng)有關(guān),因此設(shè)計時要充分考慮其合理性。智能車硬件整體結(jié)構(gòu)如圖1所示。

圖1 智能車硬件整體結(jié)構(gòu)框圖
由壽命長、污染小的額定電壓為7.2V的鎳鎘充電電池為智能車各系統(tǒng)提供特定電源,以MK60DN512ZALQ10單片機為控制核心[5],經(jīng)線陣CCD鏡頭采集的賽道信息成像在感光元件上,量化后得到128個電壓值,經(jīng)運算放大器傳給單片機的A/D轉(zhuǎn)換器,并進(jìn)行圖像處理,將結(jié)果傳給控制器,輸出結(jié)果:
a. 經(jīng)單片機FTM模塊產(chǎn)生方波,傳給BTN7960模塊,根據(jù)輸入的占空比控制輸出電壓,進(jìn)而控制電機轉(zhuǎn)速,最終的控制目的是使智能車以最快的速度沿賽道中心線穩(wěn)定運行;
b. 單片機FTMPW模塊產(chǎn)生PWM方波,方波的脈寬決定了舵機的輸出轉(zhuǎn)角,用于控制車輪沿賽道中心線行駛,最終的控制目的是使智能車能夠做半圓周運動,即駛過彎道。
智能車在直道行駛時,經(jīng)BTN7960芯片輸出的電壓與電機轉(zhuǎn)速成正比,因此只需對舵機建立運動學(xué)模型。智能車的舵機安裝在前軸中心處,所以舵機驅(qū)動角度與前輪轉(zhuǎn)向角度成正比關(guān)系,因此只需證明智能車在轉(zhuǎn)彎時是圓周運動,控制器即可實現(xiàn)對舵機的轉(zhuǎn)彎控制[6]。智能車舵機運動力學(xué)分析如圖2所示,智能車從M點出發(fā)以速率vA行駛t時刻后走過弧長S到達(dá)N點,vD為車前輪轉(zhuǎn)過一定角度后的行駛速率;O′為瞬時轉(zhuǎn)向中心。

圖2 智能車舵機運動力學(xué)分析
由圖2可知,智能車運行弧長S對應(yīng)的半徑R為:

(1)
式中L——車前輪與后輪間的距離;
β——前輪行駛方向偏離軸中心線的角度。
角度ψ對時間的積分公式為:

(2)
其中,vA為車后輪行駛速率;ψ為車后輪行駛方向偏離國際坐標(biāo)軸x軸的角度。
圖2中令M點坐標(biāo)為(xM,yM),將其對時間進(jìn)行積分可得:
(3)
(4)
將式(2)代入式(3)、(4)并對其進(jìn)行積分,可得:

(5)

(6)
化簡消掉ψ可得:
(7)
式(7)中,a、b和L均為常數(shù),因此其結(jié)果只與β有關(guān),當(dāng)β確定時,M點的運行軌跡為圓。所以可以確定智能車在轉(zhuǎn)彎過程中做的是圓周運動,繼而可以應(yīng)用控制器對智能車的舵機在彎道中進(jìn)行控制。筆者引入單神經(jīng)元PID控制器實現(xiàn)對智能車舵機的控制。
對于智能車控制系統(tǒng),若把跑道的路徑變化看作系統(tǒng)的輸入,那么此系統(tǒng)可以看作一個隨動系統(tǒng),智能車應(yīng)跟隨道路變化而運行;若把跑道的路徑變化看作對智能車控制系統(tǒng)的擾動,那么此系統(tǒng)可看作一個恒值控制系統(tǒng),智能車應(yīng)能夠適應(yīng)道路曲變而更加平穩(wěn)快速地運行。因此要選擇合適的控制算法,既要滿足跟隨系統(tǒng)的動態(tài)特性,又要滿足恒值控制系統(tǒng)的穩(wěn)定性。
運行中,智能車的行駛環(huán)境會受光照等因素影響,針對電機和舵機的控制,應(yīng)能實時準(zhǔn)確地跟蹤多變的賽道。
采用傳統(tǒng)PID控制算法時,智能車的行駛方向和道路中心線之間的距離偏差,經(jīng)過PID控制器的積分和微分環(huán)節(jié)處理后,分別計算出積分值和微分值,再將積分值、微分值和偏差按一定的線性規(guī)律組合,在比例環(huán)節(jié)作用下得到實際輸出,由于CCD傳感器是按一定周期獲取道路信息的,因此必須將連續(xù)的PID控制算法離散化,得到增量型PID算法:

(8)
3個系數(shù)在控制過程中分別起著重要的作用,因此對3個系數(shù)的在線實時整定非常必要。經(jīng)典PID本身不具備參數(shù)自整定功能,很難控制智能車實時適應(yīng)環(huán)境變化。
在此,筆者將魯棒性強的經(jīng)典PID算法與自適應(yīng)能力強的單神經(jīng)元算法相結(jié)合,實現(xiàn)對智能車系統(tǒng)的控制。神經(jīng)元網(wǎng)絡(luò)是智能控制的重要組成部分,是本質(zhì)性的非線性系統(tǒng)。單神經(jīng)元作為構(gòu)成神經(jīng)網(wǎng)絡(luò)的基本單位,具有自學(xué)習(xí)和自適應(yīng)能力,且結(jié)構(gòu)簡單易于計算,將其與PID算法相結(jié)合,通過修改神經(jīng)元的權(quán)值系數(shù)ωi(t)實現(xiàn)其性能。也可以在一定程度上解決傳統(tǒng)PID調(diào)節(jié)器不宜在線實時整定參數(shù),難以對一些過程復(fù)雜、參數(shù)時變、非線性和強耦合系統(tǒng)進(jìn)行有效控制的不足。
單神經(jīng)元的結(jié)構(gòu)示意如圖3所示。

圖3 神經(jīng)元數(shù)學(xué)模型結(jié)構(gòu)
神經(jīng)元的數(shù)學(xué)模型[7]如下:
(9)
式中u——神經(jīng)元外部狀態(tài)輸出值;
xi(t)——t時刻單神經(jīng)元的外部狀態(tài)輸入信號,即t時刻智能車的行駛方向和道路中心線間的距離偏差;
ωi(t)——t時刻神經(jīng)元外部輸入信號xi(t)的權(quán)值系數(shù);
θ——神經(jīng)元狀態(tài)閾值。
單神經(jīng)元PID控制器的結(jié)構(gòu)框圖[8]如圖4所示。

圖4 單神經(jīng)元PID控制器結(jié)構(gòu)
取n=3、θ=0,則單神經(jīng)元PID的外部狀態(tài)輸入即t、t-1和t-2時刻智能車的行駛方向和道路中心線間的距離偏差分別為:
x1(t)=R(t)-y=e(t)
(10)
x2(t)=e(t)-e(t-1)
(11)
x3(t)=e(t)-2e(t-1)+e(t-2)
(12)
單神經(jīng)元PID的狀態(tài)輸出為:

(13)
由式(11)~(13)知,式(14)~(16)具有按偏差的比例、積分和微分輸入項,故ωi(t)可以看作是增量式PID的比例、積分和微分系數(shù):
ω1(t)=ω1(t-1)+ηiz(t)u(t)x1(t)
(14)
ω2(t)=ω2(t-1)+ηpz(t)u(t)x2(t)
(15)
ω3(t)=ω3(t-1)+ηdz(t)u(t)x3(t)
(16)
其中,K為神經(jīng)元比例系數(shù),K的大小決定系統(tǒng)的快速性,但過大會使系統(tǒng)的超調(diào)量加大引起系統(tǒng)不穩(wěn)定,過小會使快速性變差,因此K值的選取要適中;ηp、ηi、ηd分別為比例、積分和微分學(xué)習(xí)速率;z(t)為性能指標(biāo)或神經(jīng)元遞推信號,z(t)=e(t)。
對于學(xué)習(xí)速率ηp、ηi和ηd的整定,可先取較小值。如果此時過程從超調(diào)趨向平穩(wěn)的時間偏長,可適當(dāng)?shù)卦黾应莗和ηd;反之則減小。如果響應(yīng)特性出現(xiàn)上升時間短、超調(diào)過大的現(xiàn)象,應(yīng)減小ηp;反之增大。權(quán)值系數(shù)ωi(t)的整定,采用有監(jiān)督的Hebb學(xué)習(xí)規(guī)則[9],學(xué)習(xí)規(guī)則又是通過計算算法來實現(xiàn)的。
有監(jiān)督的Hebb學(xué)習(xí)規(guī)則如下:
a. 選定權(quán)值系數(shù)ωi(t)的初值為ωi(0);
b. 由式(14)~(16)求得xi(t);

d. 計算y;
e. 調(diào)整ωi(t),若實際輸出與設(shè)定值相符,ωi(t)穩(wěn)定不變;否則返回步驟b,直到ωi(t)達(dá)到設(shè)定值。
有監(jiān)督的Hebb學(xué)習(xí)算法如下:
(17)
(18)
ωi(t)=ωi(t-1)+ηie(t)u(t)xi(t)
(19)
對于單神經(jīng)元PID控制算法,不需要建立受控對象的精確數(shù)學(xué)模型,可由系統(tǒng)偏差來調(diào)整控制量,從而使系統(tǒng)達(dá)到期望輸出,對于PID和模糊PID控制算法所建立的傳遞函數(shù)[10]為:

(20)
取舵機的周期為0.200ms,經(jīng)測試,智能車的單片機FTMPW模塊產(chǎn)生PWM方波的脈寬為0.005~0.025ms,對應(yīng)舵機的輸出轉(zhuǎn)角為0~180°,將舵機左打死即將車輪擺正,可求得舵機偏差約為640份。又因線陣CCD感光元件是一條由128個點構(gòu)成的直線,因此圖像的最大偏差為128份,控制器中的比例系數(shù)P可近似由下式求取:

(21)
采用試湊法分別求取Ki=3.0、Kd=0.0001。
采用PID、模糊PID和單神經(jīng)元PID 3種控制算法的輸出響應(yīng)曲線對比如圖5所示。

圖5 3種控制算法的輸出響應(yīng)曲線對比
3條響應(yīng)曲線的性能指標(biāo)比較見表1,Tp為系統(tǒng)的響應(yīng)速度;Ts為系統(tǒng)達(dá)到給定值的所需時間;超調(diào)量σ反映了調(diào)整過程中系統(tǒng)輸出最大值與穩(wěn)態(tài)值的偏差;振蕩次數(shù)N反映了響應(yīng)曲線在調(diào)節(jié)時間范圍內(nèi)圍繞穩(wěn)態(tài)值振蕩的次數(shù)。穩(wěn)態(tài)誤差ess是反映系統(tǒng)準(zhǔn)確性的性能指標(biāo),當(dāng)時間趨于無窮大時,系統(tǒng)響應(yīng)的期望值與實際值之差。

表1 3條響應(yīng)曲線的性能指標(biāo)比較
綜上所述,采用單神經(jīng)元PID控制算法對智能車進(jìn)行控制,在穩(wěn)定性、準(zhǔn)確性和快速性方面都取得了較好的控制效果。
分別用PID、模糊PID和單神經(jīng)元PID 3種控制算法對智能車的舵機和電機進(jìn)行控制,使其分別在相同環(huán)境的30m帶有不同彎道和直道、4m彎道和10m長直道中進(jìn)行3次運行試驗,表2為所用時間與速度的對比。

表2 智能車在3種跑道上所用時間與速度的對比
從表2數(shù)據(jù)中可以看出:智能車在帶有不同彎道和直道的30m長賽道自主行駛時,采用單神經(jīng)元PID控制算法時的平均用時最短,平均速度最快;在同彎度的4m長彎道中自主行駛,采用單神經(jīng)元PID控制算法時的平均用時最短,平均速度最大;在10m長直道中自主行駛,采用單神經(jīng)元PID控制算法時的平均用時最短,平均速度最大。證實了智能車在同等條件的賽道中自主運行,采用單神經(jīng)元PID控制算法對智能車的電機和舵機進(jìn)行控制,行駛速度最快、所用時間最短,能達(dá)到更好的控制效果。
筆者提出了應(yīng)用單神經(jīng)元PID控制算法對智能車進(jìn)行控制,根據(jù)PID、模糊PID和單神經(jīng)元PID 3種控制算法的Matlab仿真結(jié)果,以及分別應(yīng)用于實際智能車控制實驗中的實測數(shù)據(jù)比較可知:由于單神經(jīng)元PID控制算法的自學(xué)習(xí)自適應(yīng)能力強,將其應(yīng)用在智能車的舵機和電機控制后,智能車的運行速度更快、魯棒性更強、效果更好。
[1] 趙盼.城市環(huán)境下無人駕駛車輛運動控制方法的研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2012.
[2] 肖文健,李永科.基于增量式PID控制算法的智能車設(shè)計[J].信息技術(shù),2012,(10):125~127.
[3] 林煥新,胡躍明,陳安.基于自適應(yīng)模糊控制的智能車控制系統(tǒng)研究[J].計算機測量與控制,2011,19(1):78~80.
[4] 黃志強.基于CCD攝像頭智能車分段PID控制算法設(shè)計[J].電子設(shè)計工程,2011,19(2):55~57.
[5] 卓晴,黃開勝,邵貝貝,等.學(xué)做智能車——挑戰(zhàn)“飛思卡爾”杯[M].北京:北京航空航天大學(xué)出版社,2007:128.
[6] Liu Q Q,Wang B,Ma X W.The Research of Intelligent Vehicle’s Steering Control System Based on Fuzzy Control[C]. Advanced Computational Intelligence(ICACI).Nanjing:IEEE,2012:474~478.
[7] 王振臣,趙莎,楊康.汽車主動懸架單神經(jīng)元PID控制器設(shè)計[J].機械設(shè)計與制造,2013,(11):29~32.
[8] 任俊杰.基于PLC的單神經(jīng)元PID控制器的設(shè)計與實現(xiàn)[J].制造業(yè)自動化,2012,34(7):11~13.
[9] Zhang C N,Zhao M,Wang M.Single Neuron Rational Model of Arithmetic and Logic Operations[J].IEEE Transactions on Neural Networks,2011,3(11):739~747.
[10] 嚴(yán)大考,李猛,鄒棟,等.基于MC9S12XS128單片機的智能車控制系統(tǒng)的設(shè)計[J].華北水利水電學(xué)院學(xué)報,2013,34(1):106~110.