張燕軍 劉 群 談 衛 孫有朝 李竹峰(揚州大學機械工程學院 江蘇 揚州 57)(南京航空航天大學民航學院 江蘇 南京 006)
隨著汽車行駛路況和車輛性能的復雜化,全風擋平視顯示的信息量和顯示模式是否合理,將對汽車駕駛工效產生直接影響。合理的平視顯示信息指引,可以增強駕駛員的主觀情景意識和信息感知水平,提高駕駛員的駕駛行為績效,緩解駕駛員緊張和壓力情緒,并能為車輛行駛安全性提供保證;反之,則將導致駕駛員注意力分散、主觀情景意識喪失、認知負荷過載甚至加劇車輛的人機交互安全風險,對駕駛員如何快速準確地獲取車輛行駛狀況提出了較高的要求。因此,需要借助實驗環節對全風擋平視顯示駕駛工效進行研究。
目前國內外專家學者主要針對被試者的心理生理指標參數以及行為績效水平對顯示界面的字符字體、大小、色彩、顯示位置及顯示界面編碼開展工效研究:如文獻[1]研究字符對顯示界面的工效影響;文獻[2-3]通過比較顯示界面的文字類型、位置方位及透明度對反應時間和正確率的影響研究;文獻[4]研究駕駛人員的分心反應時間的影響;文獻[5]對比分析了顯示界面尺寸大小對駕駛者操作信息輸入的影響;文獻[6]研究了車輛顯示的信息量對反應時間的影響。綜合以上研究的問題,平視顯示界面需要有較好的柔性,并根據需求實時修改參數屬性,在實際行駛過程中,駕駛員會基于行駛的外部環境信息和車況信息進行決策、判斷、處理,利用操縱控制設備完成駕駛任務。為了研究全風擋平視顯示對駕駛工效的影響,需要采集駕駛員操縱車輛時的生理數據、心理數據和決策數據。采集的數據用于表征平視顯示信息量和模式是否合理,為緩解認知疲勞和提高駕駛行為績效的影響水平及后續系統研制開發提供實驗數據的支持。現有的駕駛仿真平臺多用于駕駛員的考證駕駛訓練或作為娛樂系統,如文獻[7-8]基于裝配視景平臺的研究,文獻[9]提出了一種基于虛擬現實的駕駛訓練研究和方法,文獻[10]對車輛駕駛模擬器的發展與應用進行了研究。大部分研究還沒有行業標準,設備都缺乏記錄被試者的駕駛數據,而且界面單一固定無法實現即時修改,需要編寫控制臺程序,實時監測修改全風擋平視顯示界面屬性。
本文將基于虛擬儀表開發技術和三維空間場景構建技術[11-15],利用GL Studio開發行駛環境的視覺增強顯示(如路標/牌、路障、行人、車道等)和車況信息顯示(如車速、發動機轉速、油量、導航、通信等)等全風擋平視顯示對象;基于Multigen Creator和Vega Prime開發不同行駛路況場景(雨、霧、夜間行駛等)環境仿真模塊;集成眼動儀、腦電圖儀、心電圖儀、動作跟蹤捕捉系統等試驗數據采集設備以便于獲得駕駛操縱過程中駕駛員的生理心理數據;構建基于虛擬現實與模擬駕駛技術的車載全風擋平視顯示的駕駛工效仿真系統,實現不同模擬駕駛場景下的全風擋平視顯示仿真及界面重構,為全風擋平視顯示的駕駛員認知和行為特征等研究提供重要支持。
被試者處于駕駛平臺中,接收車輛行駛環境和車況信息,操縱控制裝置,實驗人員通過調整顯示界面元素參數,利用眼動儀、腦電圖儀、心電圖儀、動作跟蹤捕捉系統等數據采集設備記錄數據,通過分析數據來達到界面工效研究。
為了達到研究預期效果,該仿真系統的功能需求應包含以下方面:
1) 虛擬行駛環境要有強的“沉浸感”。
2) 全風擋平視顯示界面實時顯示車況信息。
3) 可以增強顯示外部行駛環境信息。
4) 全風擋平視顯示界面可快速重構。
5) 通過操縱裝置可進行汽車運動控制。
6) 采集被試者心理生理特征指標數據。
為實現上述功能需求,仿真系統應包含以下模塊:
(1) 行駛環境仿真模塊。設計不同路況場景,提供車輛行駛的外部環境,并其要求場景建模仿真具有強的“沉浸感”。
(2) 全風擋平視顯示仿真模塊。利用虛擬儀表技術開發全風擋平視顯示界面,實現實時顯示車況信息、增強顯示外部行駛環境,界面元素參數設置功能。
(3) 仿真計算機。提供實時行駛環境數據。
(4) 駕駛操縱模塊。涉及到駕駛盤、油門、剎車及檔位等駕駛操縱信息的輸入。它是駕駛員與汽車操縱系統間最主要的信息輸入通道。
(5) 數據管理模塊。主要實現將仿真計算生成的信息傳遞給全風擋平視顯示仿真模塊及行駛環境仿真模塊,將操縱模塊的信息傳遞給行駛環境仿真模塊,將全風擋平視顯示仿真模塊中的控制數據反饋給仿真計算機,并接收行駛環境模塊返回的行駛狀態數據信息。
(6) 試驗數據采集分析模塊。記錄眼動、操作動作等試驗數據,分析各項指標試驗數據,結合被試者的主觀評價可用于評定全風擋平視顯示的信息量和顯示模式是否合理,為顯示界面元素優化提供依據。系統總體方案如圖1所示。

