劉 瑞, 朱西產, 劉 霖, 馬志雄
(同濟大學 汽車學院,上海 201804)
智能化是減少交通事故,降低駕駛員操作負荷,提高交通效率的重要途徑之一.目前,以ADAS (advanced driver assistance systems)為代表的駕駛輔助系統已經在量產車上有很多應用.但完全自動駕駛或高等級自動駕駛實現起來仍有較大困難.因此人機共駕成為了近些年來的一個研究熱點[1-5].
廣義上的人機共駕指所有駕駛員和智能系統共同駕駛車輛的系統.從這個意義上講,人機共駕可以根據控制模式分為單駕雙控、雙駕單控和雙駕雙控.單駕雙控是指駕駛指令只來源于駕駛員或控制系統其中之一,而實際車輛控制由駕駛員和控制系統共同完成.ABS(anti-lock brake system)和ESP(electronic stability program)都是典型的單駕雙控系統.在ABS中所有的制動指令都來源于駕駛員踩制動踏板的行為,即單駕;ABS系統根據車輪角加速度傳感器獲得的輪胎滑移率信息和駕駛員的制動行為進行制動操作,即雙控.單駕雙控可以較好的補償駕駛員在控制層[6]的不足.但單駕雙控仍然將駕駛員作為理想駕駛員來考慮,即駕駛員的所有操作都是正確的.統計表明[7],93%的事故是由于駕駛員和駕駛環境之間的信息交互錯誤和駕駛員的誤操作導致的.雙駕單控和雙駕雙控系統可以在一定程度上對駕駛員予以預先糾正,因此可以獲得更大的安全收益.
雙駕單控是指駕駛指令可以來源于駕駛員和控制系統,但同一時刻只執行駕駛員和控制系統其中之一的駕駛指令.ACC(adaptive cruise control)和AEB(autonomous emergency braking)都是典型的雙駕單控系統.關于智能汽車事故的研究表明,在自動駕駛系統完全成熟之前保持駕駛員時刻在環是非常重要的[8-9].雙駕單控不能保證駕駛員始終在環,并且雙駕單控系統的駕駛權是在駕駛員和控制系統之間無過度轉換的.這些都帶來一定的安全隱患.雙駕雙控是指駕駛指令來源于駕駛員和控制系統,且同一時刻按照某種策略同時執行駕駛員和控制系統的駕駛指令.雙駕雙控可以保證駕駛員始終對車輛保持控制,同時又可以在駕駛員操作失誤時在一定程度上予以糾正.相比于在駕駛員和控制系統之間無過度的轉換,雙駕雙控是一種更好的模式.
由于人機共駕的雙駕雙控策略中的駕駛指令來源于駕駛員和智能車的控制系統,如何根據兩者的指令控制車輛成為一個難題.觸覺共享控制是一種較早的雙駕雙控模式.當觸覺共享控制的控制系統期望接管駕駛權時,會在方向盤上作用一個附加力矩來控制車輛[10].在觸覺共享控制中,從方向盤到前輪的傳力路徑仍然是機械連接.文獻[11]基于觸覺共享控制提出一種人機共駕策略,虛擬駕駛員根據駕駛員作用在方向盤上的力矩來感知駕駛員的駕駛意圖,并且通過方向盤力矩來輔助駕駛員.文獻[12]使用駕駛模擬器研究了觸覺共享控制對駕駛員彎道通過的輔助效果.最近發展起來的線控轉向(steer-by-wire)技術為駕駛權分配提供了新的可能.文獻[13]提出一種使用駕駛員和控制系統操作的加權和來得到智能車的實際控制輸入的方法.文獻[14]基于加權和與MPC(model predictive control)來實現人機共駕的雙駕雙控.
在雙駕雙控的駕駛權分配中,駕駛員和控制系統都希望智能車沿自己的期望軌跡行駛.人機共駕雙控雙駕策略是要在兩者期望軌跡之間根據某一規則找到一個最優解.非合作動態博弈主要用來解決多個決策者共同作用于同一個動力系統的問題[15],因而雙駕雙控中的駕駛權分配問題可以使用動態博弈理論來描述.動態博弈在車輛系統中的應用仍相當有限.文獻[16]和文獻[17]使用動態博弈研究了在惡劣工況下車輛評價方法,并使用卡車側翻和折疊這兩個極端工況驗證了其評價方法.文獻[18]和文獻[19]使用納什均衡策略研究了將駕駛員行為考慮在內的車輛控制策略.文獻[20]使用動態博弈對駕駛員和前輪主動轉向系統共同進行軌跡跟蹤時的控制行為進行了建模.
本文基于非合作MPC(model predictive control)提出了一種人機共駕雙控雙駕策略.本文的主要創新點包括:① 證明了非合作MPC存在唯一的納什均衡解的條件,并表明在求解非合作MPC時文獻[20]中的迭代是沒有必要的.② 使用駕駛員和控制系統的置信度矩陣更新實現了駕駛員與控制系統之間駕駛權的逐漸交接.本文提出的非合作MPC人機共駕策略可以在智能車遇到危險時實現智能汽車由駕駛員駕駛到系統控制駕駛的平穩過度,從而實現在提高車輛安全性的同時保持駕駛員時刻在環.
基于車輛單軌模型構建一個人機共駕車輛側向控制模型,以實現駕駛員和控制系統同時對車輛轉向的控制.記系統狀態變量為x=[y,vy,ψ,ω]T.其中,y車輛側向位移;vy為車輛側向速度;ψ為車輛朝向角;ω為車輛橫擺角速度.系統狀態方程可以表示為
z=Cx
(1)
式中:vx為車輛縱向速度;Cf為車輛前輪側偏剛度;Cr為車輛后輪側偏剛度;m為車輛質量;a為車輛前軸中心到質心距離;b為車輛后軸中心到質心距離;Iz為車輛繞z軸轉動慣量;uD為非合作MPC人機共駕策略中駕駛員的輸入;uA為非合作MPC人機共駕策略中控制系統的輸入;z為系統可量測狀態.
將連續系統離散化可以得到
x(k+1)=Ax(k)+B1uD(k)+B2uA(k)
z(k)=Cx(k)
(2)
式中:A為系統離散化之后Ac對應的矩陣;B1和B2為系統離散化之后B1,c和B2,c對應的矩陣.
通過離散系統模型的連續迭代可以得到
Z(k)=Ψx(k)+Θ1U1(k)+Θ2U2(k)
(3)
式中:Np為所謂的優化域(preview horizon),Nu為所謂的控制域(control horizon).系統根據Np步的信息來求解局部最優解,U1和U2可以在Nu步內調節,因而有Nu≤Np.
基于非合作MPC提出一種人機共駕策略,實現人機共駕中的雙駕雙控.在人機共駕策略中,智能車根據駕駛員的操作輸入、駕駛員模型、和車輛模型得到駕駛員的期望軌跡.同時,智能車根據環境感知系統構建的環境模型得到車輛可行域.通過比較車輛可行域和駕駛員期望軌跡,智能車可以判定當前車輛處于安全域、過渡域、或危險域.過渡域通常指雖然不危險但安全裕量已經較小.
a 危險估計
b 駕駛權分配
對于駕駛輔助系統而言,當車輛從安全域到過渡域再到危險域的過程中通常有兩個工作點.即當車輛從安全域進入過渡域時,包括FCW(forward collision warning)和LDW(lane departure warning)在內的預警系統開始工作;當車輛在危險域進入預碰撞狀態時,AEB或AEC(autonomous emergency control)系統開始工作.駕駛輔助系統可以在一定程度上降低事故風險.但駕駛輔助系統的這種在某一工作點突然介入的模式讓很多駕駛員感到不適應或不習慣.同時,如何準確確定預警系統和輔助系統的工作點時刻或位置成為一個難題.這些都限制了駕駛輔助系統的接受程度和安全收益.
在非合作MPC人機共駕策略中,智能車在行駛過程中駕駛指令同時來源于駕駛員和控制系統.智能車根據兩者的駕駛指令來規劃運動軌跡.當智能車處于安全駕駛狀態時,智能車根據駕駛員的操作來控制車輛.當由于駕駛員操作失誤或分心導致車輛進入過度域或危險域時,非合作MPC人機共駕策略可以將駕駛權從駕駛員逐漸交接給控制系統,來避免危險.這種逐漸過渡的方式可以較好地兼顧舒適性和安全性,同時保證駕駛員時刻在環.
非合作MPC人機共駕策略中的兩個參與者(駕駛員和控制系統)都期望使關于自身目標的代價函數盡可能小,即
s.t.Z(k)=Ψx(k)+Θ1U1(k)+Θ2U2(k)
(4)
式中,V1(k)為駕駛員的代價函數,V2(k)為控制系統的代價函數.
兩個參與者的代價函數定義為
(5)
在人機共駕非合作MPC模型中,有以下兩個要點:
(1)Q1(k)和Q2(k)均為時變矩陣.q1(k)為駕駛員置信度矩陣,q2(k)為智能車控制系統置信度矩陣.通過Q1(k)和Q2(k)中的兩個置信度矩陣隨時間的變化可以實現駕駛員與智能車控制系統之間駕駛權的轉換.通過后文仿真分析可知,κ1(k)和κ2(k)是與駕駛權分配相關的參數,因此稱其為分配系數;λ1(k)和λ2(k)是與動態特性相關的參數,因此稱其為動態調整系數.當智能車感知到車輛進入危險狀態時,可以通過逐漸調低κ1(k)并逐漸調高κ2(k),使車輛沿著智能車控制系統的規劃軌跡行駛以躲避危險.而當車輛躲避危險逐漸進入正常行駛狀態時,可以通過逐漸調高κ1(k)并逐漸調低κ2(k),將駕駛權逐漸交還給駕駛員.這樣就實現了駕駛員與控制系統之間駕駛權的平緩交接.
(2) MPC需要根據未來Np步內的預測信息來求局部最優解.但在非合作MPC人機共駕策略中,期望使用駕駛員實時轉向操作實現雙駕雙控.因此,使用一種預測域提前的方法,即將預測域取為當前時刻向前Np步的區間.這樣可以較好地解決非合作MPC的實時求解,但會產生Np步的延遲.因此預測域Np不能取得過大.本文選取Np=10,而每一步的時長為0.01 s.這樣產生的0.1 s延遲仍在可接受范圍之內.
T1(k)和T2(k)是兩個參與者的局部目標軌跡,在每一次優化前都需要滾動更新.其更新方程為
T1(k+1)=GT1(k)+Ht1(k+1)
T2(k+1)=GT2(k)+Ht2(k+1)
(6)
定義兩個誤差變量ε1(k)和ε2(k)為
ε1(k)=T1(k)-Ψx(k)-Θ2U2(k)
ε2(k)=T2(k)-Ψx(k)-Θ1U1(k)
(7)
則有
i=1,2
(8)
Vi(k)對Ui(k)的偏導為
(9)
由于Qi(k)都是半正定矩陣且Ri都是正定矩陣,因此Vi(k)對Ui(k)的二階偏導始終大于0.則Vi(k)對Ui(k)的偏導等于0的解即為代價函數最小的最優控制序列.因此有
(10)
其中
(11)
(12)
納什均衡表明,當一個參與者執行納什均衡策略時,其他參與者無法通過選擇非納什均衡的其他策略來增加自己的收益.因此對每一個參與者來說,納什均衡解是當前博弈條件下的最優解.
對于非合作博弈MPC人機共駕策略,其納什均衡解可以由定理1給出.
定理1對于如式(2)所描述的博弈系統和式(4)所描述的代價函數,當且僅當I-L(k)可逆時系統具有唯一的納什均衡解.且該納什均衡解為
式中,K(k)=[I-L(k)]-1M(k),
證明:
(1) 存在性與唯一性.Vi(k)(i=1,2)為一個二次型函數的博弈通常也被稱為二次博弈(quadratic game).二次博弈是否存在唯一納什均衡解可以通過矩陣的可逆性來判別.文獻[15]表明,存在一個矩陣P(k),當且僅當P(k)可逆時,二次博弈存在唯一的納什均衡解.其中
對P(k)進行變換可得
[I-L(k)]
因為Qi(k)都是半正定矩陣且Ri都是正定矩陣,所以P(k)的可逆性等價于I-L(k)的可逆性.因此當且僅當I-L(k)的可逆性,非合作MPC具有唯一的納什均衡解.
(2) 構造性.當I-L(k)可逆時,非合作MPC的唯一納什均衡解可以直接求得閉式解析表達而不需要迭代.下面來構造非合作MPC的納什均衡解.
(13)
通過式(13)得到的U1(k)和U2(k)的一對最優控制序列滿足
(14)
(15)
(16)
(17)
證畢.
在MPC中,通常采取一種域后退的策略.即在每一個優化域中求解局部最優MPC控制策略,但優化域隨時間一直向后推移進行滾動優化,因此只有控制序列的第一個控制輸入起作用.兩個參與者的反饋增益K1(k)和K2(k)為
(18)
式中:Il為l維單位矩陣,l為每個參與者控制輸入的個數.
人機共駕中兩個參與者的非合作博弈MPC控制輸入可以表示為
(19)
非合作MPC人機共駕策略的控制輸入是綜合考慮駕駛員操作,控制系統規劃軌跡,和當前危險狀態后對車輛的控制.即根據危險程度在駕駛員和控制系統之間動態的分配駕駛權,因此可以兼顧舒適性和安全性.
文獻[22]表明,雖然通過式(10)推導MPC的最優控制序列比較直觀方便,但使用式(10)計算矩陣Fi(k)的方法通常數值不穩定.文獻[22]提供了一種較好的解決方法,本文使用該方法來計算Fi(k).則F1(k)和F2(k)可以表示為
(20)
式中:A+表示矩陣A的廣義逆.
使用Matlab軟件對非合作MPC人機共駕策略進行仿真驗證.根據實際車輛參數選取車輛參數如表1所示.
表1 車輛參數
使用駕駛員期望向左側變道而智能車控制系統期望直行的場景驗證非合作MPC人機共駕策略的效果.駕駛員變道軌跡使用5次多項式變道軌跡擬合[23].變道軌跡長度為50 m,寬度為3.5 m.仿真中車輛行駛速度為20 m·s-1.預測域Np=10,控制域Nu=10,仿真步長T=0.01 s.與最優控制類似,在非合作MPC中,只有q1(k)和q2(k)與r1和r2的相對值會對控制結果產生影響.本文中每個參與者只有一個輸入,r1和r2均為標量.因此在仿真中均設定r1=1,r2=1.
第1組仿真驗證分配系數κ1(k)和κ2(k)對控制結果的影響.這一組5個工況的參數設置如下:
(1) 仿真工況1.1:κ1(k)=0.1,λ1(k)=10;κ2(k)=0.1,λ2(k)=10.
(2) 仿真工況1.2:κ1(k)=0.4,λ1(k)=40;κ2(k)=0.1,λ2(k)=10.
(3) 仿真工況1.3:κ1(k)=0.1,λ1(k)=10;κ2(k)=0.3,λ2(k)=30.
(4) 仿真工況1.4:κ1(k)=0,λ1(k)=0;κ2(k)=0.1,λ2(k)=10.
(5) 仿真工況1.5:κ1(k)=0.1,λ1(k)=10;κ2(k)=0,λ2(k)=0.
第1組仿真中,q1(k)和q2(k)均為常數,仿真結果如圖2所示.通過圖2可以看出,改變q1(k)和q2(k)的相對比例(即等比例的縮放κi(k)和λi(k).(i=1,2)),會使最終的規劃軌跡處于駕駛員期望軌跡和控制系統期望軌跡之間.當q1(k)為0時,最終規劃軌跡會與控制系統期望軌跡完全相同,此時智能車完全受系統控制;當q2(k)為0時,最終規劃軌跡會與駕駛員期望軌跡完全相同,此時智能車完全受駕駛員控制.
第2組仿真驗證動態調整系數λ1(k)和λ2(k)對控制結果的影響.這一組5個工況的參數設置如下:
(1) 仿真工況2.1:κ1(k)=0.1,λ1(k)=10;κ2(k)=0.1,λ2(k)=10.
(2) 仿真工況2.2:κ1(k)=0.1,λ1(k)=2;κ2(k)=0.1,λ2(k)=10.
a
b
c
(3) 仿真工況2.3:κ1(k)=0.1,λ1(k)=6;κ2(k)=0.1,λ2(k)=10.
(4) 仿真工況2.4:κ1(k)=0.1,λ1(k)=10;κ2(k)=0.1,λ2(k)=2..
(5) 仿真工況2.5:κ1(k)=0.1,λ1(k)=10;κ2(k)=0.1,λ2(k)=6.
第2組仿真中,q1(k)和q2(k)同樣均為常數,仿真結果如圖3所示.通過圖3可以看出,在κ1(k)和κ2(k)保持不變的情況下,改變λ1(k)和λ2(k)對規劃軌跡的最終結果不產生影響.即5個工況的規劃軌跡最終收斂到同樣的位置.改變λ1(k)和λ2(k)主要影響了規劃軌跡的動態特性.當λ1(k)比λ2(k)大時,規劃軌跡表現出一種超調特性,并且λ1(k)與λ2(k)的差值越大這種超調特性越明顯;當λ1(k)比λ2(k)小時,規劃軌跡表現出一種過阻尼特性,并且λ1(k)與λ2(k)的差值越大這種過阻尼特性越明顯.
第1組和第2組仿真使我們對κi(k)和λi(k)(i=1,2)對規劃軌跡的影響有了較為清晰的了解.接下來的第3組仿真將表示非合作MPC人機共駕策略最為明顯的優點,即實現駕駛員和控制系統之間駕駛權的逐漸交接.這主要通過κ1(k)和κ2(k)的逐漸變化來實現.
a
b
c
第3組仿真中,λ1(k)和λ2(k)設為常數,即λ1(k)=2,λ2(k)=2.3個工況中開始均設定κ1(k)=0.1,κ2(k)=0.在某一時刻,κ1(k)逐漸線性的減小到0,同時κ2(k)逐漸線性的增大到0.1.第3組仿真3個工況κ1(k)和κ2(k)的變化如圖4所示.仿真工況3.1是在3 s時(60 m處)開始駕駛權交接,并在1 s內(20 m內)完成從駕駛員駕駛到系統駕駛的轉換.注意到仿真工況設定是在50 m處駕駛員期望開始變道,并在100 m處變道結束.因此仿真工況3.1表示了在變道過程中進行駕駛權交接的結果.仿真工況3.2是在9 s時(180 m處)開始駕駛權交接,并在6 s內(120 m內)完成從駕駛員駕駛到系統駕駛的轉換.仿真工況3.3是在9 s時(180 m處)開始駕駛權交接,并在1 s內(20 m內)完成從駕駛員駕駛到系統駕駛的轉換.仿真工況3.2和3.3表示了當駕駛員和控制系統存在分歧的穩定狀態時進行駕駛權轉換的結果.
a 仿真工況3.1
b 仿真工況3.2
c 仿真工況3.3
第3組仿真3個工況結果如圖5所示.通過圖5a可以看出,當駕駛員與控制系統發生分歧時進行駕駛權的轉換,3個工況都可以規劃出一條非常符合車輛動力學的穩定軌跡.并且3個工況都實現了平穩的從駕駛員控制轉換到系統控制.在仿真工況3.1中,變道進行到一半時進行駕駛權轉換,車輛可以平順的由向左變道逐漸回到本車道.在仿真工況3.2和3.3中,當車輛已經按照駕駛員的操作進行左變道后進行駕駛權交接,車輛可以平順的右變道回到本車道.且駕駛權交接時間越短,變道軌跡越緊急.通過圖5c可以看出,3個工況在駕駛權交接的過程中,車輛前輪轉角輸入始終保持在較小范圍內,沒有較大范圍的突然劇烈變化.這對保持車輛穩定是非常有利的.
a
b
c
第3組仿真工況是有其實際意義的.當駕駛員左轉方向盤期望左變道時,智能車在之前可以由于感知系統的遮擋等沒有檢測到左側車道的障礙物.在車輛左變道過程中,智能車在檢測到左側車道障礙物的危險后在變道過程中馬上進行駕駛權交接,使本車回到原車道以避免危險.
使用非合作MPC實現了一種人機共駕的雙駕雙控策略.即駕駛員和智能車控制系統同時發出駕駛指令,智能車根據車輛當前狀態和兩者的控制指令依某一規則規劃車輛運動軌跡.之前關于非合作MPC求解的文獻中均使用了迭代法,本文表明非合作MPC可以通過非迭代的方法求解.非合作MPC人機共駕策略的主要優點是可以實現駕駛員和控制系統之間駕駛權的逐漸交接.這樣,既能保證駕駛員實時在環,又不會在智能車控制系統接管車輛時過于突兀,給駕駛員帶來不適感.非合作MPC的這種駕駛權逐漸交接是通過駕駛員和控制系統置信度矩陣的實時更新實現的.Matlab仿真驗證表明在危險工況時,非合作MPC人機共駕策略可以完成駕駛權從駕駛員到智能車控制系統的平穩交接.