基于真实场景建模的虚拟驾驶系统转让专利

申请号 : CN201910434811.5

文献号 : CN110097799B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈志熙宋永端李聃曾海林

申请人 : 重庆大学

摘要 :

本发明公开了一种基于真实场景建模的虚拟驾驶系统,包括计算机、驾驶操作输入模块、虚拟场景系统和虚拟现实硬件,所述虚拟场景系统装载在计算机中,所述虚拟场景系统包括球体场景模块和驾驶操控模块。驾驶操作输入模块包括方向盘和脚踏板,所述方向盘和脚踏板分别通过数据接口与计算机连接;虚拟现实硬件包括VR头盔和三维空间跟踪定位器;球体场景模块包括球体模型和贴在球体模型内表面上的真实场景视频帧图片;驾驶操控模块包括变速控制模块和变向控制模块。本发明采用拍摄的真实场景视频搭建虚拟驾驶场景,场景的真实度高;同时配合虚拟现实硬件,使用者能体验到身临其境的驾驶感觉,进而能提高训练效率及效果。

权利要求 :

1.基于真实场景建模的虚拟驾驶系统,包括计算机,其特征在于:还包括驾驶操作输入模块、虚拟场景系统和虚拟现实硬件,所述虚拟场景系统装载在计算机中,所述虚拟场景系统包括球体场景模块和驾驶操控模块;

所述的驾驶操作输入模块包括方向盘和脚踏板,所述方向盘和脚踏板分别通过数据接口与计算机连接;

所述球体场景模块包括采用Unity3D在虚拟空间中搭建的球体模型、贴在球体模型内表面上的真实场景视频帧图片、置于球体模型中心的虚拟驾驶车辆、以及置于虚拟驾驶车辆驾驶位的虚拟相机;

所述驾驶操控模块包括变速控制模块和变向控制模块,变向控制模块用于根据方向盘的输入控制球体场景模块中的虚拟驾驶车辆变向,变速控制模块用于根据脚踏板的输入控制真实场景视频的播放速度所述的虚拟现实硬件包括VR头盔和三维空间跟踪定位器,所述VR头盔和三维空间跟踪定位器分别通过数据接口和计算机连接;所述三维空间 跟踪定位器用于采集VR头盔在三维空间中的坐标位置和旋转角度,并将采集到的坐标和转角信息输入虚拟场景系统作为虚拟相机的参考输入,来控制虚拟相机的角度和位置,从而使虚拟相机跟随VR头盔同步转动;

所述虚拟相机将拍摄的当前转角方向上的场景图像,作为虚拟场景系统输出的画面输入VR头盔;所述VR头盔用于将虚拟场景系统输出的画面显示给驾驶员;

所述变速控制模块在运行时实现以下步骤:

1)采集脚踏板的输入信号,包括油门输入信号值δ1和刹车输入信号值δ2,输入信号的取值范围都为[-32767,32767];

2)根据某种实际车辆的动力学参数,计算该车的平均加速度值,包括油门平均加速度ac1和刹车平均加速度ac2:上式中v10和v11分别表示油门加速过程的初始速度和终了速度,单位km/h,油门加速时间为Δt1秒;v20和v21分别表示刹车减速过程的初始速度和终了速度,单位km/h,刹车减速时间为Δt2秒;

3)根据脚踏板的输入信号和某种实际车辆的平均加速度值,计算该型号虚拟驾驶车辆的油门加速度a1、刹车加速度a2和当前加速度a:

4)根据当前加速度a,计算虚拟驾驶车辆的当前速度vD:

vD=vD0+(a·Δt)×3.6       (6)

上式中vD和vD0分别表示当前时刻和上一时刻的车辆速度,单位km/h,前后两次计算的间隔时间为Δt秒;

5)根据虚拟驾驶车辆的当前速度和姿态偏转角,动态改变场景视频播放速率系数k,所述场景视频播放速率系数k的表达式如下:上式中kmax为最大播放速率系数,其值取决于计算机硬件配置高低;v0为拍摄真实驾驶场景全景视频时相机的移动速度,vD为虚拟驾驶车辆的当前行驶速度,v0kmax为虚拟驾驶车辆允许的最大行驶速度;θ为虚拟驾驶车辆的姿态偏转角,其值由下式(8)计算.所述变向控制模块在运行时实现以下步骤:

1)采集方向盘的输入角度信号ω;

2)根据方向盘的输入角度信号动态改变虚拟驾驶车辆在球体场景中的姿态和横向位置:a)设定转向系数q=ωs/θs,其中ωs为方向盘的单边最大旋转角度,θs为虚拟驾驶车辆转向轮的最大转向角度;

