江 深,張海蘭
(1.廣東科技學院機電工程學院,廣東 東莞 523000;2.中國礦業大學(北京)機電與信息工程學院,北京 100083)
信息技術和網絡技術的快速發展,促使各行各業均在向智能化方向發展,其中也包括汽車行業,各種新型設備和無人駕駛技術應時而生,并且都取得了非常快的發展速度。無人駕駛車輛通過路況感知模塊實現對路徑的規劃和車輛周圍環境的探測,對于行駛路徑的精度主要由轉向控制模塊來實現,而轉向控制精度與車輛模型以及轉向位移偏差修正存在非常緊密的聯系。若利用線性模型對無人駕駛車輛進行轉向控制和偏差修正,往往存在精度較低、控制效果不理想的情況,并且在周圍環境帶有干擾因素的前提下,魯棒性也較差。而利用非線性模型,則可以很好地解決這些問題,將車輛行駛過程中的動態特性與轉向控制高度擬合在一起,有效提高轉向控制精度,使轉向位移偏差為最低。
也曾有相關學者對此展開深入研究,文獻[1]針對無人駕駛履帶車輛建立了運動學模型,綜合考慮所有影響車輛正常行駛的因素,減少建模誤差和行駛誤差,利用環境約束手段使車輛保持在預定路段行駛,減少轉向偏差。該算法有效抑制了外界的不確定因素,但是計算過程較復雜,不利于大范圍推廣使用;文獻[2]利用非線性干擾觀測器對無人駕駛車輛建模分析,將外部干擾和不確定因素綜合考慮在內,通過對無人駕駛機器人車輛的操縱以及油門制動,使車輛始終保持在勻速行駛狀態下,在遇到干擾路段時,自動降低車速或者轉向行駛,該算法主要從速度方面實現對無人駕駛車輛的控制,但是對轉向控制方面的研究不是很深。
對于無人駕駛車輛的轉向位移偏差修正大多是在恒定縱向速度或者離散速度梯度下實現的,本文針對不同縱向速度下的無人駕駛車輛轉向特性之間的差異性,提出了一種新的轉向位移偏差修正算法。首先建立車輛運動模型,采集車輛在行駛過程中產生的各種速度值,將縱向速度的變化作為分區劃分依據,得到不同速度下車輛的時間分段函數。將轉向控制傳感器采集到的數據與正常數據對比,提取出誤差數據,利用最小二乘法和誤差平方和最小的原則,建立轉向位移偏差修正模型,以此實現對誤差的修正。
對無人駕駛車輛的轉向控制[3]屬于非常復雜、且具有多種影響因素的一個過程,在對其進行分析的過程中,通常使用二自由度模型來實現,如圖1所示。

圖1 車輛二自由度模型
XbYb表示模型坐標中的橫軸和縱軸,O為模型坐標系的中心點,在Xb軸上,車輛無論是向上運動還是向下運動均看作為縱向運動,在Yb軸上,車輛無論是向左運動還是向右運動,均看作為橫向運動。在XbYb坐標系中,可得到車輛在行駛過程中產生的加速度[4]、速度和車輪側向力,在進行分解計算時,可以得到如式(1)所示的方程式:
(1)
其中,v表示車輛在做橫向運動時的速度,u表示車輛在做縱向運動時的速度,ωr表示車輛行駛過程中產生的橫擺角速度,m表示無人駕駛車輛自身的總重量,I表示車輛在行駛過程中車軸產生的總轉動慣量[5],lf表示前輪與車輛質心的距離大小,lr表示后輪到車輛質心的距離,μr表示車輛行駛過程中,輪胎與地面之間的附著系數,cr表示車輛前輪產生的偏差剛度,cf表示車輛后輪產生的偏差剛度。
為了方便后續計算,將車輛運動模型轉換為狀態空間[6]的形式,轉換后的矩陣公式如式(2)所示
(2)
式中,δj表示無人駕駛車輛的轉向角,e表示整個車軸在行駛過程中產生的偏差剛度[7],下標1和下標2分別表示車輛的前軸和后軸,h表示整個車輛的質心高度。由此得到車輛運動系統模型轉換為狀態空間的形式,如式(3)所示
(3)

為對無人駕駛車輛實現轉向控制,將車輛在行駛過程中產生的橫擺角速度進行積分近似運算,得到航向角φ,轉換方程計算過程如式(4)所示
(4)
將轉換方程與積分運算結合在一起,將φ和車輛產生的橫向速度v以及縱向速度u轉換為位移X與Y,轉換過程和以狀態空間形式存在的車輛系統模型如圖2所示。

圖2 車輛系統模型
在縱向速度u不同的情況下,無人駕駛車輛轉向控制的效果也有所不同。由于u在實際的行駛過程中,常常因為加速或者減速的需求,并不是恒定[8]不變的,即使是在定速巡航的模式下,u的值都會發生一些變化。為了使轉向控制更加精確,需要在轉向位移偏差修正算法中加入對縱向速度變化的思考。


