ISSN 1002-4956 CN11-2034/T
实验技术与管理
Experimental Technology and Management
第37卷第4期2020年4月
Vol.37 No.4 Apr. 2020
D O I: 10.16791/jki.sjg.2020.04.031基于增强现实的汽车驾驶仿真实验系统
方艳红,庄永智,王学渊,张红英
(西南科技大学信息工程学院特殊环境机器人技术四川省重点实验室,四川绵阳621010)
摘要:为了提高汽车模拟驾驶的真实感与沉浸感,研究了基于增强现实(A R)的汽车驾驶仿真实验系统。该系统基于A ndriod平台,利用U nity3D引擎实现汽车模拟驾驶实验开发,采用V uforia工具实现A R效果,使 其具备增强现实场景呈现及A R交互操作、汽车控制、行驶参数反馈、场景切换、环境隐藏等功能。用户可通过该系统在手机上实现在A R场景下汽车模拟驾驶实验,并在驾驶过程中得到及时预警、实
时分析等信息提示,从而实现真实汽车模拟驾驶;该系统提供一种全新的汽车测试和体验方法,为后续真实汽车模拟实验奠定基础。关键词:A R场景呈现;A R交互操作;汽车控制;场景渲染
中图分类号:TP393 文献标识码:  A 文章编号:1002-4956(2020)04-0147-04
Vehicle driving simulation experiment system
based on augmented reality
F A N
G Y a n h o n g,Z
H U A N G Yongzhi,W A N G X u e y u a n,Z H A N G Hongying
(Special Environment Robot Technology Key Laboratory of Sichuan Province, Faculty of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China)
A bstract: In order to improve the sense o f reality and immersion o f vehicle driving simulation, this paper develops a vehicle driving simulation experiment system based on augmented reality (AR). This
system is based on Android platform, the Unity3D engine is used to realize the experimental development o f vehicle driving simulation, and the Vuforia tool is used to achieve AR effects so that the system has the functions o f augmented reality scene presentation and AR interactive operation, vehicle control, driving parameter feedback, scene switching, environment hiding, etc. Through this system, the users can realize the vehicle simulation driving experiment in AR scene on a mobile phone, and get timely warning, real-time analysis and other information prompts in the driving process so as to realize the real vehicle driving simulation, which can provide a new vehicle testing and experience method and lay the foundation for the follow-up real vehicle simulation experiment.
Key w ords: AR scene presentation; AR interactive operation; vehicle control; scene rendering
增强现实(A R)技术又被称为扩增现实技术,是一种实时计算摄影机影像的位置及角度并加上相应 图像的技术,已经在游戏、电视媒体、商业推广、导 航、远程协作等方面有了广泛应用[1_4]。基于A R技术 的汽车驾驶仿真实验系统能够让用户在虚拟与现实融 合的A R场景中控制汽车前进、后退、转向等,同时 向用户实时发送汽车行驶参数并进行安全预警。从实
收稿日期:2019-09-12
基金项目:国家自然科学基金项目(61771411);四川省科技厅科 技创新平台建设项目(2017TJPT020
0)
作者简介:方艳红(1978—),女,山西阳髙,博士,副教授.主要研究方向为智能仪器设备、医学图像处理、虚拟现实/
增强现实。
E-mail: ***********************用角度来说,通过修改汽车模型的各项参数,可实现 对真实汽车的模拟仿真,让用户足不出户就能体会到 某车型的行驶状况。
1汽车驾驶仿真实验系统设计
基于A R的汽车驾驶仿真实验系统以Unity3D引擎为开发平台[54],利用移动设备摄像头获取现实环 境,采用V u f o r i a工具[7_8]扫描二维图像,并将虚拟场 景与现实环境叠加融合,实现A R场景呈现和A R交 互操作;运用C#语言编程实现汽车控制、行驶参数反 馈、场景切换、环境隐藏等功能,通过录人真实的汽 车参数,进行汽车驾驶模拟。汽车驾驶仿真实验系统 结构框图如图1所示,包括U I交互模块、A R模块、
148实验技术与管理
汽车控制模块、行驶参数反馈模块。(开始
图1汽车驾驶仿真实验系统结构图
图1所示的系统结构框图中,用户通过U I交互
模块来控制游戏的运行,读取汽车行驶过程中的参数,
进行场景切换和环境隐藏;A R模块包括A R场景呈现
以及特定模式的A R交互操作;汽车控制模块控制汽
车的前进、后退、转向;行驶参数反馈模块读取汽车
的状态,经过计算后得出反馈参数,并由U I交互模 块呈现给用户。
1.1A R模块
A R模块实现包含两个部分:A R场景呈现和A R 交互操作。A R场景呈现利用V u f o r i a工具中的A R
C a m e r a (A R摄像头)取代Unity3D引擎中的M a i n C a m e r a (主摄像头),使用I m a g e T a r g e t作为A R C a m e r a的识别对象,即特定的识别图。虚拟模型、I m a g e T a r g e t与A R C a m e r a的层次关系如图2所不。
▼^A R Cam era
▼Im age Targe t
▼^RaceTrack
►Scene
►■|C a r l
〇 Information
图2虚拟模型、Im ageT arget与AR C a m e r a层次关系
由图2可见,所有虚拟模型R a c e T r a c k、S c e n e、C a r l均为I m a g e T a r g e t的子对象。A R模块调用设备的 摄像头来获取现实环境,令虚拟模型成为A R C a m e r a 的子对象后,虚拟模型就能叠加在摄像头所拍摄的画 面中。当识别图被移动时,系统实时计算识别图的坐 标位置,并更新虚拟模型的坐标,使虚拟模型跟随识 别图移动。
A R交互操作的流程图如图3所示。图3中,系统进人车辆展示模式后,扫描识别图并加载A R场景,循环
判断识别图上的特定区域是否被遮挡,若被遮挡,则认为虚拟按键被按下,显示车辆详细信息,如车型、油耗、尺寸、发动机型号等;若被再次遮挡,则隐藏 车辆详细信息。
1.2汽车控制模块
汽车控制模块主要包括汽车行驶控制和镜头追踪 两个部分,实现流程如图4所示。
图3 A R交互操作流程图
(开始)
是T
(结束)
图4汽车控制流程图
图4中,在移动设备上,用户通过操纵屏幕上的 虚拟摇杆来控制汽车行驶,并根据虚拟汽车模型的位 置和角度信息,实时更新镜头相对于虚拟汽车模型的 位置和角度,实现镜头对汽车模型的追踪。
1.3行驶参数反馈模块
行驶参数反馈模块包括实时速度监测、汽车行驶 时间记录、偏离车道示警、碰撞损坏提示、实时油耗 计算等功能,向用户显示和预警汽车的行驶状态。其 中,汽车实时速度监测主要利用Unity3D中Velocity 函数实时获取汽车刚体的速度,并将该速度乘以比例 系数,即为汽车的实时速度。若实时速度超过最小阈 值,则在U I界面实时显示,否则显示为0,以避免由 于汽车模型轻微抖动引起的速度误差。
汽车行驶时间记录主要通过调用Unity3D中InvokeRepeating 函数完成。InvokeRepeating 函数是一
个延时循环执行函数,每隔指定时间执行一次。本文
方艳红,等:基于增强现实的汽车驾驶仿真实验系统149
中的计时单位是0.01 s 。汽车触碰到起点线的触发器 时I n v o k e R epeating 开始计时,行驶结束时停止计时。
偏离车道示警有3种模式:(1 )当汽车模型触碰 到车道边缘的触发器时,U
I
界面会显示示警文字,提 示用户偏离车道;(2)当汽车模型离开车道边缘的触 发器,但又触碰到车道以外场景的触发器时,示警文 字将持续显示;(3)当汽车模型离开车道边缘的触发 器,且并未触碰到车道以外场景的触发器时,U I 界面 不再显示示警文字。
碰撞损坏提示主要利用Unity 3D 提供的Collider (碰撞器)实时监测汽车与场景物体的碰撞情况,通 过C #脚本对碰撞次数进行统计,若碰撞发生,将碰撞 次数+1;若达到示警阈值,则提示用户汽车即将损坏; 若达到损坏阈值,则提示用户汽车已损坏。
实时油耗计算需要实时获取汽车当前速度,并根 据微积分的思想对油耗进行统计,算法流程如图5所示。
(开始
)
图5
实时油耗计算流程
由图5可见,游戏开始时,实时油耗值置零;系 统每隔0.02 s 采集一次汽车速度,用当前时刻的汽车 速度乘以0.02 s 作为汽车的位移距离;再使用这个位 移距离乘以车辆每m 的油耗,则可近似算出0.02 s 内 汽车的油耗;将每个〇.〇2s 的汽车油耗相加,可得出 汽车的实时油耗。
1.4
U
丨交互模块
U I
交互模块主要有游戏模式切换、环境隐藏、提
示信息显示等功能。进人系统,用户可以通过按键选 择游戏模式,包括A
R
游戏模式、A
R
车辆模型展示模
式、普通游戏模式等。每一个游戏模式都对应一个游 戏场景,另外还有一个A
R
镜头追踪模式场景。场景
切换主要利用Unity 3D 提供的按键响应和场景切换脚 本来实现。加载全景场景主要代码如下:
S c e n e M a n a g e r .L o a d S c e n e (“A R C a r -arfullview ”); 在仿真实验中,虚拟场景有时会在屏幕上遮挡住 摄像头获取的现实环境。为了便于用户通过屏幕观看 真实场景,本设计添加一个通过按键来实现的虚拟环 境隐藏功能,启用该功能后便会隐藏虚拟场景中的环 境,只留下车道和车辆模型。
提示信息使用Unity 3D 提供的T e x t 类和3DText 类进行显示,包括汽车速度、行驶时间、偏离车道示 警、碰撞损坏示警、实时油耗等信息。
2系统测试与分析
在Unity 3D 引擎下开发完成系统各功能模块后,
将其打包发布在A n d r o i d 平台,进行系统测试。2.1
A R
场景呈现测试
本系统中设计了 A R
全景、车辆展示、A
R
镜头追
踪3种实验模式,在实验过程中均需要呈现A R
场景。
图6是3种实验模式下的A R
场景呈现。图6所示的
3种实验场景模式可以相互切换,满足U I 交互功能。
2.2
A R 交互操作测试
A R
交互操作主要添加在车辆展示模式中。图7
所示是手碰触识别图的A R
场景显示。图7 ( a  )为手
碰触识别图后的响应操作,A
R
场景中显示汽车详细
信息;图7 (b )为手再次碰触识别图后的响应操作, 汽车详细信息被隐藏起来。
由图7可以看出,A
R
交互操作功能运行正常,
可以正确识别用户的操作,并在虚拟模型上作出响应。 2.3汽车控制及行驶参数反馈模块测试
汽车控制模块主要实现汽车的移动、转向功能。 图8所示是系统分别在A
R
全景模式、A
R
镜头跟随
模式下通过虚拟摇杆对汽车的行驶控制。可以看出,汽
(a )A R 全景模式 (b )车辆展示模式 (c )A R 镜头追踪模式
图6
不同模式下的AR 场景呈
150实验技术与管理
(b)再次触碰
图7手碰触识别图的A R场景显示
(a>AR全景模式
(b)A R镜头跟随模式
图X汽车控制模块测试2.5 U I交互模块测试
U I交互模块除了上述测试模块中用到的信息提 示功能外,还包括场景切换、环境隐藏功能。图10 所示为以A R全景模式为例的环境隐藏前后对比图。可以看出,在A R全景模式中,点击了 “隐藏环境”按键后,虚拟场景中车道周围的草地、围墙均被隐藏,仅有车道、护栏模型被加载。
(b)隐藏后
图10 A R全景模式下环境隐藏前后对比图
3结论
本文研究的基于A R的汽车驾驶虚拟仿真实验系 统是一个集A R场景呈现与交互操作、汽车控制与行 驶参数反馈等功能于一体的实验系统。该系统能让用 户足不出户就可以近距离观察汽车的外形、内饰,体 验汽车行驶状态,从而大大降低体验成本。
车可以在两种模式下正常运行,并实现移动、转向 功能。
2.4行驶参数反馈模块测试
汽车行驶参数测试包括实时速度监测、计时、实 时油耗计算以及偏离车道示警等。图9所示是在A R 镜头跟随模式下对上述参数的测试分析。可以看出,汽车行驶过程中的速度监测、计时、实时油耗计算以 及偏离车道示警可以实时显示。
太平洋汽车模型论坛图9汽车行驶参数反馈模块测试参考文献(References)
[1]张宝运,恽如伟•增强现实技术及其教学应用探索[J].实验
技术与管理,2010, 27(10): 135-138.
[2] 朱肖龙.基于A R的加工中心虚拟仿真教学系统的开发[DJ.
济南:山东建筑大学,2019.
[3]李云翔,马宝山,万波.A R教学地球仪的开发与应用[J].北
京测绘,2019, 33(6): 683-686.
[4]王源庆,罗素珍•基于A R技术的智慧旅游系统设计与开发
[J].电子商务,2019(8): 10-11, 16.
[5] 鲁文娟,金一强.基于智能手机的VU foria+Unity3D增强现实技
术方案及其教育应用[J].现代教育技术,2017, 27(5): 19-25.
[6]魏三强.A R开发中的Unity 3D与原生代码交互技术[J].重庆
理工大学学报(自然科学),2017,31(11): 166-171.
[7] 郭晓敏,申闫春•基于Unity/Vuforia的AR导览系统研究[J].计
算机仿真,2019, 36(8): 165-169.
[8]宋润坤,吴伯乾,韩金铖,等.基于Vuforia引擎的增强现实
类应用开发[•!].电脑编程技巧与维护,2017(5): 79-
80.