b)设定球体场景中虚拟驾驶车辆的姿态偏转角θ为:

上式中ω为方向盘的输入角度信号;

c)根据虚拟驾驶车辆的当前速度和姿态偏转角,得到汽车侧向平移速度vx:vx=vD·sinθ         (9)

d)设定球体场景中虚拟驾驶车辆的左右平移范围为Rc,当虚拟驾驶车辆平移范围在Rc之内时,即x∈[-Rc,Rc],虚拟驾驶车辆在当前车道的场景视频中左右移动;当平移的范围超出Rc时,即x<-Rc或x>Rc,将虚拟驾驶车辆在移动过程中切换到相邻车道的场景视频。

说明书 :

基于真实场景建模的虚拟驾驶系统

技术领域

[0001] 本发明涉及汽车虚拟驾驶技术领域,特别涉及一种基于真实场景建模的虚拟驾驶系统。

背景技术

[0002] 模拟驾驶系统是一种先进的驾驶培训工具,该系统中包含了多种道路状况和天气来模仿现实环境,同时搭配真实尺寸方向盘、脚踏板和换挡器等模拟驾驶设备,对模拟驾驶场景中的虚拟汽车进行实时控制,并通过显示屏播放画面和音响声音,以此达到逼近实际驾驶的效果。
[0003] 但是现有的模拟驾驶仍然存在使用体验与真实驾车的感觉相去甚远的问题,造成这种问题主要原因在于:1、虚拟驾驶的场景不真实,2、操作不直观。当下的模拟驾驶产品,均是通过3D建模的方式来搭建场景,并不是通过现实素材,因此,使用者在使用过程中的感受与现实场景有较大差别。同时,现在的大多数模拟驾驶产品,显示设备都是平面的显示器,没有身临其境的感受,这也会造成与实际驾车体验的巨大落差,影响训练质量。

发明内容

