李潤梅 張立威 王劍
近些年來,車路協同系統(Cooperative vehicle infrastructure system,CVIS)的相關技術發展迅速.車輛之間可以互相感知和通信,且車輛和道路以及道路和兩旁設施之間也能夠互相感知和通信[1].在CVIS下,結合無人駕駛技術必將推動無人車的快速發展和傳統交通流的變革.目前,國內外的自動駕駛技術已經相當成熟,谷歌無人車項目是這些成功案例之一,谷歌無人駕駛汽車(Google driverless car)是谷歌公司的Google X實驗室研發的全自動駕駛汽車,不需要駕駛者就能啟動、行駛以及停止[2].谷歌的工程人員使用7輛試驗車,其中6輛是豐田普銳斯,一輛是奧迪TT,在加州幾條道路上進行測試.測試結果表明,這些車比有人駕駛的車更安全,因為它們能更迅速、更有效地做出反應.在這些背景下,無人車編隊控制成為了該領域的研究焦點之一.車輛編隊行駛能夠提高道路交通的容量和安全性,其中車輛跟隨控制是編隊行駛的關鍵問題,車輛跟隨控制包含橫向控制、縱向控制以及橫縱向綜合控制.
在車輛的橫向控制研究中,一個廣泛關注的問題是轉向控制的精確性[3?5].王家恩等提出了一種跟蹤期望橫擺角速度的車輛橫向控制方法,基于7個自由度的車輛動力學模型,設計滑模控制器跟蹤期望橫擺角速度,使得車輛穩定地跟蹤目標路徑[3].劉偉等簡化了汽車運動學模型,設計滑模控制器對無人車的橫向運動進行控制,實現了無人車的路徑跟蹤[4].田濤濤等提出了一種無模型自適應控制方法控制無人駕駛汽車的橫向運動,獲得了很好的效果,并且實際應用于清華大學無人駕駛汽車實驗平臺,在橫向控制方面做出了很大的突破[5].王家恩等[3]、劉偉等[4]和田濤濤等[5]都考慮了車輛的橫向控制,可以看出無人車橫向控制的研究已經很成熟.
在車輛縱向控制中,主要是車輛速度和間距的控制.Nouveliere等使用一個二階滑模技術去控制實驗車輛的縱向行駛,考慮了車輛之間的距離和車輛的速度有關,使用Matlab仿真軟件和一個配有傳感器和執行機構的車輛原型進行仿真驗證,可以很好地實現車輛行駛和停止、避障停車以及多車跟隨[6].Li等使用了反饋控制算法實現了兩輪驅動型無人車的縱向跟隨行駛,兩無人車之間的間距設置為一個固定值,兩無人車之間的相對角度也是恒定的[7].Peters等考慮了跟隨車的行駛不僅和其前面一輛車有關,還與第一輛車有關.實現了具有恒定間隔策略的循環縱向隊列保持穩定行駛.
在實際道路中車輛是沿著任意軌跡前進行駛的,道路條件復雜,比如筆直的道路,彎曲的道路以及顛簸的道路等,所以考慮車輛的橫縱向綜合編隊行駛更具有實際意義[8].
領航跟隨模式對于解決車輛橫縱向綜合編隊行駛是一種簡單且有效的建模方法.其原理是將車隊中的某一輛車作為領航車,其他車都作為跟隨車,然后設計跟隨車的控制器去實現跟隨車跟隨領航車的速度和方向.這個模式的核心思想是在車輛行駛過程中,將編隊問題轉化為跟隨車和領航車保持一個特定的相對距離和角度行駛的問題.所以,跟隨車的速度和方向控制是這個模式的關鍵所在.領航跟隨模式由Wang首次提出,他使用導航策略對編隊中自治移動的機器人進行控制[9].隨后,這個方法被應用到了車輛編隊領域.No等使用領航跟隨模式結合李雅普諾夫函數實現了車輛的縱向行駛,具體是用李雅普諾夫穩定性理論去推導出一個控制律,用它去控制兩車之間的距離,最后仿真了4輛車的列隊行駛[10].任殿波等在假定車隊中的每個被控車輛能夠接收到領航車以及該車前面一個車輛的位移、速度和加速度信息的情況下,應用滑模變結構控制方法得到了關于車輛間距誤差的車輛縱向跟隨系統數學模型.然后利用非線性關聯大系統的穩定性判定條件來設計控制參數,保證了車輛縱向跟隨控制系統的穩定性[11].任殿波等在之前研究的基礎上,基于非線性車輛縱向動力學模型,采用固定車輛間距跟隨策略,設計了車輛跟隨系統的縱向滑模控制律;應用向量Lyapunov函數方法和比較原理,對一類無限維非線性關聯系統的穩定性進行研究.仿真結果表明設計的車輛縱向跟隨控制律能使車輛速度誤差和間距誤差具有較快的收斂速度[12].Xuan和Lu在系統中每個元素只能獲得相對局部信息的條件下提出了一個車輛跟隨控制方法.并且為了增加車輛跟隨系統的可擴展性,在提出的控制方法上添加了速度約束.他們在微型交通環境下建立了一個包含5輛微型智能車的車輛跟隨系統去驗證他們提出的控制方法[13].但No等[10]、任殿波等[11?12]和Xuan等[13]的研究都是以兩車之間的相對距離和相對角度是常量為前提的.但在實際行駛過程中,無人車之間的相對距離和角度不是固定的常數.
以往研究者是在兩車之間期望相對距離或角度是常數的基礎上建立誤差模型,而本文建立的模型是基于時變的兩車期望相對距離和時變的期望相對角度建立.將時變的期望相對距離和角度作為輸入,給定領航車的前進軌跡,讓領航車做變加速行駛,設計控制系統,輸出跟隨車的前進速度和橫擺角速度,控制系統的作用是在無人車之間保持期望的相對距離和角度的前提下,跟隨車的速度和角速度可以很好地跟蹤領航車的速度和角速度,而且跟蹤誤差能夠很快地漸近收斂到0.
本文的主要貢獻總結如下:結合車輛的實際行駛情況,將無人車之間的期望相對距離和角度作為時變量輸入,建立無人車的領航跟隨誤差模型.基于建立的誤差模型,使用反饋控制法結合李雅普諾夫第二法設計出跟隨車的速度控制器和角速度控制器.最后,用Matlab對跟隨車的跟隨效果進行仿真驗證.
本文的結構如下:第一部分建立了無人車的領航跟隨誤差模型;第二部分介紹了怎樣得到時變的期望相對距離和角度;第三部分用反饋控制法和李雅普諾夫第二法設計了兩個速度控制器,并且使用李雅普諾夫函數和Barbalat引理從理論上驗證了控制器的穩定性和跟蹤誤差的漸近收斂性;第四部分展現了仿真背景,仿真設計和仿真結果分析;第五部分是總結.
無人車的領航跟隨結構[14]如圖1所示.
在圖1中,L(t)是跟隨車中心到領航車中心的距離,表示跟隨車和領航車的相對距離.?(t)是領航車中心軸線和相對距離連線的角度,表示跟隨車和領航車的相對角度.Gl(xl,yl)和Gf(xf,yf)分別是領航車和跟隨車的中心點.車身長度為2h,h是車輛中心到車輛前軸的距離,它等于車輛中心到車輛后軸的距離.針對給定車型,h為常數.θl(t)和θf(t)分別是領航車和跟隨車相對于x軸方向的夾角即橫擺角.φl(t)和φf(t)分別是領航車和跟隨車的行駛方向與它的前輪方向的夾角即轉向角.vl(t)和vf(t)分別是領航車和跟隨車的速度,ωl(t)和ωf(t)分別是領航車和跟隨車的角速度.此運動學模型的建立基于以下三個假設條件:1)車輪沒有滑動;2)前輪負責轉向,后輪負責驅動;3)領航車的前進軌跡和速度是已知的.后文中,為了減少公式的長度,將所有公式中的自變量時間t予以省略.

