張家旭,王 晨,郭 崇,滕 飛,李東燃
(1. 吉林大學(xué),汽車仿真與控制國家重點實驗室,長春 130011;2. 中國第一汽車集團(tuán)有限公司智能網(wǎng)聯(lián)研發(fā)院,長春 130011)
自動泊車系統(tǒng)是自動駕駛汽車重要的組成部分,被公認(rèn)為是解決大中城市狹窄環(huán)境內(nèi)泊車難問題的有效手段[1-2]。自動泊車系統(tǒng)主要由環(huán)境感知、路徑規(guī)劃和跟蹤控制3 部分組成,而能否在狹窄環(huán)境內(nèi)規(guī)劃出可執(zhí)行的泊車路徑是自動泊車操作能否成功的決定性因素。因此,深入研究自動泊車系統(tǒng)的路徑規(guī)劃方法對于解決大中城市狹窄環(huán)境內(nèi)泊車難問題和加速自動駕駛進(jìn)程具有重要的意義。
目前,現(xiàn)有的泊車路徑規(guī)劃方法可大致劃分為基于幾何曲線的泊車路徑規(guī)劃方法和基于優(yōu)化算法的泊車路徑規(guī)劃方法?;趲缀吻€的泊車路徑規(guī)劃方法多采用圓弧、直線和平滑曲線拼接的方式規(guī)劃泊車路徑,計算效率高,便于工程實現(xiàn)。文獻(xiàn)[3]中利用Gompertz 曲線建立泊車路徑,并通過優(yōu)化Gompertz曲線參數(shù)使規(guī)劃的泊車路徑滿足避障約束和汽車運動學(xué)約束?;贕ompertz曲線規(guī)劃的泊車路徑無法滿足泊車時長最小需求,為此文獻(xiàn)[4]中以最小化泊車時長為目標(biāo),采用圓弧和直線組合方式規(guī)劃泊車路徑,但圓弧和直線相交點處的曲率不連續(xù),導(dǎo)致汽車產(chǎn)生原地轉(zhuǎn)向現(xiàn)象。文獻(xiàn)[5]中在汽車初始泊車方位角為零的前提下,采用圓弧-直線-回旋曲線組合方式規(guī)劃曲率連續(xù)的泊車路徑。為解決回旋曲線計算量大的問題,文獻(xiàn)[6]中離線計算出固定幾何形狀的B 樣條曲線,并將其作為泊車路徑的平滑曲線。上述基于幾何曲線的泊車路徑規(guī)劃方法均需要在汽車初始泊車方位角為零或很小的前提下才能規(guī)劃出可行的泊車路徑,限制了其適用范圍。
相對于基于幾何曲線的泊車路徑規(guī)劃方法,基于優(yōu)化算法的泊車路徑規(guī)劃方法通過求解泊車路徑約束優(yōu)化問題獲得最優(yōu)泊車路徑,對汽車初始泊車位姿無約束,適用范圍更廣。文獻(xiàn)[7]中利用微分平坦理論將泊車路徑規(guī)劃問題轉(zhuǎn)化為B 樣條曲線控制點約束優(yōu)化問題,并采用非線性規(guī)劃方法求解該約束優(yōu)化問題來獲得最優(yōu)泊車路徑。為了降低基于B樣條曲線描述泊車路徑規(guī)劃約束優(yōu)化問題產(chǎn)生的保守性,文獻(xiàn)[8]中綜合考慮汽車泊車過程中的避障約束、運動學(xué)約束、動力系統(tǒng)和轉(zhuǎn)向系統(tǒng)性能約束,建立泊車路徑約束優(yōu)化問題,并采用高斯偽譜法求解該約束優(yōu)化問題來獲得最優(yōu)泊車路徑。為了提高求解精度,文獻(xiàn)[9]中采用自適應(yīng)偽譜法求解泊車路徑約束優(yōu)化問題來獲得最優(yōu)泊車路徑,而文獻(xiàn)[10]中利用4 階龍格庫塔積分法離散化泊車路徑約束優(yōu)化問題,并利用智能算法的全局搜索能力求解離散化的泊車路徑約束優(yōu)化問題。由于基于優(yōu)化算法的泊車路徑規(guī)劃方法求解過程計算量大,限制了其工程應(yīng)用。
鑒于此,為了繼承基于優(yōu)化算法的泊車路徑規(guī)劃方法適用范圍更廣的優(yōu)勢,并解決該方法求解過程計算量大的問題,本文中針對常見的平行泊車場景,基于自適應(yīng)神經(jīng)模糊推理系統(tǒng)規(guī)劃平行泊車路徑。具體而言,將基于優(yōu)化算法的泊車路徑規(guī)劃方法規(guī)劃出的平行泊車路徑作為訓(xùn)練樣本,利用Python 腳本語言建立以自適應(yīng)遺傳算法和擬牛頓法為內(nèi)核的自動化訓(xùn)練框架,使自動訓(xùn)練后的自適應(yīng)神經(jīng)模糊推理系統(tǒng)可以依據(jù)汽車初始泊車位姿和泊車位信息快速規(guī)劃出可行的平行泊車路徑。隨后,通過仿真分析驗證所提出的平行泊車路徑方法的可行性和有效性。
基于優(yōu)化算法的泊車路徑規(guī)劃方法具有完備性優(yōu)點,即:在泊車起始點與目標(biāo)點之間存在可行泊車路徑時,該方法一定可以得到解。文獻(xiàn)[9]中綜合考慮汽車運動學(xué)約束、泊車起始點和目標(biāo)點邊界條件約束、泊車過程避障約束和執(zhí)行機構(gòu)性能約束等,以最小化泊車所需時間為優(yōu)化目標(biāo),將基于優(yōu)化算法的泊車路徑規(guī)劃問題作如下描述。
目標(biāo)函數(shù):最小化泊車所需時間
文獻(xiàn)[9]中借助自適應(yīng)偽譜法將上述描述的泊車路徑規(guī)劃問題轉(zhuǎn)化為非線性規(guī)劃問題進(jìn)行求解,使得泊車路徑規(guī)劃算法具有較高的計算復(fù)雜度。為了繼承文獻(xiàn)[9]中提出的基于優(yōu)化算法的泊車路徑規(guī)劃方法完備性的優(yōu)勢,并解決該方法求解過程計算量大的問題,本文中針對常見的平行泊車場景,基于自適應(yīng)神經(jīng)模糊推理系統(tǒng)規(guī)劃平行泊車路徑。
基于自適應(yīng)神經(jīng)模糊推理系統(tǒng)的平行泊車路徑規(guī)劃策略的總體架構(gòu)如圖1 所示,包括:基于Python腳本語言的自動化訓(xùn)練樣本構(gòu)建模塊、基于自適應(yīng)遺傳算法的自適應(yīng)神經(jīng)模糊推理系統(tǒng)全局近似解求解模塊和基于擬牛頓法的自適應(yīng)神經(jīng)模糊推理系統(tǒng)最優(yōu)解求解模塊?;赑ython腳本語言的自動化訓(xùn)練樣本構(gòu)建模塊自動讀取泊車初始位姿數(shù)據(jù)庫和泊車位數(shù)據(jù)庫來初始化泊車位姿和泊車位,并利用文獻(xiàn)[9]中提出的基于優(yōu)化算法的泊車路徑規(guī)劃方法自動完成訓(xùn)練樣本的構(gòu)建;基于自適應(yīng)遺傳算法的自適應(yīng)神經(jīng)模糊推理系統(tǒng)全局近似解求解模塊,將訓(xùn)練樣本包含的初始泊車位姿和泊車位信息作為自適應(yīng)神經(jīng)模糊推理系統(tǒng)的輸入,通過最小化自適應(yīng)神經(jīng)模糊推理系統(tǒng)輸出的泊車路徑與訓(xùn)練樣本包含的泊車路徑偏差來全局并行搜索自適應(yīng)神經(jīng)模糊推理系統(tǒng)的待定前提參數(shù)集和結(jié)論參數(shù)集;基于擬牛頓法的自適應(yīng)神經(jīng)模糊推理系統(tǒng)最優(yōu)解求解模塊將自適應(yīng)神經(jīng)模糊推理系統(tǒng)前提參數(shù)集和結(jié)論參數(shù)集的全局近似解作為初始值,利用擬牛頓法在全局近似解鄰近域內(nèi)搜索其最優(yōu)解。
圖1 系統(tǒng)總體架構(gòu)
自適應(yīng)神經(jīng)模糊推理系統(tǒng)是一種具有模糊知識自然表達(dá)能力和自學(xué)習(xí)能力的新型模糊推理系統(tǒng)[11],具有2個輸入量和1個輸出量的自適應(yīng)神經(jīng)模糊推理系統(tǒng)結(jié)構(gòu)如圖2所示。
第1 層:若模糊集A和B的隸屬度函數(shù)分別為μAi(i= 1,2,???,m)和μBi-m(i=m+ 1,m+ 2,???,m+n),則自適應(yīng)神經(jīng)模糊推理系統(tǒng)輸入的模糊隸屬函數(shù)值可表示為
圖2 自適應(yīng)神經(jīng)模糊推理系統(tǒng)結(jié)構(gòu)
本節(jié)采用鐘型函數(shù)作為模糊集A和B的隸屬度函數(shù),則有
式中{ai,bi,ci}為模糊集A和B隸屬度函數(shù)的待定前提參數(shù)集。
第2 層:利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)輸入的模糊隸屬函數(shù)值的代數(shù)積構(gòu)建系統(tǒng)每條規(guī)則的適用度。
第3層:將系統(tǒng)每條規(guī)則的適用度歸一化。
第4 層:利用系統(tǒng)每條規(guī)則的歸一化結(jié)果計算其輸出。
式中{pi,qi,ri}為待定結(jié)論參數(shù)集。
第5 層:計算自適應(yīng)神經(jīng)模糊推理系統(tǒng)的輸出。
將泊車起始點和目標(biāo)點的汽車位姿作為輸入量,將相對應(yīng)的包含30 個離散點的可行泊車路徑作為輸出量,基于圖2 所示的自適應(yīng)神經(jīng)模糊推理系統(tǒng)結(jié)構(gòu)可擴(kuò)展構(gòu)建出以泊車起始點和目標(biāo)點位姿為輸入、可行泊車路徑為輸出的自適應(yīng)神經(jīng)模糊推理系統(tǒng)。由此,利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)規(guī)劃平行泊車路徑的關(guān)鍵是辨識待定的前提參數(shù)集和結(jié)論參數(shù)集。
快速、準(zhǔn)確地辨識出自適應(yīng)神經(jīng)模糊推理系統(tǒng)的前提參數(shù)集和結(jié)論參數(shù)集,是利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)規(guī)劃平行泊車路徑,以繼承文獻(xiàn)[9]中提出的基于優(yōu)化算法的泊車路徑規(guī)劃方法完備性的優(yōu)勢,并解決該方法求解過程計算量大的問題的重要基礎(chǔ)。為此,文中采用由自適應(yīng)遺傳算法和擬牛頓法組成的混合訓(xùn)練方法來辨識自適應(yīng)神經(jīng)模糊推理系統(tǒng)的前提參數(shù)集和結(jié)論參數(shù)集。首先,利用自適應(yīng)遺傳算法的全局搜索優(yōu)勢辨識出自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集的近似解。隨后,將自適應(yīng)遺傳算法的辨識結(jié)果作為擬牛頓法的初始值,利用擬牛頓法的局部搜索優(yōu)勢辨識出自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集的最優(yōu)解。將自適應(yīng)遺傳算法和擬牛頓法有機結(jié)合得到的自適應(yīng)神經(jīng)模糊推理系統(tǒng)混合訓(xùn)練方法既可以發(fā)揮二者的優(yōu)勢,又可以彌補各自的不足。
自適應(yīng)遺傳算法是一種啟發(fā)式智能算法,采用并行方式搜索全局近似解求解,并且自適應(yīng)調(diào)整交叉和變異概率來避免產(chǎn)生早熟收斂問題[12],搜索過程如下。
確定編碼方式:設(shè)定自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集中的元素取值范圍為[κmin,j,κmax,j],基于格雷碼編碼方式對其編碼,建立自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集解空間與基于格雷碼數(shù)組搜索空間的對應(yīng)關(guān)系,避免傳統(tǒng)的二進(jìn)制編碼方式產(chǎn)生較大的海明距離,進(jìn)而影響自適應(yīng)影響遺傳算法的求解效率和求解精度。基于格雷碼編碼方式的自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集中的元素編碼為
式中:{g(j,k)|k= 1,2,...,m}為格雷碼數(shù)組;⊕為異或運算符。
確定初始種群規(guī)模:設(shè)定自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集構(gòu)成的初始種群規(guī)模為N,基于廣義海明距離產(chǎn)生均勻的初始種群,避免基于隨機距離產(chǎn)生的初始種群分布不均勻,進(jìn)而影響自適應(yīng)遺傳算法的求解效率。
式中:Gij為種群中任意兩個個體之間的廣義海明距離為種群中任意兩個個體之間的最小廣義海明距離;m為編碼長度。
確定個體適應(yīng)度:個體的適應(yīng)度是確定自適應(yīng)遺傳算法優(yōu)化目標(biāo)函數(shù)的基礎(chǔ)[13]。假設(shè)yi,ANFIS為自適應(yīng)神經(jīng)模糊推理系統(tǒng)輸出的泊車路徑;yi,OPTIMAL為訓(xùn)練樣本包含的泊車路徑,定義二者的殘差ε為
利用式(11)定義個體適應(yīng)度F為
選擇運算:為了兼顧最優(yōu)個體有較大概率被選擇和保持種群的多樣性,本節(jié)中基于模擬退火算法的Metrolpis 接收準(zhǔn)則對種群個體進(jìn)行選擇,由此得到當(dāng)前個體i到新個體j的轉(zhuǎn)移概率Pk為
式中:F(i)為個體i交叉變異前適應(yīng)度;F(j)為個體j交叉變異后適應(yīng)度;T為當(dāng)前溫度。
式中:T0為初始溫度;v為降溫速率;t為迭代次數(shù)。
自適應(yīng)交叉和變異運算:交叉和變異運算對提高遺傳算法的搜索能力和改善種群的多樣性具有重要作用[14]。本節(jié)中采用自適應(yīng)算法自動調(diào)整交叉概率pc和變異概率pm,提高遺傳算法的搜索能力和改善種群的多樣性,有效避免了產(chǎn)生早熟收斂問題。自適應(yīng)交叉概率pc和變異概率pm可表示為
式中:為種群的平均適應(yīng)度;F為種群中個體的適應(yīng)度;F0為種群中所有個體的最大適應(yīng)度;F'為種群中執(zhí)行交叉運算的所有個體中的最大適應(yīng)度。
綜上,自適應(yīng)遺傳算法的流程如圖3所示。
圖3 自適應(yīng)遺傳算法流程
為了進(jìn)一步提高自適應(yīng)神經(jīng)模糊推理系統(tǒng)的前提參數(shù)集和結(jié)論參數(shù)集的辨識精度,使利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)規(guī)劃的平行泊車路徑與文獻(xiàn)[9]方法規(guī)劃的平行泊車路徑具有良好的一致性,將自適應(yīng)遺傳算法的辨識結(jié)果作為擬牛頓法的初始值,利用擬牛頓法的局部搜索優(yōu)勢辨識出自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集的最優(yōu)解,進(jìn)一步提高待定參數(shù)集的辨識精度。擬牛頓法的基本思想是將目標(biāo)函數(shù)f(x)在點xk附近二次逼近為
式中:gk= ?f(xk);Bk為非奇異的對稱矩陣[15]。
由式(17)確定擬牛頓法的搜索方向為
由式(18)可得
式中αk為擬牛頓法的搜索步長,可通過精確線搜索求解,即
針對自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集最優(yōu)解辨識問題,將式(11)定義的自適應(yīng)神經(jīng)模糊推理系統(tǒng)輸出的泊車路徑與訓(xùn)練樣本包含的泊車路徑殘差作為目標(biāo)函數(shù),將作為終止條件,以式(16)~式(20)為基礎(chǔ)建立如圖4 所示的自適應(yīng)神經(jīng)模糊推理系統(tǒng)待定前提參數(shù)集和結(jié)論參數(shù)集最優(yōu)解的迭代求解過程。
圖4 擬牛頓法流程
本節(jié)在文獻(xiàn)[5]中描述的可行平行泊車起始區(qū)域內(nèi)以間隔0.1 m 距離采樣,將圖5 所示的999 個藍(lán)色采樣點作為訓(xùn)練樣本的泊車起始點,將圖5 所示的3 個紅色采樣點作為測試樣本的泊車起始點。在單步平行泊車場景中,可認(rèn)為訓(xùn)練樣本和測試樣本中泊車目標(biāo)點位姿保持不變,并且訓(xùn)練樣本和測試樣本中每一個泊車起始點的方位角均配置為0 和±5°,共計999×3=2997 組訓(xùn)練樣本和3×3=9 組測試樣本。利用文獻(xiàn)[9]中的方法規(guī)劃出與訓(xùn)練樣本和測試樣本包含的泊車起始點位姿一一對應(yīng)的可行泊車路徑,并采用30 個離散點描述每一條可行泊車路徑。由此,建立以泊車起始點和目標(biāo)點位姿為輸入、30 個離散點描述的可行泊車路徑為輸出的自適應(yīng)神經(jīng)模糊推理系統(tǒng)。自適應(yīng)神經(jīng)模糊推理系統(tǒng)經(jīng)過自適應(yīng)遺傳算法和擬牛頓法組成的混合訓(xùn)練方法訓(xùn)練后,采用測試樣本對其進(jìn)行驗證。本文中方法和文獻(xiàn)[9]中方法均采用m語言編程實現(xiàn),運行處理器為Inter Core i7-6500U,運行內(nèi)存為8 GB,泊車起始點處的汽車位姿設(shè)置為(4.050 m,3.024 m,5°),泊車目標(biāo)點處的汽車位姿設(shè)置為(-5.173 m,-0.822 5 m,0°),本文中方法的運行時間為3.2 ms,文獻(xiàn)[9]中方法的運行時間為5.6 s,該測試樣本對應(yīng)的驗證結(jié)果如圖6所示。
圖5 訓(xùn)練樣本和測試樣本中的泊車起始點
由圖6 可見,訓(xùn)練后的自適應(yīng)神經(jīng)模糊推理系統(tǒng)規(guī)劃出平行泊車路徑與采用文獻(xiàn)[9]中方法得到的測試樣本相一致,均可安全無碰撞地引導(dǎo)汽車完成平行泊車任務(wù),并且本文中方法的運行時間遠(yuǎn)小于文獻(xiàn)[9]中方法的運行時間,極大地提高了平行泊車路徑規(guī)劃的效率。
圖6 自適應(yīng)神經(jīng)模糊推理系統(tǒng)驗證結(jié)果
本文中提出了一種基于自適應(yīng)神經(jīng)模糊推理系統(tǒng)的平行泊車路徑規(guī)劃方法。將基于優(yōu)化算法的泊車路徑規(guī)劃方法規(guī)劃出的平行泊車路徑作為訓(xùn)練樣本,利用Python 腳本語言建立以自適應(yīng)遺傳算法和擬牛頓法為內(nèi)核的自動化訓(xùn)練框架,使自動訓(xùn)練后的自適應(yīng)神經(jīng)模糊推理系統(tǒng)既可以繼承基于優(yōu)化算法的泊車路徑規(guī)劃方法適用范圍更廣的優(yōu)勢,又有效地解決了該方法求解過程計算量大的問題。仿真分析結(jié)果表明:訓(xùn)練后的自適應(yīng)神經(jīng)模糊推理系統(tǒng)規(guī)劃出平行泊車路徑與采用文獻(xiàn)[9]方法得到的測試樣本相一致,均可以安全無碰撞地引導(dǎo)汽車完成平行泊車任務(wù),并且本文中方法的運行時間遠(yuǎn)小于文獻(xiàn)[9]中方法的運行時間,極大地提高了平行泊車路徑規(guī)劃的效率。