基于虚拟现实试验场景的驾驶模拟系统研发

2021-02-26 04:02杨亚联戴济顺
重庆大学学报 2021年1期
关键词:视景模拟系统试验场

杨亚联,戴济顺,谢 潇

(1.重庆大学a.汽车工程学院;b.机械传动国家重点实验室,重庆400044;2.襄阳达安汽车检测中心,湖北 襄阳441004)

目前中国已成为世界上第一大汽车生产和消费国,且逐年增长的汽车市场带来了行业内的激烈竞争,驾驶员对汽车驾驶性能也有了越来越高的要求。在产品开发前期就引入人机交互的测评手段,采用模拟驾驶系统进行仿真测试,对于确保产品的成功开发和性能需求,奠定了良好的基础。

汽车试验场可重现汽车行驶过程中遇到的各种道路和驾驶场景,是验证测试汽车性能的重要手段。因此,国外已建立了众多的汽车试验场,如美国阿伯丁试验场与Milford试验场、德国ATP试验场、英国MIRA试验场等[1]。中国于1958年始,先后建立了海南试验场、襄阳试验场、定远试验场、中汽盐城试验场、上汽通用泛亚广德试验场、重庆西部试验场等[2-3]。

搭建实际场地进行测试验证耗资巨大,且会受到时间和天气等不可控因素影响。随着计算机仿真技术的发展,使在VR场景下通过驾驶模拟系统进行汽车相关的模拟仿真测试成为了可能。丰田交通研究所的Mimura等[4]在虚拟道路上通过驾驶模拟系统研究高龄人士开车时限速的必要性;美国弗吉尼亚大学Brown等[5]在虚拟环境下,通过模拟驾驶系统测试自动驾驶车辆对于正常人驾驶的影响;美国爱德华大学的Brown等[6]通过NADS在虚拟场景下测试不同的酒精浓度对驾驶的影响。

驾驶模拟系统采用传统的视景显示会造成显示视角固定及画面显示粗糙等问题,因此,提出了一种基于VR试验场景的驾驶模拟系统研发方案。参照垫江某汽车综合试验场等比例建立了3Ds Max模型,并使用HTC Vive和Unity 3D搭建虚拟现实显示系统。采用Labview RT和Carsim构建汽车动力学仿真模型,实现了驾驶模拟在虚拟现实仿真条件下的人机交互。仿真结果表明:所构建的驾驶模拟系统实现了预期的开发功能和需求,场景显示良好,并可给予驾驶员更广、更自由的驾驶视角。

1 汽车综合试验场建模

1.1 高速环道建模

汽车试验场中的高速环道可供试验车进行连续高速行驶。文中高速环道设计形状为长圆形,其三维模型的设计可分为水平面线型和横断面线型,见图1所示。

图1 高速环道三维模型设计Fig.1 3D model design of high speed loop

1)水平面线型设计。水平面线型一般由直线段OM、缓和曲线段MN、圆曲线段NE组成。直线段曲率为0,圆曲线段曲率为1/r,缓和曲线段能使圆曲线和直线之间的曲率平滑过度,是水平面线型设计的重点。

依据布劳斯曲线,缓和曲线段MN上任意点的x,y坐标为:

式中:k为缓和曲线曲率;l为缓和曲线某点处弧长;r为圆曲线段半径;S为缓和曲线段全长;θ为缓和曲线段某点倾斜角;x,y为缓和曲线段某点坐标。

依据式(1),圆曲线半径r为400 m,缓和曲线全长S为400 m,据此计算l值处环道中心线xy的坐标值,从而得到高速环道水平面线型。

2)横断面线型设计。由于高速环道的最高车速较大,需设计横向超高角β(坡度倾角)抵消汽车高速行驶时产生的离心力。即

式中:g为重力加速度;r为弯曲半径;v为汽车速度;β为横向超高角。

圆曲线段NE的横断面线型设计。该试验场设置了4条高速环道,车道至内向外,车速分别为80、120、160、200 km/h。车速不同,则其横向超高角不同,因此选择3次抛物线作为横断面曲线(见图1(b)横断面线型所示),使环道横断面间车速分布得更为连续均匀[8]。以第一车道边界作为圆曲线横断面曲线起点,以曲线在每条车道中心线的一阶导数为该车道横向超高倾角的正弦值,求解该曲线方程。

