鄭福民,段 敏
(遼寧工業大學 汽車與交通工程學院, 遼寧 錦州 121000)
近年來,我國汽車市場不斷壯大,國內車輛的數量急劇上升,隨之而來的是泊車環境的日益復雜化,對駕駛員泊車技術的要求愈加苛刻[1]。因此,現階段研究開發自動泊車系統對布局智能駕駛輔助技術具有重要意義。路徑規劃是自動泊車理論研究的重要一環,目前,國內外學者已進行了大量的研究工作。Kim等[2]基于R-S曲線,將在停車場場景內規劃出的48條軌跡公式應用在實際場景中,對泊車路徑進行規劃。Tazaki等[3]提出以停車場信息為基礎,設計多分辨率路線圖進行自動泊車軌跡規劃。Das等[4]設計了一個自動泊車輔助系統,使車輛通過控制運動先探測外部空間找到泊車位再進行泊車的路徑規劃。Su等[5]提出了一種基于遺傳算法的終點分區二次并行自動停車方法對泊車軌跡進行規劃。李紅等[6]以B樣條路徑曲線控制點為變量,以泊車終點處車身方位角最小化為目標,進行了多個泊車工況平行泊車軌跡規劃。李想[7]同樣基于B樣條理論,針對商用車垂直泊車場景進行軌跡規劃。張家旭等[8]提出一種基于回旋曲線的垂直泊車軌跡規劃方法規劃曲率連續的垂直泊車路徑。郭夜啼[9]提出了庫內雙步調整平行泊車路徑規劃方法,并采用五階多項式對所設計的圓弧相切路徑進行優化改進。
差分進化算法作為一種性能優越的智能優化算法,被成功應用于不同科學技術領域。Wu等[10]提出了一種基于差分進化算法的混合模擬退火算法,解決分布式裝配柔性作業車間調度問題。黃良輝等[11]提出了一種基于約束規則協同差分進化算法的建筑BIM施工進度優化方法。董亞明[12]使用差分進化方法進行模型求解,應用于美國PJM電力市場的報價問題。吳文海等[13]提出一種基于改進約束差分進化算法的動態航跡規劃方法,以解決三維復雜環境下無人機動態航跡規劃問題。田野等[14]提出了一種動態的差分進化算法對直升機空間利用率最大化為目標的人員裝載模型進行求解。
本文根據實際泊車工況,對泊車路徑進行規劃,提出了基于差分進化算法尋優的自動垂直泊車路徑規劃方法。依據阿克曼轉向原理建立車輛運動學模型,綜合分析垂直泊車過程中的碰撞情況,建立避障約束函數。規劃了一種庫外兩段圓弧式泊車路徑,確定泊車起始區域。然后根據約束條件建立差分進化算法的適應度函數進行二次尋優。結合仿真平臺得出,差分進化算法尋優后的路徑在路徑長度和道路橫向占用空間方面均優于遺傳算法尋優后的路徑。驗證了提出的路徑規劃及尋優方案的安全性和有效性。
泊車時以車輛后軸中心作為參考中心進行建模,車輛運動學模型如圖1所示。其中,車輛后軸中心點N坐標記為(xN,yN)。

圖1 泊車運動學模型
由于車輛自動泊車車速一般低于5 km/h,是一個低速過程,故可以忽略泊車過程中車輪側向滑動,在研究車輛泊車運動中選取等效車輛后輪軸中心作為參考點。根據圖1,得到如下微分方程:
(1)
由式(1)得出等效后軸中心點的運動學方程,可以表示為:
(2)
式中:θ為車輛的航向角;φ為車輛的阿克曼轉角,即車輛前輪轉向角;L為車輛軸距;v為車輛后軸中心點的速度。
由式(2)可知,車輛后軸中心點坐標以及車身航向角由前一時刻向車輛輸入的速度和前輪等效轉角決定。
此外,在進行避障分析之前,對所用泊車環境參數及車輛參數進行說明,如表1所示。

表1 泊車環境參數及車輛參數說明
規劃合理的無碰撞的泊車路徑是泊車成功的前提,也是研究泊車問題的基礎。車輛的起始位置不同也就有不同的路徑規劃方法。為降低泊車過程中車輛的執行難度,本文中規劃的路徑都是基于車輛最小轉彎半徑Rmin實現的。車輛處于遠離車位側車道工況時,可采取單步泊車方案,如圖2所示。此時,車輛受道路上下邊界、泊車位左右邊界限制[15]。為了避免碰撞,車輛需要與可能發生的碰撞點預留一定安全距離,從圖2可看出,由4個安全參數d1、d2、d3和d4共同決定。本文規定d1=d3=d4=0.1 m,d2=Wl/2+0.1=3.1 m。