圖1 車載全風擋平視顯示交互仿真系統總體方案
全風擋平視顯示界面可以降低被試者低頭看儀表的頻率和增強顯示當前行駛的外部環境,是被試者獲取外部行駛環境信息和車況信息的重要來源。因此虛擬界面要求能夠實時顯示行駛環境信息和車況信息,并且可以實時修改元素屬性。根據上述要求,本部分基于GL Studio虛擬儀表技術對全風擋平視顯示模塊進行開發。
GL Studio是一款快速開發虛擬儀表的工具,能夠實時生成2D或3D交互式的虛擬圖形,并且可以導出C++源代碼獨立運行。
為了實現全風擋平視顯示仿真,根據本文的總體設計需求,在編譯環境中選擇合適的工程類型,生成.gls文件;根據實時仿真的需求,為全風擋平視顯示對象添加相應的屬性、方法和變量,如為車輛超速信息添加適當的回調函數等。利用GL Studio代碼生成器生成.app和.h文件格式的源代碼文件,并將源代碼編譯成相應的可執行文件或者庫文件;根據試驗需要,設定顯示界面的工作約束和顯示位置,對工程對象進行合理的行為代碼設計和優化以及對象透明度和顯示窗口的優化。根據文獻[15]的相關知識制定全風擋平視顯示界面對象開發流程如圖2所示。

圖2 全風擋平視顯示界面對象開發流程
車況信息界面主要有速度、油量、發動機轉速、導航儀表等信息,可根據GL Studio提供的指針旋轉類、文本類和指示燈實現制作。利用GL Studio設計窗口的Textured Text Grid可以添加文本,它能夠選擇字體、字形、行列、顏色、位置等基本屬性,圖3所示為全風擋平視顯示界面編碼庫。

圖3 全風擋平視顯示界面編碼庫
以虛擬車速儀表為例,獲取車輛行駛速度仿真部分代碼如下:
void suduxunipenlClass::Penl (const float& value)
{
//獲取車輛速度
_penl=value;
//速度指針旋轉算法
//算法加入負號,是為了實現指針逆時針旋轉
needle->DynamicRotate(-(_penl*(360/360)),Z_AXIS);
}
根據文獻[11]可知GL Studio內部存在諸多的封裝插件、并提供了大量控件函數,能夠實現虛擬儀表數據的實時交互顯示,逼真地表達儀表的工作狀態。視覺增強顯示類界面符號是通過定義字符或圖形紋理屬性實現其實時的顯隱,通過調用Visibility Function實現指示符號的明暗變化,利用Blink Rate Function控制指示符合閃爍的頻率,對于聲音模擬使用PLAY_SOUND(self,0)函數調用預制的音頻文件。
行駛環境對象建模[16]是利用MultiGen Creator建立道路、建筑、欄桿等對象模型以及大面積的地形,并制作模型紋理及貼圖,最后對模型進行轉換、集成,實現輕量化來降低計算機內存的開銷。行駛環境對象模型引入Open Flight數據結構,采取節點分層,滿足對場景中對象的編輯、控制及渲染需求。場景模型開發流程圖如圖4所示。