缓和曲线MN段的横断面型设计。由于缓和曲线各点曲率不同,则其横断面曲线方程不同,为避免曲线方程过多,以造成建模三角面过多,并引起场景渲染卡顿,所以只在缓和曲线段距起点每间隔40 m处计算其横断面线型方程。方程计算方式与圆曲线一致,最终的设计线型见图2所示。

3Ds Max中基于水平面线型及横断面线型设计的汽车试验场高速环道模型见图3所示。

图2 缓和曲线横断面线型Fig.2 Cross section line of transition curve

图3 高速环道三维模型Fig.3 3D model of high speed loop

1.2 标准坡道建模

为了测试车辆的纵坡通过性和车辆动力性,依据国标GB/T 12539—2018[9],设计的标准坡道见图4所示。

该汽车试验场中建设了6条标准坡(参数见表1)。道路设计为5 m单车道,3Ds max中建立的三维模型见图5所示。

图4 标准纵坡示意图Fig.4 The standard longitudinal slope

图5 标准纵坡3D模型Fig.5 3D model of standard longitudinal slope

表1 标准纵坡参数Table 1 Standard longitudinal slope parameters

1.3 其他试验道路建模

该试验场中还有直径300 m的动态试验广场,用于动态转向、最小转弯半径、直角转弯试验;测试路段长400 m,3车道,宽9 m的舒适性道路,用于车内噪声、平顺性测试、异响测试评价;车道总长约4 280 m,2车道,宽8 m的综合评价道路,包含多种不同半径弯道、不同纵向坡度坡道,用于整车性能主观评价、磨合试验等;车道总长约2 000 m,宽15 m的基本性能环道,用于动力性测量、挂档滑行测试、直接加速性能测试等。最终搭建起的完整汽车综合试验场模型见图6所示。

图6 汽车综合试验场道路模型Fig.6 Road model of the VPG

2 基于VR的汽车试验场显示

2.1 基于虚拟现实的视景显示系统

驾驶模拟系统的传统视景显示中存在着显示视角固定或画面较为粗糙等问题。而结合VR技术及物理仿真引擎可搭建出视角自由、画面精细的视景显示系统。

笔者在分析目前基于VR的视景显示方案的基础上[10-12],采用HTC Vive作为虚拟现实开发硬件,通过双目双屏的图像视角差形成立体视感。双屏分辨率为2 160×1 200,像素密度为447 PPI,刷新率为90 Hz,能满足人眼视觉的高清显示[13]。

采用Unity 3D作为虚拟现实开发软件。Unity 3D对Direct X和OpenGL等底层图形API具有高度优化的图形渲染通道[14],并内置有基于开源SDK Open VR构建而成的Steam VR插件,支持VR硬件的接入和信息封装[15],方便了虚拟现实显示系统的研发。

虚拟现实视景显示系统采用HTC Vive作为显示设备,Unity 3D作为图形仿真及渲染引擎。虚拟现实系统显示原理见图7所示,HTC Vive两基站捕捉头显设备运动,将运动信息传递至Unity 3D,其中的Steam VR再根据头部旋转信息切换人眼实时所见画面,并将其转换为左右眼双屏显示,输出至头显设备,实现场景的3D立体显示。

图7 虚拟现实视景显示原理Fig.7 Principles of VR visual display

2.2 基于虚拟现实的汽车试验环境搭建

实现了虚拟视景显示后,还需在Unity 3D中搭建完整的汽车试验场环境,包括自然环境、试验场测试道路、实时天气系统。

1)环境地形。Unity 3D中的Terrain工具可创建地形及设置地面纹理贴图,并根据距离远近切换显示模型精细度,提高渲染速度。

2)试验场道路。通过3D max完成汽车试验场道路建模,考虑到模型的通用性,将其导出为FBX格式,并导入至Unity 3D Asset中作为预制件,便于Unity 3D中的管理与场景搭建。

3)天气系统。天气系统的创建主要运用了天空盒和粒子系统,可模拟出黄昏、夜晚的明暗显示,以及雨天、雪天等不同天气下的变换效果(见图8)。

