石 晶,張春洲
(遼寧工業(yè)大學(xué)研究生學(xué)院,遼寧 錦州 121001)
在當(dāng)今高級(jí)輔助駕駛系統(tǒng)的多元化發(fā)展趨勢(shì)下,對(duì)高級(jí)輔助駕駛的研究已經(jīng)不僅限于各大汽車(chē)制造企業(yè)及汽車(chē)設(shè)計(jì)公司,各高校已經(jīng)逐漸開(kāi)始對(duì)高級(jí)輔助駕駛進(jìn)行更為深入的研究并進(jìn)行相關(guān)模擬或?qū)嵻?chē)實(shí)驗(yàn)。自動(dòng)泊車(chē)系統(tǒng)(APS)作為高級(jí)輔助系統(tǒng)下的一個(gè)重要分支,起著至關(guān)重要的作用。在駕駛員日常泊車(chē)時(shí),由于泊車(chē)過(guò)程中駕駛員較大概率會(huì)產(chǎn)生緊張感,增大泊車(chē)難度,容易造成車(chē)輛碰撞,因此自動(dòng)泊車(chē)系統(tǒng)可以給駕駛員提供很大便利。
自動(dòng)泊車(chē)是通過(guò)探測(cè)車(chē)輛周?chē)h(huán)境信息來(lái)找到合適的泊車(chē)位,從而控制車(chē)輛的轉(zhuǎn)向和速度,使得車(chē)輛能夠自主駛?cè)氩窜?chē)位[1]。車(chē)輛在垂直泊車(chē)過(guò)程中,初始位置車(chē)身方向角在正負(fù)15°之間,且隨著離泊車(chē)位越近,車(chē)身方向角越大,在泊車(chē)完成時(shí),車(chē)身方向角約為90°;泊車(chē)時(shí)方向盤(pán)打向泊車(chē)位方向,方向盤(pán)轉(zhuǎn)角先增大后減小,直至完成泊車(chē)。通過(guò)模糊邏輯控制器控制汽車(chē)運(yùn)動(dòng)模型中輸出的方向盤(pán)轉(zhuǎn)角,進(jìn)而通過(guò)方向盤(pán)轉(zhuǎn)角改變車(chē)身方向角,實(shí)現(xiàn)車(chē)輛從初始位置到泊入車(chē)位的全過(guò)程,最后的仿真結(jié)果顯示上述論點(diǎn)可以得到驗(yàn)證。
根據(jù)大部分車(chē)輛長(zhǎng)寬比例規(guī)定汽車(chē)長(zhǎng)2500mm,寬1500mm,車(chē)速為5km/h。在汽車(chē)泊車(chē)過(guò)程中,汽車(chē)速度通常為(3~5)km/h左右,車(chē)輛產(chǎn)生很小的離心力,從而可以忽略輪胎側(cè)向力,故只考慮縱向作用力,不考慮橫向作用力,因此車(chē)輛滿(mǎn)足阿克曼轉(zhuǎn)向原理(Ackermann steering geometry)。阿克曼轉(zhuǎn)向原理指的是:汽車(chē)直線行駛時(shí),4個(gè)車(chē)輪的軸線都互相平行,而且垂直于汽車(chē)縱向中心面;汽車(chē)設(shè)計(jì)時(shí),為了避免汽車(chē)轉(zhuǎn)向時(shí)產(chǎn)生的路面對(duì)汽車(chē)行駛的附加阻力和輪胎的過(guò)快磨損,車(chē)輛在轉(zhuǎn)向時(shí),要使所有車(chē)輪均為純滾動(dòng)而無(wú)滑動(dòng)[2]。研究車(chē)輛行駛過(guò)程中的運(yùn)動(dòng)軌跡,建立車(chē)輛泊車(chē)過(guò)程的動(dòng)力學(xué)模型[3-4],垂直泊車(chē)運(yùn)動(dòng)模型,如圖1 所示。圖1 中汽車(chē)自動(dòng)垂直泊車(chē)運(yùn)動(dòng)模型參數(shù):式中后軸中心點(diǎn)(Xa,Ya);車(chē)身方向角θ,即車(chē)身縱向?qū)ΨQ(chēng)平面與x軸間的夾角[5];前輪轉(zhuǎn)角α;前后軸距離L,車(chē)輛寬度w。
圖1 垂直泊車(chē)運(yùn)動(dòng)模型Fig.1 Vertical Parking Motion Model
汽車(chē)在低速泊車(chē)過(guò)程中,車(chē)輛沿后軸軸線速度為0[6],可得:
為了實(shí)現(xiàn)汽車(chē)運(yùn)動(dòng)軌跡仿真,需知道汽車(chē)四個(gè)輪的坐標(biāo),經(jīng)計(jì)算車(chē)輛車(chē)身四個(gè)頂點(diǎn)的坐標(biāo)為[7]:
由上述算法可知汽車(chē)在泊車(chē)過(guò)程中的橫向速度、縱向速度和車(chē)身方向角的一階導(dǎo)數(shù),通過(guò)對(duì)三個(gè)變量積分,可以得到汽車(chē)泊車(chē)過(guò)程中的橫向位移、縱向位移、車(chē)身方向角、前輪轉(zhuǎn)角四者的相互關(guān)系。在Simulink 中對(duì)此算法進(jìn)行模型搭建,泊車(chē)運(yùn)動(dòng)模型,如圖2所示。
圖2 泊車(chē)運(yùn)動(dòng)模型Fig.2 Parking Motion Model
根據(jù)駕駛員經(jīng)驗(yàn)可知垂直泊車(chē)流程如下:
(1)駕駛員將汽車(chē)泊到與泊車(chē)位前方的垂直位置,與邊線距離(0.5~1)m,若車(chē)身與泊車(chē)位不平行,則首先將車(chē)身擺正。
(2)駕駛員將方向盤(pán)向右打死,繼續(xù)泊車(chē)直至汽車(chē)與泊車(chē)位相平行;
(3)持續(xù)泊車(chē)直至汽車(chē)完全泊入泊車(chē)位。
按照以上流程可以確定的垂直泊車(chē)的運(yùn)動(dòng)軌跡和汽車(chē)在泊車(chē)過(guò)程中的路徑算法,如圖3 所示。確定泊車(chē)過(guò)程中車(chē)輪四個(gè)輪胎中心坐標(biāo)及車(chē)身方向角位置變化關(guān)系,t為采樣間隔時(shí)間:
圖3 垂直泊車(chē)運(yùn)動(dòng)軌跡Fig.3 Vertical Parking Trajectory
利用MALAB 中的fuzzy 工具箱,通過(guò)修改輸入、輸出參數(shù),完成自動(dòng)泊車(chē)。綜合控制精度和響應(yīng)速度兩方面考慮,在保證控制精度的前提下[8-9],選取橫向位移x、車(chē)身方向角θ為模糊控制器的輸入,前輪轉(zhuǎn)角α為模糊控制器的輸出量。通過(guò)模糊控制實(shí)時(shí)控制泊車(chē)過(guò)程路徑規(guī)劃算法中的四個(gè)輪胎中心坐標(biāo)及車(chē)身方向角,其中橫向位移、縱向位移、車(chē)身方向角、前輪轉(zhuǎn)角的相互關(guān)系已在汽車(chē)運(yùn)動(dòng)模型搭建中推導(dǎo)出,保證了汽車(chē)泊車(chē)過(guò)程中的平穩(wěn)性、順滑性。
根據(jù)3中所建立的泊車(chē)位笛卡爾坐標(biāo)系可知,水平范圍為(-20,120),即確定輸入x軸方向論域?yàn)椋?20,120),模糊子集劃分為1個(gè),{N}。N表示車(chē)輛位置橫坐標(biāo),隸屬度函數(shù)為梯形:[-56.9-36.6 39.21 40.7]。隸屬度函數(shù),如圖4所示。
圖4 橫向位移隸屬度函數(shù)Fig.4 Lateral Displacement Membership Function
駕駛員在操縱車(chē)輛時(shí)會(huì)使車(chē)輛在道路中心線左右行駛,車(chē)身方向角與中心線偏移在正負(fù)15°以?xún)?nèi),因此定義車(chē)身方向角論域?yàn)椋?90,92),模糊子集劃分為4個(gè),{N,PS,PM,PB}。N表示車(chē)身方向角小,隸屬度函數(shù)為梯形:[-105-97.46-8.83-1];PS表示車(chē)身方向角適中,隸屬度函數(shù)為梯形:[-1.2-1 1 1.2];PM表示車(chē)身方向角較大,隸屬度函數(shù)為梯形:[1 6.53 79.7 93.4]。PB表示車(chē)身方向角大,隸屬度函數(shù)為梯形:[88 89 90 91]隸屬度函數(shù),如圖5所示。
圖5 車(chē)身方向角隸屬度函數(shù)Fig.5 Body Orientation Angle Membership Function
定義方向盤(pán)轉(zhuǎn)角論域?yàn)椋?45,45),模糊子集劃分為4 個(gè),{NB,NS,Z,PB}。NB 表示負(fù)大,隸屬度函數(shù)為三角形:[-84.54-43.94-37.04];NS表示負(fù)小,隸屬度函數(shù)為三角形:[-22.5-19.7-16.55];Z表示零,隸屬度函數(shù)為三角形:[-0.833 0.2289 2.024];PB表示正大,隸屬度函數(shù)為三角形:[39.5 44.17 45.4]。隸屬度函數(shù),如圖6所示。
圖6 方向盤(pán)轉(zhuǎn)角隸屬度函數(shù)Fig.6 Steering Wheel Angle Membership Function
模糊規(guī)則是表示輸入量與輸出量之間的模糊關(guān)系,在設(shè)計(jì)模糊控制器時(shí),對(duì)于駕駛經(jīng)驗(yàn)的模糊規(guī)則很多,使模糊控制算法實(shí)現(xiàn)很困難[10],而且模糊規(guī)則數(shù)目的增加也加大了規(guī)則出錯(cuò)的可能性[11],對(duì)此提出建立精簡(jiǎn)的模糊規(guī)則,制定的模糊規(guī)則,如圖7所示。
圖7 模糊規(guī)則Fig.7 Fuzzy Rules
因?yàn)樵诙鄶?shù)情況下,駕駛員在操縱車(chē)輛時(shí)會(huì)使車(chē)輛在道路中心線左右行駛,車(chē)身與中心線夾角在正負(fù)15°以?xún)?nèi),因此車(chē)輛開(kāi)始泊車(chē)時(shí)的縱坐標(biāo)與泊車(chē)位縱坐標(biāo)間距>3000mm,泊車(chē)則順利完成。在仿真時(shí)將車(chē)輛初始位置固定,可以忽略縱坐標(biāo)位置過(guò)近造成的不良影響,從而簡(jiǎn)化模糊邏輯控制器。
車(chē)型選擇小轎車(chē),車(chē)位長(zhǎng)度為7m,車(chē)位寬度為2.5m,車(chē)輛寬度為1.8m,車(chē)輛長(zhǎng)度為4.5m,對(duì)車(chē)輛的垂直泊車(chē)過(guò)程進(jìn)行仿真。車(chē)輛初始位置縱坐標(biāo)固定,初始車(chē)身方向角可在±15°內(nèi)任意設(shè)置,以0°和5°為例,泊車(chē)速度為5km/h。根據(jù)搭建的汽車(chē)運(yùn)動(dòng)學(xué)模型及路徑規(guī)劃算法,在Matlab中搭建汽車(chē)、停車(chē)位等仿真環(huán)境,同時(shí)引入模糊邏輯控制器,模擬汽車(chē)的垂直泊車(chē)過(guò)程。
從圖8和圖10所示的車(chē)輛泊車(chē)軌跡可以看到汽車(chē)初始車(chē)身方向角在一定范圍內(nèi)時(shí),從初始位置到完成泊車(chē)過(guò)程平穩(wěn),通過(guò)軌跡可以看出車(chē)輛在垂直泊車(chē)過(guò)程中軌跡均勻,沒(méi)有特別明顯的波動(dòng)跡象。通過(guò)對(duì)車(chē)身方向角初值的改變,經(jīng)過(guò)對(duì)圖9 和圖11的分析可以發(fā)現(xiàn),當(dāng)車(chē)身方向角初值為0°時(shí),汽車(chē)直接進(jìn)行泊車(chē),當(dāng)車(chē)身方向角初值為5°時(shí),汽車(chē)在泊車(chē)初始階段先調(diào)整車(chē)身方向角與泊車(chē)位呈垂直關(guān)系,進(jìn)而繼續(xù)泊車(chē),以保證汽車(chē)能夠完全泊入車(chē)位。
圖8 θ=0°仿真圖像Fig.8 θ=0° Simulation Image
圖9 θ=0°車(chē)身方向角變化Fig.9 θ=0° Change of Body Direction Angle
圖10 θ=5°仿真圖像Fig.10 θ=5° Simulation Image
圖11 θ=5°車(chē)身方向角變化Fig.11 θ=5° Change of Body Direction Angle
通過(guò)提出的一種基于模糊控制的垂直泊車(chē)三段式路徑規(guī)劃方法,從理論上驗(yàn)證了方案的可行性,在Matlab中搭建仿真模型,設(shè)計(jì)較符合實(shí)際的模糊邏輯控制器,得到預(yù)期的仿真結(jié)果。仿真結(jié)果表明:汽車(chē)初始車(chē)身方向角在一定范圍內(nèi),初始縱坐標(biāo)與泊車(chē)位距離>3m,均可實(shí)現(xiàn)平穩(wěn)、順滑的良好泊車(chē),可以應(yīng)用到不同泊車(chē)位、不同車(chē)型的垂直泊車(chē)中,為接下來(lái)在ADAS實(shí)驗(yàn)平臺(tái)的仿真提供了可靠的基礎(chǔ)算法,為設(shè)計(jì)“自動(dòng)垂直泊車(chē)”控制器提供參考依據(jù)。