孫 雪, 黃志球,3, 沈國(guó)華,3, 王金永, 徐 恒
(1. 南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 江蘇 南京 211106; 2. 南京航空航天大學(xué)高安全系統(tǒng)的軟件開發(fā)與驗(yàn)證技術(shù)工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室, 江蘇 南京 211106; 3. 軟件新技術(shù)與產(chǎn)業(yè)化協(xié)同創(chuàng)新中心, 江蘇 南京 210093)
無人駕駛車輛系統(tǒng)主要包括3部分:環(huán)境感知、行為決策和動(dòng)作實(shí)施。相關(guān)研究涉及到很多學(xué)科內(nèi)容,如:計(jì)算機(jī)技術(shù)、模式識(shí)別、自動(dòng)控制等。行為決策系統(tǒng)決定了無人駕駛車輛行駛的安全性與合理性,因此提高智能化行為決策水平一直是研究者努力的方向[1]。盡管已經(jīng)開展了眾多研究,由于城市交通環(huán)境比高速交通環(huán)境具有更高的復(fù)雜性和不確定性,現(xiàn)有的決策系統(tǒng)在實(shí)時(shí)性、安全性等方面仍然存在很多不足。其中城市交通環(huán)境中的復(fù)雜性主要表現(xiàn)在交通參與者多、道路狀況復(fù)雜、交通參與者之間交互頻繁;不確定性主要體現(xiàn)在他車和行人行駛意圖的不確定、傳感器感知的不確定。
目前,無人駕駛車輛行為決策模型大致有基于規(guī)則的模型和基于統(tǒng)計(jì)的模型兩大類?;谝?guī)則的模型是通過建立駕駛環(huán)境條件與駕駛動(dòng)作之間的對(duì)應(yīng)關(guān)系進(jìn)行決策,計(jì)算效率比較高,但無法考慮駕駛環(huán)境中的不確定性。所以基于規(guī)則模型的準(zhǔn)確性較低;基于統(tǒng)計(jì)的模型將駕駛環(huán)境中的不確定性考慮其中,提高了準(zhǔn)確性,由于模型結(jié)構(gòu)較復(fù)雜導(dǎo)致計(jì)算量較大,對(duì)模型結(jié)構(gòu)進(jìn)行實(shí)時(shí)更新工作量較大。
Gipps[2]基于車輛駕駛行為的安全性、期望性和必要性進(jìn)行規(guī)則決策。有限狀態(tài)機(jī)是常用的基于規(guī)則建模的方法。文獻(xiàn)[3]中進(jìn)行決策時(shí)用到了分層狀態(tài)機(jī),底層表示駕駛行為的轉(zhuǎn)換條件及具體動(dòng)作,中間層表示駕駛行為,頂層表示車輛的狀態(tài),但該方法當(dāng)駕駛場(chǎng)景較復(fù)雜時(shí),對(duì)駕駛狀態(tài)的管理和劃分比較麻煩,適合于簡(jiǎn)單場(chǎng)景。Furda等人[4]采用petri網(wǎng)進(jìn)行決策,基于多標(biāo)準(zhǔn)決策設(shè)計(jì)了自動(dòng)駕駛車輛的實(shí)時(shí)決策系統(tǒng);從多個(gè)駕駛行為中,選擇出安全且符合駕駛規(guī)則的行為。近年來,本體已經(jīng)成功應(yīng)用于自動(dòng)駕駛領(lǐng)域。Amand等人[5]描述了如何將本體應(yīng)用于交通參與者和基礎(chǔ)設(shè)施之間的時(shí)空關(guān)系的模型交互上。黃璐[6]提出了基于本體的無人駕駛車輛場(chǎng)景評(píng)估方法。本體通過對(duì)駕駛場(chǎng)景元素及其之間的關(guān)系進(jìn)行語義描述,將先驗(yàn)駕駛經(jīng)驗(yàn)考慮其中,構(gòu)建本體知識(shí)庫(kù),充分表達(dá)了駕駛場(chǎng)景中的多源異構(gòu)信息。從而解決了目前的行為決策方法對(duì)駕駛場(chǎng)景信息描述不充分以及人類的先驗(yàn)駕駛經(jīng)驗(yàn)無法有效充分利用造成的駕駛動(dòng)作不合理的問題。
基于統(tǒng)計(jì)的模型考慮了交通道路環(huán)境中存在的不確定性。其中,最常用的決策模型是貝葉斯網(wǎng)絡(luò)(Bayesian network, BN)和部分可觀測(cè)馬爾可夫決策過程(partially observable Markov decision process, POMDP)。Ulbrich等人[7]提出了一種基于非線性動(dòng)態(tài)BN的駕駛場(chǎng)景建模方法,該方法提高了無人駕駛車輛在不確定環(huán)境下自主換道的可靠性,但是對(duì)駕駛場(chǎng)景的理解和表達(dá)能力不足。Brechtel等人[8]提出將連續(xù)狀態(tài)層次BN轉(zhuǎn)換模型嵌入POMDP模型中,一定程度上降低了時(shí)間的不確定性和環(huán)境感知的不確定性對(duì)行為決策的影響,但計(jì)算效率較低。Noh等人[9]對(duì)智能車輛決策系統(tǒng)使用BN進(jìn)行情況評(píng)估和戰(zhàn)略決策。Bouton等人[10]提出基于POMDP模型的在線信念狀態(tài)規(guī)劃方法。
城市道路環(huán)境中,無人駕駛車輛在行駛過程中會(huì)遇到很多復(fù)雜、不確定的因素。這些因素給無人駕駛車輛的行為決策系統(tǒng)帶來了嚴(yán)峻的挑戰(zhàn)。不合理的行為決策結(jié)果將導(dǎo)致重大交通事故。結(jié)合本體和BN的優(yōu)勢(shì),本文提出了兩者相結(jié)合的無人駕駛車輛行為決策模型。首先,根據(jù)無人駕駛車輛自身傳感器感知到的駕駛場(chǎng)景信息,對(duì)駕駛場(chǎng)景進(jìn)行本體建模,但構(gòu)造出的本體無法表示駕駛場(chǎng)景中的不確定信息,對(duì)其進(jìn)行概率擴(kuò)展,使用Java開發(fā)工具包Jena進(jìn)行解析。然后,以Netica應(yīng)用程序接口為基礎(chǔ),將擴(kuò)展后的駕駛場(chǎng)景本體轉(zhuǎn)換為BN模型。最后,通過BN概率推理得到當(dāng)前駕駛場(chǎng)景下無人駕駛車輛的最佳駕駛行為。
本文行為決策方法框架如圖1所示。
圖1 行為決策方法框架Fig.1 Framework of behavior decision-making method
本體是一種統(tǒng)一的、規(guī)范的知識(shí)描述方法,通常用來描述領(lǐng)域知識(shí)。在計(jì)算機(jī)領(lǐng)域,本體從語義層次上描述知識(shí),可以看成描述某個(gè)領(lǐng)域知識(shí)的一個(gè)通用概念模型[11]。
本體可表示為一個(gè)五元組(C,R,F,A,I)。其中,C是本體中的類集;R是類的層次關(guān)系集合;F為函數(shù);A為公理;I是實(shí)例。
(1) 類或概念:領(lǐng)域內(nèi)的概念,可以是實(shí)際存在的真實(shí)事物,也可以是抽象的概念。
(2) 關(guān)系:用于描述類與類之間的關(guān)系。
(3) 函數(shù):是一種特殊的關(guān)系,該關(guān)系中前n-1個(gè)元素可以唯一決定第n個(gè)元素。
(4) 公理:表示永遠(yuǎn)成立的事實(shí)。
(5) 實(shí)例:某個(gè)類中真實(shí)存在的個(gè)例。
根據(jù)文獻(xiàn)[12]給出的駕駛場(chǎng)景分層模型。本節(jié)給出了與行為決策相關(guān)的4個(gè)類:道路類、障礙物類、行為類和自身車輛類;3個(gè)與表示概率相關(guān)的類:概率類、狀態(tài)類和變量類。本體類的層次關(guān)系如圖2所示。
圖2 類的層次關(guān)系Fig.2 Hierarchy relationship of classes
(1) 自身車輛類:自身車輛類描述了無人駕駛車輛自身的狀況。如自身的速度、方向、與他車的相對(duì)速度和相對(duì)位置等。
(2) 行為類:行為類表示無人駕駛車輛駕駛行為的集合。分為橫向行為和縱向行為。
(3) 障礙物類:障礙物類表示無人駕駛車輛在行駛過程中遇到的障礙物實(shí)體集合,包括行人和車輛。
(4) 道路類:表示無人駕駛車輛行駛道路的狀況。包括路口、車道、車道線、人行橫道、路面標(biāo)記、交通燈和交通標(biāo)志。
(5) 與表示概率相關(guān)的類中概率類有兩個(gè)子類:先驗(yàn)概率類和條件概率類。
對(duì)象屬性描述了類和類之間的關(guān)系,通過定義域和值域?qū)λ枋龅年P(guān)系進(jìn)行約束。從語義上講,基本的關(guān)系共有4種:類與實(shí)例的關(guān)系、父類與子類的關(guān)系、局部與整體的關(guān)系、類的屬性關(guān)系[13]。
(1) 自身車輛類/障礙物類和行為類的關(guān)系:車輛可以執(zhí)行駕駛行為。因此車輛與行為動(dòng)作之間具有決定的對(duì)象屬性,其定義域是自身車輛類/障礙物類,值域是行為類。
(2) 自身車輛類/障礙物類和道路類的關(guān)系:車輛當(dāng)前時(shí)刻在某個(gè)車道上行駛。所以車輛和車道之間具有在車道上的屬性,其定義域是自身車輛類/障礙物類,值域是車道;車道與車道之間有左車道、右車道屬性,其定義域和值域都是車道;車道與車道線之間有左車道線、有右車道線的屬性。定義域是車道,值域是車道線。
(3) 自身車輛類和障礙物類的關(guān)系:自身車輛與障礙物之間有相對(duì)位置的關(guān)系,再者障礙物會(huì)影響自身車輛的駕駛動(dòng)作。定義域是障礙物類,值域是自身車輛類。
下面給出部分關(guān)系屬性和部分?jǐn)?shù)據(jù)屬性,分別如表1和表2所示。
表1 部分關(guān)系屬性
表2 部分?jǐn)?shù)據(jù)屬性
本體知識(shí)庫(kù)由斷言工具箱(簡(jiǎn)稱為ABox)和術(shù)語工具箱(簡(jiǎn)稱為TBox)組成。TBox主要包含了具體領(lǐng)域的背景知識(shí),如概念、關(guān)系、定理、約束條件以及推理規(guī)則等。ABox主要包含了具體領(lǐng)域的情景知識(shí),如類的實(shí)例/對(duì)象以及它們之間的關(guān)系等。ABox是對(duì)TBox中的概念模型的實(shí)例化表示,給出類存在的一些實(shí)例[14]。本體的知識(shí)庫(kù)由TBox和ABox共同組成。將構(gòu)建好的駕駛場(chǎng)景本體作為無人駕駛領(lǐng)域的知識(shí)庫(kù),將本體明確的形式化的描述特性充分發(fā)揮出來。
無人駕駛車輛自主行駛過程中的一個(gè)駕駛場(chǎng)景如圖3所示,圖3中顯示自身車輛處在T型路口區(qū)域。
圖3 駕駛場(chǎng)景Fig.3 Driving scenario
(1) 行為類:縱向行為包括加速、減速、保持速度和停車;橫向行為包括直行向右變道和向左變道。如圖4所示。
(2) 障礙物類:無人駕駛車輛同車道前方車輛、右車道前方車輛和右車道后方車輛。如圖5所示。
圖4 行為類Fig.4 Class of Behavior
圖5 障礙物類Fig.5 Class of Obstacle
(3) 道路類:無人駕駛車輛在左車道行駛,其右方車道為右車道;車道線有實(shí)線和虛線;路面標(biāo)記包括直行路面標(biāo)記、右轉(zhuǎn)路面標(biāo)記、直行右轉(zhuǎn)路面標(biāo)記;交通標(biāo)志包括限速40 km/h。如圖6所示。
該駕駛場(chǎng)景下的本體模型結(jié)構(gòu)如圖7所示。
圖6 道路類Fig.6 Class of Road
圖7 駕駛場(chǎng)景本體模型結(jié)構(gòu)Fig.7 Ontology model structure of driving scenario
本體模型結(jié)構(gòu)實(shí)現(xiàn)了對(duì)駕駛場(chǎng)景中的類/實(shí)體的狀態(tài)和語義關(guān)系的結(jié)構(gòu)化表達(dá)。根據(jù)對(duì)駕駛場(chǎng)景的分析,通過該本體模型充分表達(dá)了駕駛場(chǎng)景中的多源異構(gòu)信息以及參與者之間的時(shí)空交互關(guān)系[15],為下面根據(jù)駕駛場(chǎng)景得到最佳駕駛動(dòng)作提供了場(chǎng)景理解信息。
BN是概率論與圖論相結(jié)合的產(chǎn)物,用來表示變量之間概率依賴關(guān)系的有向無環(huán)圖。適用于不確定性知識(shí)的表達(dá)和推理。BN由有向無環(huán)圖和條件概率表(conditional probability table, CPT)組成。有向無環(huán)圖中的節(jié)點(diǎn)表示隨機(jī)變量X={X1,X2,…,Xn},節(jié)點(diǎn)之間的邊表示節(jié)點(diǎn)之間具有依賴關(guān)系,由父節(jié)點(diǎn)指向子節(jié)點(diǎn)。CPT表示子節(jié)點(diǎn)與父節(jié)點(diǎn)之間依賴程度,用概率值去量化,有
P(Xi|Xi-1,…,X1)=P(Xi|Pa(Xi))
(1)
式中,Pa(Xi)是節(jié)點(diǎn)Xi的父節(jié)點(diǎn)集合。
BN的學(xué)習(xí)是通過當(dāng)前時(shí)刻新的證據(jù)對(duì)先前建立的BN進(jìn)行更新的過程,包括結(jié)構(gòu)學(xué)習(xí)和參數(shù)學(xué)習(xí)。參數(shù)學(xué)習(xí)是已知BN的結(jié)構(gòu),去確定CPT。結(jié)構(gòu)學(xué)習(xí)是既要確定BN結(jié)構(gòu),又要確定CPT。
本節(jié)在結(jié)構(gòu)已知、單個(gè)參數(shù)、完整數(shù)據(jù)的情況下用最大似然估計(jì)(maximum likelihood estimation, MLE)對(duì)BN進(jìn)行學(xué)習(xí)。給定一個(gè)概率分布D,假設(shè)其概率密度函數(shù)或概率分布函數(shù)為fD,以及一個(gè)分布參數(shù)θ,可以從這個(gè)分布中抽取一個(gè)具有n個(gè)值的采樣X1,X2,…,Xn,通過fD,就可以計(jì)算出它的概率[16],表示為
P(X1,X2,…,Xn)=fD(X1,X2,…,Xn|θ)
(2)
似然函數(shù)為
(3)
對(duì)似然函數(shù)兩邊取對(duì)數(shù):
(4)
對(duì)InL(θ)求導(dǎo)數(shù)并令之為0:
(5)
式(5)為對(duì)數(shù)似然方程,解這個(gè)方程得到的值就是未知參數(shù)的最大值。把θ帶入式(2)中即可得所求最大概率[17]。
BN推理是指利用BN的結(jié)構(gòu)及其CPT,在新的情況下計(jì)算可能取值的最大概率值的問題。BN推理問題有3大類:后驗(yàn)概率問題、最大可能解釋問題和最大后驗(yàn)假設(shè)問題。本文主要利用BN的后驗(yàn)概率問題進(jìn)行推理。后驗(yàn)概率問題是指已知BN中某些節(jié)點(diǎn)的概率值,根據(jù)這些概率值計(jì)算其他一些節(jié)點(diǎn)在新的先驗(yàn)概率下概率值的問題,最后選擇最大的后驗(yàn)概率值對(duì)應(yīng)的節(jié)點(diǎn)狀態(tài)為當(dāng)前狀態(tài)。BN的推理分為4種:
(1) 預(yù)測(cè)推理:根據(jù)先驗(yàn)證據(jù),求出在先驗(yàn)概率發(fā)生的條件下某些結(jié)果發(fā)生的概率。
(2) 診斷推理:已知結(jié)果,求出導(dǎo)致該結(jié)果發(fā)生的各種原因的概率。
(3) 支持推理:結(jié)果產(chǎn)生了,造成該結(jié)果產(chǎn)生的原因很多,需要找出各種原因發(fā)生的概率以及這些原因之間的關(guān)系和相互影響的程度。
(4) 包含上述多種類型的推理。
本文主要利用的是預(yù)測(cè)推理,根據(jù)無人駕駛車輛當(dāng)前駕駛環(huán)境以及周圍障礙車輛可能采取的駕駛動(dòng)作進(jìn)行決策推理。
BN推理的主要步驟如下:
步驟 1確定節(jié)點(diǎn)的先驗(yàn)概率以及具有依賴關(guān)系的節(jié)點(diǎn)之間的條件概率;
步驟 2確定在當(dāng)前時(shí)刻一些節(jié)點(diǎn)的概率值;
步驟 3根據(jù)需求選擇合適推理算法,用概率推理求相關(guān)節(jié)點(diǎn)的條件概率值。
實(shí)際上BN推理的過程就是實(shí)現(xiàn)Bayes公式的過程:在已知某些節(jié)點(diǎn)的概率P(Xi)或者已知證據(jù)(記作E)時(shí)求未知節(jié)點(diǎn)Xj取某一特定值e的概率,即計(jì)算條件概率
(6)
BN中的節(jié)點(diǎn)代表隨機(jī)變量,節(jié)點(diǎn)之間的依賴關(guān)系用有向邊來表示,有向邊由父節(jié)點(diǎn)指向子節(jié)點(diǎn),并用CPT來表示一個(gè)變量對(duì)另一個(gè)變量的影響程度。本體中包含了很多的類/實(shí)例,類/實(shí)例又通過對(duì)象屬性聯(lián)系起來。由此可見,本體和BN之間就結(jié)構(gòu)方面存在一定的映射關(guān)系??梢詫⒈倔w中的類/實(shí)例映射為BN中的節(jié)點(diǎn),根據(jù)本體中的類/實(shí)例之間的對(duì)象屬性映射為BN的有向邊。如果對(duì)本體進(jìn)行概率擴(kuò)展,使本體也具有概率信息,就可以將本體轉(zhuǎn)換為BN。本體向BN轉(zhuǎn)換過程如圖8所示。
圖8 轉(zhuǎn)換過程Fig.8 Conversion process
轉(zhuǎn)換過程分為3個(gè)步驟:
步驟 1使用Web本體語言(web ontology language, OWL)按道路情況和車輛情況構(gòu)建無人駕駛車輛駕駛場(chǎng)景本體,將駕駛場(chǎng)景信息按類表示。由于OWL描述的都是概念之間明確的關(guān)系,要么為真,要么為假,不能表示不確定的信息[18]。所以在構(gòu)造本體時(shí)加入了與概率相關(guān)的類,用概率的方式去表示不確定性信息,并將不確定信息的概率內(nèi)容附加在本體上。
步驟 2使用OWL對(duì)無人駕駛車輛駕駛場(chǎng)景本體進(jìn)行概率擴(kuò)展后,接著利用Java開發(fā)工具包Jena對(duì)領(lǐng)域本體進(jìn)行解析得到本體中的類/實(shí)例關(guān)系以及先驗(yàn)概率和條件概率信息。
通過OWL建立好本體后,接下來使用本體的時(shí)候通過OWL文件直接獲取就可以。通過調(diào)用Jena OntoModel的Read方法:ontModel.read(“file:E:/tool/AutonomousVehicle.owl”),讀取AutonomousVehicle.owl文件去建立本體模型[19]。然后利用Jena對(duì)本體進(jìn)行解析,解析成BN工具Netica可讀的信息,如下:
類-實(shí)例信息:
……………………
冒號(hào)前的類對(duì)應(yīng)BN中的節(jié)點(diǎn),冒號(hào)后的實(shí)例對(duì)應(yīng)BN節(jié)點(diǎn)的取值。
類-類信息:
……………………
括號(hào)內(nèi)的兩個(gè)類具有依賴關(guān)系,這兩個(gè)類對(duì)應(yīng)BN中邊的兩個(gè)節(jié)點(diǎn),前者表示父節(jié)點(diǎn),后者表示子節(jié)點(diǎn)。
先驗(yàn)概率信息:
P(Line=Solid)=0.5
P(Line=Dotted)=0.5
……………………
條件概率信息:
P(RightFrontCar=Decelerate|Obstacle=Exit)=0.491
P(RightFrontCar=TurnRight|Obstacle=Exit)=0.509
P(RightFrontCar=Decelerate|Obstacle=Exit)=0.491
……………………
步驟 3最后用Netica提供的Java API接口根據(jù)這些信息將本體轉(zhuǎn)換成BN,通過BN進(jìn)行概率推理,最大的概率值對(duì)應(yīng)的駕駛動(dòng)作即為當(dāng)前駕駛場(chǎng)景下的最佳駕駛動(dòng)作[19]。
BN和本體的映射關(guān)系如下:
(1) BN中的節(jié)點(diǎn)來自于本體中的類和實(shí)例;
(2) BN中的邊是根據(jù)本體的類與類和類與實(shí)例之間的關(guān)系確定的,即本體的對(duì)象屬性,在具有依賴關(guān)系的節(jié)點(diǎn)之間添加一條有向邊,父節(jié)點(diǎn)指向子節(jié)點(diǎn)[20-21];
(3) BN中的CPT內(nèi)容都來自于解析本體時(shí)得到的先驗(yàn)概率信息和條件概率信息[22]。
本節(jié)采用Netica作為BN的可視化推理工具[23]。通過以上步驟由駕駛場(chǎng)景下無人駕駛車輛領(lǐng)域本體得到駕駛場(chǎng)景下由本體驅(qū)動(dòng)的BN,然后根據(jù)駕駛場(chǎng)景及其周圍車輛的駕駛狀況,結(jié)合式(2)~式(5)對(duì)BN進(jìn)行更新,計(jì)算出當(dāng)前駕駛場(chǎng)景下無人駕駛車輛可能采取的駕駛動(dòng)作的概率。其中概率值最大的駕駛動(dòng)作即為當(dāng)前駕駛場(chǎng)景下無人駕駛車輛所要采取的駕駛動(dòng)作。用此方法,T型路口處駕駛場(chǎng)景的初始BN如圖9所示。其中,
E1:V1<4 m/s &D2<25 m &D3<15 m
E2:V1<4 m/s & 25 E3:V1<4 m/s & 25 E4: 4 m/s E5:4 m/s E6:4 m/s V1是無人駕駛車輛與本車道前方車輛的相對(duì)速度;D2是無人駕駛車輛與右方車道前方車輛的相對(duì)距離;D3是無人駕駛車輛與右方車道后方車輛的相對(duì)距離。無人駕駛車輛在駕駛環(huán)境下可能采取的駕駛動(dòng)作的概率值就是根據(jù)與周圍車輛的相對(duì)速度和相對(duì)距離所在區(qū)間的概率取值計(jì)算得到的。BN中的節(jié)點(diǎn)及其含義如表3所示。 表3 BN節(jié)點(diǎn)及其含義 整個(gè)BN描述了3部分信息[24]: (1) 道路狀況 當(dāng)前無人駕駛車輛行駛的道路為兩車道,無人駕駛車輛在左車道行駛。車道有左車道線和右車道線。右車道線為虛線,表明當(dāng)無人駕駛在行駛過程如果有向右變道需要,在周圍環(huán)境滿足換道條件時(shí)可進(jìn)行右轉(zhuǎn)。 圖9 T型路口駕駛場(chǎng)景BNFig.9 BN of T-junction driving scenario (2) 無人駕駛車輛周圍障礙車輛可能采取的駕駛動(dòng)作 在T型路口處,無人駕駛車輛周圍有3輛障礙車輛:前方車輛,該車輛位于左車道;右前方車輛,該車輛位于右車道;右后方車輛,該車輛位于右車道。當(dāng)前駕駛場(chǎng)景下,前方車輛可能會(huì)采取兩種駕駛動(dòng)作:當(dāng)前車道下減速行駛和當(dāng)前車道下保持原有速度行駛;右前方車輛可能采取的駕駛動(dòng)作是:路口右轉(zhuǎn)或路口減速直行;右后方車輛可能采取的駕駛動(dòng)作是:保持速度原車道行駛,原車道加速行駛。障礙物車輛在當(dāng)前駕駛環(huán)境下可能采取的駕駛動(dòng)作是無人駕駛車輛在行駛環(huán)境中遇到的一種不確定性[25],所以我們要充分考慮到障礙物車輛在當(dāng)前駕駛環(huán)境下可能采取的駕駛動(dòng)作,這對(duì)無人駕駛車輛行駛的安全性至關(guān)重要。 (3) 無人駕駛車輛在當(dāng)前駕駛場(chǎng)景下要采取的駕駛動(dòng)作 無人駕駛車輛在當(dāng)前駕駛場(chǎng)景下可能采取的駕駛動(dòng)作主要是根據(jù)道路狀況以及周圍障礙車輛采取的駕駛動(dòng)作決定的,所以本文將周圍障礙車輛可能采取的駕駛動(dòng)作作為不確定性放在BN中考慮。將道路狀況和周圍障礙車輛可能采取的駕駛動(dòng)作對(duì)應(yīng)到無人駕駛車輛與周圍障礙車輛相對(duì)速度和相對(duì)距離的區(qū)間內(nèi),然后計(jì)算無人駕駛車輛可能采取的橫向駕駛動(dòng)作和縱向駕駛動(dòng)作的概率取值。根據(jù)周圍障礙車輛可能采取的駕駛動(dòng)作的概率值和無人駕駛車輛與前方車輛的相對(duì)速度,與右前方車輛,右后方車輛的相對(duì)距離來決定無人駕駛車輛的駕駛動(dòng)作。用最大后驗(yàn)概率推理得無人駕駛車輛可能采取動(dòng)作的概率,概率值最大的駕駛動(dòng)作即為無人駕駛車輛在當(dāng)前駕駛環(huán)境下要采取的橫向駕駛動(dòng)作和縱向駕駛動(dòng)作。 當(dāng)無人駕駛在左車道行駛,前方車輛原車道減速,右前方車輛右轉(zhuǎn),右后方車輛原車道保持速度行駛時(shí),對(duì)初始BN進(jìn)行更新推理,得到如圖10所示的BN(a)。 圖10 更新后的BN(a)Fig.10 Updated BN(a) 對(duì)BN的學(xué)習(xí)包括結(jié)構(gòu)學(xué)習(xí)和參數(shù)學(xué)習(xí)[26]。結(jié)構(gòu)學(xué)習(xí)是通過上述方法得到無人駕駛車輛在T型路口當(dāng)前駕駛環(huán)境下的本體結(jié)構(gòu),然后通過轉(zhuǎn)換規(guī)則得到當(dāng)前駕駛環(huán)境下無人駕駛車輛在T型路口的BN結(jié)構(gòu)。當(dāng)BN結(jié)構(gòu)被定義好之后,就要對(duì)BN結(jié)構(gòu)進(jìn)行參數(shù)學(xué)習(xí),根據(jù)先前證據(jù)去估計(jì)節(jié)點(diǎn)的條件概率分布的模型參數(shù)。由于車輛行駛數(shù)據(jù)集服從高斯分布,即模型參數(shù)θ的先驗(yàn)分布g(θ)服從高斯分布,如下所示: (7) 式中,μ為數(shù)學(xué)期望;σ為方差。 通過Bayes公式,對(duì)于θ的后驗(yàn)分布如下所示: (8) 根據(jù)式(8)在Bayes公式條件下求模型參數(shù)θ。x為獨(dú)立同分布的數(shù)據(jù)采樣,f為分布模型。對(duì)模型參數(shù)進(jìn)行微分,求解不定式,最后得到BN模型下的分布函數(shù)[27]。 用下式根據(jù)分布函數(shù)求最大后驗(yàn)分布值: (9) 將由式(8)計(jì)算得到的行為模型參數(shù)θ代入到式(9)中,此時(shí)BN的結(jié)構(gòu)和參數(shù)都已經(jīng)確定。然后對(duì)BN模型的分布函數(shù)進(jìn)行最大值求解。最后得到的值即為所求的最大后驗(yàn)分布值。 本文中無人駕駛車輛的駕駛動(dòng)作由橫向駕駛動(dòng)作和縱向駕駛動(dòng)作組成。只要計(jì)算出無人駕駛車輛在當(dāng)前駕駛環(huán)境下可能采取的橫向駕駛動(dòng)作和縱向駕駛動(dòng)作的概率值,就可以得到無人駕駛車輛在當(dāng)前駕駛環(huán)境下所要采取的駕駛動(dòng)作,其中取值最大的即為無人駕駛車輛在當(dāng)前駕駛環(huán)境下所要采取的橫向駕駛動(dòng)作和縱向駕駛動(dòng)作。通過上述最大后驗(yàn)概率計(jì)算方法,能得到無人駕駛車輛可能采取的橫向駕駛動(dòng)作和縱向駕駛動(dòng)作的概率。可能采取的橫向駕駛動(dòng)作為直行和右轉(zhuǎn);可能采取的縱向駕駛動(dòng)作為加速、減速、保持速度和停車等待。從BN(a)中可以看到橫向駕駛動(dòng)作最大概率為P(TurnRight)=0.562;縱向駕駛動(dòng)作最大概率為 P(Decelerate)=0.412。所以當(dāng)前方車輛原車道減速,右前方車輛右轉(zhuǎn),右后方車輛原車道保持速度行駛時(shí),無人駕駛車輛減速向右變道。 同理,當(dāng)前方車輛原車道減速,右前方車輛右轉(zhuǎn),右后方車輛原車道加速時(shí),對(duì)原來的BN進(jìn)行更新推理,得到如圖11所示的BN(b)。 圖11 更新后的BN (b)Fig.11 Updated BN (b) 同理,通過計(jì)算得無人駕駛車輛可能采取的橫向駕駛動(dòng)作和縱向駕駛動(dòng)作的概率。橫向駕駛動(dòng)作最大概率為P(GoStraight)=0.594縱向駕駛動(dòng)作最大概率為P(Decelerate)=0.378。 所以當(dāng)前方車輛原車道減速,右前方車輛右轉(zhuǎn),右后方車輛原車道加速時(shí),無人駕駛車輛采取原車道減速行駛。 Prescan是一個(gè)用于駕駛輔助系統(tǒng)以及交通道路場(chǎng)景建模的車輛仿真應(yīng)用軟件,其界面提供了構(gòu)建駕駛場(chǎng)景的各種元素,如車輛、道路、建筑物、道路標(biāo)志等,還可以設(shè)置每個(gè)路段上車輛的行駛速度和行駛路徑,將駕駛場(chǎng)景元素模型拖拽到新建界面就可以搭建駕駛場(chǎng)景[28]。Prescan還可以實(shí)現(xiàn)和Simulink的聯(lián)合,在Simulink中生成相應(yīng)的車輛,行人等控制模塊[29],從而實(shí)現(xiàn)對(duì)其的控制和操作。整個(gè)仿真實(shí)驗(yàn)由4部分組成[30],如圖12所示。 圖12 仿真實(shí)驗(yàn)步驟Fig.12 Steps of simulation experiment (1) 用Prescan搭建相應(yīng)的交通場(chǎng)景,如圖13所示。仿真駕駛場(chǎng)景1是一個(gè)T型路口,主道路為同向兩車道,右方T字區(qū)域?yàn)閱蜗螂p車道,車道均限速40 km/h。一開始無人駕駛車輛(紅色汽車)在主道路行駛,然后行駛至T型路口區(qū)域。自身車輛周圍有3輛車,分別設(shè)定好固定的行駛軌跡和行駛速度,規(guī)定無人駕駛車輛本車道前方車輛一開始以5 m/s勻速行駛,然后進(jìn)行減速。右邊車道后方車輛以6 m/s的速度勻速直線行駛,右邊車道前方車輛以6 m/s勻速行駛,然后進(jìn)行減速,在T型路口處右轉(zhuǎn)。 仿真駕駛場(chǎng)景2是一個(gè)具有人行橫道的雙向四車道,車道均限速40 km/h。周圍車輛都以5 m/s的速度勻速直線行駛,人行橫道處減速行駛。 仿真駕駛場(chǎng)景3是一個(gè)雙向四車道,車道均限速40 km/h,周圍車輛都以5 m/s的速度勻速直線行駛,人行橫道處減速行駛。無人駕駛車輛(紅色汽車)在行駛過程中遇到了行人橫穿道路的突發(fā)情況。 (2) Prescan的傳感器庫(kù)中有各種功能的傳感器,與真實(shí)傳感器的效果一樣。我們要根據(jù)仿真實(shí)驗(yàn)的目的選擇合適的傳感器,以求達(dá)到真實(shí)模擬的效果。 圖13 仿真駕駛場(chǎng)景Fig.13 Simulation driving scenarios (3) 在Simulink中搭建相應(yīng)的動(dòng)力學(xué)控制系統(tǒng),如車輛動(dòng)力模型。交通場(chǎng)景搭建好后,通過Prescan可直接運(yùn)行Simulink進(jìn)行決策控制算法的搭建,系統(tǒng)搭建的Simulink仿真模型包括動(dòng)力學(xué)模塊和行為模塊,如圖14所示。 圖14 動(dòng)力學(xué)模型Fig.14 Dynamical model 無人駕駛車輛通過自身的傳感器和雷達(dá)系統(tǒng)將感知到的環(huán)境信息輸送給決策模塊進(jìn)行決策。先根據(jù)行駛道路路況以及周圍車輛的行駛情況判斷車輛所屬駕駛場(chǎng)景,將駕駛場(chǎng)景信息作為輸出傳遞給行為模塊,行為模塊根據(jù)自身車輛與周圍車輛的相對(duì)速度和距離進(jìn)行行為決策,從而在當(dāng)前時(shí)刻控制車輛的行駛。決策模塊將決策信息轉(zhuǎn)換為輪偏角信息輸出給車輛動(dòng)力學(xué)模型進(jìn)行控制,使車輛作出相應(yīng)的駕駛動(dòng)作。 (4) 運(yùn)行實(shí)驗(yàn)。根據(jù)Prescan/Simulink聯(lián)合仿真,可以得到無人駕駛車輛的運(yùn)行軌跡、速度、加速度等信息,可以從輸出的數(shù)據(jù)和圖形中觀察到無人駕駛車輛的行駛狀態(tài)。 無人駕駛車輛在當(dāng)前時(shí)刻的駕駛環(huán)境下所要采取的駕駛動(dòng)作實(shí)際是由橫向駕駛動(dòng)作和縱向駕駛動(dòng)作組成的。橫向駕駛動(dòng)作是由車輛的橫向加速度體現(xiàn)的,縱向動(dòng)作是由縱向加速度體現(xiàn)的。正常情況下,車輛如果跟隨前方車輛行駛,車輛的橫向加速度維持在-2~2 m/s2。無人駕駛車輛在變道或超車行為決策過程中,橫向加速度的變化都比較大(本實(shí)驗(yàn)規(guī)定車輛右轉(zhuǎn)的橫向加速度為正值)。無人駕駛車輛在駕駛場(chǎng)景1行駛過程中的橫向加速度和縱向加速度的變化如圖15所示。 圖15 駕駛場(chǎng)景1中的加速度Fig.15 Acceleration in driving scenario 1 從橫向加速度來看,橫向加速度值在區(qū)間-1~4 m/s2內(nèi),可知在這段仿真實(shí)驗(yàn)時(shí)間內(nèi),無人駕駛車輛的橫向駕駛動(dòng)作只有直行和右轉(zhuǎn),沒有采取左轉(zhuǎn)的橫向駕駛動(dòng)作。15~20 s,無人駕駛車輛的橫向加速度值突然增加,變化幅度很大,可見在這段時(shí)間內(nèi)無人駕駛車輛采取了向右變道的橫向駕駛動(dòng)作。由于駕駛道路中限速40 km/h,從縱向加速度來看,縱向加速度的變化幅度并不大,以相對(duì)平穩(wěn)的速度行駛。 行為決策結(jié)果以及無人駕駛車輛運(yùn)行軌跡如圖16和圖17所示。初始階段,無人駕駛車輛加速行駛,然后根據(jù)與前方車輛的相對(duì)速度調(diào)整自己的車速,跟車行駛。T型路口處,左車道車輛增多,行駛速度緩慢,無人駕駛車輛也隨之減速跟車行駛。此時(shí)右車道前方車輛右轉(zhuǎn),與右車道前后方車輛的相對(duì)距離符合變道條件,此時(shí)無人駕駛車輛采取向右變道,駛?cè)胲囕v較少的右車道行駛,然后根據(jù)前方車輛的行駛狀況,調(diào)整行駛速度跟車行駛。 圖16 駕駛場(chǎng)景1中的駕駛動(dòng)作Fig.16 Driving actions in driving scenario 1 圖17 駕駛場(chǎng)景1中的行駛軌跡Fig.17 Trajectory in driving scenario 1 無人駕駛車輛在駕駛場(chǎng)景2行駛過程中的橫向加速度和縱向加速度如圖18所示。 圖18 駕駛場(chǎng)景2中的加速度Fig.18 Acceleration in driving scenario 2 橫向加速度在10~15 s時(shí)間段內(nèi),變化范圍較大,其余時(shí)間段都變化不大,無人駕駛車輛在仿真時(shí)間段大部分時(shí)間都在跟車行駛,為加快駕駛?cè)蝿?wù),進(jìn)行了一次右轉(zhuǎn)。由于駕駛道路中限速40 km/h,縱向加速度整個(gè)過程變化不大,車輛行駛的比較平穩(wěn),采取的駕駛動(dòng)作都比較合理。 行為決策結(jié)果以及無人駕駛車輛運(yùn)行軌跡如圖19和圖20所示。 初始階段,無人駕駛車輛加速行駛,該駕駛場(chǎng)景中,車輛較多,無人駕駛車輛根據(jù)周圍車輛駕駛狀態(tài)調(diào)整車速跟車行駛。為快速完成駕駛?cè)蝿?wù),通過傳感器和雷達(dá)感知到與周圍車輛的距離滿足變道條件且車道線類型為白虛線,無人駕駛車輛右轉(zhuǎn)進(jìn)入同方向的右車道,無人駕駛車輛加速行駛。由于前方人行橫道處有行人通過,無人駕駛車輛減速行駛,直至停車等待行人通過。 圖19 駕駛場(chǎng)景2中的駕駛動(dòng)作Fig.19 Driving actions in driving scenario 2 圖20 駕駛場(chǎng)景2中的行駛軌跡Fig.20 Trajectory in driving scenario 2 無人駕駛車輛在駕駛場(chǎng)景3行駛過程中的橫向加速度和縱向加速度如圖21所示。橫向加速度在24~28 s時(shí)間段內(nèi),變化范圍較大,在這段時(shí)間內(nèi),無人駕駛車輛在為加快駕駛?cè)蝿?wù),進(jìn)行了一次左轉(zhuǎn)。其余時(shí)間段變化不大。在第8 s時(shí)由于有行人突然橫穿道路,需要車輛立即停車,無人駕駛車輛緊急剎車,縱向加速度發(fā)生了劇烈的變化。車輛重新啟動(dòng)后,加速度變化還比較平穩(wěn)。采取的駕駛動(dòng)作都比較合理。 圖21 駕駛場(chǎng)景3中的加速度Fig.21 Acceleration in driving scenario 3 行為決策結(jié)果以及無人駕駛車輛運(yùn)行軌跡如圖22和圖23所示。 圖22 駕駛場(chǎng)景3中的駕駛動(dòng)作Fig.22 Driving actions in driving scenario 3 圖23 駕駛場(chǎng)景3中的行駛軌跡Fig.23 Trajectory in driving scenario 3 初始階段,無人駕駛車輛加速行駛,達(dá)到一定的速度后跟車行駛。由于有行人突然橫穿馬路,無人駕駛車輛緊急剎車,直至停車,等待行人通過前方道路后重新啟動(dòng)。之后的駕駛過程為加快行駛?cè)蝿?wù)中進(jìn)行了一次左換道,進(jìn)入左車道后調(diào)整行駛速度直行,人行橫道處減速行駛,通過人行橫道后調(diào)整行駛速度直行。 從不同駕駛場(chǎng)景的實(shí)驗(yàn)結(jié)果看,該方法能夠在城市交通道路行駛時(shí)給出安全合理的駕駛行為,驗(yàn)證了在城市交通道路環(huán)境下無人駕駛車輛基于本體和BN進(jìn)行行為決策的有效性。 本文針對(duì)城市交通道路環(huán)境中較高的復(fù)雜性和不確定性給無人駕駛車輛行為決策系統(tǒng)帶來的問題,深入研究了行為決策系統(tǒng)中的駕駛場(chǎng)景理解和駕駛動(dòng)作生成,提出了將本體語義表達(dá)和BN概率推理相結(jié)合的行為決策方法。本文工作如下: (1) 使用本體作為駕駛場(chǎng)景信息的語義表達(dá)形式,解決了城市交通環(huán)境中多源異構(gòu)信息表達(dá)不充分以及先驗(yàn)駕駛經(jīng)驗(yàn)無法有效利用所帶來的駕駛行為決策準(zhǔn)確性偏低的問題; (2) 將帶有概率信息的駕駛場(chǎng)景本體模型轉(zhuǎn)換為BN模型,用概率的方式將駕駛環(huán)境中他車行駛意圖的不確定性考慮到行為決策中,用BN推理的方法得到當(dāng)前駕駛場(chǎng)景下的最佳駕駛行為,提高了無人駕駛車輛行駛的安全性。 本文以城市交通環(huán)境下的3個(gè)不同駕駛場(chǎng)景為實(shí)驗(yàn)環(huán)境,通過Prescan/Simulink聯(lián)合仿真實(shí)驗(yàn)驗(yàn)證了本文所提方法的有效性。但文章還存在不足之處,需要繼續(xù)研究: (1) 本文對(duì)BN的參數(shù)的學(xué)習(xí)主要是通過數(shù)學(xué)公式以及Netica實(shí)驗(yàn)工具實(shí)現(xiàn)的,接下來可以嘗試通過機(jī)器學(xué)習(xí)的方法對(duì)BN進(jìn)行參數(shù)學(xué)習(xí); (2) 本文主要是從車輛駕駛的安全性去評(píng)估駕駛行為的,但在真實(shí)生活中,還需要考慮更多的因素,如乘客的舒服度等。下一步可以考慮在行為決策方法中引入效用節(jié)點(diǎn),從更多的方面對(duì)駕駛行為作出評(píng)估。4 仿真實(shí)驗(yàn)
4.1 Prescan和場(chǎng)景建模
4.2 實(shí)驗(yàn)結(jié)果分析
5 結(jié) 論