張書愷,陳 慧,劉美岑
(同濟(jì)大學(xué)汽車學(xué)院,上海 201804)
自動泊車技術(shù)作為汽車智能化的一項代表性技術(shù),已經(jīng)受到了高校與企業(yè)的高度關(guān)注。具有高精度性能的自動泊車指令控制算法,不僅可以使得車輛泊車無需過大的安全裕度,有助于改善庫位規(guī)劃增大土地利用效率,也可與未來需要車輛精準(zhǔn)泊車的自動充電技術(shù)等進(jìn)行有機(jī)結(jié)合。
現(xiàn)行的自動泊車指令控制算法大致可分為兩種:(1)端到端直接根據(jù)環(huán)境信息輸出控制指令;(2)先規(guī)劃路徑再輸出控制指令跟蹤路徑。前者多為啟發(fā)式算法如神經(jīng)網(wǎng)絡(luò)等,十分依賴傳感器與車輛相關(guān)零件如轉(zhuǎn)向器等的性能,若傳感器信息存在噪聲或車輛零件慣性影響過大,控制效果將受到影響;后者可依靠啟發(fā)式算法如模糊邏輯,或閉環(huán)控制器如PID、LQR、滑??刂破?、MPC等,其效果的好壞取決于反饋控制狀態(tài)變量的選取,如相對路徑的橫向偏距+角度誤差、相對參考點的向誤差+向誤差+角度誤差等,控制理論相對成熟,效果相對可靠,因此考慮使用該方式進(jìn)行控制。
在先規(guī)劃后跟蹤的整體框架下,通常以誤差為狀態(tài)變量列出狀態(tài)方程:
式中:為輸入變量,如前輪轉(zhuǎn)角、速度等;與為與車輛軸距等參數(shù)相關(guān)的矩陣。通過設(shè)計輸入變量使得誤差向0衰減,實現(xiàn)精確跟隨。而所需狀態(tài)變量的獲取方式與路徑規(guī)劃的輸出結(jié)果直接相關(guān):如路徑規(guī)劃結(jié)果為可以直接用數(shù)學(xué)函數(shù)表示的顯式路徑,則可用曲線相交方式求取參考點,而后求取相對路徑的橫向偏距與角度誤差作為狀態(tài)變量;如路徑規(guī)劃結(jié)果為無法直接用數(shù)學(xué)函數(shù)表示的、僅能用形狀與長度等信息定義的隱式路徑,則利用幾何形狀推算參考點,而后利用相對參考點的向誤差+向誤差+角度誤差作為狀態(tài)變量會較為方便;如路徑規(guī)劃結(jié)果為散點序列,則需要借助曲線擬合、插值或按照一定邏輯直接使用散點信息提取狀態(tài)變量??梢?,規(guī)劃結(jié)果的輸出形式?jīng)Q定了狀態(tài)變量的選擇,進(jìn)而導(dǎo)致狀態(tài)方程的不同。
同時,狀態(tài)變量反映的誤差信息不同,同樣導(dǎo)致控制器的不同。文獻(xiàn)[7]中使用的橫向偏距+角度誤差能夠完全反映與路徑的橫向偏差程度,因此僅需設(shè)計橫向控制器進(jìn)行跟蹤,輸入變量僅為轉(zhuǎn)向盤轉(zhuǎn)角;而文獻(xiàn)[8]中使用的相對參考點的向誤差+向誤差+角度誤差同時包含了相對路徑的橫向與縱向誤差,在未進(jìn)行橫縱向誤差解耦的情況下,只能根據(jù)唯一的同時包含橫縱向誤差的狀態(tài)方程設(shè)計反饋控制,輸入變量轉(zhuǎn)向盤轉(zhuǎn)角與速度兩項。可見,控制器的設(shè)計需確保與狀態(tài)變量相對應(yīng)。而若如文獻(xiàn)[8]中,狀態(tài)變量同時包含了相對路徑的橫向與縱向誤差,理想的控制器應(yīng)能將兩部分誤差解耦,并分別交給對應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行控制,如此在確保跟隨性能的情況下,便于橫向與縱向控制的獨立設(shè)計,降低設(shè)計難度。
本文基于以上考慮,在路徑為隱式路徑(直線段與曲率連續(xù)曲線,即CC 曲線),采取跟隨參考點進(jìn)而跟隨路徑的方案的情況下,基于微分平坦理論,通過將車輛后軸中點與參考點之間的誤差進(jìn)行橫縱向解耦并進(jìn)行橫縱向分別控制:縱向控制上,提出有效距離積分方法,并設(shè)定縱向誤差修正方法;橫向控制上,采用線性二次調(diào)節(jié)器(LQR),并將路徑曲率變化率與可以加速橫向誤差衰減的因子建立聯(lián)系。如此使得車輛全過程能夠以更高精度跟隨沿路徑移動的參考點,進(jìn)而完成對整條路徑更高精度的跟隨。
如圖1和圖2所示,平行泊車與垂直泊車的規(guī)劃路徑均可視為一系列至之間的直線段與CC 曲線的拼接。而規(guī)劃結(jié)果的表達(dá)形式為分段的隱式形式,如式(2)所示。
圖2 垂直泊車基本規(guī)劃路徑
式中:、、為沿弧長的分段邊界,可理解為圖1 中、等之間的弧長距離;、、為本段內(nèi)的曲率值;、、為本段路徑的車輛行駛方向(前進(jìn)為1,倒車為-1);、、為本段路徑的轉(zhuǎn)向盤轉(zhuǎn)向方向(左轉(zhuǎn)為1,右轉(zhuǎn)為-1);為沿路徑的長度。
圖1 平行泊車基本規(guī)劃路徑
由于路徑為隱式路徑,且難以直接離散為散點序列,因此參考點坐標(biāo)及航向角的計算是根據(jù)幾何形狀遞推獲得。將總參考距離,也即沿路徑的長度,與分段邊界值、、等相比較,從而獲得此時參考點的曲率、行駛方向和轉(zhuǎn)向方向。若此時參考點坐標(biāo)及航向角分別為、、,沿路徑的長度增加?,則可遞推下一時刻參考點坐標(biāo)及航向角、、為
在泊車低速運動下,上述遞推準(zhǔn)確度能夠滿足要求。
車輛控制的整體框圖如圖3 所示。整個控制器整體分為縱向控制(上半部分)與橫向控制(下半部分):
圖3 系統(tǒng)控制整體框圖
(1)縱向控制中,車輛速度規(guī)劃器內(nèi)部存儲目標(biāo)車速與沿路徑長度、路徑總長度相關(guān)的函數(shù)=(,),通過參考行駛距離計算器實時獲取總參考行駛距離,結(jié)合路徑總長度計算目標(biāo)車速;目標(biāo)車速與實際車速之間的差值被傳輸給車輛速度控制器,由車輛速度控制器控制驅(qū)動電機(jī)給出驅(qū)動力矩,最終實現(xiàn)輪速控制。
(2)橫向控制中,將規(guī)劃路徑總長度與總參考行駛距離相比對,獲取沿路徑長度處應(yīng)有的曲率等信息,通過遞推計算參考點位置信息;參考點位置信息與車輛后軸中點的差值被傳輸給車輛轉(zhuǎn)角控制器,由車輛轉(zhuǎn)角控制器控制轉(zhuǎn)向電機(jī)給出轉(zhuǎn)向力矩,最終實現(xiàn)轉(zhuǎn)向盤轉(zhuǎn)角控制。
如此,整個系統(tǒng)通過使用總參考行駛距離與規(guī)劃路徑長度形成反饋信息作用于橫向與縱向控制,實現(xiàn)了控制上的橫縱向解耦,如此便于車速、轉(zhuǎn)角的單獨設(shè)計。
然而,文獻(xiàn)[11]和文獻(xiàn)[12]中直接以車輛全部行駛距離作為總參考行駛距離,如此則未能進(jìn)行誤差上的解耦,導(dǎo)致信息反饋有誤。圖4 為實際車輛進(jìn)行路徑跟隨時的一種常見場景。
圖4 車輛以全部行駛距離作為總參考行駛距離sd時參考點Or與車輛后軸中點O之間的位置關(guān)系示意
(1)縱向控制中,函數(shù)=(,)應(yīng)確保車輛在全程行駛完畢后停車,因此設(shè)計時,當(dāng)總參考行駛距離達(dá)到規(guī)劃路徑的總長度時,被設(shè)計為0。此時,若計算不當(dāng),則存在如圖5 左圖所示的沿路徑的縱向誤差時,參考點到達(dá)終點導(dǎo)致車速指令值為0,使得車輛將提前停車,車輛后軸中點無法到達(dá)終點。
圖5 車輛縱向誤差(左)與橫向誤差(右)
(2)橫向控制中,車輛后軸中點與參考點之間的誤差將被反饋給橫向控制器進(jìn)行橫向控制。若車輛后軸中點與參考點之間的誤差同時包含圖5 所示的縱向誤差與橫向誤差兩部分,則橫向控制將一同接受不能被其控制的縱向誤差信息,而縱向誤差反而將對橫向控制造成影響,這一點將在后續(xù)第3章說明。
基于上述對橫縱向誤差的解耦分析,本文在文獻(xiàn)[11]和文獻(xiàn)[12]的基礎(chǔ)上,對橫縱向控制器進(jìn)行設(shè)計,從而實現(xiàn)對上述橫縱向誤差的分別控制:縱向上,改進(jìn)圖3(1)處的參考行駛距離計算器,增加修正策略計算,使圖5左圖所示的車輛后軸中點與參考點之間的縱向誤差保持在較小值;橫向上,改進(jìn)圖3(2)處的車輛轉(zhuǎn)角控制器,基于微分平坦理論改進(jìn)反饋控制器進(jìn)行轉(zhuǎn)角控制,使圖5 右圖所示的車輛后軸中點與參考點之間的橫向誤差在跟隨全過程均保持在較小值。
如前所述,總參考行駛距離的計算將同時決定車速指令與參考點的位置,進(jìn)而決定控制效果的好壞,因此需要首先進(jìn)行改進(jìn)?;谙惹胺治鼋Y(jié)果,需要重新設(shè)計參考行駛距離計算器,使得車輛盡可能避免出現(xiàn)圖4 所示的表示的縱向誤差;若確實出現(xiàn),則能夠通過對的計算進(jìn)行調(diào)整,達(dá)到消除縱向誤差的效果。
車輛盡管始終在前進(jìn),但車輛走過的全部距離并非都是沿路徑行駛的。仍以圖4 為例,車輛雖然由點出發(fā)并運行至點,但在沿路徑的方向上,車輛實際上僅行駛到了點。若直接以車輛行駛過的全部距離,即弧長的長度作為總參考行駛距離,則會導(dǎo)致參考點位于如所在的領(lǐng)先于點的位置,如此則導(dǎo)致了縱向誤差。
為應(yīng)對上述問題,引入有效距離積分方法。有效距離被定義為車輛行駛時行駛路徑長度向規(guī)劃路徑投影后的長度,示意圖如圖6 所示。由于車輛行駛時,車輛會在直線部分、定曲率圓弧部分、變曲率曲線部分處行駛,在3 種情況下,對應(yīng)的有效距離按如下規(guī)則定義:
圖6 車輛在3種路徑下有效距離定義
(1)直線部分:有效距離為實際行駛路徑在直線上的直接投影長度;
(2)定曲率圓弧部分:車輛行駛時,通過使用車輛后軸中點起點與終點的坐標(biāo),可計算出車輛相對圓弧行駛過的有效角度,有效距離為這部分角度對應(yīng)的圓弧弧長;
(3)變曲率曲線部分:由于這部分有效距離難以精確算出,因此在計算時,利用起點與終點對應(yīng)的曲率按(2)中計算方式分別計算前后曲率下對應(yīng)的長度,而后取兩者平均值近似為有效距離。
通過這種方式,每當(dāng)車輛運行一個時間間隔,則將車輛在這個時間間隔內(nèi)的前進(jìn)距離按照上述規(guī)則進(jìn)行修正獲取本段時間間隔內(nèi)運行的有效距離?,并用這樣的?進(jìn)行積分,獲取總長度。
僅僅對有效距離進(jìn)行積分,仍不足以達(dá)到最優(yōu)性能,這是由于有效距離積分的計算會受到偶然誤差的影響導(dǎo)致計算存在偏差。此外,如圖7 所示,由于車輛進(jìn)行多段泊車時,在跟隨完第1 段路徑時,處于換段交界處點時存在溜車的情況,這導(dǎo)致車輛會在跟隨下一段時存在箭頭標(biāo)識出的初始縱向誤差,而這部分不能被上述積分機(jī)制所彌補(bǔ)。因此,還需要設(shè)計對縱向積分的修正方法來消除這部分誤差。
圖7 車輛在分段交界處溜車示意
存在初始的縱向誤差時,一個最直觀的想法是,當(dāng)車輛落后于參考點時,希望參考點移動較少使得車輛追上參考點;反之,希望參考點移動較多使得車輛與參考點之間的誤差減少。按此思路,可設(shè)置縱向積分修正方法。在計算出有效距離?后,還需進(jìn)行以下修正才能被計入總長度:
(1)車輛落后于參考點時:希望參考點不要移動過大,本次計入的有效距離按的倍數(shù)縮小;
(2)車輛領(lǐng)先于參考點時:希望計入更多距離,使得參考點追上車輛,本次計入的有效距離按的倍數(shù)放大。
、為可調(diào)節(jié)的縱向補(bǔ)償系數(shù)。在補(bǔ)償時,車輛的超前與落后需要計算沿路徑的縱向誤差,并結(jié)合車輛行駛方向來判斷。同時,為避免系統(tǒng)過于敏感,這種修正應(yīng)在縱向誤差超過某一閾值后才能進(jìn)行,該閾值可設(shè)為一個碼盤的刻度值。
由于僅有一個參考點的信息,因此縱向補(bǔ)償時需要的縱向誤差實際上無法計算出精確值,僅能通過使用參考點的信息對縱向誤差進(jìn)行近似計算。
圖8展示了一種跟隨過程常見的場景,車輛后軸中點與參考點之間同時存在橫向與縱向誤差,顯然最理想的橫向參考點為點,而與之間的距離為縱向誤差。然而目前僅有關(guān)于的信息,無法求出兩者之間的路徑長度。但是由于的坐標(biāo)、航向角、所在處曲率、轉(zhuǎn)向方向均已知,因此所在的、與其航向角方向相切的圓是唯一確定的。直線與之間對應(yīng)的圓弧長,即認(rèn)為是近似的縱向誤差,其正負(fù)結(jié)合車輛的前進(jìn)方向確定。實際運行時,在數(shù)據(jù)每一次更新時均計算一次縱向誤差,若超過閾值,則對該時刻的有效距離?進(jìn)行修正并計入總長度。由于縱向誤差無法獲取精確值,其對縱向補(bǔ)償實際上起到的是“警告”作用。
圖8 縱向誤差近似計算示意
同時,如圖3 所示,由于橫縱向控制均基于同一個有效距離,若在實際跟隨時存在縱向誤差,則在縱向誤差未被補(bǔ)償完畢之前,橫向控制器仍然受到縱向誤差的影響而無法良好跟隨路徑,引入額外的橫向誤差。然而在泊車的低速工況下,近似計算能夠引入的縱向誤差很小,同時,即使出現(xiàn)溜車,引入的縱向誤差也僅為10 cm 左右。因此,縱向誤差實時數(shù)據(jù)更新3~4 次,在很短時間內(nèi)即可補(bǔ)償完畢,而補(bǔ)償完畢后橫向控制器即可根據(jù)相應(yīng)設(shè)計,消除在縱向誤差未補(bǔ)償完畢時引入的橫向誤差。
綜上,設(shè)計參考行駛距離計算器如圖9所示。
圖9 參考行駛距離計算器整體框圖
由于在泊車過程中,車輛運動速度很低,因此忽略車輛側(cè)偏角的影響,使用車輛運動學(xué)模型:
式中:()、()為車輛后軸中點坐標(biāo);()為車輛航向角;()為后軸中點速度;()為前輪轉(zhuǎn)角,為軸距。
進(jìn)一步,車輛的轉(zhuǎn)向機(jī)構(gòu)也可簡化為慣性環(huán)節(jié):
式中:()為執(zhí)行機(jī)構(gòu)的輸入;為慣性環(huán)節(jié)的時間常數(shù)。
由式(4)和式(5)可見,運動學(xué)方程中包含了時變量速度(),后續(xù)控制指令設(shè)計時,不利于速度與轉(zhuǎn)角的獨立設(shè)計。因此,首先引入弧長作為新自變量,以實現(xiàn)橫縱向解耦。同時,為便于后續(xù)反饋線性化處理,引入時間尺度函數(shù)():
式中:即為沿路徑的總行進(jìn)距離;()實際上可理解為微小時間d內(nèi),車輛實際行駛距離d與沿路徑行駛距離d之比,而其用于反饋線性化的方式將在后文說明。顯然,若車輛能夠完全跟隨路徑,意味著車輛的全部行駛距離等同于沿路徑的行駛距離,此時() = 1。如此,通過鏈?zhǔn)椒▌t利用式(6)對式(4)和式(5)進(jìn)行處理,可將()、()、()、()均轉(zhuǎn)化為以弧長為自變量的關(guān)系式:
同時
這里需說明,式(7)中包含的速度=()。
式(7)為車輛關(guān)于弧長的運動學(xué)模型,仍然為非線性模型,不便于后續(xù)狀態(tài)方程的處理和反饋控制的設(shè)計,因此還需進(jìn)行反饋線性化的過程。
微分平坦理論形成于20世紀(jì)90年代,其可被用來進(jìn)行將非線性系統(tǒng)進(jìn)行反饋線性化的方法。通過將系統(tǒng)所有狀態(tài)和輸入均轉(zhuǎn)化為平坦輸出元素及其有限次導(dǎo)數(shù)的函數(shù),反饋控制率即可對平坦輸出元素進(jìn)行設(shè)計,最終達(dá)到要求。應(yīng)用于自動泊車的微分平坦算法由Mueller 等于2007 年提出,后來,程昆朋等在此基礎(chǔ)上增加了縱向控制并成功在實車平臺上實現(xiàn)了功能。
在微分平坦空間中仍然以弧長為自變量,并將微分平坦輸出設(shè)置為車輛后軸中點橫縱坐標(biāo)()、()。文獻(xiàn)[10]和文獻(xiàn)[11]中均對系統(tǒng)的微分平坦性進(jìn)行了證明,因此這里僅給出最終結(jié)果。
通過整理,可將系統(tǒng)涉及到的變量整理為微分平坦輸出元素本身及其有限階導(dǎo)數(shù)形式:
狀態(tài)方程的整理同樣需要理想點處的相應(yīng)值。由于前文所述的參考點遞推關(guān)系,參考點坐標(biāo)、、參考點處理想航向角、參考點所在處曲率可直接獲取。則
式中及其各階導(dǎo)數(shù)等計算與等相同。
根據(jù)式(7)有
兩次求導(dǎo)即
將式(15)展開,令=,=,有
基于以上說明,整理車輛前輪轉(zhuǎn)角控制器設(shè)計框圖如圖10所示。
圖10 車輛轉(zhuǎn)角控制器設(shè)計框圖
這里對于先前提及的縱向誤差對橫向的影響進(jìn)行簡要說明。如圖11所示,車輛在定曲率、半徑為的圓弧上行駛,根據(jù)阿克曼轉(zhuǎn)向模型,若車輛前輪轉(zhuǎn)角與軸距、路徑半徑的關(guān)系保持為
圖11 車輛存在縱向誤差時在定曲率路徑上行駛
則車輛可完全跟隨半徑為的圓弧路徑。
上一部分提到,通過使用設(shè)計好的、替換、進(jìn)行計算。實際上,、是真實存在的變量,其與設(shè)計好的、存在誤差,可表示為
利用LQR 計算時,使用矩陣+代替矩陣來進(jìn)行計算,這就使得系統(tǒng)的主導(dǎo)極點更加遠(yuǎn)離虛軸,從而使得誤差以更快的速度衰減。這里為單位矩陣。
圖12 車輛橫向誤差示意
對于橫向偏距顯然有
對于角度偏差-,結(jié)合ˉ≈1 與小角度假設(shè)-<5°,有
因此
由于車輛的初始誤差為0,而在跟隨過程中出現(xiàn)了誤差,這說明是由于路徑的形狀變化引入了誤差。而又由于路徑的形狀是連續(xù)變化的,因此誤差的引入也是一個平滑的過程。因此,若能對誤差的引入規(guī)律進(jìn)行研究,則可以結(jié)合其引入規(guī)律將誤差在泊車全程均控制在較小值。
若將誤差視為一個函數(shù)(),則根據(jù)矩形積分公式,按?步長離散化,配合階躍函數(shù),可改寫為
式中(0)、(?)為階躍函數(shù)。上式說明,誤差可視為一系列階躍函數(shù)值的依次疊加,其在數(shù)值上的正確性可通過代入= ?、= 2?等進(jìn)行驗證。因此,若能獲得(0)、(?)等的規(guī)律,則可在誤差剛剛開始疊加時即設(shè)計控制率進(jìn)行消除,使得誤差值不會累積至較大值。
由于車輛在保持前輪轉(zhuǎn)角固定時,車輛的運行軌跡即為固定的圓弧。若規(guī)劃路徑為定曲率圓弧,則車輛在前輪轉(zhuǎn)角穩(wěn)定后,不會繼續(xù)出現(xiàn)橫向誤差。因此,誤差的累積是在曲率發(fā)生變化時產(chǎn)生的。
圖13 為車輛在變曲率處的運行示意圖。當(dāng)車輛處于點時,車輛與參考點重合,由于沒有誤差反饋,車輛保持圓弧路徑行駛至點,然而此時由于曲率發(fā)生了變化,車輛前進(jìn)?后參考點實際應(yīng)為。如此,系統(tǒng)產(chǎn)生了橫向誤差,而該誤差的累積最終將表現(xiàn)為車輛偏離了路徑。
圖13 中的之間的距離即為前進(jìn)?后引入的橫向偏距,與之間的航向角偏差即為引入的角度誤差。記圓與半徑為與,曲率為與,則
圖13 車輛在變曲率處運行示意
利用余弦定理有長度為
則
這里為曲率變化率。式(33)表明,經(jīng)過固定的?長度,由曲率變化率引入系統(tǒng)的橫向偏距與本身近似成正比例函數(shù)關(guān)系。
同理,由引入的角度誤差為
可見,引入的角度誤差也與曲率變化率近似成正比例函數(shù)關(guān)系。
如文獻(xiàn)[12]中所述,若系統(tǒng)的主導(dǎo)極點實部為-,則誤差以e的速度衰減。若假設(shè)系統(tǒng)有一初始誤差(0),在經(jīng)過?后,誤差變?yōu)?/p>
以橫向偏距為例,若曲率變化率為,則結(jié)合介入的橫向偏距誤差?后,誤差變?yōu)?/p>
若此時加入與曲率變化率相關(guān)的衰減因子=,則
觀察式(37)第2 部分可見,如果參數(shù)能夠適度調(diào)整,則在誤差積累到某一值之后,由衰減因子增加的衰減速度可以將后續(xù)引入的誤差完全抵消掉,也就是說,誤差將維持在某一上限值(0)不會繼續(xù)增加。同時,為保持車輛在定曲率路徑行駛時有足夠的誤差衰減速度,可設(shè)定=+,其中、為可調(diào)參數(shù),由車輛實際跟蹤效果確定。
這里說明,實際運行時,誤差上限值(0)不能根據(jù)式(37)由精確確定,這是由于因子的加入不嚴(yán)格使得主導(dǎo)極點更遠(yuǎn)離虛軸的距離;同時,縱向誤差雖然可保持在較小值,但無法完全消除至0,殘余的縱向誤差仍會對橫向控制造成影響;在推導(dǎo)中的近似也會造成些微影響。
仿真實驗的目的是證明橫縱向的改進(jìn)策略有效。
為實現(xiàn)上述目的,本文使用3 種控制方法進(jìn)行對比:
(1)縱向改進(jìn)橫向不改進(jìn):縱向控制采取有效距離積分與縱向誤差修正;橫向控制僅按文獻(xiàn)[12]加入固定不變的因子,即= 0、≠0;
(2)橫縱向均改進(jìn):縱向控制采取有效距離積分與縱向誤差修正;橫向控制在文獻(xiàn)[12]的基礎(chǔ)上,增加與曲率變化率的相關(guān)量,即≠0、≠0,且與(1)中相同;
(3)橫向改進(jìn)縱向不改進(jìn):縱向控制僅使用車輛全部已行走距離作為總參考距離;橫向控制在文獻(xiàn)[11]的基礎(chǔ)上,增加與曲率變化率的相關(guān)量,即≠0、≠0,取值與(2)相同。
圖14 3種控制方法下仿真跟隨結(jié)果
圖15 3種控制方法下x方向誤差
由圖14~圖16可見,橫縱向均改進(jìn)時,由于增加了項緩解了曲率變化時誤差的累積,而縱向補(bǔ)償又可對溜車誤差進(jìn)行補(bǔ)償,因此車輛能將在溜車時(圖15 和圖16 時間12 和26 s 處)引發(fā)的異常誤差值快速消除,之后將誤差控制在較小值。這里需同時說明,由于參考點是根據(jù)路徑信息遞推出來的,因此參考點與路徑本身也存在部分誤差,但在泊車的低速運動下,這部分誤差是可以接受的。
圖16 3種控制方法下y方向誤差
實車實驗的目的是驗證算法在實際車輛上的可執(zhí)行性,以及是否能在不同工況下均可保持高性能以便實際應(yīng)用。實車平臺為如圖17 所示的基于榮威E50改制的智能駕駛測試平臺。車輛搭載了超聲波雷達(dá)、單線激光雷達(dá)、多線激光雷達(dá)、單目攝像頭、環(huán)視攝像頭、GPS/INS 組合導(dǎo)航儀RT3000 和dSPACE 的MicroAutoBox 作為控制器,以便實現(xiàn)自動駕駛決策、規(guī)劃、控制算法。這里需說明,本文使用的路徑規(guī)劃算法僅以充分利用空間為目標(biāo),并未考慮安全距離,因此車輛輪廓會與庫位輪廓有輕微碰撞。不過,由于本文的目的僅是證明路徑跟隨算法的有效性,因此本文的規(guī)劃算法能夠滿足要求,而實際使用時若需確保安全性,只需在規(guī)劃算法中設(shè)定安全距離即可。
圖17 實車實驗平臺
實車驗證包括垂直泊車與平行泊車。其中,垂直泊車分為垂直1 段泊車、垂直3 段泊車、垂直4 段泊車,平行泊車分為1 段平行泊車、2 段平行泊車、3段平行泊車,共6 種工況的驗證。圖18~圖29 為車輛在不同工況下的跟隨示意圖與、方向誤差。
圖18 垂直1段路徑泊車跟隨示意
圖29 平行3段路徑泊車x、y方向誤差
結(jié)果表明,本文提出的算法能夠保證車輛在泊車全過程的高精度跟隨。6 種工況下,車輛的、方向的誤差均可最終保持在0.05 cm以內(nèi)。
圖19 垂直1段路徑泊車x、y方向誤差
而實車實驗結(jié)果與仿真存在偏差,其原因在于:
(1)車輛的執(zhí)行機(jī)構(gòu)(驅(qū)動電機(jī)與轉(zhuǎn)向電機(jī))存在慣性,而這部分在仿真中無法精確建模,導(dǎo)致在同種情況下,實車與仿真的輸出指令值相比是存在偏差的;
(2)實車試驗時不能確保車輛所處路面是絕對平整的,路面的不平度將對車輛施加一定的干擾力,進(jìn)而影響實車結(jié)果,而路面的不平度未能在仿真中體現(xiàn)。
圖20 垂直3段路徑泊車跟隨示意
圖21 垂直3段路徑泊車x、y方向誤差
圖22 垂直4段路徑泊車跟隨示意
圖23 垂直4段路徑泊車x、y方向誤差
圖24 平行1段路徑泊車跟隨示意
圖25 平行1段路徑泊車x、y方向誤差
本文中基于微分平坦算法的泊車路徑跟隨方法,將車輛與路徑參考點之間的誤差進(jìn)行解耦,并利用與橫縱向誤差相對應(yīng)的控制器進(jìn)行控制,使得車輛高精度跟隨沿路徑移動的參考點,從而完成高精度路徑跟隨。具體體現(xiàn)為:
(1)縱向控制上,采用了有效距離積分方法與縱向誤差修正規(guī)則,消除了車輛后軸中點與路徑參考點之間的、沿規(guī)劃路徑的縱向誤差,有利于橫向控制部分對剩余誤差的控制;
圖26 平行2段路徑泊車跟隨示意
圖27 平行2段路徑泊車x、y方向誤差
圖28 平行3段路徑泊車跟隨示意
(2)橫向控制上,使用微分平坦算法將系統(tǒng)反饋線性化,在微分平坦空間中采用線性二次調(diào)節(jié)器(LQR),并將曲率變化率與可加速橫向誤差衰減的因子建立聯(lián)系,設(shè)計反饋控制,使得橫向誤差在定曲率與變曲率處均維持在較小值。
本文通過仿真對比驗證了橫縱向控制的有效性,并在實車實驗平臺上驗證了算法的可靠性。通過對實車實驗的分析,執(zhí)行器的慣性與路面不平度將對實際效果產(chǎn)生影響,這些問題有待進(jìn)一步改進(jìn)。