VISSIM 交通流仿真軟件,自動駕駛技術(shù)的訓練場
隨著高階自動駕駛面對的復雜場景增加,自動駕駛技術(shù)的開發(fā)也在面臨著挑戰(zhàn),尤其是城市道路場景下自動駕駛技術(shù),挑戰(zhàn)在于:「搭建環(huán)境的交通流,讓被測試的車輛(本車 Ego vehicle),在交通流環(huán)境(可以是多種方式的交通流)里行駛,通過設(shè)計不同的場景,來驗證被測試車輛的控制算法或者驗證被測試車輛硬件設(shè)備的性能。」
想要應(yīng)對這個挑戰(zhàn),自動駕駛真實場景測試并不可少,真實場景測試一般有兩個測試方案:一,真實開放道路測試;二,自動駕駛專用測試場測試。
但是以上兩種方案均有其局限性,一是實施上可能受到法律法規(guī)等政策約束,二是場景的極端性不容易在真實世界里實現(xiàn)。
因此,除了真實場景的測試方案,大多數(shù)車企以及自動駕駛技術(shù)開發(fā)商會選擇用交通流仿真軟件模擬真實場景,而 PTV VISSIM 軟件則是其中一款。
PTV VISSIM 軟件是 PTV 集團開發(fā)的 PTV Vision 系列軟件中的一款交通仿真軟件工具,是一款集道路交通、公共交通、行人仿真于一體的專業(yè)軟件。目前廣泛應(yīng)用于全球 120 多個國家的公共機構(gòu)、工程顧問和研究機構(gòu)以及汽車&創(chuàng)新技術(shù)群體,它在全世界的許可數(shù)量超過了 16500 套。
PTV VISSIM 軟件擁有非常豐富的復雜交通環(huán)境模擬的經(jīng)驗,在高速公路,城市道路,立交交叉口,停車場,換乘樞紐出租車等候區(qū),乘客換乘大廳,機場,公交車站等方面都有廣泛的工程應(yīng)用。
VISSIM 原本是為了解決交通領(lǐng)域里的信號、規(guī)劃和組織等而誕生的交通流仿真軟件,在這 40 年的時間里,VISSIM 不斷積累整合各種交通方式的仿真能力,同時在二次開發(fā)、提供開放的接口技術(shù)上有非常強大的儲備,而這些技術(shù)與經(jīng)驗正是自動駕駛所需要的。
因此,PTV 集團可以在智能汽車時代為自動駕駛算法以及硬件的安全性提供相應(yīng)的技術(shù)保障。
近十年來,VISSIM 軟件在全球研究自動駕駛技術(shù)的汽車廠商里得到了廣泛的應(yīng)用,尤其是在日本汽車企業(yè)中。近年,隨著中國汽車企業(yè)、互聯(lián)網(wǎng)企業(yè)以及出行科技公司在自動駕駛領(lǐng)域研究的深入,VISSIM 在自動駕駛方面的應(yīng)用也在逐漸擴大。
那究竟像 VISSIM 這樣的交通仿真軟件,能夠為自動駕駛解決什么樣的問題就比較重要,要解答這個問題首先需要了解 VISSIM 的一些特點以及獨特的技術(shù)方案。
自動駕駛技術(shù)的訓練場
想要真正了解自動駕駛仿真技術(shù),以下關(guān)于 VISSIM 軟件的幾個特點你必須了解:
一、整合多種交通方式的微觀交通流仿真
在現(xiàn)實生活里的交通世界是復雜多樣的,道路上交通參與者種類眾多,有小汽車、軌道交通、公共汽車、貨車、自行車、助動車、摩托車和行人這些不同的交通工具或交通方式。
VISSIM 軟件里可以放在同一個工具里進行整合仿真,每個仿真步長,車和車之間,車和人之間都有相互關(guān)系。軟件以微觀的方法,考慮一個個單獨交通參與個體之間的運行關(guān)系。把這個互動的關(guān)系以定量描述的方式提供給自動駕駛,作為符合真實世界的交通背景。圖1是一個典型城市道路交叉口的仿真。
圖1 VISSIM模擬一個城市交叉口的場景
二、通過跟馳模型、變道模型和橫向超車行為模型來模擬車輛的駕駛行為
跟車行為:在真實世界里,車輛在行駛過程中,前、后車有跟車行為,在行駛中前、后兩輛車之間的距離是在動態(tài)調(diào)整的,由后一輛車的司機隨時修正的,這種現(xiàn)象由德國的 Wiedermann 教授總結(jié)出來了一個 Car following 跟馳模型,考慮駕駛員的物理和心理的特性,把跟車分為自由,逼近,跟隨,剎車四種狀態(tài)。
變道行為:如果后面的車對于前車行駛速度不滿意的話,后面的車輛在了解清楚相鄰車道的車輛位置和速度后,可以自己選擇合適的時機變道超車,在另一條車道上按照自己期望的速度行駛,這種行為我們稱之為“自由變道行為”;不同的車輛目的地是不同的,因此需要設(shè)置不同的路徑,為了提前進入轉(zhuǎn)彎對應(yīng)的那個車道,每輛車輛要進行必要的換道行為,這種行為我們稱之為“必要變道行為”。
橫向超車行為:中國很多城市,普遍存在小汽車和自行車、助動車在同一車道超車的現(xiàn)象,需要在交通仿真工具里體現(xiàn)出來。與其他的交通流仿真軟件相比,VISSIM 是目前唯一可以實現(xiàn)這個功能的軟件。
以上提到的這些車輛的行為,VISSIM 提供了對應(yīng)的 Car following 跟車模型、變道模型和橫向超車行為模型,在軟件里可以模擬駕駛行為。通過對應(yīng)的駕駛行為編輯窗口,用戶可以修改參數(shù)來輸入符合當?shù)亟煌{駛狀況的距離等參數(shù)。
圖2 VISSIM里的駕駛行為模型介紹圖
三、提供路網(wǎng)、控制和車輛三個核心組成部分
路網(wǎng)、控制和車輛是 VISSIM 軟件里涉及到的 3 大核心組成部分。
對于路網(wǎng),VISSIM 支持手動創(chuàng)建路網(wǎng),支持從 PTV 系列軟件中的宏觀軟件 PTV VISUM 和交通工程軟件 PTV VISTRO 中導入路網(wǎng),也支持通過 Opendrive 格式導入已有的路網(wǎng)。
尤其是支持 Opendrive 格式的路網(wǎng)的導入(對于 1.5 版本以上的格式都支持導入),對于車企用戶是非常有用和高效的,此外,例如通過 Prescan、Carmaker 搭建的路網(wǎng),可以讀入 VISSIM 中,不需要重復創(chuàng)建一遍路網(wǎng)。
VISSIM 特有的路段和路段連接器的路網(wǎng)結(jié)構(gòu)形式,不是它不足的地方(之前有文章這樣提到),而是它有優(yōu)勢的地方,可以非常詳盡地模擬復雜交叉口的車流轉(zhuǎn)向。
如果通過其他方式導入的路網(wǎng),VISSIM 會自動得把原有節(jié)點和路段的轉(zhuǎn)換成路段和路段連接器的結(jié)構(gòu)形式,不需要額外增加工作量。
VISSIM 不僅擅長模擬車輛的交通流,也非常擅長模擬路口的控制方式,包括限速標志、讓行標志、停止標志、減速帶、交叉口信號控制方案、可變信息板等。
對于車路協(xié)同的仿真,對于模擬V2X,VISSIM有很多應(yīng)用案例,下圖是德國卡爾斯魯厄理工大學(KIT)進行Pre-Drive C2X項目的車車通訊的仿真結(jié)果截圖。
圖3德國卡爾斯魯厄理工大學(KIT)的Pre-Drive C2X項目的結(jié)果截圖
四、軟件的功能性多樣,開放程度好
VISSIM 的開放程度非常好,所以軟件可用在多樣的場景里,比如機場、停車場、交通樞紐、高速公路、貨運倉庫、MAAS 的上下客車站等等。
VISSIM 可以仿真城市道路上的交通,高速公路上的交通,也可以仿真停車場的靜態(tài)交通運行,以及樞紐上人車之間的互動關(guān)系,因此,可以為自動駕駛仿真測試提供更加豐富全面的場景選擇,不是只局限于道路駕駛的場景。
通過 COM 的接口,可以結(jié)合檢測器,設(shè)置一些變化的管理規(guī)則、變化的路徑指令,可以模擬基于條件改變路徑或者速度等的交通場景。
圖4 VISSIM多場景里的應(yīng)用舉例
五、提供大量隨機的選擇可能性,充分反映交通運行的真實性
交通運行本身包含了很多的隨機性,今天這條道路上同一時段運行的車輛分布和明天這條道路上同一時段運行的車輛分布不完全相同。
為此,VISSIM 軟件本身提供了大量的隨機因素可以反映到軟件的仿真運行里:
比如車輛輸入的泊松分布(就是在一定的時間內(nèi),車輛進入路網(wǎng)有著隨機性,不是統(tǒng)一一起進入的),
車輛類型在比例范圍內(nèi)的隨機出現(xiàn),
速度和加速度選擇是從一個區(qū)間內(nèi)隨機選擇,
停留時間是從一個區(qū)間內(nèi)隨機選擇等等。
軟件的仿真隨機種子,就是通過選擇一個隨機的數(shù)字,來控制軟件里種種隨機數(shù)值的選取。
近年來,針對自動駕駛客戶的研究需要,VISSIM 軟件還為車企特別開發(fā)了在路網(wǎng)里隨機生成一些駕駛錯誤的現(xiàn)象,錯誤出現(xiàn)的比例由用戶設(shè)定,至于錯誤行為出現(xiàn)在哪條路段的哪個地方,VISSIM 可以隨機生成,比如一些駕駛員誤判交通標志和信號控制方案的現(xiàn)象、駕駛員超速的現(xiàn)象、行駛時偏離中心線的現(xiàn)象、缺乏注意力的現(xiàn)象。
這些駕駛錯誤的現(xiàn)象,用戶可以針對不同的路段類型,設(shè)置不同的發(fā)生概率。軟件讀到這個概率值后,會在對應(yīng)的路段類型上,根據(jù)概率值隨機在路段上生成這些現(xiàn)象。
以上提到的這些隨機的選擇可能性,可以提供給用戶豐富的手段,來搭建各種甚至是極端的需要測試的交通流測試環(huán)境,而這些極端的場景恰恰在真實的世界里是不能隨意測試的。
六、車企開發(fā)的被測試車輛自動駕駛的控制算法,VISSIM 可以接入軟件進行聯(lián)合仿真
VISSIM 默認的使用里,車與車之間的關(guān)系通過前面提到的跟馳模型、變道模型和同車道超車模型來模擬。但在自動駕駛研究中,車企往往會提出對于車輛獨特的控制算法,希望被測試的車輛(本車)是用自己的控制算法,環(huán)境中的其他車輛還是遵循默認的 VISSIM 駕駛行為模型,大家在一個交通環(huán)境里進行仿真運行。這個需求 VISSIM 是可以通過 API 模塊里的“外部駕駛員接口(EDM)”來實現(xiàn)聯(lián)合仿真的。
在每個仿真步長,被測試的車輛(可以 1 輛,可以多輛),出現(xiàn)在 VISSIM 的仿真環(huán)境里,但是它們不受 VISSIM 的算法控制,而是受到用戶自定義的控制算法的控制。
根據(jù)用戶的控制算法,被測試的車輛更新了位置、速度和加速度,把更新后的信息提供給 VISSIM。VISSIM 更新了這些被測試車輛(本車)的信息后,環(huán)境里周圍的車輛會相應(yīng)根據(jù) VISSIM 軟件默認提供的駕駛行為模型,更新環(huán)境車輛的位置、速度和加速度信息,VISSIM 再把環(huán)境車輛的信息,通過“外部駕駛員接口”傳回用戶的控制算法輸入端。
VISSIM 和用戶的算法同時工作,交換數(shù)據(jù)的頻率是一個仿真步長,一般是 1/20 秒。在這個接口的應(yīng)用里,路網(wǎng)的信息不是必要兩邊都要同步設(shè)置。該接口支持 C++ 語言編程。
下圖是這個接口進行聯(lián)合仿真的原理示意圖。通過 EDM 接口,用戶可以自己控制要測試的車輛的速度和橫向位置,然后結(jié)果輸入給 VISSIM,VISSIM 中對應(yīng)運行的那些被測試車輛的下一步行為,包括速度和橫向位置,以及顏色,用戶自定義的其他屬性等等。
更新好了位置后,路網(wǎng)上的上/下游相鄰兩條車道上的 N 輛車的信息也相應(yīng)更新了位置、速度,VISSIM 把這些車輛的信息通過 EDM 接口回傳給用戶的控制算法輸入端。
圖6 VISSIM的外部駕駛員模型接口工作原理圖
七、對于其他自動駕駛仿真軟件或者駕駛模擬器,VISSIM提供實現(xiàn)聯(lián)合仿真
自動駕駛的研究中,涉及到要測試汽車的動力學、通訊性能、傳感器工作效果、車輛控制等方面,需要用到各種各樣的專業(yè)的軟件工具,這些軟件工具,在提供交互仿真交通流能力方面,有一定的局限性。所謂術(shù)業(yè)有專攻,VISSIM憑借自己多年專業(yè)的交流流仿真經(jīng)驗,可以通過“駕駛模擬器接口”和多款軟件進行聯(lián)合仿真,為聯(lián)合仿真的其他軟件提供專業(yè)的交通流環(huán)境。
圖7 VISSIM和其他軟件的聯(lián)合仿真示意圖
被測試的車輛(本車)由其他的仿真軟件或者駕駛模擬器來控制,每個仿真步長根據(jù)獲得的位置、速度信息在 VISSIM 里以仿真步長的頻率同步進行更新,環(huán)境的車輛由 VISSIM 來控制,每個步長同樣根據(jù) VISSIM 默認的駕駛行為算法來更新它們的位置、速度以及路網(wǎng)的相關(guān)信息,并返回給聯(lián)合仿真的其他的仿真軟件或者駕駛模擬器。在這一類的應(yīng)用中,聯(lián)合仿真的兩個軟件都需要有著同樣一致的路網(wǎng)信息,這和剛才 EDM 的接口是有區(qū)別的。
在這個接口的聯(lián)合仿真里,路網(wǎng)中的信號燈配時方案、狀態(tài),可以實時由 VISSIM 輸出到聯(lián)合仿真的其他軟件或者駕駛模擬器里,從而可以實現(xiàn)基礎(chǔ)設(shè)施的設(shè)置參與到自動駕駛仿真測試里來。對于駕駛模擬器而言,VISSIM 提供了一個虛擬的交通環(huán)境場景,在這個虛擬的場景里,駕駛模擬器控制一輛車,同時在 VISSIM 這個虛擬的場景里也同步運行著這輛車,行為和駕駛模擬器控制的完全一致。
VISSIM 的仿真步長精度可以達到 1/20 秒,如果對方的軟件精度更高,VISSIM支持插值算法來更新每個步長的信息。該接口同樣也支持C++語言編程。下圖是該接口進行聯(lián)合仿真的示意圖。
圖8 VISSIM的外部駕駛員模型接口工作原理圖
目前 VISSIM 軟件已經(jīng)實現(xiàn)了與多款不同類型的專業(yè)仿真軟件的對接。
圖9 VISSIM可以對接的仿真軟件舉例
八、對于自動駕駛車隊,VISSIM 提供了預定義的“車隊”對象給客戶編輯
高速公路上的自動駕駛車隊,預計是落地較快的一種自動駕駛的應(yīng)用場景。為此,VISSIM 在軟件里新添了“車隊”這個編輯對象,用戶可以設(shè)置車隊允許自動編隊的條件閾值,以及車隊允許自動解散的條件閾值,從而模擬加入車隊、編隊行駛、離開車隊三種運行狀態(tài)。
對于車輛加入編隊,VISSIM 軟件僅允許有著相同駕駛行為的車輛加入車隊。
對于編隊行駛,在仿真時候,VISSIM 定義在車隊內(nèi)部,所有的車輛不能換道,同時每輛車保持相同的車距,僅提供有限的加速度變化。
如果遇到紅綠燈,車隊來不及完全通過的狀況下,車隊會自行拆散。
一旦車隊里的車輛準備離開車隊的時候(比如在高速公路里需要進入匝道,離開高速公路的時候),在 VISSIM 的交通仿真里,該車輛會提前增加與前車和與后車的跟車距離后,自行離開車隊。
圖10 VISSIM中的自動駕駛車隊模擬
九、行人的行走行為,VISSIM 通過社會力模型來專業(yè)進行仿真分析
行人的行走行為,不像車輛按車道來行駛的。行人是在一個面域上,單獨或者形成一個小團體,根據(jù)自己的目的地,走最近的路線,或者時間上最短的路線。
如果要深入研究行人和自動駕駛車輛之間的關(guān)系,VISSIM 可以提供專門的 VISWALK 模塊來做這個工作。軟件的VISWALK模塊是根據(jù)社會力模型 (social force model)來模擬行人的行為,支持車輛和行人進行交互作用。
圖11 VISSIM中的研究行人與車輛的場景
以上詳細敘述了 VISSIM 在技術(shù)上的特點。正是由于具備了這些技術(shù)上的優(yōu)勢,VISSIM 可以支持自動駕駛研究測試,在提供交通環(huán)境仿真領(lǐng)域,施展自己的強項。
VISSIM 主要提供的是 Windows 版本,提供 GUI 編輯界面。從 2021 年起, Linux 環(huán)境下運行的版本也面世了,它的名字時 VISSIM Kernel(Linux)版本。它不提供 GUI 界面,支持快速計算以及云計算,VISSIM Kernel(Linux)版本是通過 *.so 接口的形式來支持聯(lián)合仿真。
對于將來高性能計算機應(yīng)用和云計算的應(yīng)用,VISSIM Kernel(Linux)版本是一個有用的工具。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