圖2 單步泊車避障示意圖
以車位右上方點O為圓心建立直角坐標系,點O1為最小轉彎半徑圓心。根據車輛與道路和目標車位邊界的碰撞情況可得到約束關系:

(3)
將泊車環境參數和車輛參數代入上式可得單步泊車起始范圍(如圖3深色區域所示)。

圖3 單步泊車起始區域
車輛處于遠離車位側車道工況時調整至圖3的起始泊車區域即可開始泊車。
顯而易見,上述起始泊車區域和道路邊界距離不滿足此工況,無法進行單步泊車,此時規劃多步泊車策略。
2.2.1路徑規劃
為減少庫內碰撞風險,規劃庫外兩段圓弧式泊車路徑。如圖4所示,外部傳感器檢測到目標車輛處于靠近車位側車道工況時,將啟用多步泊車方案。車輛通過外部傳感器可獲取后軸中心點的起始坐標,調整至目標起始泊車點N1處開始泊車,將方向盤向左打至極限位置,以最小轉彎半徑Rmin前進至點N2,后軸中心點到達點N2時,掛入倒擋并將方向盤快速向右打至極限位置后退至處于泊車位中心線的點N3,然后回正方向盤,繼續垂直后退,當后軸中心點退至點N4時結束泊車。

圖4 庫外兩段圓弧式泊車路徑
2.2.2避障分析
同樣,多步泊車過程中,為了避免車輛與道路和車位發生碰撞,也需預留一定安全距離,如圖5所示,由5個安全參數d5、d6、d7、d8和d9共同決定。規定d5=d6=d7=d8=0.1 m,d9=Wl/2+0.1=3.1 m。

圖5 多步泊車避障示意圖
以車位右上方點O為圓心建立直角坐標系,點O2、點O3為最小轉彎半徑圓心。泊車起始點N1的坐標記為(xN1,yN1)。泊車拐點N2的坐標記為(xN2,yN2)。泊車回正點N3的坐標記為(xN3,yN3)。第1段圓弧對應的弧度為θ1,第2段圓弧對應的弧度為θ2。
點O3坐標為:
(xO3,yO3)=(xN1,yN1+Rmin)
(4)
點O2坐標為:
(5)
點N2坐標為:
(6)
結合圖2和圖5易知,點Q為點N的等效點。由式(8)可知點Q坐標為:
(7)
可以得出道路邊界對車輛的約束關系式為:
(8)
2.2.3起始位置確定
合理的起始位置決定了多步泊車的安全性和可行性,所以確定起始點是泊車路徑規劃中的關鍵環節。
結合上述避障約束關系式,為保證車輛結束泊車時后軸中心點在泊車位中線上,由幾何關系進一步可以求得θ1的余弦:
(9)
并且有如下關系:
xN1=Rmin-Wp/2-2Rminsinθ1
(10)
所以求得泊車起始點軌跡為:
(11)
將車輛及車位參數代入式(8)和式(11)中可求得起始范圍如圖6深色區域所示。

圖6 多步泊車起始區域
規劃安全的路徑是車輛完成泊車的前提,然而精確、高效的泊車系統是以最優化后的泊車路徑為基礎的。泊車路徑長度和道路寬度占用都是須注意的優化目標。考慮到前文提及的泊車結束時車輛后軸中心停在車位中心線的約束條件過于苛刻,故放寬此條件至車輛后軸中心停在車位中心線的±0.2 m。
差分進化算法是一種基于群體差異的啟發式隨機搜索算法。與遺傳算法相同,作為智能優化算法,主要包括變異、交叉和選擇3個基本操作,通過隨機生成起始種群,以種群中每個個體的適應度值為選擇標準不斷地進化,保留優勝的個體,引導搜索過程向最優解逼近。不同之處在于,遺傳算法根據適應值來控制單一的父代染色體雜交,在其遺傳變異后的子代中進行選擇,淘汰方式為劣者概率淘汰,在最大化問題中,往往選擇適應值大的個體向量。而差分進化算法每個新個體向量是由父代差分向量生成,直接與其父代個體進行選擇,淘汰方式為劣者絕對淘汰。顯然,與遺傳算法相比,差分進化算法逼近效果更為顯著[16]。故本文中采用差分進化算法對路徑進行二次尋優,參數選取如表2所示。

表2 差分進化算法參數
由圖7可知,差分進化算法中隨機生成初始種群后,通過適應度函數對種群個體進行評價計算,再在循環中進行種群個體的變異、交叉和選擇操作,直到滿足終止條件時,跳出循環體,輸出最優結果。

