孟育博,趙 科,郭 鵬,康虓源,魏 博,陳 罡
(河南工程學(xué)院 機(jī)械工程學(xué)院,河南 鄭州 451191)
隨著計(jì)算機(jī)技術(shù)和車聯(lián)網(wǎng)技術(shù)的快速發(fā)展,自動泊車輔助系統(tǒng)受到國內(nèi)外學(xué)者的廣泛關(guān)注[1-2]。在車位檢測方面:Jung等[3]使用立體視覺技術(shù)對車位進(jìn)行測試;Jeong等[4]采用超聲波對平行泊車方式下的車位信息進(jìn)行檢測;姜金山[5]采用圖像處理技術(shù)對泊車過程中車位特征點(diǎn)進(jìn)行采集,并使用數(shù)據(jù)融合算法對特征點(diǎn)進(jìn)行分析,車位檢測的精度得到了提高;葉浩[6]利用廣角鏡頭,聯(lián)合超聲波雷達(dá)進(jìn)行車位辨識,進(jìn)一步提高了辨識的精度。在路徑規(guī)劃方面:Kim等[7]在泊車空間較小的情況下,采用圓弧和直線相結(jié)合的方式進(jìn)行路徑規(guī)劃,但由于存在分段點(diǎn),路徑追蹤難度較大;Hsu等[8]在轉(zhuǎn)向盤轉(zhuǎn)角及行程變化規(guī)律基礎(chǔ)上,采用圓弧路徑進(jìn)行路徑規(guī)劃,但運(yùn)用時較困難。在路徑追蹤方面:Kanayama等[9]設(shè)計(jì)非線性控制方案,采用李雅普諾夫定理對穩(wěn)定性進(jìn)行驗(yàn)證,但車輛速度和方向無法單獨(dú)控制;Tashiro等[10]采用預(yù)測模型進(jìn)行路徑跟蹤,但此方法在垂直泊車時存在無法控制的可能性;張鵬等[11]基于CarSim仿真軟件,采用PID控制算法進(jìn)行縱向路徑跟蹤控制,但使用環(huán)境有一定的限制。因此,本研究基于車輛動力學(xué)理論進(jìn)行模型搭建,并進(jìn)行泊車路徑規(guī)劃曲線和路徑跟蹤預(yù)測模型控制算法的設(shè)計(jì),采用CarSim和MATLAB/Simulink進(jìn)行聯(lián)合仿真,以期為自動泊車的實(shí)際應(yīng)用提供理論支撐。
泊車過程非常復(fù)雜,與駕駛員狀況、車輛外形、車位形狀等多種因素都存在著關(guān)系,為便于研究,需要對上述因素進(jìn)行簡化。本研究假設(shè)車輛為長方形剛體,不規(guī)則形狀忽略不計(jì)。為保證泊車安全,一般要求車輛速度不超過3.6 km/h。在低速狀態(tài)下,車輪的側(cè)向力較小,可忽略不計(jì),即可保證在泊車過程中不發(fā)生側(cè)滑。本研究將車輛簡化為如圖1所示的矩形,并基于阿克曼轉(zhuǎn)角原理對等效前輪轉(zhuǎn)角進(jìn)行分析,進(jìn)而搭建車輛的運(yùn)動學(xué)模型。
注:θ為車輛車身航向角;δ為車輛等效前輪轉(zhuǎn)角;f(xf, yf)和r(xr, yr)分別為前輪和后輪中心點(diǎn)坐標(biāo);a(xa, ya)、b(xb, yb)、c(xc, yc)和d(xd, yd)分別為車身4個頂點(diǎn)的坐標(biāo)。
同理,等效前輪轉(zhuǎn)角δ可根據(jù)前輪轉(zhuǎn)角之間的關(guān)系進(jìn)行計(jì)算,轉(zhuǎn)換關(guān)系示意圖如圖2所示。
圖2 等效前輪轉(zhuǎn)角轉(zhuǎn)換關(guān)系示意圖Fig.2 Schematic diagram of equivalent front wheel angle transformational relation
由圖2可推導(dǎo)出前輪轉(zhuǎn)角和等效前輪轉(zhuǎn)角之間的關(guān)系:
cotα+cotβ=2cotδ,
(1)
式中:α為前輪右側(cè)車輪轉(zhuǎn)角;β為前輪左側(cè)車輪轉(zhuǎn)角。
在泊車過程中,車輛速度較低時車輪的側(cè)向力可忽略,在此基礎(chǔ)上對圖2進(jìn)行分析可得
(2)
根據(jù)車輛前軸和后軸中心點(diǎn)的關(guān)系,可得出位移的關(guān)系式:
(3)
式中:l為軸距。
對距離進(jìn)行求導(dǎo)可得到速度的關(guān)系式:
(4)
將式(4)代入式(2)可得
(5)
前軸中心點(diǎn)的速度為
(6)
式(5)和式(6)聯(lián)合整理可得角速度
(7)
對以上公式進(jìn)行整理,可得前軸和后軸中心點(diǎn)的速度關(guān)系式:
(8)
(9)
對式(8)和式(9)進(jìn)行歸納,可得車輛在泊車過程中的運(yùn)動方程:
(10)
由式(10)可知,車輛位置隨著車輛速度和等效前輪轉(zhuǎn)角的變化而變化。同時,還要考慮泊車過程中車身4個方向頂點(diǎn)與車輛本身的系統(tǒng)約束問題,以及仿真出現(xiàn)碰撞等問題。因此,根據(jù)車輛運(yùn)動學(xué)模型(圖1)可得到車身頂點(diǎn)和后軸中心點(diǎn)之間的幾何關(guān)系。
左前和右前頂點(diǎn)的坐標(biāo)可分別表示為式(11)和式(12):
(11)
(12)
左后和右后頂點(diǎn)的坐標(biāo)可分別表示為式(13)和式(14):
(13)
(14)
式(11)至式(14)中:L為車長;W為車亮;lf為前懸;lr為后懸。
車輛轉(zhuǎn)向系統(tǒng)的約束為
(15)
式中:R為車輪轉(zhuǎn)彎半徑;ω為車前輪轉(zhuǎn)向角速度。
采用圓弧和直線連接的方法可簡化泊車路徑,但在路徑由圓弧轉(zhuǎn)換到直線的過程中,由于曲率不連續(xù),方向盤突然轉(zhuǎn)動將會導(dǎo)致泊車失敗,甚至損壞車輛。因此,本研究采用四次多項(xiàng)式曲線作為規(guī)劃路徑,這種路徑曲線是連續(xù)的,曲率也不會發(fā)生突然變化,可滿足車輛泊車路徑的運(yùn)動規(guī)律。垂直泊車路徑如圖3所示。
圖3 垂直泊車路徑Fig.3 Vertical parking path
本研究用四次多項(xiàng)式進(jìn)行垂直泊車路徑規(guī)劃,通用表達(dá)式為
Y=a0+a1X+a2X2+a3X3+a4X4,
(16)
式中:a0、a1、a2、a3和a4為多項(xiàng)式系數(shù)。
為計(jì)算出多項(xiàng)式系數(shù),需要根據(jù)車輛位置信息及車輛自身參數(shù)得出求解方程式,進(jìn)而得出多項(xiàng)式系數(shù),從而完成路徑規(guī)劃。通過對圖3中泊車路徑的分析,可得如下方程:
(17)
采用MATLAB軟件對垂直泊車路徑進(jìn)行仿真,結(jié)果如圖4所示。由圖4可知,在可行區(qū)域內(nèi)車輛可選任一點(diǎn)作為泊車起點(diǎn),車輛在泊車過程中不會發(fā)生碰撞,可安全地泊入車位,由此可見規(guī)劃的多項(xiàng)式曲線能夠滿足泊車要求。
圖4 垂直泊車路徑仿真Fig.4 Vertical parking path simulation
模型預(yù)測控制算法是在有限時域連續(xù)進(jìn)行反饋優(yōu)化的控制方法[12],其本質(zhì)是一種開環(huán)最優(yōu)控制算法。在泊車控制過程中,基于車輛整體的位置狀態(tài)模型和當(dāng)前狀態(tài)模型對未來時域的狀態(tài)進(jìn)行預(yù)測,并將預(yù)測結(jié)果實(shí)時反饋到控制器中對誤差進(jìn)行優(yōu)化??刂扑惴ㄓ?部分組成,分別為預(yù)測模型、滾動優(yōu)化和反饋及優(yōu)化校正。
由車輛運(yùn)動學(xué)模型(圖1)可知,本研究構(gòu)建的運(yùn)動學(xué)模型為非線性系統(tǒng),而基于模型的預(yù)估算法在線性或近似線性條件下才能正常使用,為適應(yīng)算法需求,需要進(jìn)行非線性時變的近似線性化處理。本研究構(gòu)建的運(yùn)動系統(tǒng)輸入為U(v,δ),輸出為X(x,y,θ),其模型如下:
(18)
當(dāng)車輛按照規(guī)劃路徑泊車時,首先收集路徑上任一點(diǎn)的狀態(tài)量X及任一時刻的位置控制量U,然后得出實(shí)際運(yùn)行數(shù)據(jù)和參考系統(tǒng)數(shù)據(jù)間的差距。參考系統(tǒng)任一時刻Xr和Ur之間的關(guān)系為
(19)
為得到實(shí)際系統(tǒng)與所建參考系統(tǒng)之間的差別,需要借助泰勒級數(shù)展開式。泰勒級數(shù)展開式由較多項(xiàng)組成,將高階項(xiàng)全部舍去,得到的偏差狀態(tài)方程為
(20)
將式(19)和式(20)聯(lián)立可得
(21)
對式(21)進(jìn)行整理,可得
(22)
對式(22)進(jìn)行離散化處理,可得
(23)
CarSim是針對車輛動力學(xué)的專業(yè)仿真軟件,可對汽車動力性、經(jīng)濟(jì)性、制動性和穩(wěn)定性等進(jìn)行仿真分析,具有較高的計(jì)算精度。Simulink是MATLAB軟件的一個重要組件,采用可視化模塊進(jìn)行建模,可對智能駕駛算法進(jìn)行快速高效的開發(fā)、調(diào)試和測試?;贑arSim與MATLAB/Simulink所搭建的聯(lián)合仿真模型如圖5所示。
圖5 CarSim與MATLAB/Simulink聯(lián)合仿真模型Fig.5 Joint simulation model of CarSim and MATLAB/Simulink
為對所規(guī)劃的泊車路徑進(jìn)行可行性驗(yàn)證,根據(jù)所建泊車系統(tǒng)模型進(jìn)行參數(shù)選取,如表1所示。在車輛規(guī)劃泊車路徑及設(shè)計(jì)條件下,進(jìn)行車輛單步垂直泊車的聯(lián)合仿真,仿真動畫截圖如圖6所示。
表1 模型仿真參數(shù)Tab.1 Model simulation parameters
圖6 車輛泊車的仿真動畫截圖Fig.6 Screenshot of vehicle parking simulation animation
由圖6可知,車輛能夠按照所規(guī)劃的線路,在模型預(yù)測算法的控制下實(shí)現(xiàn)車輛的單步垂直泊車。為對控制算法的合理性進(jìn)行判斷,需要對泊車過程中的縱坐標(biāo)及其跟蹤誤差、航向角及其跟蹤誤差進(jìn)行分析,如圖7至圖10所示。
圖7 縱坐標(biāo)隨時間變化示意圖Fig.7 Schematic diagram of vertical coordinate changing with time
由圖7和圖8可知:在模型預(yù)測算法的控制下,車輛在垂直泊車初始階段,縱坐標(biāo)和航向角隨時間產(chǎn)生變化;泊車完成以后,縱坐標(biāo)和航向角均成為一個定值,表明車輛在模型預(yù)測算法的控制下,能夠按照預(yù)定路線完成泊車并保持穩(wěn)定停車狀態(tài)。
圖8 車輛航向角隨時間變化示意圖Fig.8 Schematic diagram of vehicle heading angle changing with time
由圖9和圖10可以看出,在泊車過程中,縱坐標(biāo)和航向角的跟蹤誤差呈現(xiàn)相似的變化規(guī)律,即先增加再減少然后再增加,最后近似為定值。同時,在泊車過程中縱坐標(biāo)最大跟蹤誤差約為6 mm,泊車停止時誤差約為1.8 mm;車輛航向角最大跟蹤誤差約為0.004 5 rad,泊車停止時誤差趨近于0。因此,通過對泊車過程的仿真分析可知,路徑跟蹤誤差保持在較小的范圍內(nèi),路徑規(guī)劃能較好地滿足垂直泊車要求。
圖9 縱坐標(biāo)跟蹤誤差Fig.9 Vertical coordinate tracking error
圖10 航向角跟蹤誤差Fig.10 Heading angle tracking error
本研究采用四次多項(xiàng)式進(jìn)行單步垂直泊車路徑規(guī)劃,基于車輛動力學(xué)理論進(jìn)行模型搭建,并進(jìn)行泊車路徑跟蹤預(yù)測控制算法的設(shè)計(jì),借助CarSim和MATLAB/Simulink進(jìn)行聯(lián)合仿真。仿真結(jié)果顯示,系統(tǒng)能很好地完成自動泊車,驗(yàn)證了路徑規(guī)劃方法和路徑跟蹤算法的可行性。