汽车虚拟驾驶培训系统的设计开发
2016-11-24董春侠司占军
董春侠++司占军
摘要:目前,虚拟现实技术已广泛应用于汽车行业之中,汽车虚拟驾驶培训系统逐步成为虚拟驾驶领域的重要研究方向。该文基于Unity3D开发引擎开发一个面向于无驾驶经验者的驾驶培训系统。前期结合多媒体技术和3D建模技术制作环境素材,其次利用Unity3D实现训练场景的搭建,最终编写C#、JavaScript脚该语言实现其多样化的交互功能。虚拟驾驶培训系统的开发不仅可以让用户体验到近似真实的视、听感受,还具有节能、安全、高效的驾驶训练效果,具有一定的应用价值以及广阔的市场发展空间。
关键词:虚拟驾驶;驾驶培训;三维模型 ;Unity3D
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)26-0088-03
Research and Development of Vehicle Virtual Driving Training System
DONG Chun-xia, SI Zhan-jun
(School of Packaging and Printing Works, Tianjin University of science and technology, Tianjin 300222, China)
Abstract: At present, virtual reality technology has been widely used in the automotive industry, automobile virtual driving training system has gradually became an important research direction in the field of virtual driving. In this paper, a driving training system was developed for non-driving experience based on Unity3D development engine. Firstly, the environment material was produced by multimedia technology and 3D modeling technology. Secondly, the training scene was set up by Unity3D software. Finally, the diversified interactive function of the system was realized through the preparation of C#, JavaScript scripting language. The development of virtual driving training system not only allows users to experience the visual and auditory perception, but also has the effect of energy saving, safe and efficient driving training. This research has a certain application value and broad market development space.
Key words: Virtual driving ;Driving-training ;3D modeling ;Unity3D
1 简介
虚拟驾驶训练系统是虚拟现实、计算机成像和其他现代高科技技术的组合[1]。在虚拟驾驶环境中,用户体验贴近驾驶的真实体验。用户和虚拟驾驶环境相互作用,实现汽车驾驶的虚拟训练[2]。随着计算机技术的飞速发展,驾驶模拟系统得到了极大的发展,仿真精度和逼真度也不断提高,推动了虚拟驾驶系统的不断优化,并将有一个很好的前景。
2 虚拟驾驶培训系统的优势
1)标准化教学方法。由于教练员和地区的不同,在教学上会有差异,缺乏统一的教学管理模式。虚拟驾驶培训系统可以遵循专家的统一教学[3]。如果学生使用它来练习,他们将能够掌握正确的驾驶姿势,锻炼身体的协调和操作的连续性。
2)缩短的培训周期和提高的培训效率。据研究,实体车训练的平均时间利用率在初始阶段为10-20%,中期为30-40%,后期为50%。在保证相同的训练效果的前提下,虚拟驾驶训练系统可以减少30%的训练时间[4],提高了教学的速度和安全性。
3)热情高。虚拟驾驶训练系统对学习有积极的影响,可以提高用户的学习积极性,同时有助于减少用户在操作实体车时的压力。
4)低成本、节能环保。与实体车相比,仿真培训可以减少汽油的使用以及各种类型的成本,有利于达到环保节能的目的[5]。
3 设计思路
该系统的目标受众是缺乏驾驶经验但要学习驾驶技能的人。本系统使用PhotoShop、Audio、3D Studio Max和Unity3D完成制作,在微软系统平台上发布,输入设备为键盘和鼠标,输出设备为显示器和音频设备。
3.1 设计原理
1)具备友好的人机交互和用户体验。
让驾驶用户在模拟驾驶器中浸入式地体验模拟驾驶的行为,沉浸在计算机创造出的模拟三维环境之中,还原模拟实车驾驶的完美体验,即要满足虚拟现实的“3I”特征:沉浸感、交互性和构想性。
2)确保模拟系统在PC机上运行的流畅性。
在计算机性能可以承受的范围内尽可能地提高驾驶环境的仿真程度,优化场景渲染特征、简化算法机制、提高显示速度和质量。
3)提高系统的商业可行性。
在硬件和软件的选择方面,应满足通用性、可扩展性原则,比如,在场景设计上,应该设计些大众认可并熟知的模型和情境;在输入输出设备上,要预留API,为未来可能运用到的技术提供拓展的空间[6]。
3.2 设计准备
模拟驾驶系统的内容遵循最新规定—机动车驾驶被许可人的申请和使用规定。结合用户的需求,开发场景分为六个,包括:开始驾驶、交叉路口左转、换车道、调头行驶、逆向停车、平行停车。
该系统的功能分为两部分:驾驶控制和提示功能。驾驶控制功能包括:转向灯控制、车辆速度控制、手动换档功能和离合器功能。提示功能包括:通过GUI的界面按钮,提示用户如何操作;在模拟场景中,用户可以得到驾驶提示信息,指示用户如何进行操作系统,这些信息也解释了一些交通规则。
4 制作过程
4.1 制作驾驶场景素材
在开发之前,有必要对交通规则和驾驶行为进行调查和分析,结合目标用户的特点,设计和开发仿真系统框架的层次和功能框架;其次,利用多媒体软件来制作和处理模拟驾驶系统所需的模型、动画和其他多媒体资源;3Ds Max软件制作汽车车身模型和场景模型,并导入到Unity3D重作为预置文件。此外,在Unity3D中制作地形、场景模型和其他材料制作和设计。
4.2 编码实现
4.2.1 汽车驾驶控制
我们在获得从3DMAX中导入并整理的Perfab汽车文件之后,首先我们需要定义并设计出此车体的质心(Center Of Mass)并设置其刚体;其次通过了解本车体的尺寸等特性,设计本车的悬挂系统,悬挂是另一个影响赛车的重要因素,它的功能是使轮胎和地面之间的摩擦力达到最大;其次针对每个轮胎加入车轮碰撞器(Wheel Collider);最后就是设置速度,转弯和传动档位转置,在此应该将其进行微调,以保证可以模拟真实驾驶的较为低速的情境。
4.2.2 交互制作
1)添加触发器。添加触发器的目的是让用户驾驶模拟汽车抵达终点处结束任务,因此可以在终点添加一个触发器,用户触发后跳转至另外一个场景画面。值得注意的是,触发器有三种不同的触发形式,function OnTriggerEnter、OnTriggerExit和OnTriggerStay。在停车任务,需要用户将车辆完全停在触发器内部才能完成任务,在这种情况下运用OnTriggerStay触发器。此外还需要将Inspector面板中的level字符串改成a,这样做的好处是不用每次都新建脚本文件实现跳转,一个脚本就实现了跳转功能,并且可以应用在不同的情境中。
2)添加双摄像机切换的功能。通过第一视角和第三视角的切换,用户可以更好地完成驾驶模拟任务,以及更好地模拟真实驾驶的情境。
3)添加手动换挡功能。通过在屏幕的左上角出现一组具有换挡作用的GUI滑块,用户对滑块进行拨动,实现切换不同的档位,改变驾驶的速度。具体代码如下:
由于滑块的两端所出现的滑块值vSliderValue不同,初始态的值为0终点的值为10,所以当用户将滑块滑动到另一端时,vSliderValue值变为10,则激发该位置的档位,若用户依次滑动滑块,则档位也将依次增加,速度也依次增加,达到换挡的目的。
4)控制左右转向灯。为了更好地模拟驾驶情境,需要用户控制转向灯的开启和关闭,并需要在规定的时间打灯转向,例如起步前、转向前还有变道前。具体的实现形式就是:当用户按下键盘的规定按键后,通过GUI函数的调用,在显示屏上显示出转向灯的提示。
5)添加模拟驾驶提示功能。模拟驾驶系统中,最为重要的一项功能便是提示功能,在合适的情境下给用户以操作提示,或者交规说明,可以更好地让用户理解到如何在真实的驾驶环境下正确的驾驶和操作。
4.2.3 设计并制作GUI
使用Unity作为平台编写脚本来实现以下几点:1)制作系统首页及关卡选择页面,2)需要将每个关卡串联起来,3)在用户模拟训练的界面,需要存在有提示信息,指导用户该如何操作。Unity有一个非常强大的GUI脚本API,它允许使用脚本快速创建简单的菜单和GUI。一个好的用户界面,可以给用户良好的用户体验,提高仿真培训的效率。
4.3 功能测试和发布
Unity基本版允许把游戏部署为一个独立的应用程序(Windows和Mac),加载完游戏场景文件后和最终发布成EXE应用文件。测试也是非常重要的一部分部分。系统生成之后,邀请目标用户,并观察其在进行模拟测试的时候是否存在认知障碍和停顿,根据收集的数据进行系统的完善和优化。
5 结束语
本文基于跨平台开发引擎Unity3D,设计开发了一款针对于提高驾驶学员驾驶技巧和驾驶兴趣的的模拟驾驶培训系统,本系统具有很强的模拟感,和更加真实的场景反馈。该系统有利于非驾驶经验的人提高驾驶技能和驾驶兴趣。此外,它不仅有利于推动学校开展统一教学,提高教学效率,而且在安全和环境保护中有着重要的作用。
参考文献:
[1] 张彤. 基于Quest3D的汽车虚拟驾驶培训系统的研究[D]. 焦作: 河南理工大学, 2012.
[2] 罗冠. 虚拟人的运动生成及控制技术研究[D]. 西安: 西北工业大学, 2004.
[3] 玉昭. 河北驾培:科技兴驾增效节能[N]. 中国交通报, 2007-07-27B03.
[4] 祖国忠. “模拟+实车”组训模式在汽车驾培业的应用概述[J]. 中国商界:上半月, 2009(6): 73,75.
[5] 宋亦奇. 虚拟现实艺术与视觉欲望的释放[D]. 哈尔滨: 哈尔滨工业大学, 2009.
[6] 曾林森. 基于Unity3D的跨平台虚拟驾驶视景仿真研究[D]. 长沙: 中南大学, 2013.