陳 濤,范林坤
(長安大學 汽車學院,陜西 西安 710000)
汽車運輸安全實驗涉及汽車理論、汽車動力學、汽車設計、機械設計等基礎知識,利于學生建立豐富、扎實的知識基礎。在旨在培養交通運輸類實用性人才的汽車運輸安全教學體系中,是培養學生較強的工程意識、工程素質和工程實踐能力的必修環節[1]。由于交通運輸實驗難以在實際的生產環境中完成,運輸生產過程成本高、風險大,高速運動狀態的運載工具一旦發生操作失誤,極易導致重大事故發生,導致了學生在現場生產實踐和實習過程中缺乏實際動手操作的機會[2],阻礙了交通運輸領域人才的培養。
虛擬仿真技術就是用一個系統模仿另一個真實系統的技術,具有自由度高、交互性強、仿真度高,可修改仿真參數等特點[3-5]。該技術在汽車加速[6]、交通運輸[7]、車輛工程專業教學[8-9]、交通事故[10]、汽車動力學[11]等研究中均有應用,但仍存在汽車運輸安全實驗成本高,危險系數大的難題。
本文采用模塊化方案進行虛擬仿真實驗設計,基于B/S(browser/server)架構,利用Unity 3D 虛擬引擎和Java Server Pages(JSP)等軟件實現的汽車運輸安全虛擬仿真實驗可以有效地降低實驗成本和風險,改善實驗的實用性,提高實驗教學質量。
汽車運輸安全實驗的目的是通過仿真實驗找到影響汽車運輸安全的因素,這些因素包括整車參數和道路參數。為了確定哪些參數的變化會影響汽車的運輸安全性,實驗采用了控制變量法。首先在理論分析的基礎上確定哪些參數會影響汽車運輸的安全性,之后針對每個可能的影響參數進行實驗。實驗時保持其他參數不變,在盡可能廣的取值范圍內調整目標參數,進行若干次實驗并記錄實驗結果,獲得目標參數與側翻因子間的關系。這樣可以直觀地判斷出每一特定參數與汽車運輸安全性的關系,得到影響汽車安全性的車輛和道路參數,并且可以確定參數調整策略。
1.2.1 實驗功能模塊設計
為提高實驗設計與仿真平臺搭建的效率,采用模塊化設計框架,將實驗分為實驗準備、參數設置、仿真計算、實驗結果分析4 個模塊(見圖1)進行設計。實驗準備模塊介紹實驗詳情,確定實驗參數;參數設置模塊將確定的車輛和道路參數輸入到仿真計算模塊;仿真計算模塊根據汽車系統動力學原理對車輛和道路參數進行分析計算,得出車輛的行駛狀態;實驗結果分析模塊進行實驗結果分析與傳輸。

圖1 實驗功能模塊
1)實驗準備模塊。
此模塊主要介紹實驗流程、實驗要求、實驗原理;對用戶計算機進行帶寬測試,判斷帶寬條件;為了使學生了解服務器占用情況,在實驗開始階段的界面上顯示當前實驗人數。
2)參數設置模塊。
確定車輛參數和道路參數后,參數設置模塊將這些參數輸入到仿真軟件中。該模塊涉及的車輛參數包括:車型、整車(質心位置、轉動慣量、迎風面積、質量等)、發動機、傳動系、懸架系統、制動系、轉向系、輪胎、車速等。道路參數包括:道路半徑、超高、道路坡度、路面附著系數等。為了使學生更加直觀地了解所設置的參數的詳細信息,參數設置模塊提供汽車各結構的2D 圖紙信息或者特性圖。
3)仿真計算模塊。
該模塊實時輸出車輛的性能參數,是虛擬仿真實驗的核心,側滑和側翻是運輸車輛行駛過程中最危險的2 種工況,仿真計算模塊根據運輸車輛行駛過程中通過彎道時的車速、汽車結構參數與道路參數計算出車輛側傾角、側向加速度、四輪垂直反力隨時間的變化情況,并推算出側滑的臨界車速、側翻因子、側翻的臨界車速,從而判斷汽車是否出現側滑或側翻。
為簡化模型建立的過程和便于計算,這里假設汽車的結構參數保持不變,汽車的懸架系統保持線性變化。汽車曲線運動時需要側向附著力提供向心力,側向附著力為umg,在汽車轉彎時是個定值。而向心力與車速v和轉彎半徑R相關。如果車速過大或轉彎半徑過小,會使側向附著力不足以提供曲線運動所需的向心力,汽車的轉彎半徑會突然變大,發生側滑[12]。汽車發生轉彎側滑的臨界條件為:

其中,u為路面側向摩擦系數;v為車輛行駛速度;R為彎道半徑;m為汽車質量;g為重力加速度。當ug< 時汽車發生側滑失去穩定性。

其中,ay為側向加速度;hg為質心高度;β為坡道傾角;FZi為內側車輪壓力;B為輪距。
汽車發生側翻時的臨界車速為:

側翻因子IR能夠測量和估計非簧載質量和簧載質量垂向加速度、橫向加速度和側傾角等未知參數,實時計算存在路面激勵臨界條件下車輛側翻傾向,其表達式為[13]:

