郭璧璽,杜興樂(lè),陶小松
(長(zhǎng)安大學(xué) 汽車學(xué)院,陜西 西安 710064)
智能汽車研究的重要問(wèn)題之一就是路徑跟蹤問(wèn)題,路徑跟蹤的實(shí)質(zhì)其實(shí)指的是智能汽車平穩(wěn)且無(wú)誤差的按著上層已規(guī)劃決策好的期望路徑行駛的能力。郭景華[1]等教授較為全面地總結(jié)了目前在路徑跟蹤控制方面的最新研究成果,對(duì)其主要方法有:純跟蹤算法、模糊控制方法、滑??刂品椒?、模型預(yù)測(cè)控制算法、PID 控制方法、H 魯棒方法等。其中,對(duì)于純追蹤算法的研究很早之前就已開始,因簡(jiǎn)單易用而得到廣泛應(yīng)用。純追蹤算法的路徑跟蹤效果好壞主要取決于前視距離選定。
較大的前視距離可能會(huì)使車輛沿著期望路徑行走時(shí)產(chǎn)生“走捷徑”現(xiàn)象,不能很好地跟蹤整個(gè)路徑;較小的前視距離會(huì)使可能會(huì)使車輛跟蹤會(huì)產(chǎn)生振蕩。本文對(duì)于前視距離的調(diào)節(jié)綜合考慮車速以及橫向偏差與航向偏差,實(shí)現(xiàn)了對(duì)前視距離的較好調(diào)節(jié),對(duì)仿真結(jié)果的分析后發(fā)現(xiàn),此方法提高了智能車的路徑跟蹤效果。
分析中忽略轉(zhuǎn)向系統(tǒng)的影響,直接以前輪轉(zhuǎn)角作為輸入;忽略懸架的作用,認(rèn)為汽車車廂只進(jìn)行與地面平行的平面運(yùn)動(dòng),即忽略汽車豎直方向的位移,并且忽略汽車的俯仰角以及側(cè)傾角,因此,將汽車簡(jiǎn)化為線性二自由度的汽車模型[2]。下圖為二自由度汽車的運(yùn)動(dòng)學(xué)模型。
圖1 車輛運(yùn)動(dòng)學(xué)模型
對(duì)上述車輛運(yùn)動(dòng)學(xué)模型進(jìn)行簡(jiǎn)單推導(dǎo)后可以得到如下運(yùn)動(dòng)學(xué)等式:
式中:xr為車輛位置的橫坐標(biāo),vr為車輛后軸瞬時(shí)速度,θ 為車輛的航向角。
式中:yr為車輛位置的橫坐標(biāo),vr為車輛后軸瞬時(shí)速度,θ 為車輛的航向角。
式中:φ 為前輪轉(zhuǎn)角,vr為車輛后軸瞬時(shí)速度,θ 為車輛的航向角。
純跟蹤算法在智能車輛路徑跟蹤控制中的應(yīng)用已有大量的研究,該算法假設(shè)車輛從起始點(diǎn)沿著一條圓弧路到達(dá)期望的目標(biāo)位置,根據(jù)車輛的阿克曼轉(zhuǎn)向定律很容易就得到前輪轉(zhuǎn)向角的控制量[3]。每執(zhí)行一個(gè)指令周期后,更新后軸坐標(biāo)以及前視距離,就可以得到實(shí)時(shí)的前輪轉(zhuǎn)向角控制量。
圖2 純跟蹤算法
由上述運(yùn)動(dòng)學(xué)模型,根據(jù)幾何知識(shí),容易推導(dǎo)出:
式中:為車輛航向與前視向量之間的夾角,ld 為前視距離,R 為車輛作圓周運(yùn)動(dòng)的轉(zhuǎn)向半徑。
由阿克曼轉(zhuǎn)向定律可知:
式中:δ 為前輪轉(zhuǎn)角,L 為車輛的,R 為車輛作圓周運(yùn)動(dòng)的轉(zhuǎn)向半徑。
將公式(4)代入公式(5)之中,可得前輪轉(zhuǎn)角控制量為:
純跟蹤算法研究的重點(diǎn)始終是前視距離的選定[4],傳統(tǒng)純跟蹤算法的前視距離定一般按如下公式確定:
式中,Lamin 是使得車輛穩(wěn)定跟蹤路徑的最小前視距離,K 為車速的增益,v 是車輛當(dāng)前行駛速度,|v|c是一個(gè)車輛行駛速度界限值。
按照公式(7)確定的前視距離,只考慮了車速對(duì)前視距離的影響,這明顯是不合理的。當(dāng)橫向誤差或者航向誤差較小,而車速較高時(shí),由于此時(shí)的前視距離過(guò)大,會(huì)導(dǎo)致下一時(shí)刻無(wú)人車對(duì)路徑的跟蹤誤差大大增加,并且很長(zhǎng)時(shí)間以后才能將跟蹤誤差減小。所以,引入模糊控制器對(duì)公式(7)中的可調(diào)增益K 進(jìn)行處理,將模糊控制器的輸入設(shè)為橫向偏差以及航向偏差,輸出設(shè)為前視距離,由此,就可以綜合考慮車速,橫向偏差以及航向偏差給前視距離帶來(lái)的影響,得到更合理的前視距離參數(shù)。
將橫向偏差和航向偏差作為模糊控制器的兩個(gè)輸入[5],輸出設(shè)為車速的增益K,模糊語(yǔ)言值為:
(1)橫向偏差Ed:{右大,右中,右小,零,左小,左中,左大}={YD,YZ,YX,O,ZX,ZZ,ZD},根據(jù)實(shí)驗(yàn)結(jié)果,一般將橫向偏差的論域確定為[-15m,15m]。
(2)航向偏差Ec:{右大,右中,右小,零,左小,左中,左大}={RB,RM,RS,Z,LS,LM,LB},規(guī)定車體航向偏向期望路徑左側(cè)時(shí),航向偏角為正,其論域?yàn)閇-90°,90°]。
(3)車速的增益K:{很大,大,較大,適中,較小,小,很小}={VB,B,CD,M,CS,S,VS},根據(jù)對(duì)實(shí)驗(yàn)數(shù)據(jù)的計(jì)算推導(dǎo),可以確定車速的增益K 一般為[1,4]。
為了簡(jiǎn)化算法,采用標(biāo)準(zhǔn)的三角形隸屬度函數(shù)。確定各變量論域以及隸屬度函數(shù)以后,再確定模糊推理規(guī)則。模糊推理規(guī)則的制定原則為:橫向偏差與航向偏差越大,車速的增益K 就越大,反之則越小。這里共總結(jié)了 49 條模糊推理規(guī)則,制定了模糊推理規(guī)則表,如表 1 所示。
表1 模糊推理規(guī)則表
由模糊推理機(jī)制得出的速度增益K 是一個(gè)模糊子集,需要進(jìn)行解模糊化,本文采用重心法進(jìn)行解模糊化操作。
設(shè)定車輛初始位置在(0,0)點(diǎn)處,航向偏角為-45°。傳統(tǒng)算法與改進(jìn)算法的跟蹤軌跡如圖3(a)所示。橫向偏差隨時(shí)間變化曲線如圖3(b)所示??梢钥闯?,傳統(tǒng)算法的最大橫向偏差為1.44m,平均誤差為0.53m,并且誤差處于逐漸減小的振蕩狀態(tài)。改進(jìn)算法的最大橫向偏差為0.12m,平均偏差為0.013m,并且車輛在第3.5s 進(jìn)入期望路徑。
圖3 直線路徑跟蹤比較圖
圖4 定曲率路徑跟蹤比較圖
設(shè)定車輛初始位置在(0,0)點(diǎn)處,航向偏角為-90°。傳統(tǒng)算法與改進(jìn)算法的跟蹤軌跡如圖4(a)所示。橫向偏差隨時(shí)間變化曲線如圖4(b)所示??梢钥闯?,傳統(tǒng)算法的最大橫向偏差為1m,平均偏差為0.75m,并且車輛在第6s 進(jìn)入期望路徑。改進(jìn)算法的最大橫向偏差為1m,平均偏差為0.65m,并且車輛在第4s 進(jìn)入期望路徑。
以上將橫向偏差與航向偏角作為輸入,應(yīng)用模糊算法對(duì)純追蹤算法公式(7)中的可調(diào)增益K 進(jìn)行調(diào)節(jié),從而得到更合理的前視距離,減小了跟蹤誤差,縮短了調(diào)節(jié)時(shí)間。對(duì)傳統(tǒng)算法和改進(jìn)算法在兩種道路形狀下仿真的跟蹤效果進(jìn)行分析比較,可看出改進(jìn)后的純跟蹤算法能更好地跟蹤路徑,最大跟蹤誤差和全程平均誤差都明顯減小。并且,在跟蹤直線路徑與定曲率路徑時(shí),改進(jìn)算法的調(diào)節(jié)時(shí)間都大大縮減??梢?jiàn),改進(jìn)后的算法能夠適應(yīng)實(shí)際車輛行駛過(guò)程中的動(dòng)態(tài)要求,有效地提高了路徑的跟蹤效果。