[0004] 有鉴于此,本发明的目的是提供一种基于真实场景建模的虚拟驾驶系统,以解决现有汽车模拟驾驶产品采用3D建模搭建场景耗时长,搭建的场景与真实场景差距大,操作者不能体验到身临其境的驾驶感觉等技术问题。
[0005] 本发明基于真实场景建模的虚拟驾驶系统,包括计算机,还包括驾驶操作输入模块、虚拟场景系统和虚拟现实硬件,所述虚拟场景系统装载在计算机中,所述虚拟场景系统包括球体场景模块和驾驶操控模块;
[0006] 所述的驾驶操作输入模块包括方向盘和脚踏板,所述方向盘和脚踏板分别通过数据接口与计算机连接;
[0007] 所述球体场景模块包括采用Unity3D在虚拟空间中搭建的球体模型、贴在球体模型内表面上的真实场景视频帧图片、置于球体模型中心的虚拟驾驶车辆、以及置于虚拟驾驶车辆驾驶位的虚拟相机;
[0008] 所述驾驶操控模块包括变速控制模块和变向控制模块,变向控制模块用于根据方向盘的输入控制球体场景模块中的虚拟驾驶车辆变向,变速控制模块用于根据脚踏板的输入控制真实场景视频的播放速度
[0009] 所述的虚拟现实硬件包括VR头盔和三维空间跟踪定位器,所述VR头盔和三维空间跟踪定位器分别通过数据接口和计算机连接;所述三维空间跟踪定位器用于采集VR头盔在三维空间中的坐标位置和旋转角度,并将采集到的坐标和转角信息输入虚拟场景系统作为虚拟相机的参考输入,来控制虚拟相机的角度和位置,从而使虚拟相机跟随VR头盔同步转动;所述虚拟相机将拍摄的当前转角方向上的场景图像,作为虚拟场景系统输出的画面输入VR头盔;所述VR头盔用于将虚拟场景系统输出的画面显示给驾驶员。
[0010] 进一步,所述变速控制模块在运行时实现以下步骤:
[0011] 1)采集脚踏板的输入信号,包括油门输入信号值δ1和刹车输入信号值δ2,输入信号的取值范围都为[-32767,32767];
[0012] 2)根据某种实际车辆的动力学参数,计算该车的平均加速度值,包括油门平均加速度ac1和刹车平均加速度ac2:
[0013]
[0014]
[0015] 上式中v10和v11分别表示油门加速过程的初始速度和终了速度,单位km/h,油门加速时间为Δt1秒;v20和v21分别表示刹车减速过程的初始速度和终了速度,单位km/h,刹车减速时间为Δt2秒;
[0016] 3)根据脚踏板的输入信号和某种实际车辆的平均加速度值,计算该型号虚拟驾驶车辆的油门加速度a1、刹车加速度a2和当前加速度a:
[0017]
[0018]
[0019]
[0020] 4)根据当前加速度a,计算虚拟驾驶车辆的当前速度vD:
[0021] vD=vD0+(a·Δt)×3.6   (6)
[0022] 上式中vD和vD0分别表示当前时刻和上一时刻的车辆速度,单位km/h,前后两次计算的间隔时间为Δt秒;
[0023] 5)根据虚拟驾驶车辆的当前速度和姿态偏转角,动态改变场景视频播放速率系数k,所述场景视频播放速率系数k的表达式如下:
[0024]
[0025] 上式中kmax为最大播放速率系数,其值取决于计算机硬件配置高低;v0为拍摄真实驾驶场景全景视频时相机的移动速度,vD为虚拟驾驶车辆的当前行驶速度,v0kmax为虚拟驾驶车辆允许的最大行驶速度;θ为虚拟驾驶车辆的姿态偏转角,其值由下式(8)计算;
[0026] 所述变向控制模块在运行时实现以下步骤:
[0027] 1)采集方向盘的输入角度信号ω;
[0028] 2)根据方向盘的输入角度信号动态改变虚拟驾驶车辆在球体场景中的姿态和横向位置:
[0029] a)设定转向系数q=ωs/θs,其中ωs为方向盘的单边最大旋转角度,θs为虚拟驾驶车辆转向轮的最大转向角度;
[0030] b)设定球体场景中虚拟驾驶车辆的姿态偏转角θ为:
[0031]
[0032] 上式中ω为方向盘的输入角度信号;
[0033] c)根据虚拟驾驶车辆的当前速度和姿态偏转角,得到汽车侧向平移速度vx:
[0034] vx=vD·sinθ   (9)
[0035] d)设定球体场景中虚拟驾驶车辆的左右平移范围为Rc,当虚拟驾驶车辆平移范围在Rc之内时,即x∈[-Rc,Rc],虚拟驾驶车辆在当前车道的场景视频中左右移动;当平移的范围超出Rc时,即x<-Rc或x>Rc,将虚拟驾驶车辆在移动过程中切换到相邻车道的场景视频。
[0036] 本发明的有益效果:
[0037] 1、本发明基于真实场景建模的虚拟驾驶系统,其采用拍摄的真实场景视频搭建虚拟驾驶场景,所搭建场景的真实度相对于现有采用3D建模软件搭建的场景,其真实度大大提高;本虚拟驾驶系统能模拟汽车加减速及变向等基本功能,同时配合虚拟现实硬件,使用者能体验到身临其境的驾驶感觉,能提高训练效率及效果。
[0038] 2、本发明基于真实场景建模的虚拟驾驶系统,操作者不仅能进行观察车辆前方的场景,而且在VR头盔的帮助下,操作者能转动头部还能观察球体场景内四周的景象,进一步提升了驾驶身临其境的真实感。

附图说明

[0039] 图1为基于真实场景建模的虚拟驾驶系统结构框图;
[0040] 图2为基于真实场景建模的虚拟驾驶系统的工作流程图;
[0041] 图3为球体场景示意图;
[0042] 图4为虚拟驾驶偏转动作示意图。

具体实施方式