圖4 場景模型開發流程
大面積地形建模則是通過調用某區域海拔數據生成地形數據庫,在很多工程應用中廣泛使用以DEM格式的地形數據,在使用這些海拔數據之前需要進行必要的數據格式的轉換,然后導入到Creator中才可以生成地形數據庫。主要包括導入記錄真實地理信息的原始地形數據,設置地形轉換算法,制作和收集應用地形紋理,映射地形特征數據,而后生成模型數據庫等。
建筑物建模行駛環境仿真中,建筑物、植被等的逼真程度可以有效地為被試者提供較好的“沉浸感”。對于結構較為簡單的建筑物(比較規則的形狀),可以看作是由三角面、矩形面等規則幾何圖形組成,因此在Creator中利用矩形平面拉伸出長方體,在長方體的上面添加合適的錐體,并在前面添加合適的紋理,實現簡單的房屋建模。較復雜的建筑物則是借助機械方面的三維軟件進行輔助建模,并將模型進行輕量化處理后導入到Creator中進行貼圖操作。
本文行駛環境中主要運動的模型是車輛,因此首先建立車輛的靜態模型[17],其中車輛運動的主要部件車輪是通過單獨設置DOF節點,實現仿真過程中每個車輪的轉動。如圖5所示車輛節點層次結構。

圖5 車輛節點層次結構
場景采用文獻[18]中所提的Vega Prime軟件并進行定義布置,Vega Prime主要包括面向用戶的LynX圖形界面工具和可移植的C語言函數庫。在LynX圖形用戶界面中需要將場景模型按順序一一導入其中,其次通過定義場景中的光照、環境特效、添加不同天時天氣的路況場景(雨、霧、夜間行駛等)。基于相交矢量法[19]實現車輛模型與環境對象的實時干涉檢測,以避免對象穿透現象影響逼真度。視景實時驅動是根據駕駛操縱模塊數據,由仿真計算機實時解算行駛方位,實現視點控制和變化軌跡控制。行駛環境仿真模塊結構框架如圖6所示。

圖6 行駛環境仿真模塊結構框架
數據管理模塊主要包含如下功能:1) 實現各個模塊之間的信息傳遞;2) 界面顯示調整功能;3) 行駛環境的選擇;4) 系統參數配置。
利用MFC構建管理模塊,是通過在MFC中創建一個公共類[20],將LynX圖形界面工具中導出的代碼移植到該類中進行修改、優化、封裝,應用程序開發工作主要包括配置編譯環境、啟動主線程、動態加載物體;根據采集被試者的操作姿態去控制駕駛者的視點或視角,控制特效,控制聲音,配置行為動作的響應函數等。MFC提供的可編輯框控件可以為行駛環境運行時提供顯示位置。由文獻[21]相關知識可利用C++提供的MSComm控件設置串口通信,在time類參數中實現實時記錄顯示所需的數據,設定IP及端口號完成行駛環境與平視顯示界面的通信設置。
基于MFC對Vega Prime中的代碼運行配置,加載等操作。
UINT Public_Member::CTS_RunBasicThread(LPVOID)
{
vp::initialize(__argc,__argv);
Public_Member::CTS_Define();
vpKernel::instance()->configure();
Public_Member::CTS_pObject_observer=vpObject::find(″car″);
Public_Member:: CTS_pObject_observer->ref();
vpWindow*vpWin=*vpWindow::begin();
vpWin->setParent(Public_Member::CTS_RunningWindow);
vpWin->setBorderEnable(false);
vpWin->setFullScreenEnable(true);
vpWin->setInputEnable(true);
vpWin->open();
while(vpKernel::instance()->beginFrame()!=0)
{
vpKernel::instance()->endFrame();
Public_Member::CTS_pObject_observer->setTranslate(x,y,10);
x=x+t*t*a;
y=y+t*t*a;
if(!Public_Member::CTS_continueRunVP)
{
vpKernel::instance()->unconfigure();
vp::shutdown();
return 0;
}
}
return 0;
}
仿真計算機產生的參數傳遞給全風擋平視顯示仿真模塊及行駛環境仿真模塊。被試操縱產生的動作數據由操縱模塊傳遞給數據管理模塊。全風擋平視顯示仿真模塊解析來源于仿真計算機的數據,將增強顯示信息及車況信息顯示于風擋上。試驗數據采集分析模塊實時采集記錄被試者駕駛操縱過程中的眼動、行為動作等生理心理特征數據并發送至數據管理模塊。
通過各個操作部件引起的信號變化,經過模數轉換和數據接口設計,向虛擬行駛環境、全風擋平視顯示界面發送數據。為了實現駕駛模擬和全風擋平視顯示的實時性及逼真度需求[22],全風擋平視顯示模塊、行駛環境模塊采用基于TCP/IP協議的網絡通信方式,如圖7所示。