图8 场景渲染Fig.8 Scene rendering

2.3 基于虚拟现实的驾驶员所见画面显示

搭建了VR视景显示系统及汽车试验场景后,还需模拟出驾驶员的显示视角,从而确定视角显示画面,并将该处画面传输至头显设备,使驾驶员具有三维沉浸感的视觉体验。具体分为以下3个步骤完成。

1)Unity 3D中驾驶员所见画面显示。为获得驾驶员在汽车试验场中的所见画面,需创建Camera仿真模型。汽车试验场环境下的所有物体在虚拟世界中都具有唯一世界坐标,而Camera模型根据世界坐标 摄像机坐标 裁剪坐标 屏幕坐标的坐标变换,计算汽车试验场中的模型在Camera中的显示位置,并将Camera处的所见画面实时显示。在运行过程中将Camera仿真模型放置于驾驶员人眼处,即可模拟出驾驶员的所见画面。

2)HTC Vive中驾驶员所见画面显示。Steam VR的CameraRig已整合Camera仿真模型,在设置了CameraRig的各项属性后,便可实时调取CameraRig处的显示画面(见图9),而后将其转换为左右眼分屏的VR显示,通过HDMI线传输画面至HTC Vive头显屏幕中,实现VR头显处的驾驶员所见画面重现。

3)HTC Vive中驾驶员所见画面切换。随着驾驶员头部的位姿变化,头显设备的坐标信息会通过Steam VR传输至Unity 3D中,并实时更新CameraRig位姿,通过CameraRig在汽车试验场景下的坐标变化来改变头显设备中的显示画面,保证驾驶员的所见画面跟随头部运动而变化。

图9 CameraRig处显示画面Fig.9 Display at CameraRig

3 基于VR的驾驶模拟系统研发

3.1 驾驶模拟系统架构设计

驾驶模拟系统是在人 车 路环境下的闭环仿真系统。但基于VR的汽车试验场景不能直接建立汽车动力学仿真模型,反映出汽车的运动状态,还需结合Carsim及Labview RT搭建汽车动力学联合仿真平台。所构建的驾驶模拟系统见图10所示。

驾驶员根据VR头显设备中的虚拟场景来操纵罗技G27,通过汽车动力学仿真平台采集驾驶员操控设备信号,结合整车动力学模型及虚拟道路,解算出实时的汽车位姿信息,并发送至Unity 3D,以驱动虚拟汽车运动。同时Unity 3D根据头部位姿信息,并通过坐标变换和Steam VR,实现驾驶员在头显设备中的所见场景切换,从而形成闭环仿真。

3.2 驾驶模拟系统中驾驶操控设备

罗技G27作为驾驶员操控设备,通过USB接口及罗技驱动连接至Host PC中。由Host PC的Labview程序采集方向盘及踏板数据,并对采集到的数据进行预处理,使其适应车辆动力学模型输入。

3.3 驾驶模拟系统中汽车动力学仿真平台架构

本驾驶模拟系统采用了基于Labview RT及CarSim的联合仿真架构搭建车辆动力学实时仿真平台。

Labview RT仿真环境由软件Labview和硬件NI PXI 8108两部分构成。Labview是一种使用图形化编程语言的开发环境,NI PXI 8108为NI公司的高性能实时控制器。在Host PC端使用Labview的Real-Time模块开发Labview RT程序,并通过以太网将程序下载至NI PXI 8108,从而建立实时运行环境。

Carsim针对Labview RT开发了3个子VI,分别为仿真初始化(*_Init.vi)、单步迭代(*_Step.vi)、仿真终止(*_Terminate.vi),以便嵌套入Labview RT程序中,并在每一次仿真循环中可重复调用。

图10 驾驶模拟系统架构Fig.10 Driving simulation system architecture

在Host PC中编写好Labview RT程序,程序首先将罗技G27驾驶数据作为动力学输入参数,然后将Carsim子VI嵌套入Labview RT程序中,通过其解算Unity 3D端的汽车位姿信息。最后配置通讯IP地址后,即可通过以太网将实时程序下载至PXI-8108控制器中实时运行,仿真架构见图11所示。