其中,T為輪距;Ix為簧載質量的轉動慣量;為左側非簧載質量的垂直加速度;為右側非簧載質量的垂直加速度;mu1為左側非簧載質量;mu2為右側非簧載質量;為轉動角加速度;φ為轉動角速度;mx為左側簧載總質量;hg為車輛質心高度;ay為車輛在y方向的加速度分量;mz為右側簧載總質量;為車輛的垂直加速度;m為車輛質量。
4)實驗結果分析模塊。
該模塊的作用是將仿真計算模塊得出的結果直觀地呈現出來,進行分析。在該模塊中可以直接得到汽車行駛狀況(側滑、側翻、正常行駛)、側翻臨界車速、車輛側傾角、側向加速度、四輪垂直反力與時間的關系曲線等。為了使學生可以全面地了解實驗結果,汽車行駛過程以三維動畫的形式顯示。實驗三維動畫場景主要展示汽車行駛狀況、道路狀況和各個車輪的受力狀況,并可以進行場景漫游,學生可以從不同角度觀察車輛行駛的過程。為了指導學生進行合理操作,該模塊為學生呈現實驗結果操作說明。如果選擇提交實驗結果,則實驗結果被保存至數據庫,并在實驗準備模塊中展示出來;如果學生選擇不提交實驗結果,則直接開始下次實驗。
1.2.2 實驗交互界面設計
交互界面的目的是增加學生的實驗參與感,提高實驗效率,增強實驗的直觀性。二維交互界面設計時遵循準確、簡潔的準則,界面以藍色、白色和黑色為主,學生可以直觀地看到設置的參數的詳細信息。
三維交互界面設計時采用第一視角的漫游界面,界面可進行放大、縮小操作;設計4 個向上的黃色箭頭對應4 個車輪垂直反力的值,箭頭長短與垂直反力成正比關系;三維交互界面的功能還包括暫停、快退、快進、延時顯示、顯示實驗進行時間和剩余時間等。
實驗的主要交互界面的功能設計如圖2 所示。

圖2 人機交互界面設計
汽車運行安全虛擬仿真實驗采用B/S 網絡架構。用戶瀏覽器、數據庫、仿真服務器和仿真軟件構成了汽車運輸安全虛擬仿真實驗平臺,如圖3 所示。

圖3 實驗平臺構建框架
設計時采用Mysql 數據庫進行開發,實驗結果數據和車輛、道路結構參數數據都保存在數據庫中。確定數據項、數據結構、數據流和實體關系圖后,利用Powerbuilder 軟件進行數據庫的搭建。仿真服務器用來承擔虛擬仿真平臺的數據計算、數據傳遞任務。考慮平臺計算量較小設計時采用私有云服務器。
2.2.1 參數設置模塊實現
該模塊使用JSP 軟件進行開發,實現步驟如下:①明確界面功能,確定界面布局和數據流向;②創建實體類包,導入結構參數2D 視圖和特性曲線;③調用業務層的處理類和處理方法處理請求,根據結果返回響應。
根據實驗數據內容搭建的參數設置模塊如圖 4所示。

圖4 參數設置模塊
2.2.2 建模與場景搭建
采用3D MAX 軟件進行三維場景建模。建模時在確保真實性的前提下,通過減少不必要的線條來優化模型,減小粒度。利用Unity 3D 地形編輯功能,構建室外實驗環境,并將車輛和道路模型以 FBX 格式導入Unity 3D 場景來鋪設道路路線。
2.2.3 虛擬仿真實現
虛擬仿真實驗中主要呈現的有3 種行駛狀態:正常行駛、發生側滑和發生側翻。通過動畫模擬演示功能,根據仿真服務器傳來的計算結果進行車輛行駛狀態的虛擬仿真,如圖5 所示。根據C#腳本中Carstate存儲的變量信息使用Animator 來控制車輛行駛狀態的切換,實現實驗計算結果與仿真動畫的對接。
2.2.4 三維交互界面
實驗界面為場景漫游界面,學生可以第一視角在實驗場景中自由觀察,設計時采用Unity 3D 自帶的UGUI 組件和可視化工具。攝像機的視角范圍決定了界面的顯示內容,實驗中創建了一個Camera 與漫游界面相對應,通過編寫SceneMove.cs 類文件使拖動鼠標左鍵為改變視角,拖動鼠標右鍵為拉進/放遠視角,實現手控個人視角。

圖5 汽車行駛動畫
基于仿真服務器提供的車輛側翻因子、側傾角、側向加速度和四輪垂直反力的值,利用JPS 的MVC模型來實現結果分析與展示如圖6 所示。

圖6 實驗結果
汽車運輸安全虛擬仿真實驗降低了實驗的成本與風險;通過方便快速的實驗環境與輸出結果達到了快速獲取實驗現象的目的,實現了良好的人機交互;學生可以根據實驗的效果直觀地理解實驗的運行機制;還可以根據自己的實驗目的自主設置實驗參數,自主操作,提高了學生的參與感;汽車運輸安全虛擬仿真實驗擺脫了實車實驗中時間、空間和技術要求的限制。