寇增亚 刘浩学 赵炜华
【摘要】为解决交通心理学课程教学及驾驶人训练中应激反应难以进行实验的问题,开发了驾驶人应激训练系统。以Visual C++编程环境为平台,综合运用DirectX技术、3ds Max、Photoshop和骨骼动画技术,模拟道路驾驶中的人-车-路及环境,结合驾驶应激状态产生机理,设计多个形象逼真的应激训练场景。系统不仅可以实现人机交互,而且包括发动机声音、制动、鸣笛等音效系统。系统应激场景多,画面逼真且运行流畅,可实现安全状态下的驾驶应激过程体验,满足教学和训练需要。
【关键词】交通心理学 应激 训练 实验 系统
【基金项目】中央高校基本科研业务费专项资金(50778023);长安大学基础研究支持计划专项基金资助;汽车运输安全保障技术交通行业重点实验室开放基金资助。
【Abstract】In order to solve the problem that stress response is difficult to test in traffic psychology courses and driver training a stress training system of drivers was developed. Development took advantage of DirectX, 3ds Max, Photoshop and Skeletal animation on the platform of Visual C++ Program. Combined with the mechanism of driving stress many vivid stress scenes were designed to simulate traffic system including person, road, automobile and environment. System not only can achieve human-computer interaction, but also include audio systems such as engine sound, brake and whistle. System involves many stress scenarios and run smoothly. System moot the needs of teaching and training and realize the experience of stress in driving.
【Keywords】traffic psychology; stress; training; experiment; system
【中图分类号】U491.254 【文献标识码】A 【文章编号】2095-3089(2015)08-0211-02
实验教学是学生理论联系实际的重要环节,不仅是课程教学的必要补充,而且可以提高学生动手能力,增强对实际问题的理解,获得真实体会,加深理解和记忆,为创新能力培养提供平台[1-3]。在交通心理学和汽车性能等实验教学课程中,驾驶人心理、驾驶行为和车辆运动状态等,均属于可描述但无法体验的实验项目。驾驶模拟器虽然可实现一部分功能,但也存在缺陷,主要是驾驶应激状态模块缺少。驾驶人在紧急情况下所表现出的行为状态称为应激状态。应激是在出乎意料的紧张或危险情况下,引起的情绪状态,是驾驶人对各种刺激应答性反应的综合表现,即各种不同刺激对驾驶人的作用,以及这些作用所导致的驾驶人的各种变化。驾驶人在行车过程中突然碰到危险情况时,需集中精力、保持高度的紧张状态,充分发挥自己的驾驶技能,才能应付突如其来的危险[4,5]。对于驾驶人应激状态实验,因为实车实验容易发生事故,存在非常大的危险性,所以在交通心理学教学中,从未进行过相关内容实验。但驾驶人应激状态下的反应,对于交通安全影响巨大,对于相关教学和研究也具有重要意义。基于上述原因,本文利用现有驾驶模拟器平台,开发驾驶人应激训练及体验系统,填补实验项目空白,满足了教学和相关研究需要。
1.系统开发的理论基础
对于复杂交通环境中所出现的应急状态,会因为个体差异而存在很大不同。当实验进行过程中,有些实验者可能会做出完全错误的反应和操作。而对于这类错误反应的学生,在以后工作和学习中的偏误认识将长期存在,即使反复进行理论讲解和分析,也无法使其认识深入[6,7]。实践证明,人们可以通过有计划、有目的的专项训练来掌握或提高从事某种社会活动的能力。这是由于大脑皮层具有系统性活动的机能,能够把这些“刺激”有规律地协调成为一个条件反射链索系统,由此造成的结果就是动力定型。动力定型形成以后,一旦有关刺激物作用于有机体,条件反射的链索系统就自动地出现。所以动力定型又称自动化了的条件反射系统,即由于条件反射“习惯”的长期积累、强化,以致成为一种固定化的动作模式。人们在生活中养成的各种习惯、技能以及生活方式都是动力定型的建立。
基于以上理论,应激状态反应也是一种动力定型,而相关的训练和体验过程就是这种动力定型的建立过程。对学生来说,则可以实现驾驶人应激状态体验。对于研究人员来说,可对被试者进行反复的应激训练,研究应激状态的反应时间减少量和反应准确率的提高程度。对于驾驶人来说,通过训练的途径丰富了驾驶人的经验,使得已形成的某种驾驶技能进行优化迁移,这在极大程度上减少或避免了交通事故的发生。
此类计算机学习和体验系统,不仅可以保障学生完成低成本、安全的实验教学内容,而且对于应激状态的相关理论、车辆性能和驾驶行为等研究工作,也具有重要意义。
2.系统开发技术基础及工具
该系统以市场购置的驾驶模拟器为平台,在此基础上进行开发。由于开发过程对于部分配件的技术参数要求相对较高,对原机的部件进行了更换。计算机CPU为 2.66G/8MB /45nm,显卡选用HD5770,显存为1G,内存为2GB,其它为常规配置。由于Windows操作系统在中国的普及性较高,而且具有兼容性与可移植性好等突出的优点,所以本课件的开发选择在Windows XP下進行。而在Windows操作系统坏境下所运行的各种三维动画、虚拟现实、游戏等,大多需要DirectX技术的支持[8]。
为了使系统运行流畅,各种应激场景形象逼真,以微软DirectX技术、Visual C++编程环境并结合多种计算机图形软件,实现驾驶人应激训练系统的开发。应用3ds Max和Photoshop软件建立了车辆、交通标志、路沿石等近40个三维网络模型,并采用骨骼动画这一新技术,实现人物行走的动画效果;实现了键盘、驾驶模拟器与应激系统的双重实时交互,利用Direct3D矩阵变换实现了车辆加速、制动及转向控制;同时系统为行车过程中添加了发动机、车辆制动、鸣笛等相关音效。
3.系统结构及实现方法
系统设计以不同道路环境下所产生的事故类型分析为基础,提取该道路条件下出现概率较高的应急状态,以现实环境为基础构建应激场景的相关模型。场景设计和各模型在虚拟环境中,按照人类视觉特性建立坐标系,很好的将三维世界映射到计算机二维平面。系统包括视景子系统、控制子系统和音响子系统三个功能模块。本系统可视性、操作性、灵活性强,界面设计友好,交互能力强。系统总体结构如图1所示。
3.1视景子系统
在所建立的上述系统中,视景子系统是整个系统的重点和主体,是应激场景建立和功能实现的根本。该子系统主要用于表现场景的真实性和应激状态的意外性。驾驶人在行车过程中所看到的一切都是构成视景子系统的元素。这些元素主要包括:道路、车辆、行人、天空、路灯、路沿石、交通标志、树木以及远处的群山等等。其部分模型效果如图2、图3所示。
1)车辆、建筑物和交通设施等模型
车辆、行人和道路环境是交通系统的三要素,在场景中添加这些模型不仅可以充实场景,而且还可以增强场景的立体感和真实性。
2)天空及道路的渲染
天空是应激场景的一个重要组成部分,它用于衬托场景氛围,增加驾驶人的沉浸感。
3)行人的渲染
行人是重要的交通系统参与者,因为其具有行走随意性大、方向多变等特点,因而由行人所引起的驾驶人应激经常发生。
4)树木的渲染
树木不仅是道路环境的必要组成部分,而且使动画界面更加友好、美观,也提高了画面逼真程度。
5)驾驶室及群山的渲染
随着道路环境的变化,驾驶室及周围环境也相应变化,可以使得动画内容更加丰富,而且可模拟不同道路条件下的差异。按照汽车行驶过车程中,进入驾驶人视野景物的三维参数和顺序,将上述元素合理组合,构建相应的应激场景。在本系统中,设计了自行车骑乘人横穿马路、施工场地突然出现行人、正常行驶的前车突然制动停车、视线盲区突然驶过车辆四个典型场景。其中两个场景的运行后效果分别如图4、图5所示。
3.2控制子系统
控制子系统就是将软件系统与计算机键盘、驾驶模拟器等硬件系统建立友好链接,使驾驶人与应激训练系统完成实时交互的一个系统。
本系统实现了对键盘和驾驶模拟器的双重识别,通过任一方式均可完成对场景中的车辆实现加速、制动和转向等功能的控制。本文采用一套由Fly Eagle公司开发,型号为FE-8288的驾驶模拟器,它主要由转向盘、变速杆、加速踏板、制动踏板、驻车制动器及其他辅助按键组成。其系统构成如图6所示。
3.3音响子系统
为了使整个应激场景更加逼真,系统建立了音响子系统。音响子系统通过DirectSound接口来实现行车过程中各种声音的播放,这些声音主要包括行车过程中的发动机声音、制动声音及鸣笛声音等。以上声音的播放过程,DirectSound提供了相应的封装代码。基本编程形式是,取得声卡中的一块内存或系统内存作为次缓冲区,装入声音数据到次缓冲区,设置声音格式,调用次缓冲区的Play和Stop方法播放或停播声音。这一步实际是实现次缓冲区数据到混声器的传送。然后数据在混声器处理后,再进入主缓冲区,声卡自动将声音通过扬声器播放出来。
4.系统技术特点
1)DirectX技术
通常所说的DirectX一般是指DirectX SDK,它是微软公司提供的一套用于开发高性能多媒体程序的应用程序接口。它解决了高层软件与硬件的隔离问题,从而使各个硬件厂商可根据DirectX制定的API规范生产各自的硬件和对应的驱动程序,并使高层DirectX应用软件对各种硬件的实现具有普遍的适应性。基于DirectX开发的多媒体程序即可以充分利用系统硬件的加速功能,又隐藏了硬件相关的设备属性。通过编写与硬件设备无关的高效代码,DirectX程序总能以最佳方式运行,因此具有效率高并且易于开发的优点。
2)纹理映射技术
纹理映射技术是驾驶人应激训练系统在开发过程中所用到的关键技术之一。纹理是指物体表面本身所具有的图案。在DirectX中,场景中的模型表面通常是由大量三角形面组合而成,如果场景中模型的数量较多并且结构复杂,系统渲染的实时性将达不到要求,导致系统画面出现失帧,运行不流畅。所以对场景中的物体,应尽量采用较少的三角形面组成。纹理映射是一种将二维图形映射到三维物体表面来产生特殊效果或真实感的一种技术,使用纹理映射技术可以避免对场景的每个细节都使用多边形来表示,进而可以大大减少场景模型的多边形数目,提高图形显示速度。场景中的许多建筑物,通过在立方体表面上贴图,即采用纹理映射便可产生真实的视觉效果。
3)广告牌技术
广告牌(billboard)技术是一种2Din3D的三维仿真技术,可节省大量的三维计算处理。它将二维的“广告牌”图像放置在三维的场景中,并使它始终面向视点,这样就可确保在计算机屏幕上,永远只会见到广告牌的正面,而不会见到广告牌的侧面。
广告牌技术的原理是可简单地利用一个矩形面贴上图片来实现二维图形的三维模拟。只要摄像机发生移动或旋转,我们就同时移动或旋转矩形面的4个顶点,使矩形面的法向量始终面对摄像机,这样位于矩形面内的图像看似就是三維的。具体实现可使用ID3DXSprite接口所提供的方法来进行。本应激训练系统对树木的渲染就是利用该技术实现三维模拟仿真的。
4)网络模型技术
Direct3D可以通过程序代码构建一些简单的三维几何图形进行渲染,但对一些比较复杂的三维几何图形来说便显得非常困难。通常情况下三维图形开发接口需要与其他功能强大的三维建模软件结合起来,先利用3ds Max、Maya等三维建模软件制作出复杂物体的模型,保存到相应的模型文件中,然后三维图形开发接口再将保存在文件中的模型加载到程序中进行显示。
本应激训练系统中的模型全部由3ds Max软件制作,为了可以导出Direct3D可以识别的*.X文件,先要安装一个与3ds Max版本对应的插件,这个插件俗称熊猫插件。熊猫插件可以在网络资源中下载,但必须要与3ds Max的版本一致,否则无效。
5)骨骼动画技术
传统的计算机动画是采用图形与图像的处理技术,借助于编程或动画制作软件生成一系列的静止图像,通过一张一张播放这些静止图像的方法来产生物体运动的效果。但应用这种动画技术,首先要将所有动画图片載入程序,占用内存空间较大,灵活性也不高。本文尝试使用了骨骼动画这种新技术,取得了比较理想的动画效果。骨骼动画是一种新兴的三维动画技术,其动画效果具有人机交互的实时性、真实性和生动性。骨骼动画使用骨骼的变换矩阵来说明每一动画帧时刻的变换,从而可通过计算的方式来获得动画帧时刻的各个网络顶点的新坐标,较之直接存放每一动画帧的所有顶点坐标的方法,可节省大量内存。
5.结语
本系统依据交通心理学、车辆性能等方面理论基础,针对相关教学中内容可以描述,但由于驾驶实验极度危险而无法获得真实感受的缺点,通过多媒体技术丰富生动的音频、视频、动画和方式模拟展示出来。除应激场景的显示外,还可通过操作控制系统实现人机交互。通过沉浸于逼真的虚拟环境中,学生不仅可进行实验,而且对涉及知识的理解也更加明确。经专家评议和教学测试,不仅可以实现预期目的,提高和改善教学效果,而且具有商业开发价值。
参考文献:
[1]林少凡,乔园园,张涛.计算机辅助化教学回顾与展望[J].计算机与应用化学,2001,18(2):187-189
[2]刘建安,满瑞林.化工原理多媒体实验教学系统的研制[J].实验室研究与探索,2004(6):10-13
[3]赵炜华,刘浩学,董宪元.车轮定位实验教学课件开发[J].实验室研究与探索,2009,28(12):78-80
[4]郭忠印, 方守恩. 道路安全工程[M].人民交通出版社, 2003, 9
[5]刘浩学, 刘玉增. 驾驶员应激状态下的肇事分析[J].汽车运输研究,1995(14)2:75-78
[6]赵建有.汽车驾驶员应激能力分析[J].长安大学学报,2003,7(4):91-95
[7]李百川. 汽车驾驶员适宜性检测及评价[M].人民交通出版社, 2003, 4
[8]叶至军. Visual C++/DirectX9 3D游戏开发导引[M].人民邮电出版社,2006