APP下载

全风挡平视显示的驾驶工效仿真系统研究

2018-07-05张燕军孙有朝李竹峰扬州大学机械工程学院江苏扬州57南京航空航天大学民航学院江苏南京006

计算机应用与软件 2018年6期
关键词:工效风挡平视

张燕军 刘 群 谈 卫 孙有朝 李竹峰(扬州大学机械工程学院 江苏 扬州 57)(南京航空航天大学民航学院 江苏 南京 006)

0 引 言

随着汽车行驶路况和车辆性能的复杂化,全风挡平视显示的信息量和显示模式是否合理,将对汽车驾驶工效产生直接影响。合理的平视显示信息指引,可以增强驾驶员的主观情景意识和信息感知水平,提高驾驶员的驾驶行为绩效,缓解驾驶员紧张和压力情绪,并能为车辆行驶安全性提供保证;反之,则将导致驾驶员注意力分散、主观情景意识丧失、认知负荷过载甚至加剧车辆的人机交互安全风险,对驾驶员如何快速准确地获取车辆行驶状况提出了较高的要求。因此,需要借助实验环节对全风挡平视显示驾驶工效进行研究。

目前国内外专家学者主要针对被试者的心理生理指标参数以及行为绩效水平对显示界面的字符字体、大小、色彩、显示位置及显示界面编码开展工效研究:如文献[1]研究字符对显示界面的工效影响;文献[2-3]通过比较显示界面的文字类型、位置方位及透明度对反应时间和正确率的影响研究;文献[4]研究驾驶人员的分心反应时间的影响;文献[5]对比分析了显示界面尺寸大小对驾驶者操作信息输入的影响;文献[6]研究了车辆显示的信息量对反应时间的影响。综合以上研究的问题,平视显示界面需要有较好的柔性,并根据需求实时修改参数属性,在实际行驶过程中,驾驶员会基于行驶的外部环境信息和车况信息进行决策、判断、处理,利用操纵控制设备完成驾驶任务。为了研究全风挡平视显示对驾驶工效的影响,需要采集驾驶员操纵车辆时的生理数据、心理数据和决策数据。采集的数据用于表征平视显示信息量和模式是否合理,为缓解认知疲劳和提高驾驶行为绩效的影响水平及后续系统研制开发提供实验数据的支持。现有的驾驶仿真平台多用于驾驶员的考证驾驶训练或作为娱乐系统,如文献[7-8]基于装配视景平台的研究,文献[9]提出了一种基于虚拟现实的驾驶训练研究和方法,文献[10]对车辆驾驶模拟器的发展与应用进行了研究。大部分研究还没有行业标准,设备都缺乏记录被试者的驾驶数据,而且界面单一固定无法实现即时修改,需要编写控制台程序,实时监测修改全风挡平视显示界面属性。

本文将基于虚拟仪表开发技术和三维空间场景构建技术[11-15],利用GL Studio开发行驶环境的视觉增强显示(如路标/牌、路障、行人、车道等)和车况信息显示(如车速、发动机转速、油量、导航、通信等)等全风挡平视显示对象;基于Multigen Creator和Vega Prime开发不同行驶路况场景(雨、雾、夜间行驶等)环境仿真模块;集成眼动仪、脑电图仪、心电图仪、动作跟踪捕捉系统等试验数据采集设备以便于获得驾驶操纵过程中驾驶员的生理心理数据;构建基于虚拟现实与模拟驾驶技术的车载全风挡平视显示的驾驶工效仿真系统,实现不同模拟驾驶场景下的全风挡平视显示仿真及界面重构,为全风挡平视显示的驾驶员认知和行为特征等研究提供重要支持。

1 系统需求分析及框架设计

被试者处于驾驶平台中,接收车辆行驶环境和车况信息,操纵控制装置,实验人员通过调整显示界面元素参数,利用眼动仪、脑电图仪、心电图仪、动作跟踪捕捉系统等数据采集设备记录数据,通过分析数据来达到界面工效研究。

为了达到研究预期效果,该仿真系统的功能需求应包含以下方面:

1) 虚拟行驶环境要有强的“沉浸感”。

2) 全风挡平视显示界面实时显示车况信息。

