李杰,賈長(zhǎng)旺,趙旗
(吉林大學(xué)汽車仿真與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)春 130025)
傳統(tǒng)的汽車?yán)碚撌遣捎镁€性輪胎模型進(jìn)行汽車性能研究的,經(jīng)典的汽車操縱穩(wěn)定性理論也是在此基礎(chǔ)上發(fā)展起來(lái)的[1]。然而,輪胎非線性對(duì)汽車性能的影響很大,在高速或大轉(zhuǎn)角行駛條件下,輪胎很容易進(jìn)入非線性區(qū)域,如果再使用線性輪胎模型進(jìn)行汽車性能研究,會(huì)造成較大的誤差[2]。
轉(zhuǎn)向非線性平衡點(diǎn)是進(jìn)行汽車轉(zhuǎn)向非線性穩(wěn)定性分析與控制的起點(diǎn),只有在確定轉(zhuǎn)向非線性平衡點(diǎn)后才能判別汽車轉(zhuǎn)向非線性運(yùn)動(dòng)穩(wěn)定性。穩(wěn)定的轉(zhuǎn)向非線性平衡點(diǎn)決定了汽車非線性轉(zhuǎn)向運(yùn)動(dòng)的穩(wěn)定性,不穩(wěn)定的非線性轉(zhuǎn)向平衡點(diǎn)表征了汽車非線性轉(zhuǎn)向穩(wěn)定域的邊界,由此劃分出汽車轉(zhuǎn)向非線性運(yùn)動(dòng)的穩(wěn)定域和非穩(wěn)定域[3],便于分析和應(yīng)用。通過將轉(zhuǎn)向非線性平衡點(diǎn)作為穩(wěn)定域邊界,可用雙直線[4]或菱形[5-7]等描述汽車非線性運(yùn)動(dòng)的穩(wěn)定域,以此實(shí)現(xiàn)汽車轉(zhuǎn)向非線性穩(wěn)定性控制系統(tǒng)設(shè)計(jì)[8-9]。此外,非線性分岔可能會(huì)在轉(zhuǎn)向非線性平衡點(diǎn)處發(fā)生[10-13]。一旦發(fā)生分岔,汽車很有可能會(huì)變得不穩(wěn)定[14-15]。因此,針對(duì)不同行駛條件,定量確定轉(zhuǎn)向非線性平衡點(diǎn)及其變化規(guī)律,對(duì)汽車非線性轉(zhuǎn)向穩(wěn)定性分析與控制的研究具有重要意義。
以往求解轉(zhuǎn)向非線性平衡點(diǎn),最常用的方法是通過在相平面或者相空間中繪制相軌跡獲得[3-6],優(yōu)點(diǎn)是清晰直觀。然而,這種圖解法的缺點(diǎn)是只能確定轉(zhuǎn)向非線性平衡點(diǎn)的大概位置;并且對(duì)于轉(zhuǎn)向非線性平衡點(diǎn)的連續(xù)求解和復(fù)雜汽車模型的轉(zhuǎn)向非線性平衡點(diǎn)求解,這種圖解法也是有一定難度的。
為了克服轉(zhuǎn)向非線性平衡點(diǎn)求解圖解法的缺點(diǎn),提出了求解轉(zhuǎn)向非線性平衡點(diǎn)的常規(guī)數(shù)值方法和遺傳算法[16]。常規(guī)數(shù)值方法多采用梯度類算法求解轉(zhuǎn)向非線性平衡點(diǎn),如下降法、牛頓法或擬牛頓法等,存在初值敏感性問題,即對(duì)初值比較依賴,沒有較好的初值,往往得到較好的結(jié)果。遺傳算法是一種智能算法,具有較強(qiáng)的全局尋優(yōu)能力,不依賴初值,已經(jīng)用于轉(zhuǎn)向非線性平衡點(diǎn)的求解,但是遺傳算法存在早熟、停滯、重復(fù)等問題,造成過多的迭代。為克服遺傳算法存在的問題,提出了將遺傳算法與擬牛頓法相結(jié)合求解轉(zhuǎn)向非線性平衡點(diǎn)的混合優(yōu)化算法[17],取得了不錯(cuò)的效果。但是算法復(fù)雜,耗時(shí)較長(zhǎng),在求解轉(zhuǎn)向非線性平衡點(diǎn)時(shí),會(huì)耗費(fèi)很多時(shí)間。因此,需要對(duì)轉(zhuǎn)向非線性平衡點(diǎn)的求解進(jìn)行更多的研究,找到一些更加簡(jiǎn)單和快速求解轉(zhuǎn)向非線性平衡點(diǎn)的方法,以便更好地開展汽車轉(zhuǎn)向非線性穩(wěn)定性分析與控制的相關(guān)研究。
針對(duì)轉(zhuǎn)向非線性平衡點(diǎn)求解問題,在前人研究的基礎(chǔ)上,結(jié)合汽車轉(zhuǎn)向非線性2自由度模型,提出求解轉(zhuǎn)向非線性平衡點(diǎn)的粒子群算法,對(duì)轉(zhuǎn)角、路面附著系數(shù)和車速分別變化行駛條件的轉(zhuǎn)向非線性平衡點(diǎn)進(jìn)行求解。
汽車轉(zhuǎn)向2自由度模型是最經(jīng)典的操縱穩(wěn)定性模型,可以揭示汽車的基本規(guī)律,應(yīng)用廣泛[1]。因此,選擇汽車轉(zhuǎn)向2自由度模型為研究對(duì)象。考慮汽車的側(cè)向運(yùn)動(dòng)和橫擺運(yùn)動(dòng)兩個(gè)自由度,模型的微分方程表示為:
式中:m為汽車總質(zhì)量;Iz為橫擺轉(zhuǎn)動(dòng)慣量;a為汽車質(zhì)心到前輪的距離;b為汽車質(zhì)心到后輪的距離;ay為汽車質(zhì)心側(cè)向加速度;γ為汽車質(zhì)心橫擺角速度;Fyf為前軸輪胎側(cè)向力;Fyr為后軸輪胎側(cè)向力。
汽車質(zhì)心側(cè)向加速度的計(jì)算公式為:
式中:u為汽車縱向速度,假設(shè)為常速;β為汽車質(zhì)心側(cè)偏角。
將式(3)代入式(1),有:
聯(lián)立式(4)和式(2)進(jìn)行變換,得:
取狀態(tài)變量x=[β,γ]T,將式(5)和式(6)改寫成狀態(tài)方程,有:
采用簡(jiǎn)化魔術(shù)公式輪胎模型描述輪胎側(cè)向力,公式為:
式中:μ為路面附著系數(shù);Fz為車輪垂向載荷;α為輪胎側(cè)偏角;C和B為魔術(shù)輪胎模型參數(shù)。
將式(8)應(yīng)用于前后輪胎時(shí),需要確定前后輪垂向載荷和前后輪胎側(cè)偏角。前后輪垂向載荷計(jì)算公式為:
式中:Fzf為前輪垂向載荷;Fzr為后輪垂向載荷;g為重力加速度。
前后輪胎側(cè)偏角計(jì)算公式為
式中:αf為前輪胎側(cè)偏角;αr為后輪胎側(cè)偏角;δ為前輪轉(zhuǎn)角。
式(8)的非線性導(dǎo)致Fy非線性,因此,式(7)就成為非線性方程,可表示為非線性自治系統(tǒng)的形式:
滿足?=0,即同時(shí)滿足?=f1(β,γ)=0和γ?=f2(β,γ)=0的點(diǎn)xe=[βe,γe]T,稱為汽車轉(zhuǎn)向非線性平衡點(diǎn),簡(jiǎn)稱為轉(zhuǎn)向平衡點(diǎn)。
粒子群算法(Particle Swarm Optimization,PSO)是模擬鳥群覓食行為而提出的一種優(yōu)化算法。鳥群在搜索食物時(shí),會(huì)相互交換信息,每只鳥根據(jù)自身信息與其他鳥信息,再根據(jù)自己與食物的距離對(duì)搜索方向做出調(diào)整。在距離食物最近的鳥的周圍區(qū)域搜索可以更快找到食物,通過鳥之間的合作可以使鳥群最快搜索到食物[18]。
在PSO中,將優(yōu)化問題的解看作是搜索空間中的一只鳥,稱為“粒子”,將鳥群作為“群體”。每個(gè)粒子具有和鳥類捕食類似的行為規(guī)則,從搜索空間的隨機(jī)解出發(fā),通過逐步迭代搜索問題的最優(yōu)解。在每一步迭代中,粒子根據(jù)本身的最優(yōu)解和整個(gè)群體的最優(yōu)解來(lái)調(diào)整自己的速度,群體更新當(dāng)前最優(yōu)解,從而使個(gè)體和群體逐步優(yōu)化。
下面對(duì)粒子群算法的實(shí)現(xiàn)過程進(jìn)行描述。假設(shè)在一個(gè)D維的搜索空間中,有N個(gè)粒子組成一個(gè)群體。對(duì)于i=1,2,…,N,第i個(gè)粒子的位置表示為一個(gè)D維向量:
第i個(gè)粒子的速度也是一個(gè)D維向量:
第i個(gè)粒子迄今為止搜索到的最優(yōu)位置稱為個(gè)體極值,記為:
迄今為止,整個(gè)粒子群搜索到的最優(yōu)位置為全局極值,記為:
在每一步的迭代中,粒子根據(jù)如下公式來(lái)更新自己的速度和位置:
式中:w為慣性權(quán)重;c1和c2為學(xué)習(xí)因子;r1和r2為[0,1]范圍內(nèi)的均勻隨機(jī)數(shù)。
粒子群算法流程,如圖1所示。為了實(shí)現(xiàn)粒子群算法,首先,要根據(jù)具體問題,設(shè)計(jì)適應(yīng)度函數(shù)fitness,用于計(jì)算適應(yīng)度;其次,設(shè)置基本參數(shù),包括維數(shù)D、粒子數(shù)目N、慣性權(quán)重w、學(xué)習(xí)因子c1和c2、最大迭代數(shù)M、精度ε;再次,設(shè)置粒子群初始的位置和速度,既可以設(shè)置為隨機(jī)值,也可以根據(jù)求解的問題設(shè)置相應(yīng)范圍;最后,設(shè)置迭代終止條件,讓迭代次數(shù)k達(dá)到最大迭代次數(shù)M或者適應(yīng)度f(wàn)itness滿足精度要求ε,即:
圖1 粒子群算法流程
為了應(yīng)用粒子群算法求解轉(zhuǎn)向平衡點(diǎn),需要設(shè)計(jì)適應(yīng)度函數(shù)fitness。轉(zhuǎn)向平衡點(diǎn)求解問題,就是找出?=f1(β,γ)=0和?=f2(β,γ)=0的解,可以將其轉(zhuǎn)換為求解適應(yīng)度函數(shù)最小值的數(shù)學(xué)問題,即:
求解轉(zhuǎn)向平衡點(diǎn)的粒子群算法,步驟具體如下:
(1)設(shè)置粒子群算法基本參數(shù):維數(shù)D、粒子數(shù)目N、慣性權(quán)重w、學(xué)習(xí)因子c1和c2、最大迭代數(shù)M、精度ε。
(2)確定粒子群位置范圍(βmin,βmax)、(γmin,γmax)和速度范圍[-vβm,vβm]、[-vγm,vγm]。
(3)在粒子群位置范圍和速度范圍內(nèi),生成均勻分布的每個(gè)粒子的位置初值βi、γi和速度初值vβi、vγi,i=1,2,…,N。
(4)由式(21)計(jì)算每個(gè)粒子的適應(yīng)度f(wàn)itness。
(5)通過逐步比較,獲得每個(gè)粒子的個(gè)體最優(yōu)位置βibest、γibest,通過整個(gè)種群比較,獲得群體最優(yōu)位置βbest、γbest。
(6)檢查是否滿足終止條件,即式(20),如果滿足,結(jié)束搜索,輸出當(dāng)前群體最優(yōu)值βbest、γbest;如果不滿足,轉(zhuǎn)向步驟(7)。
(7)迭代更新第k+1步的粒子速度:首先,按照式(18)初步更新每個(gè)粒子速度,得到v′βi、v′γi;其次,要保證速度在限制范圍內(nèi),因此,第k+1步迭代的粒子速度為:
(8)迭代更新第k+1步的粒子位置:首先,按照式(19)初步計(jì)算每個(gè)粒子位置,得到β′i、γ′i;其次,保證粒子位置在限制范圍內(nèi),當(dāng)β′i>βmax時(shí),將β′i依次減去βmax-βmin,直到βi′∈[βmin,βmax];當(dāng)β′i<βmin時(shí),將 β′i依 次 加 上 βmax-βmin,直 到β′i∈[βmin,βmax];粒子位置βik+1為處理后的β′i,按照同樣的方法得到γki+1。
(9)轉(zhuǎn)入步驟(4)。
需要指出的是,粒子群算法是一種啟發(fā)式算法,具有隨機(jī)性,一次求出的結(jié)果不一定都能滿足精度要求。當(dāng)結(jié)果不滿足精度要求時(shí),通過多次運(yùn)行程序求解或者改變?nèi)撼踔岛颓蠼夥秶瑔栴}就會(huì)得到解決。
設(shè)置汽車和輪胎參數(shù),見表1;設(shè)置粒子群算法參數(shù),見表2。
表1 汽車參數(shù)
表2 粒子群算法參數(shù)
選擇路面為良好路面,路面附著系數(shù)μ設(shè)置為0.8,車速u設(shè)置為70 km/h,汽車左轉(zhuǎn)和右轉(zhuǎn)情況相同,因此,只需要研究前輪轉(zhuǎn)角δ為正值的情況,范圍取為0~0.2 rad,以0.02 rad為間隔。
求解得到的3個(gè)轉(zhuǎn)向平衡點(diǎn),如表3~5所示。由這些表可以看出,應(yīng)用粒子群算法求解的轉(zhuǎn)向平衡點(diǎn)都能滿足設(shè)置的精度要求;在某一固定轉(zhuǎn)角下,一共有3個(gè)轉(zhuǎn)向平衡點(diǎn);隨著前輪轉(zhuǎn)角增大,第1個(gè)轉(zhuǎn)向平衡點(diǎn)和第3個(gè)轉(zhuǎn)向平衡點(diǎn)的β值增大,γ值變化不大;第2個(gè)平衡點(diǎn)的β值減小,γ值增大。
表3 u=70 km/h和μ=0.8時(shí)的第1個(gè)轉(zhuǎn)向平衡點(diǎn)
表4 u=70 km/h和μ=0.8時(shí)的第2個(gè)轉(zhuǎn)向平衡點(diǎn)
選擇從結(jié)冰路面到良好路面,路面附著系數(shù)μ范圍取0.2~1,以0.1為間隔??紤]到在結(jié)冰路面上汽車都會(huì)減速慢行,設(shè)置車速u為30 km/h,前輪轉(zhuǎn)角δ為0.1 rad。
求取的轉(zhuǎn)向平衡點(diǎn),如表6~8所示。由這些表可以看出,應(yīng)用粒子群算法求解的平衡點(diǎn)都能滿足設(shè)置的精度要求;在某一固定路面附著系數(shù)下,一共有3個(gè)轉(zhuǎn)向平衡點(diǎn);隨著路面附著系數(shù)的增大,第1個(gè)轉(zhuǎn)向平衡點(diǎn)β值增大,γ值減??;第2個(gè)轉(zhuǎn)向平衡點(diǎn)的β值增大,γ值增大;第3個(gè)轉(zhuǎn)向平衡點(diǎn)β值增大,γ值減小。
表6 u=30 km/h和δ=0.1 rad時(shí)的第1個(gè)轉(zhuǎn)向平衡點(diǎn)
選擇路面為良好路面,路面附著系數(shù)μ設(shè)置為0.8,車速u的范圍取30~120 km/h,以10 km/h為間隔,前輪轉(zhuǎn)角δ為0.1 rad。
表5 u=70 km/h和μ=0.8時(shí)的第3個(gè)轉(zhuǎn)向平衡點(diǎn)
表7 u=30 km/h和δ=0.1 rad時(shí)的第2個(gè)轉(zhuǎn)向平衡點(diǎn)
表8 u=30 km/h和δ=0.1 rad時(shí)的第3個(gè)轉(zhuǎn)向平衡點(diǎn)
求取的轉(zhuǎn)向平衡點(diǎn),如表9~11所示。由這些表可以看出,應(yīng)用粒子群算法求解的轉(zhuǎn)向平衡點(diǎn)都能滿足設(shè)置的精度要求;在某一固定車速下,一共有3個(gè)轉(zhuǎn)向平衡點(diǎn);隨著車速增大,第1個(gè)轉(zhuǎn)向平衡點(diǎn)值增大,總體變化不大,值減??;第2個(gè)轉(zhuǎn)向平衡點(diǎn)的值減小,值先增后減;第3個(gè)轉(zhuǎn)向平衡點(diǎn)值減小,值增大。
表9 μ=0.8和δ=0.1 rad時(shí)的第1個(gè)轉(zhuǎn)向平衡點(diǎn)
表10 μ=0.8和δ=0.1 rad時(shí)的第2個(gè)轉(zhuǎn)向平衡點(diǎn)
表11 μ=0.8和δ=0.1rad時(shí)的第3個(gè)轉(zhuǎn)向平衡點(diǎn)
(1)建立了汽車轉(zhuǎn)向非線性2自由度模型,其中由微分方程和狀態(tài)方程表示的汽車模型適于任何輪胎模型;給出了轉(zhuǎn)向非線性平衡點(diǎn)的定義,提出了求解轉(zhuǎn)向非線性平衡點(diǎn)的粒子群算法,其為智能算法,易于實(shí)現(xiàn)和精度較高,可以達(dá)到設(shè)置的精度要求。
(2)對(duì)3種行駛條件下轉(zhuǎn)向非線性平衡點(diǎn)進(jìn)行了求解,結(jié)果表明,粒子群算法可以求出對(duì)應(yīng)給定精度10-4的3個(gè)轉(zhuǎn)向平衡點(diǎn);隨著轉(zhuǎn)角、車速的增加和路面附著系數(shù)的減小,轉(zhuǎn)向平衡點(diǎn)的變化范圍減小,第1個(gè)平衡點(diǎn)會(huì)和第2個(gè)平衡點(diǎn)相互靠近,為后續(xù)的汽車轉(zhuǎn)向非線性穩(wěn)定性分析與控制提供了前提。