圖1 無人車領航跟隨結構Fig.1 Leader-follower structure of unmanned cars
如圖1所示,在跟隨車的前進方向和與前進方向垂直的方向上,可以將相對距離L分解成兩個分量.兩車之間的跟蹤誤差如式(1)所示.分別指的是相對距離橫向分量的期望值與實際值之差,相對距離縱向分量的期望值與實際值之差,領航車與跟隨車的橫擺角之差.是相對距離L的期望值的兩個分量.


將式(2)代入到式(1)中,得式(3):

其中Ld是無人車之間期望的相對距離,對式(3)求導可得到式(4).

為了得到相對距離L的導數,在平面坐標系中將L沿著水平方向和垂直方向分解成Lx和Ly.可以得出如式(5)所示的幾何關系.

對式(5)求導,可以得到式(6).

由圖1可以看出,Lx和Ly這兩個分量可以寫成式(7)和式(8)的形式,

和

根據圖1中各角度的相互關系,可以得到β=?+e3?π/2,θf=α?β+π/2以及θl=α??+π.將式(8)、式(7)的導數代入到式(6)中,結合積化和差公式與各角度關系,可以推出相對距離L的導數如式(9).

相對角度?如式(10),

將式(10)求導可以得到式(11).

由式(3)可以推出相對距離的表達式如式(12).