3) 可以增强显示外部行驶环境信息。

4) 全风挡平视显示界面可快速重构。

5) 通过操纵装置可进行汽车运动控制。

6) 采集被试者心理生理特征指标数据。

为实现上述功能需求,仿真系统应包含以下模块:

(1) 行驶环境仿真模块。设计不同路况场景,提供车辆行驶的外部环境,并其要求场景建模仿真具有强的“沉浸感”。

(2) 全风挡平视显示仿真模块。利用虚拟仪表技术开发全风挡平视显示界面,实现实时显示车况信息、增强显示外部行驶环境,界面元素参数设置功能。

(3) 仿真计算机。提供实时行驶环境数据。

(4) 驾驶操纵模块。涉及到驾驶盘、油门、刹车及档位等驾驶操纵信息的输入。它是驾驶员与汽车操纵系统间最主要的信息输入通道。

(5) 数据管理模块。主要实现将仿真计算生成的信息传递给全风挡平视显示仿真模块及行驶环境仿真模块,将操纵模块的信息传递给行驶环境仿真模块,将全风挡平视显示仿真模块中的控制数据反馈给仿真计算机,并接收行驶环境模块返回的行驶状态数据信息。

(6) 试验数据采集分析模块。记录眼动、操作动作等试验数据,分析各项指标试验数据,结合被试者的主观评价可用于评定全风挡平视显示的信息量和显示模式是否合理,为显示界面元素优化提供依据。系统总体方案如图1所示。

图1 车载全风挡平视显示交互仿真系统总体方案

2 全风挡平视显示模块设计

全风挡平视显示界面可以降低被试者低头看仪表的频率和增强显示当前行驶的外部环境,是被试者获取外部行驶环境信息和车况信息的重要来源。因此虚拟界面要求能够实时显示行驶环境信息和车况信息,并且可以实时修改元素属性。根据上述要求,本部分基于GL Studio虚拟仪表技术对全风挡平视显示模块进行开发。

GL Studio是一款快速开发虚拟仪表的工具,能够实时生成2D或3D交互式的虚拟图形,并且可以导出C++源代码独立运行。

2.1 全风挡平视界面开发流程

为了实现全风挡平视显示仿真,根据本文的总体设计需求,在编译环境中选择合适的工程类型,生成.gls文件;根据实时仿真的需求,为全风挡平视显示对象添加相应的属性、方法和变量,如为车辆超速信息添加适当的回调函数等。利用GL Studio代码生成器生成.app和.h文件格式的源代码文件,并将源代码编译成相应的可执行文件或者库文件;根据试验需要,设定显示界面的工作约束和显示位置,对工程对象进行合理的行为代码设计和优化以及对象透明度和显示窗口的优化。根据文献[15]的相关知识制定全风挡平视显示界面对象开发流程如图2所示。

图2 全风挡平视显示界面对象开发流程

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)函数调用预制的音频文件。

3 行驶环境仿真模块设计

3.1 行驶环境对象建模

行驶环境对象建模[16]是利用MultiGen Creator建立道路、建筑、栏杆等对象模型以及大面积的地形,并制作模型纹理及贴图,最后对模型进行转换、集成,实现轻量化来降低计算机内存的开销。行驶环境对象模型引入Open Flight数据结构,采取节点分层,满足对场景中对象的编辑、控制及渲染需求。场景模型开发流程图如图4所示。

图4 场景模型开发流程

3.2 大面积地形建模

大面积地形建模则是通过调用某区域海拔数据生成地形数据库,在很多工程应用中广泛使用以DEM格式的地形数据,在使用这些海拔数据之前需要进行必要的数据格式的转换,然后导入到Creator中才可以生成地形数据库。主要包括导入记录真实地理信息的原始地形数据,设置地形转换算法,制作和收集应用地形纹理,映射地形特征数据,而后生成模型数据库等。

建筑物建模行驶环境仿真中,建筑物、植被等的逼真程度可以有效地为被试者提供较好的“沉浸感”。对于结构较为简单的建筑物(比较规则的形状),可以看作是由三角面、矩形面等规则几何图形组成,因此在Creator中利用矩形平面拉伸出长方体,在长方体的上面添加合适的锥体,并在前面添加合适的纹理,实现简单的房屋建模。较复杂的建筑物则是借助机械方面的三维软件进行辅助建模,并将模型进行轻量化处理后导入到Creator中进行贴图操作。

