賈 智,趙 巖,張 兵,王立珂
(北方自動控制技術研究所, 太原 030012)
無人駕駛技術的研究在公路管理、交通運輸?shù)阮I域有著廣闊的應用前景,近年來自適應巡航這一概念逐漸應用于軍事偵察和作戰(zhàn)領域。在戰(zhàn)場上,指揮車、炮車、偵察車等無人駕駛戰(zhàn)車是以編隊的形式來行進和轉移陣地,戰(zhàn)車在運動過程中通過車載傳感系統(tǒng)感知道路環(huán)境,由控制系統(tǒng)按照戰(zhàn)術規(guī)劃確定行車路徑并作出控制決策以實現(xiàn)戰(zhàn)術編隊在行駛過程中保持一致,所以控制算法是自主巡航技術實現(xiàn)的關鍵。
國內外對自適應巡航技術的研究取得了顯著的成果,先后提出了基于模糊PID控制以及BP神經網絡與PID控制相結合的自適應算法模型。首先是德國的汽車公司提出了比例反饋和補償?shù)乃枷?,開啟了PID應用于無人駕駛技術的先河[1-2],德克薩斯大學教授提出了基于在線優(yōu)化和傳感計算的自適應巡航算法,將自主導航技術推向了新的高度[3]。國內對于自適應巡航技術的研究也有一定的成果,文獻[4]提出了一種基于并行神經網絡PID模型的巡航控制算法,降低了導航的平均誤差,文獻[6]研究了一種在無人駕駛情況下自動跟隨前方車輛行駛的控制算法,具有較好的魯棒性。
隨著神經網絡理論的發(fā)展,越來越多的新技術融入到神經網絡中。為了提高自適應巡航算法的精度和收斂速度,將小波算法與神經網絡PID相結合,引入自適應學習速率法和附加動量法進行神經網絡訓練,仿真實驗結果表明,加入小波算法的神經網絡PID自適應巡航算法具有更快的收斂速度和更高的精度。
由于小波函數(shù)具有良好的局部化性質,已經滲透到各個領域。小波變換是一種窗口大小固定但其形狀[7-8]、時間窗和頻率窗都可以改變的時頻局部化分析方法,而小波神經網絡正是在近年來小波分析研究取得突破的基礎上提出的一種人工神經網絡,它是基于小波分析理論以及小波變換所構造的一種分層的、多分辨率的新型人工神經網絡模型,即用非線性小波基取代了通常的非線性sigmoid函數(shù),其信號表述是通過將所選取的小波基進行線性疊加,相應的輸入層到隱含層的權值及隱含層的閾值分別由小波函數(shù)的尺度伸縮因子和時間平移因子所代替。
圖1 小波神經網絡結構模型
在傳統(tǒng)的BP神經網絡中,存在隱含層單元數(shù)目難以確定的不足[5,9],而小波神經網絡的隱含層單元數(shù)目則可以按如下方法自適應地確定:首先取小波神經網絡隱含層單元數(shù)目M為1,學習迭代若干次后,若滿足誤差條件則停止迭代,若達到最大學習學習次數(shù)后,仍不滿足誤差條件,則M+1;重復以上步驟直到滿足誤差條件為止,這樣就能克服傳統(tǒng)神經網絡結構設計上的盲目性。
研究中戰(zhàn)車的自主巡航是以上級指揮車通過車載北斗裝置下發(fā)報文解析出的行進路線為基準,每隔固定的時間T查詢當前行駛方向,并將此狀態(tài)設定為當前狀態(tài),將接收的行軍路徑設定為目標狀態(tài)。在圖2中取兩個點并假設一個點為車輛的當前狀態(tài)(v(t),θ(t)),另一個為目標狀態(tài)(v(t+T),θ(t+T))。當T足夠小時,車輛在時間T內可以視為做勻變速運動,可以用勻變速運動的相關物理公式推算出對油門和方向盤的偏移控制量。車輛在行駛過程中,主要是方向盤、剎車和油門在起作用,在研究中剎車跟油門可以視為一對相反的控制量放在一起討論。
圖2 車輛形式示意圖
當車輛在轉向時,由圖2可知,汽車的側向速度為v(t)cosθ(t),在無限小的時間間隔T后的理想狀態(tài)為v(t+T)cosθ(t+T),此時可以將車輛在無限小的T時間內看作在橫向上做勻變速直線運動,則在橫向上的加速度為
(1)
由式(1)可以計算出橫向加速度的大小,而改變其數(shù)值可以通過轉動方向盤一定的角度λ來實現(xiàn),在這里本文假定方向盤轉角λ與汽車側向加速度的比例系數(shù)為N,即λ=Nαx,代入公式后可以得到
(2)
將理想狀態(tài)和當前行駛狀態(tài)的信息代入式(2),就可以計算出在接下來的T時間內方向盤需要轉過的期望角λ。這個期望轉向角可以保證車輛在時間T后,達到規(guī)劃路徑中所期望的行駛狀態(tài),并開始新一輪的方向與速度的調整,如此循環(huán)就實現(xiàn)了車輛在行駛時方向上的自主導航。
在控制車輛的速度時,假設汽車的縱向車速為v(t)sinθ(t),而在一段時間T后的期望車速為v(t)sin(θ+t)。同理,在無限短的時間T內,車輛可視為在以一個加速度αy做勻變速直線運動,且
(3)
式中:αy可為正數(shù)也可為負數(shù),當車輛加速時,αy為正,油門踏板的開合度減?。卉囕v減速時,αy為負,制動踏板的開合度增大??芍氲玫嚼硐氲目v向加速度,就是要得到合理的開合角度θ,在本文中假定開合度θ與縱向加速度之間的比例系數(shù)為M,則θ=Mαy,代入到式(3)后,得
(4)
綜上所述,根據(jù)理想情況下的行駛狀態(tài)信息可以推算出在T時間內,期望的轉角和開合度的值,并將結果傳遞給自動駕駛系統(tǒng)參與控制流程,至此算法中關于道路決策部分全部分析完畢。
一般的神經網絡PID模型偏向于工程應用[11],對控制過程中目標值的跟隨控制效果較差,尤其是對于速度變化后產生不可控的誤差波動,原有的算法難以快速處理恢復,且易使控制系統(tǒng)失穩(wěn),難以滿足車輛對設定路徑的跟蹤及抑制外部干擾的要求。針對上述問題,引入小波神經網絡構建了一種新的PID模型,如圖3所示。區(qū)別于之前神經網絡在線修正PID權值的方法,本模型是直接在使用神經網絡的基礎上再次使用PID進行誤差消除。
圖3 小波神經網絡PID模型
在該系統(tǒng)中,被控對象由PID控制器直接反饋控制,而小波神經網絡則在通過學習后以一種穩(wěn)定的狀態(tài)在線調整PID控制器的3個參數(shù)kp、ki、kd使系統(tǒng)輸出最優(yōu)解。該神經網絡PID的控制算式為
(5)
式中:kp=NNet*kp0;Ti=NNet*Ti0;Td=NNet*Td0。其中:kp0、Ti0、Td0分別為PID控制器的初始參數(shù);NNet為經過學習后達到穩(wěn)定狀態(tài)的小波神經網絡。
車輛的正常行駛很大程度上取決于當前的行駛方向和車速,因此,在研究中將車速和方向作為神經網絡的輸入,油門開合度和方向盤的轉角作為網絡的輸出。由于此系統(tǒng)為多輸入多輸出的網絡,且樣本數(shù)據(jù)相對復雜,呈非線性的狀態(tài),所以選擇多隱含層的結構。大量實驗數(shù)據(jù)表明,雙隱含層神經元的網絡可以模擬任何復雜的函數(shù)[10],所以選擇四層神經網絡,即具有兩層隱含層的結構。經過學習迭代實驗,得出了滿足誤差條件的隱含層數(shù)目為第一層3個神經元,第二層5個神經元。然后是確定網絡中的初始參數(shù),神經網絡權重初值的選取對于神經網絡的學習和收斂起著很重要的作用,網絡權重初值決定了神經網絡學習的起點和方向。參考以往的PID控制器的特點以及大量的PID控制經驗,設定輸入層到隱含層的初始權重為Wij=+1,Wij2=,選擇PID的3個參數(shù)為(0.69,0.1,0.19),即算法中隱含層到輸出層的初始權值為W10=0.69,W20=0.1,W30=0.19。
對于神經網絡訓練數(shù)據(jù)的獲取,實驗中選擇一款某型號的榴彈炮車作為研究對象,利用Prescan軟件設計了一套車速、方向、油門踏板開合度和方向盤轉角的采集方案。Prescan內包含了豐富的動力學模型庫,根據(jù)輸入的各種設定參數(shù),該軟件會相應的生成所選車輛的動力學模型,實時記錄模型的運動數(shù)據(jù)。一般來講,訓練樣本越多,訓練結果越能正確地反映其內在規(guī)律,但是樣本的采集整理往往受到客觀條件的限制。樣本多到一定的程度時,網絡的精度也很難再提高。在本研究中將訓練樣本數(shù)定為80組,將采集到的數(shù)據(jù)一部分作為神經網絡的訓練數(shù)據(jù),一部分用來驗證網絡的訓練效果,最后通過Matlab來進行結果的仿真。將由Prescan采集到的訓練樣本數(shù)據(jù)輸入到Matlab神經網絡工具箱中訓練[10],訓練函數(shù)首先選擇trainlm,為了加速訓練過程,在之后的計算中交替使用trainscg和trainrp作為訓練函數(shù)。
本次試驗中首先用采集到的訓練樣本對傳統(tǒng)的神經網絡進行訓練,訓練結果如圖4所示。當期望路線為矩形波時,經過訓練后的神經網絡輸出在直角轉彎時的波動較大,不能很快地收斂于期望曲線,要在期望值上下波動一段時間才能趨于穩(wěn)定。且實際方向與期望之間的最大誤差為 -18.4307°,平均誤差在10°左右。綜上所述,傳統(tǒng)的神經網絡雖然可以較好地逼近目標曲線,但是誤差曲線波動大,收斂時間較長。
圖4 傳統(tǒng)的神經網絡PID仿真結果
針對這一不足,采用Morlet小波函數(shù)取代sigmoid函數(shù)作為神經網絡的激勵函數(shù),同時在小波神經網絡的權值更新階段增加一動量項:ΔW(t)=ηδU+αΔW(t-1),附加動量法反映了以前積累的調整經驗,對于t時刻的調整起阻尼作用,當誤差曲面出現(xiàn)驟然起伏時,可以減小振蕩趨勢,提高訓練速度;神經網絡的學習率采用自適應調節(jié)學習率,先設置一個初始的學習率,若經過一批次權值調整后總誤差增大,則本次調整無效,且學習率η=βη(β<1);若經過一批次權值調整后總誤差減小,則本次調整有效,且學習率η=θη(θ>1)。一共經歷了約 1 000步的訓練后達到了預期的結果,此時的小波參數(shù)
a=[0.136 4-1.043 90.516 4-3.965 41.552 6-1.911 1]
b=[0.139 4-0.273 80.158 5-1.422 30.014 4-1.252 7]
仿真結果如圖5所示。經過訓練后的小波神經網絡將實際方向與期望之間的最大誤差為13.389 6°,平均誤差控制在5°以內,明顯優(yōu)于傳統(tǒng)的神經網絡算法,且神經網絡輸出的實際行駛方向與目標值契合度很高,在車輛經歷90°直角轉彎時能夠更小的波動和更快的速度逼近期望行駛方向。
圖5 小波神經網絡PID仿真結果
通過對比分析圖4和圖5的仿真結果可以得出,傳統(tǒng)的基于小波神經網絡PID的自適應巡航算法能夠以較高的精度逼近期望行駛方向,且當方向變化時能夠以更快的速度調整方向以保持與期望路線的一致,可以更好地滿足實際需求。
提出了一種新的基于小波神經網絡PID的模型,對于同樣的學習任務,小波神經網絡輸出誤差控制在5度以內,且能更快地逼近期望值,精度更高,收斂速度更快。實驗結果表明,能夠滿足使用需求,且誤差較小,瞬態(tài)性能良好,為無人駕駛戰(zhàn)車的戰(zhàn)術編隊和行進提供了新的思路。