把式(2)、式(9)和式(11)代入到式(12)中,并結合積化和差公式與各角度關系可以推出相對角度?的導數表達式,如式(13).

由β和?的關系,得到β的導數表達式如式(14).

將式(9)、式(13)和式(14)代入到式(4)中,可以推出無人車的領航跟隨誤差模型,如式(15).

式(15)即為無人車的領航跟隨誤差模型,接下來通過設計控制器,給定時變的期望相對距離和期望相對角度,使得跟隨車能夠按照領航車的前進軌跡跟隨領航車.

圖2 時變期望相對角度簡化示意圖Fig.2 Simplified schematic of time-varying relative angle
期望相對距離是指在確保行車安全的情況下,車輛間要保持的最小距離,無人車在實際行駛過程中,車之間的期望相對距離是時變的.本文參考了文獻[15]給出的理想間距公式,期望相對距離與前車和后車的相對速度、前車的速度以及后車的速度相關,如式(16).

其中vf是跟隨車的速度.vl是領航車的速度,vrel=vf?vl是二者的相對速度.
針對本文跟隨車的跟隨控制問題,領航車的速度是給定的,跟隨車的速度是由控制系統得到的,考慮到設計控制器的目的之一是為了使跟隨車的速度無限接近領航車,故將式(16)簡化,設vrel為0,得到式(17).

其中Ld是兩車之間的期望相對距離,vl是領航車的速度.同時因為在仿真中速度的單位是m/s,但在實際的高速路上,汽車速度的單位是km/h,經過單位轉換.
在實際道路上,當領航車改變方向時,無人車之間的相對角度也在變化.為了解決方向跟隨問題,文獻[16]給出了期望相對角度的表達式.圖2是時變期望相對角度簡化的示意圖,假設長方形代表領航車,領航車從位置a行駛到位置b,假設橢圓形代表跟隨車,跟隨車從位置c行駛到位置d.將b定義為?d,初始的相對角度已知,這兩個的差值表示為式(18).

其中,r為轉彎半徑,由圖1可以得到式(19).

根據無人車之間的位置關系圖(2)所示和跟隨車的運動規律可以得出式(20).

將式(18)和式(19)代入式(20),可以推出期望相對角度?d如式(21).

由式(21)可以看出,期望相對角度與期望相對距離、領航車的速度以及角速度有關,它是一個時變量.
文獻[17]給出反饋控制的思想和過程.反饋控制法是將系統的輸出信息反饋到輸入端,與輸入信息進行比較,并利用二者的偏差進行控制的過程.無人車跟隨控制系統如圖3所示,本文在無人車之間的期望相對距離和角度輸入為時變量的條件下建立了無人車領航跟隨誤差模型如式(15),不考慮其他外界因素的影響,如噪聲和擾動,根據建立的誤差模型,本文將使用簡單且更接近于實際應用的反饋控制法和李雅普諾夫第二法去設計跟隨車的速度控制器和角速度控制器,由誤差模型和反饋控制方法可以推出式(22)和式(23).

圖3 無人車跟隨控制系統Fig.3 Control system of unmanned cars following

K是式(23)的補充項,它是由李雅普諾夫函數如式(24)和李雅普諾夫函數的導數如式(25)得到的.常數k1和k2都大于0,本文使用李雅普諾夫函數從理論上去證明設計的控制器的穩定性同時推導出K的表達式.
選擇李雅普諾夫函數如式(24).

常數k3大于0,從式(24)中可以看出V≥0.當且僅當時e1=e2=e3=0時,V=0.將式(24)求導可得到式(25).

