楊 爍,王雪松,王艷麗,毋妙麗
(同濟大學 道路與交通工程教育部重點實驗室,上海 201804)
駕駛模擬器具有安全、準確、可重復的實驗環境等突出優勢,可以支持交通安全研究,交通心理與行為,智能交通系統(ITS)中的人車路系統,基于安全因素的交通設施設計與維護,汽車的設計、研發與測試等領域的研究與開發[1-2]。基于駕駛模擬器的研究成果非常豐富,如道路設計有與安全評估方面,文獻[3—4]研究了高速公路組合路段設計與車速和車道偏移的關系,評估設計安全性;環境影響駕駛行為方面,時恒等[5]利用駕駛模擬器可改變駕駛環境的特點,研究了霧霾天氣對車輛跟馳行為的影響;黃曉翔等[6]研究了在城市道路場景下,駕駛員對應激場景的駕駛反應;Wang等[7]研究了在模擬環境下,安全地獲取駕駛員在碰撞風險下安全停止所需的最小距離,用于研究前向碰撞預警算法。駕駛模擬平臺在實驗教學中的應用也越來越廣泛,但作為一種大型儀器設備,同樣存在專業性強、使用率低、軟件專用、不易獲取信息等問題,如何提高其使用率和增加效益,是實驗室管理者面臨的共同問題[8-9]。
道路場景建模是駕駛模擬實驗進行的根本基礎,會耗費研究者大量的時間精力,場景對實驗結果具有決定性影響。關于如何搭建模型的相關研究比較少,一般情況下,場景搭建工作都采取手工方式[10],但實際使用中存在學習成本高、工作煩瑣、錯誤率高等缺點。陳鵬等[11]使用移動測量技術快速搭建城市道路虛擬場景,可以達到良好的建模效果,但需要移動測量車等特殊設備,不具有推廣性。
本文從分析RoadXML的道路數據格式開始,用程序化的方法導入設計參數,快速生成場景,用于解決高速公路一類的建模問題。
SCANeR Studio是為駕駛模擬器設計的軟件工具,能夠實時記錄仿真數據,采集車輛動力學參數、交通參數、環境參數、駕駛員操作參數等也可以添加輔助設備采集駕駛員眼動、心率和面部表情等數據。其原生地圖格式為 RoadXML,同 OpenDrive、OpenStreetMap等地圖格式相同,都是一種開源道路數據格式,遵循 XML語法,在企業和科研院所近20年的研究歷史,被普遍應用于駕駛模擬器和交通研究中。
同濟大學建設了世界先進的八自由度運動系統的駕駛模擬器,橫、縱范圍5 m×20 m,駕駛艙內置一輛真實車輛,具有先進的視景和聲響系統,高逼真地模擬駕駛環境,使用 SCANeR作為軟件平臺,實物如圖1所示。
在軟件的 Terrain模式可以直觀地編輯路網,路網的全部信息以RoadXML格式的文件存儲,邏輯層的信息關鍵決定了車輛行駛邏輯和仿真數據,車輛動力學數據、交通流仿真、路面摩擦系數控制、自動駕駛車輛路徑控制、環境聲音、生成三維路網和駕駛模擬器的體感模擬等都依賴于邏輯層。道路周邊環境可以使用 3DSMAX編輯或者添加 SCANeR的原生 對象。
本文的研究基于 2.4.1版本的 RoadXML數據格式,在開源網站 Github上可以獲取解析器的全部源碼[12],在Windows系統下編譯源代碼得到VS項目,利用Visual Studio打開此項目,可以閱讀其文檔對象模型,并在此基礎上編寫讀寫RoadXML格式的程序。2.4.1版本的RoadXML格式說明中包含了80個標簽,以及相應的屬性和元素,部分結構如圖2所示。

圖1 同濟大學駕駛模擬器實物

圖2 RoadXML數據結構
通常情況下 CAD設計圖中的豎曲線表和直曲線表包含了道路設計的全部參數,需要設計合適的表格并對需要的參數進行合適的處理,用于程序讀取參數生成對應的RoadXML文件。
平面線型數據保存在XYCurve標簽及屬性值中,其嵌套4種線型標簽,Segment、CircleArc、ClothoArc和 Polyline,分別表示直線、圓曲線、緩和曲線和多段線,通常定義道路線型只使用前3個標簽。設計數據表的字段名如表1所示。表中Angle是道路起點的方向角度(0°~360°),Length 為對應線型的長度,Type用于區分3種線型。

表1 平面線型數據表字段名及含義
直曲線表一般只提供了樁號、標高、曲線半徑、切線長、外距、縱坡等數據,在SCANeR中無法直接利用這些數據來繪制縱斷面。根據這些參數計算設計高程[13],10 m步長得到每個樁號相應的設計高程,或者在縱斷面設計圖中直接提取樁號和設計高程的數據。
在SCANeR的Terrain模塊中可編輯高程,其縱斷面曲線由3次樣條曲線擬合,擬合曲線經過所有控制點,兩控制點之間的曲線形狀由斜率來控制,擬合曲線在控制點處相切,改變某個控制點的高度或者斜率只影響相鄰兩點區間中的曲線形狀。為了保證路面曲線平順,不發生顛簸現象,使用式(1)計算每個控制點的斜率,即此控制點左右兩點之間的斜率。

起點和終點坐標的斜率與旁邊的坐標點斜率相同即可,不會影響道路整體的平順性。設計縱斷面表格如表2所示。

表2 縱斷面數據表字段名及含義
縱斷面數據以 SZCurve標簽表示,嵌套 begin,end兩個標簽,屬性值存儲控制點坐標和斜率。
程序讀取表格中的所有數據,每行數據都存儲在容器的對象中,以樹-節點的方式將賦值到對應標簽對象當中,程序執行流程如圖3所示。

圖3 生成RoadXML文件的流程圖


程序實現了從平面圖表數據和豎曲線表獲取設計道路的橫、縱線型數據,由此快速生成相應的RoadXML文件,得到模擬道路,無須手動輸入數據,可以直接觀察道路的形狀,并進行適當的調整與完善。在SCANeR中非常完美地重現了CAD設計圖中的道路,省略了手動輸入數據過程中煩瑣的數據校準,在數據量巨大的情況下,效果十分明顯。常規的建模方式中,手動輸入道路參數,數據精度只能編輯到 0.001 m,使用程序導入數據則沒有精度限制。
在實驗教學中具有促進意義,引導學生對軟件進行深入學習,加深對交通仿真的理解,牢固計算機輔助應用知識和夯實交通專業知識,提高綜合能力,可根據需求合理修改程序,并進行探索性的實驗[14]。
同樣也存在一些不足之處,城市道路場景中存在大量的交叉口,由于SCANeR軟件的特性,無法對交叉口進行精確編輯;并且存在公交車停站點等,導致道路橫斷面變化頻繁,收集橫斷面數據更加煩瑣,所以城市道路下適用性較差。
使用SCANeR軟件的機構很多,但是對于道路建模方面的研究還非常少。高質量的仿真場景中道路邏輯層面搭建是核心,通過引入ParserRoadXML構建道路,可快速開展山區高速公路設計優化和安全評估、駕駛環境與行車安全等方面的研究,在“人—車—路—環境”要素下解決道路相關的場景搭建問題。對評估道路線型設計等研究方向具有重要意義。
同時,軟件的使用對優化儀器設備、及時跟進前沿研究課題、總結使用規律和經驗等具有優化作用,從技術角度挖掘高校大型儀器設備的潛能,提高使用效率。