圖7 行駛環境與全風擋平視顯示通信模式
利用安裝在駕駛仿真器油門下方的位移傳感器采集控制車輛的速度。位移傳感器的位移和電壓存在線性關系,通過測量電壓的變化可求得傳感器的位移變化量,根據單位時間即可測出車輛的加速度,根據加速度得出車輛的位移量。根據文獻[23]得出以下公式:
(1)
式中:s1為下一個時刻位移傳感器位移量;s0為當前時刻位移傳感器的位移量;t為兩個時刻的時間差。
基于車輛系統仿真的框架下,通過全風擋平視顯示模塊、行駛環境模塊、數據管理模塊等設計與集成調試,開發了全風擋平視顯示的駕駛工效仿真系統。圖8和圖9分別為全風擋平視顯示界面場景和全風擋平視顯示的駕駛工效模擬試驗。最終通過對車載仿真系統的測試和試驗,該系統實現了不同模擬駕駛場景下的全風擋平視顯示仿真及界面重構,為全風擋平視顯示的駕駛員認知和行為特征等研究提供了平臺支持,能夠滿足車載全風擋平視顯示的工效仿真需求研究。

圖8 全風擋平視顯示虛擬仿真場景

圖9 全風擋平視顯示的駕駛工效模擬試驗
為了滿足車載全風擋平視駕駛工效仿真研究,通過需求分析,設計了全風擋平視顯示系統框架,并對各個模塊進行了設計和開發,得出了以下結論:
(1) 該仿真系統行駛環境有較強的“沉浸式”感覺和體驗,并且實現行駛環境的視覺增強顯示以及平視車況信息,使駕駛者更能及時高效獲得車輛狀況信息,能夠實現駕駛工效仿真研究。
(2) 該系統顯示的信息量和模式量符合駕駛工效模擬試驗需求,構建的全風擋平視顯示仿真平臺為駕駛工效評估及人機工效機理研究提供了支持。
[1] 周穎偉,莊達民,吳旭,等.顯示界面字符編碼工效設計與分析[J].北京航空航天大學學報,2013,39(6):761- 765.
[2] 張磊,莊達民.飛機界面設計顏色匹配性[J].北京航空航天大學學報,2009,35(8):1001- 1004.
[3] 張磊,莊達民.人機顯示界面中的文字和位置編碼[J].北京航空航天大學學報,2011,37(2):185- 188.
[4] 吳志周, 賈俊飛. 駕駛分心行為及應對策略研究綜述[J]. 交通信息與安全, 2011, 29(5):5- 9.
[5] Stelzer E M, Wickens C D. Pilots strategically compensate for display enlargements in surveillance and flight control tasks[J]. Human Factors, 2006, 48(1):166- 181.
[6] Wickens C D, Alexander A L, Ambinder M S, et al. The role of highlighting in visual search through maps.[J]. Spat Vis, 2004, 17(4-5):373- 388.
[7] 許志,唐碩.裝配式實時飛行視景仿真平臺研究[J].計算機工程與設計,2005,26(12):3298- 3300.
[8] 泮斌峰,唐碩.可裝配式飛行視景仿真系統的設計與實現[J].系統仿真學報,2007,19(4):768- 771.
[9] 汪成為,高文.王行仁,等.虛擬現實技術理論與實現及應用[M].北京: 清華大學出版社,1996.
[10] 孫顯營,熊堅.車輛駕駛模擬器的發展綜述[J].交通科技, 2006(6):48- 50.
[11] 于輝,趙經成.GL Studio虛擬儀表技術應用與系統開發[M].北京:國防工業出版社,2010.
[12] 談衛, 孫有朝.面向顯示界面工效研究的飛機座艙仿真系統[J]. 計算機系統應用, 2016,25(8):41- 47.
[13] 劉群, 張燕軍, 李竹峰,等. 基于MFC對話框和Vega Prime的沉浸式跑步視景仿真[J]. 農業裝備技術, 2017, 43(3):39- 42.
[14] 萬明,南建國.Vega Prime視景仿真開發技術[M].北京:國防工業出版社,2015.
[15] DiSTL. GL Studio 3.1 Users Manual[Z]. 2005.
[16] 孟曉梅,劉文慶. MultiGen Creator教程[M]. 北京:國防工業出版社,2005.
[17] 邵曉東,陳天鴻. Creator建模藝術[M].西安電子科技大學出版社,2014.
[18] 徐恩,李學軍,鄒紅霞,等.基于Creator/VP 的三維虛擬環境建模[J]. 系統仿真學報,2009,21(10):121- 123.
[19] 劉衛東.可視化與視景仿真技術[M]. 西安:西北工業大學出版社,2012.
[20] 王孝平,董秀成,鄭海. Vega Prime實時三維虛擬現實開發技術[M]. 成都:西南交通大學出版社,2012.
[21] 劉長征.Visual C++串口通信及測控應用實例詳解[M].北京:電子工業出版社,2013.
[22] 侯曉琴. Visual C++2005[M]. 北京:清華出版社,2013.
[23] 梁森,王侃夫. 自動檢測與轉換技術[M]. 北京:機械工業出版社,2012.