將式(15)、式(22)和式(23)代入到式(25)中,可得到式(26).


為了保證李雅普諾夫函數的導數小于等于0,則由式(26)結合放縮法可以推出K的表達式如式(27).

定義A如式(28),

將式(27)和(28)代入到式(26),可以得出式(29).

在實際的控制系統中,李雅普諾夫穩定性理論在分析穩定性和理論研究上被廣泛使用,當是V正定且是半正定時,系統的有界穩定性可以由李雅普諾夫理論得出,但是不能得到控制系統是否是漸近收斂的.Barbalat引理克服了李雅普諾夫理論的局限性,在是半正定的情況下,它可以得出非線性時變系統的漸近收斂性[18].
引理.Barbalat引理的具體描述如下:
1)如果x(t)有界,并且是一致連續的(即,則當t→0時,成立.
2)如果x(t)和都有界,且,其中M(x)是一個連續正定函數,則當時t→0,x(t)→0成立.
證明.由式(29)可以得到式(30)的關系.

將式(24)代入到式(30)中,可以得到式(31).

因為e1(0),e2(0),e3(0)∈L∞成立,所以由式(31)可以得到e1,e2,e3∈L∞.然后又由式(29)可以得出式(32).

將式(32)轉化成式(33).

V(0)是一個常數,通過式 (33)可以看出成立.又結合式(4),可以得到,綜上可以得出e1,e2,e3這三個誤差是一致連續的.
根據Barbalat引理并結合上述證明可知,當t→∞時,成立,當t→∞時,e1,e2,e3→0也成立.綜上,基于兩車領航跟隨誤差模型的控制器穩定性可從理論上得到證明,且本文的控制器能夠從理論上使控制系統的跟蹤誤差漸近收斂于0.
在上一節中,已經用李雅普諾夫第二法和Barbalat引理從理論上證明了控制系統的穩定性和漸近收斂性.因為無人車之間期望的相對距離和角度都是時變的,本文將這兩個時變量代入到設計的控制器中進行仿真,并且將這兩個時變量也進行了仿真.考慮到實際行駛過程中存在量測噪聲,量測噪聲會影響領航車的車速傳感器準確檢測車速,文獻[19]也考慮到了噪聲對車輛編隊的影響.所以本文主要從兩個方面進行仿真.首先,在不考慮量測噪聲的理想情況下進行仿真驗證.其次,將量測噪聲加入到控制系統,仿真量測噪聲對控制系統的影響.其中,初始化參數編程實現,反饋控制器和兩無人車跟隨誤差模型通過搭建Simulink實現.
Simulink模型搭建過程:先搭建領航車的行駛軌跡模塊,再搭建反饋控制器模型,因Simulink模型太大,限于篇幅,以反饋控制器Simulink為例如圖4所示,其中常數是k1和k2.

圖4 反饋控制器Simulink框圖Fig.4 Simulink diagram of feedback controller
領航車沿著給定軌跡做變加速行駛,假設領航車的行駛軌跡如式(34).


圖5 領航車行駛軌跡曲線Fig.5 Travel trajectory curve of leader
根據高速路上車輛正常行駛的狀態,設置領航車以一個隨時間變化的加速度av行駛,且保證兩無人車加速度的變化幅度平穩,加速度曲線如圖6所示.文獻[20]也考慮到車輛在行駛時的加速度不僅僅是固定的或者為0,而是隨時間變化的.

圖6 領航車的加速度Fig.6 Leader's acceleration
假設兩無人車剛開始是停止狀態,領航車的初始速度設置0m/s,領航車的速度曲線也是隨時間變化的,曲線如圖7所示.

圖7 領航車速度Fig.7 Leader's speed
兩車的期望間距隨著領航車車速的變化而變化,如式(17)所示,兩車之間的實際距離與領航車速度的變化如圖8所示.圖8中,將100s前領航車加速領航過程稱為前期,之后領航車減速領航的過程稱為后期.兩車初始距離為2m.
領航車的角速度與其行駛軌跡相關[21],由圖1的幾何關系可以得出式(35).

因為yl/xl=tanθl,結合式(34)和式(35)可以推出式(36).


圖8 兩車相對距離與領航車速度關系曲線Fig.8 The relationship between relative distance between unmanned cars and the speed of the leader car
由式(36)可以推出領航車的角速度如式(37).