3.3 动态对象建模

本文行驶环境中主要运动的模型是车辆,因此首先建立车辆的静态模型[17],其中车辆运动的主要部件车轮是通过单独设置DOF节点,实现仿真过程中每个车轮的转动。如图5所示车辆节点层次结构。

图5 车辆节点层次结构

3.4 场景布置定义

场景采用文献[18]中所提的Vega Prime软件并进行定义布置,Vega Prime主要包括面向用户的LynX图形界面工具和可移植的C语言函数库。在LynX图形用户界面中需要将场景模型按顺序一一导入其中,其次通过定义场景中的光照、环境特效、添加不同天时天气的路况场景(雨、雾、夜间行驶等)。基于相交矢量法[19]实现车辆模型与环境对象的实时干涉检测,以避免对象穿透现象影响逼真度。视景实时驱动是根据驾驶操纵模块数据,由仿真计算机实时解算行驶方位,实现视点控制和变化轨迹控制。行驶环境仿真模块结构框架如图6所示。

图6 行驶环境仿真模块结构框架

4 数据管理模块设计

数据管理模块主要包含如下功能: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;

}

4.1 模块信息的传递

仿真计算机产生的参数传递给全风挡平视显示仿真模块及行驶环境仿真模块。被试操纵产生的动作数据由操纵模块传递给数据管理模块。全风挡平视显示仿真模块解析来源于仿真计算机的数据,将增强显示信息及车况信息显示于风挡上。试验数据采集分析模块实时采集记录被试者驾驶操纵过程中的眼动、行为动作等生理心理特征数据并发送至数据管理模块。

4.2 数据通信接口设计

通过各个操作部件引起的信号变化,经过模数转换和数据接口设计,向虚拟行驶环境、全风挡平视显示界面发送数据。为了实现驾驶模拟和全风挡平视显示的实时性及逼真度需求[22],全风挡平视显示模块、行驶环境模块采用基于TCP/IP协议的网络通信方式,如图7所示。

图7 行驶环境与全风挡平视显示通信模式

利用安装在驾驶仿真器油门下方的位移传感器采集控制车辆的速度。位移传感器的位移和电压存在线性关系,通过测量电压的变化可求得传感器的位移变化量,根据单位时间即可测出车辆的加速度,根据加速度得出车辆的位移量。根据文献[23]得出以下公式:

(1)

式中:s1为下一个时刻位移传感器位移量;s0为当前时刻位移传感器的位移量;t为两个时刻的时间差。

5 全风挡平视显示驾驶仿真的实现

基于车辆系统仿真的框架下,通过全风挡平视显示模块、行驶环境模块、数据管理模块等设计与集成调试,开发了全风挡平视显示的驾驶工效仿真系统。图8和图9分别为全风挡平视显示界面场景和全风挡平视显示的驾驶工效模拟试验。最终通过对车载仿真系统的测试和试验,该系统实现了不同模拟驾驶场景下的全风挡平视显示仿真及界面重构,为全风挡平视显示的驾驶员认知和行为特征等研究提供了平台支持,能够满足车载全风挡平视显示的工效仿真需求研究。

图8 全风挡平视显示虚拟仿真场景

图9 全风挡平视显示的驾驶工效模拟试验

6 结 语

为了满足车载全风挡平视驾驶工效仿真研究,通过需求分析,设计了全风挡平视显示系统框架,并对各个模块进行了设计和开发,得出了以下结论:

(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.

猜你喜欢

工效风挡平视
今天,我们因何而『平视世界』?
某型飞机侧风挡滑开机构改进设计
隧道衬砌缺陷处理工艺带模注浆与工后注浆综合工效浅析
平视
2019 中国人类工效学学会全国会员代表大会第二次会议暨学术会议通知
SUV车型前风挡倾角的分析
波音737驾驶舱风挡加温故障分析
波音737驾驶舱风挡加温故障分析
浅谈煤炭企业工效挂勾考核办法的深化与完善
平视