圖3 離散過程
速度為0的點直接忽略不計,對其余的點做分區處理,找出不同縱向速度u下包含的不同行車工況函數點,將這些點集合起來,得到離散函數g(u)。工況[9]函數點中速度的概率分布值如式(5)所示
(5)
進一步求得速度的概率統計值如式(6)所示
(6)
為了使得車輛轉向控制產生的偏差最小,對縱向速度的分區跨度不宜過大和過多,過大會導致轉向精度較低,過多則會導致整個算法的計算效率下降。使n=∏(u*/20),將T(u)=(1/n,2/n,…,(n-1)/n)處的縱向速度u看作分區的界線,以此可以獲得n個區間。
(7)
在第j個區間(uja,ujb)內,通過求解式(7)的值,即可得到區間速度均值uj,作為后續的訓練速度使用。
為了在無人駕駛車輛行駛過程中實現速度的自動分區,首先需要實現控制單元間的自動切換[10],根據式(7)的計算結果得到控制單元的隸屬函數如式(8)所示
(8)
其中,ε表示在隸屬度為1的情況下,速度區間的半徑大小,a、b、c、d均為常規系數[11],表示兩個區間之間的過渡。為了使得車輛在行駛過程中,實現柔和的速度區間轉換,利用Hermite插值函數完成式(8)的賦值與計算。與此同時,為了確保控制單元的柔和切換,在(u→0)和(u→u*)兩個區間之間,將h1(u)和hn(u)的函數值設為1。根據當前車輛產生的縱向速度u,以及區間控制單元[12]產生的轉向角控制信號,與δj相對應的隸屬函數值為h1(u),分級控制單元產生的轉向角控制信號如式(9)所示
(9)
將無人駕駛車輛傳感器采集到的所有數據上傳至計算機中,作進一步分析,從中挑選出誤差數據。由于誤差數據通常以離散的狀態存在,想要通過算法實現精準辨別以及修正,就要將離散的誤差數據轉換為一條連續的線,代入到誤差曲線模型中,本文通過最小二乘法來實現,并且遵循誤差平方和最小這一基本原則,實現對非線性誤差的精準修正。
按照上文所提,將轉向位移偏差數據轉換為離散數據si=(i=0,1,2,…,n)的形式,同時為了對比,對正常運行狀態下的數據同樣也做了轉換,為yi=(i=0,1,2,…,n),由此可得到誤差序列為ei=yi-si。遵循誤差平方和最小這一基本原則,將誤差曲線的近似函數u(xi)與誤差數據(xi,ei)之間的差值δi=u(xi)-ei的平方和保持最小值,則有
(10)
換句話說,也就是求解與誤差數據之間距離平方和最小的曲線,作為無人駕駛車輛轉向位移偏差的擬合曲線。

(11)

綜上所述,本文提出的無人駕駛車輛轉向位移偏差修正算法的實現流程如圖4所示。

圖4 算法流程
為驗證本文算法是否能夠對無人駕駛車輛的轉向位移偏差實現有效修正,與文獻[1]算法、文獻[2]算法在抗干擾能力和誤差修正兩方面進行對比仿真。在測試抗干擾性能時,分別取一段直行路段和一段曲線路段,產生的所有數據經由Tableau Softwar軟件進行處理和分析,存儲在SQL SERVER 2000數據庫內,依托Windows2010系統實現。
直行路段從坐標系中心點開始縱向行駛80米,曲線路徑為以(0,0)點為中心,直徑70米以內的路徑。為了驗證本文算法在遇到突發路段時的抗干擾能力,在直行路段中的(0,15)和(0,50)處,以及曲線路徑中的(-35,25)和(30,50)處分別添加一段減速度作為干擾因素。三種算法中,無人駕駛車輛行駛速度相同,均為15km/h,實驗結果如圖5、圖6、圖7所示。

圖5 文獻[1]算法抗干擾能力

圖6 文獻[2]算法抗干擾能力

圖7 本文算法抗干擾能力
從圖5、圖6、圖7中可以看出,文獻[1]和文獻[2]兩種算法在行駛過程中遇到干擾因素的情況下,對轉向控制的計算偏差較大,而本文算法不管是在正常路段還是有干擾路段,轉向誤差始終變化幅度較小,說明本文算法在加入了最小二乘法后,增強了對不確定路段的抗干擾能力。
接下來對三種算法在偏差修正方面的性能進行檢驗,在相同路段、行駛速度相同的情況下,實驗結果如圖8所示。

圖8 三種算法轉向誤差修正對比
從圖8中可以看出,運用本文算法對轉向位移偏差進行修正后,大大提高了轉向控制精度,使得車輛始終保持在期望路徑上行駛,而且本文算法修正后的偏差,基本與期望路徑重合,將轉向控制過程中產生的誤差降到了最低。
由于傳統算法并沒有對無人駕駛車輛轉向位移偏差提出很好的修正算法,為此,本文利用非線性模型提出了一種新的算法,在抗干擾能力和修正精度方面都取得了理想的效果。首先,通過建立車輛運動模型,得到車輛的縱向速度,以此作為區間控制單元的劃分依據,將車輛的行駛時間劃分為不同的分段函數;然后,從傳感器采集到的數據中提取出誤差數據,與正常數據做對比,得到轉向偏移誤差值;最后在最小二乘法和誤差平方和最小原則的基礎上,建立轉向位移偏差修正模型,實現對無人駕駛車輛的轉向誤差修正,為無人駕駛車輛的研究提供了重要的參考依據。