[0043] 下面结合附图和实施例对本发明作进一步描述。
[0044] 本实施例基于真实场景建模的虚拟驾驶系统,包括计算机,还包括驾驶操作输入模块、虚拟场景系统和虚拟现实硬件,所述虚拟场景系统装载在计算机中,所述虚拟场景系统包括球体场景模块和驾驶操控模块。
[0045] 所述的驾驶操作输入模块包括方向盘和脚踏板,所述方向盘和脚踏板分别通过数据接口与计算机连接;所述的脚踏板包括油门踏板和刹车踏板。本实施例中,方向盘和脚踏板采用罗技公司生产的罗技G29方向盘和脚踏板,该款产品采用USB接口与电脑连接;其方向盘采用了双马达力反馈技术,可以逼真地模拟力反馈效果;方向盘从左到右能够转动900°,即两圈半,与汽车方向盘转动的度数相同;同时内置的霍尔式转向传感器能够提供精确的方向盘转角数字信号。其踏板装置保持更贴近现实的驾驶姿势,采用了非线性刹车踏板,仿效压敏制动系统,有灵敏、精准的刹车体验。当然在不同实施例中,也可采用其它型号的模拟驾驶方向盘和脚踏板。
[0046] 所述的虚拟现实硬件包括VR头盔和三维空间跟踪定位器,所述VR头盔和三维空间跟踪定位器分别通过数据接口和计算机连接。所述三维空间跟踪定位器用于采集VR头盔在三维空间中的坐标位置和旋转角度,所述三维空间跟踪定位器用于采集VR头盔在三维空间中的坐标位置和旋转角度,并将采集到的坐标和转角信息输入虚拟场景系统作为虚拟相机的参考输入,来控制虚拟相机的角度和位置,从而使虚拟相机跟随VR头盔同步转动;在具体实施中,将VR开发包中的实现同步脚本添加到虚拟相机上,这样在程序运行时,定位器将采集到的坐标和转角信息便作为同步脚本参考输入,来控制虚拟相机的角度和位置,实现使虚拟相机跟随VR头盔同步转动。所述虚拟相机将拍摄的当前转角方向上的场景图像,作为虚拟场景系统输出的画面输入VR头盔,所述VR头盔用于将虚拟场景系统输出的画面显示给驾驶员。
[0047] 本实施例中,所述的虚拟现实硬件具体采用HTC VIVE,HTC VIVE是由HTC与Value联合开发的一款VR头戴式产品。当然在不同实施例中,也可采用其它的虚拟现实硬件。
[0048] 所述球体场景模块包括采用Unity3D在虚拟空间中搭建的球体模型、贴在球体模型内表面上的真实场景视频帧图片、置于球体模型中心的虚拟驾驶车辆、以及置于虚拟驾驶车辆驾驶位的虚拟相机。所述的球体场景模块的具体建模方法为:先采用全景相机录制真实驾驶场景视频,在完成了全景视频拍摄后,将其导入到Unity3D引擎的工程中去,随后开始建立球体场景。在Unity3D的虚拟空间中建立一个球体模型对象,对该对象添加VideoPlayer组件。VideoPlayer是Unity3D内置的组件,使用该组件并配合相应的API,可以实现在Unity3d中播放视频并进行切换、暂停、调整播放速率等功能。添加组件后进行设置,渲染模式Render Mode表示图像显示的方式,包括Camera Far Plane,Camera Near Plane,Render texture和Material Override四种方式。结合需要将画面显示到球体模型上的实际情况,本实施例适用Material Override模式,同理,在Renderer项选择球体Sphere。组建中,Source表示视频源,可以通过直接选用工程中视频文件和通过URL选择视频存储在计算机中存储位置两种方式来选择视频源。
[0049] VideoPlayer组件设置完成后,视频会在球体模型对象的表面进行显示。本实施例将主观视角放置于球心,这样便能观看四周的景象,因此需要将视频的渲染位置改为球体的内表面,通过修改Shader文件来达到这个目的。Shader是计算机图形渲染管线的一部分,它通过一段代码程序表明场景中物体的渲染方式。这个过程包括计算颜色和着色区域等,然后将其给予对象,让对象进行显示。通过修改Shader文件,将球体模型的渲染位置改为球体内侧,同时将渲染亮度改成常亮(即取消Unity3d中的光照系统影响)。
[0050] 在视频组件和Shader文件处理完成后,将一个虚拟相机Camera对象放入车体模型的驾驶员位置,作为驾驶员主观视角;并将VR开发包中的实现同步脚本添加到虚拟相机Camera对象上,这样在程序运行时,定位器将检测VR头盔在现实环境中的角度和位置,然后将检测到的角度和位置作为同步脚本参考输入,来控制虚拟相机的角度和位置,从而使虚拟相机跟随VR头盔同步转动,并将虚拟相机捕获的当前转角方向上的场景图像输入VR头盔。当系统运行时,驾驶员戴上VR头盔就能观看到球体场景内四周的真实环境,非常贴近现实。
[0051] 所述驾驶操控模块包括变速控制模块和变向控制模块,变向控制模块用于根据方向盘的输入控制球体场景模块中的虚拟驾驶车辆变向,变速控制模块用于根据脚踏板的输入控制真实场景视频的播放速度。
[0052] 本实施例中,所述的变速控制模块在运行时实现以下步骤:
[0053] 1)采集脚踏板的输入信号,包括油门输入信号值δ1和刹车输入信号值δ2,输入信号的取值范围都为[-32767,32767];
[0054] 2)根据某种实际车辆的动力学参数,计算该车的平均加速度值,包括油门平均加速度ac1和刹车平均加速度ac2:
[0055]
[0056]
[0057] 上式中v10和v11分别表示油门加速过程的初始速度和终了速度,单位km/h,油门加速时间为Δt1秒;v20和v21分别表示刹车减速过程的初始速度和终了速度,单位km/h,刹车减速时间为Δt2秒;
[0058] 3)根据脚踏板的输入信号和某种实际车辆的平均加速度值,计算该型号虚拟驾驶车辆的油门加速度a1、刹车加速度a2和当前加速度a:
[0059]
[0060]
[0061]
[0062] 4)根据当前加速度a,计算虚拟驾驶车辆的当前速度vD:
[0063] vD=vD0+(a·Δt)×3.6   (6)
[0064] 上式中vD和vD0分别表示当前时刻和上一时刻的车辆速度,单位km/h,前后两次计算的间隔时间为Δt秒;
[0065] 5)根据虚拟驾驶车辆的当前速度和姿态偏转角,动态改变场景视频播放速率系数k,所述场景视频播放速率系数k的表达式如下:
[0066]
[0067] 上式中kmax为最大播放速率系数,其值取决于计算机硬件配置高低,一般设定为2-3之间;v0为拍摄真实驾驶场景全景视频时相机的移动速度,vD为虚拟驾驶车辆的当前行驶速度,v0kmax为虚拟驾驶车辆允许的最大行驶速度;θ为虚拟驾驶车辆的姿态偏转角,其值由下式(8)计算。
[0068] 所述变向控制模块在运行时实现以下步骤:
[0069] 1)采集方向盘的输入角度信号ω;
[0070] 2)根据方向盘的输入角度信号动态改变虚拟驾驶车辆在球体场景中的姿态和横向位置:
[0071] a)设定转向系数q=ωs/θs,其中ωs为方向盘的单边最大旋转角度,θs为虚拟驾驶车辆转向轮的最大转向角度;
[0072] b)设定球体场景中虚拟驾驶车辆的姿态偏转角θ为:
[0073]
[0074] 上式中ω为方向盘的输入角度信号;
[0075] c)根据虚拟驾驶车辆的当前速度和姿态偏转角,得到汽车侧向平移速度vx:
[0076] vx=vD·sinθ   (9)
[0077] d)设定球体场景中虚拟驾驶车辆的左右平移范围为Rc,当虚拟驾驶车辆平移范围在Rc之内时,即x∈[-Rc,Rc],虚拟驾驶车辆在当前车道的场景视频中左右移动;当平移的范围超出Rc时,即x<-Rc或x>Rc,将虚拟驾驶车辆在移动过程中切换到相邻车道的场景视频。
[0078] 本实施例中,在采用Unity3d搭建的球体场景中使用G29有两种方案,一种是安装G29的驱动后在Unity3d中直接使用API,一种是将G29作为一个普通外设直接读取设备的输入。本实施例选用第二种方式,当G29通过USB接口与Unity3d连接时,Unity3d可以识别G29的主要键位。Unity3d的输入管理器(Input Manager)进行G29设备的各个输入设置,然后通过Unity3d的Input类函数来分别读取各个输入。
[0079] 以G29的刹车踏板输入读取为例:
[0080] ①在输入管理器中新建一个输入,命名为Brake,设置输入灵敏度Sensitivity为0.5(可根据实际情况调整),输入类型Type为Joystick Axis(表示外接设备的轴式输入),轴Axis为4rd axis(表示设备上第四个轴式输入)。
[0081] ②在控制脚本程序中,使用Input类函数:Input.GetAxisRaw(“Brake”)来获取使用者踩踏刹车的踩踏度。这样,当使用者在对G29设备进行各种驾驶操作时,系统就能够通过读取G29的各种输入获悉使用者的动作,从而进行调整。
[0082] 随后,将一个虚拟驾驶车辆放入球体模型的球心位置附近,然后通过调整虚拟驾驶车辆的位置,使虚拟相机实现刚好处于汽车驾驶席的位置。
[0083] 在驾驶控制模块的脚本中设置:
[0084] 1)若检测到方向盘输入,则根据方向盘的偏转方向和偏转角度,车模姿态发生对应的左右旋转,车模位置产生对应的横向移动。
[0085] 2)若检测到油门踏板输入,球体模型根据油门踩踏幅度加快全景视频的播放速率;反之,若检测到刹车踏板的输入,球体模型根据幅度减慢全景视频的播放速率,直至为0。
[0086] 通过上述设置即可实现通过方向盘和脚踏板控制球体场景中车辆的变向、加减速及刹车。
[0087] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。