當xl(0)取給定時,可以得出和.
本文討論的無人車是兩驅車,前輪負責轉向,后輪負責驅動,領航車的角速度仿真曲線如圖9所示.

圖9 領航車角速度Fig.9 Angular velocity of leader
根據式(21),期望的相對角度和無人車之間初始的相對角度、無人車之間的期望距離以及領航車的速度和角速度有關.期望相對角度的曲線如圖10所示.當無人車開始行駛時,領航車在跟隨車的正前方位置,兩車之間的期望相對角度按照式(21)變化的.

圖10 期望相對角度Fig.10 Expected relative angle
將無人車之間時變的期望相對距離Ld和角度?d代入控制器如式(22)和式(23),為了得出較優的仿真效果,經過多次設置參數實驗,三個控制增益分別取為k1=1,k2=0.5,k3=0.01,可以仿真出跟隨車速度和角速度曲線分別如圖11(a)和圖11(b)所示.

圖11 兩無人車的速度跟隨曲線Fig.11 Velocity following of two unmaned cars
由圖11(a),結合圖8,分析跟隨過程如下:
從領航車啟動開始,兩車實際距離大于期望距離.在領航車加速期間,領航車速度逐漸變大,期望相對距離也在逐漸變大,但兩車實際間距一直大于期望值(如圖8中虛線和標注“前期”的實線所示).所以跟隨車速度一直稍大于領航車速度,力圖使得實際距離逼近于期望距離.其根本原因在于初始距離使得兩車實際距離大于期望距離,這個初始距離在跟隨的過程中被消耗掉.反之,當領航車速度逐漸變小,跟隨車的速度與二者的實際與期望距離表現為“后期”中,二者實際距離要稍小于期望距離,此時跟隨車的速度要低于領航車,以增加實際距離.
由圖11(b)可見,領航車的角速度和跟隨車的角速度最大誤差是0.034rad/s,之后跟隨車的角速度都可以很好地跟隨領航車.
顯然,在兩無人車之間的期望相對距離和角度是時變的情況下,本文方法對跟隨車的速度及角速度起到了較好的控制作用.
為了更好地反映無人車的跟隨控制效果,對包括相對距離橫向分量的期望值與實際值之差e1、相對距離縱向分量的期望值與實際值之差e2和兩車的橫擺角之差e3.它們的仿真曲線如圖12.
不考慮前2s調整過程,從圖12(a)中可以看出兩無人車之間的橫向誤差在17s后快速收斂到0,最大的橫向誤差為0.02m.從圖12(b)中可以看出縱向誤差在10s后快速收斂到0,最大的縱向誤差是6.57m,且為負值,這在實際行駛過程中屬于安全行為.從圖12(c)中可以看出角度誤差在40s后快速收斂到0,最大的角度誤差為0.057rad.上述三個誤差值在實際行駛過程中均是可以接受的.綜上,仿真結果表明了本文提出的控制方法對無人車的跟隨行駛有很好的控制效果.
從圖13中可以看出,跟隨車沿著領航車的前進軌跡跟隨行駛,為了去說明控制器的控制效果,本文使用了足夠大的行駛距離進行仿真,縱向距離最大的仿真值為5500m.仿真結果又一次說明跟隨車可以很好地跟隨領航車.

圖12 兩無人車之間的三個誤差Fig.12 Three errors between two unmanned cars

圖13 兩無人車之間的行駛路徑Fig.13 Movement track of two unmanned cars
本文在建立無人車誤差模型時,將無人車之間的期望相對距離和角度作為時變量輸入,提出基于時變量的無人車跟隨行駛方法.首先采用領航跟隨模式建立了領航車與跟隨車之間的誤差模型,接著將無人車之間的期望相對距離期望相對角度設為時變量,使用反饋控制法和李雅普諾夫第二法設計跟隨車速度控制器和角速度控制器,用Barbalat引理從理論上證明了跟蹤誤差漸近收斂.使用Matlab仿真軟件對兩無人車的跟隨行駛進行仿真,仿真結果表明了跟隨車可以很好地沿著領航車的前進軌跡跟隨行駛.在后續的研究中,將考慮使用濾波方法或者加入抗干擾的控制算法對領航車車速傳感器檢測的速度中帶有的噪聲進行處理.