圖7 差分進化算法流程圖
結合前文約束條件,可得到本文差分進化算法的適應度函數:
FDE(x)=max(min(Wl-yN1-Rmin-(Wc/2-Rmin)cosθ1-
(L+La)sinθ1,xN1+Wp+
(12)
在Matlab中編寫相應的M文件,實現輸入泊車起始點便可得到尋優前后的泊車路徑相關信息。
為了突出所提出的差分進化算法路徑尋優的優越性,本節通過選取兩邊界起始點,給出尋優前、遺傳算法尋優后和差分進化算法尋優后的路徑仿真比較。
在解決遺傳算法中的約束優化問題時,通常使用懲罰函數法來將其轉化為無約束優化問題。懲罰函數法主要思想為通過對目標函數f(x)增加懲罰項P(x)來構造適應度函數F(x)。其中個體違背了約束條件的程度由懲罰函數來確定,大多采用如下懲罰項函數來表示個體x與第i個約束條件的距離[17]:
(13)
可知個體x與可行域邊界的距離總和為:
(14)
式中:ni(x)為第i個不等式約束,ei(x)為第i個等式約束,m為不等式約束條件的個數,s為等式約束條件與不等式約束條件的個數總和。確定了懲罰函數后,結合目標優化函數,建立相應的最優化求解問題自適應函數:
(15)
式中,λi為第i個約束函數的懲罰系數。
將避障約束條件和目標函數相結合,得到本文遺傳算法的適應度函數:
FGA(x)=αS(x)+λ1max(0,Wl-yN1-Rmin-
(Wc/2-Rmin)cosθ1-(L+La)sinθ1)+
λ2max(0,xN1+Wp+2Rminsinθ1-
λ3max(0,Rmin-Wc/2-
(16)
在Matlab中編寫相應的M文件,其中相關參數選取如表3所示。

表3 遺傳算法參數
根據建立的車輛運動學模型,在Matlab/Simulink中搭建仿真平臺,仿真結果如圖8~圖15所示。

圖8 起始點(-3.466,1.015)尋優前仿真圖

圖9 起始點(-3.466,1.015)遺傳算法尋優后仿真圖

圖10 起始點(-3.466,1.015)差分進化算法尋優后仿真圖

圖11 起始點(-2.353,1.985)尋優前仿真圖

圖12 起始點(-2.353,1.985)遺傳算法尋優后仿真圖

圖13 起始點(-2.353,1.985)差分進化算法尋優后仿真圖

圖14 起始點(-3.466,1.015)尋優前后路徑對比圖

圖15 起始點(-2.353,1.985)尋優前后路徑對比圖
選取兩邊界點(-3.466,1.015)和(-2.353,1.985)作為目標車輛的泊車起始點,由圖8 ~圖13的仿真結果可知,尋優前后目標車輛在完成庫外兩段圓弧式垂直泊車的整個過程中,均未與車位和道路邊界發生碰撞。圖14為泊車起始點(-3.466,1.015)的尋優前后路徑對比圖,可以發現,泊車過程中,當目標車輛位于點N2時,差分進化算法路徑尋優后,車輛左前端點與道路邊界的縱向偏差比尋優前擴大了0.465 m,比遺傳算法尋優后擴大了0.175 m,即經過差分進化算法尋優后,車輛所需要的一側道路寬度得到了進一步減小。泊車結束時,后軸中心點與車位中心線的橫向偏差為0.170 m,滿足車輛后軸中心停在車位中心線±0.2 m的約束條件。二次路徑尋優前的泊車路徑總和為11.328 m,遺傳算法尋優后的泊車路徑總和為10.959 m,差分進化算法尋優后的泊車路徑總和為10.736 m,泊車路徑總和較尋優前縮短了5.2%,較遺傳算法尋優后縮短了2.0%。
圖15為泊車起始點(-2.353,1.985)的尋優前后路徑對比圖,同樣可以發現,泊車過程中,當目標車輛位于點N2時,差分進化算法路徑尋優后車輛左前端點與道路邊界的縱向偏差比尋優前擴大了0.256 m,比遺傳算法尋優后擴大了0.169 m,即經過差分進化算法尋優后,車輛所需要的一側道路寬度得到了進一步減小。泊車結束時,后軸中心點與車位中心線的橫向偏差為0.114 m,滿足車輛后軸中心停在車位中心線±0.2 m的約束條件。二次路徑尋優前泊車路徑總和為11.322 m,遺傳算法尋優后的泊車路徑總和為11.201 m,差分進化算法尋優后的泊車路徑總和為11.044 m,泊車路徑總和較尋優前縮短了2.5%,較遺傳算法尋優后縮短了1.4%。
結合車輛運動學約束分別建立了2種泊車工況的邊界避障約束。針對車輛處于靠近車位側車道工況規劃了庫外兩段圓弧式泊車路徑,并采用差分進化算法進行二次尋優。利用Matlab/Simulink,通過與尋優前路徑和遺傳算法尋優后路徑進行仿真分析對比。結果表明:此方案的泊車路徑在長度和道路寬度占用方面均有改善,能使車輛安全有效地泊入車位。驗證了所提出的泊車路徑規劃方法的高效性和可行性。