图11 Labview RT与Carsim RT联合仿真构架Fig.11 The co-simulation of Labview RT and Carsim RT

3.4 驾驶模拟系统中虚拟试车场VR显示

通过Unity 3D及HTC Vive构建出基于VR的视景显示系统。Unity 3D通过TCP实现与汽车动力学仿真平台间的通讯,即通过Labview编写程序作为服务器端,发送汽车位姿,Unity 3D使用C#编写程序作为客户端,IP地址为本机连接的“127.0.0.1”。利用C#中Spilt函数处理数据,读取汽车位姿数据,实时计算当前的驾驶员视角下的显示画面,并结合头部位姿将渲染画面输出至HTC Vive头显,实现驾驶画面的3D立体显示。

4 基于VR的驾驶模拟系统仿真

4.1 驾驶模拟系统搭建

笔者基于汽车虚拟试验场及动力学仿真平台搭建的驾驶模拟系统见图12所示。

图12 驾驶模拟系统实景图Fig.12 Actual photos of the driving simulation system

4.2 驾驶模拟系统实时仿真

为验证基于虚拟现实的驾驶模拟系统的可行性,进行了如下实验。

驾驶员头戴VR头显,通过罗技G27设备操控汽车,操控信息经由汽车动力学仿真平台解算后,将汽车位姿信息输出至Unity 3D端,Unity 3D端实时更新头显显示画面。

1)显示效果良好。Unity 3D端可完整的显示出汽车试验场环境,包括道路、树木、天空等重要场景模型(见图13(b)),其相较于Carsim中的模拟场景(见图13(a)),更加符合真实驾驶环境。

图13 Unity3D与Carsim中的汽车试验场显示Fig.13 The display of VPG in Unity3D and Carsim

2)驾驶视场角得到有效提升。正常人的双目立体视场角(FOV,field of view)约为120°,而传统视景显示下的单屏仅能提供60°~90°的FOV,通过在Unity 3D中改变FOV值来模拟不同的FOV下的场景显示,其单屏下的显示效果图14(a)和图14(b)所示。实时仿真中VR头显的FOV则增至110°,转换为屏幕下的显示效果见图14(c)所示,其FOV相较于非VR的单屏增加了约22%~83%,逼近真实的人眼立体FOV。且通过图14的综合对比分析,VR模式可有效扩展驾驶员双眼的可观察画面。

图14 不同FOV下的显示画面Fig.14 The display under different FOV

3)驾驶员前方可观察视角得到提升。VR头显中显示画面随着头部运动而变化,见图15(a)即反映出驾驶员头部左偏下的朝向及此时的所见画面。通过对比分析,VR显示下的观察视角相较于传统单屏下的固定视角(见图15(b)),可使驾驶员前方的自由观察视角增加至180°(见图15),与真实驾驶时的观察视角一致,有效增强驾驶沉浸感。

图15 Unity 3D中的VR视角Fig.15 VR perspective in Unity 3D

5 结 论

根据汽车综合试验场标准参数,在3Ds Max中等比例建立了垫江某试验场模型,并结合Unity 3D及HTC Vive完成了VR视景显示系统开发,通过Labview RT及Carsim完成了汽车动力学实时仿真,最终完成了基于VR试验场景的完整驾驶模拟系统研发。

基于虚拟现实试验场景的驾驶模拟系统中的场景较Carsim更为丰富,且与驾驶模拟系统的传统单屏显示相比,其FOV增加了22%~83%,其驾驶员前方的视角范围从单屏的固定视角增加至自由的180°,驾驶显示视角更广、更灵活,符合实际驾驶状态。

猜你喜欢
视景模拟系统试验场
汽车试验场噪音试验路吸声系数研究
虚拟现实技术在游戏设计中的应用及研究
近海海洋仪器试验场微波通信系统构建与测试
世界上最大的海上无人系统试验场开放
基于STM32单片机的微电网模拟系统设计
基于ARM和Zigbee 的变压器试验培训模拟系统
孝感汽车试验场获交通部认可汉阳所业务不断延伸
虚拟现实焊接培训模拟系统在焊工培训中的应用
全回转拖轮运动建模与视景仿真
基于Vortex与Vega Prime的车辆模拟器动力学与视景仿真