基于真实环境的虚拟驾驶场景建模方法转让专利

申请号 : CN201910434833.1

文献号 : CN110109552B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

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

申请人 : 重庆大学

摘要 :

本发明公开了一种基于真实环境的虚拟驾驶场景建模方法,包括步骤:1)使用全景相机在固定移动速度下拍摄真实驾驶场景的全景视频;2)在Unity3D的虚拟空间中建立一个球体模型,将拍摄的全景视频贴到球体内侧;3)将一个车体模型放入球体场景的球心位置,作为虚拟驾驶的操作车辆;4)动态球体场景建模,包括球体场景变速调整和场景左右偏移调整。本发明通过真实全景视频来搭建虚拟驾驶场景,解决现有汽车模拟驾驶产品采用3D建模搭建场景耗时长,搭建的场景与真实场景差距大的技术问题。

权利要求 :

1.基于真实环境的虚拟驾驶场景建模方法,其特征在于,包括以下步骤:

1)使用全景相机在固定移动速度下拍摄真实驾驶场景的全景视频,所述全景相机在拍摄过程中的设置高度与驾驶员在车辆上的眼睛高度一致;

2)在Unity3D的虚拟空间中建立一个球体模型,通过编辑球体模型着色器,将拍摄的全景视频贴到球体内侧;

3)将一个车体模型放入球体场景的球心位置,作为虚拟驾驶车辆;

4)将一个虚拟相机放入车体模型的驾驶员位置,且虚拟相机的设置高度与驾驶员在车体模型上的眼睛高度一致,并将驾驶员佩戴的VR头盔的开发包中实现同步的脚本添加到虚拟相机上,以使检测VR头盔在三维空间中坐标位置和旋转角度的三维空间跟踪定位器所采集到的坐标和角度信息,作为虚拟相机的同步脚本参考输入,从而使虚拟相机跟随VR头盔同步转动;并将虚拟相机捕获的当前转角方向上的场景图像输入VR头盔;

所述的基于真实环境的虚拟驾驶场景建模方法还包括以下步骤:

5)建立场景变化速度与模拟驾驶脚踏板输入信号的关系,具体步骤如下:a)根据某种实际车辆的动力学参数,计算该车的平均加速度值,包括油门平均加速度ac1和刹车平均加速度ac2:上式中v10和v11分别表示油门加速过程的初始速度和终了速度,单位km/h,油门加速时间为Δt1秒;v20和v21分别表示刹车减速过程的初始速度和终了速度,单位km/h,刹车减速时间为Δt2秒;

b)根据模拟驾驶脚踏板的输入信号和某种实际车辆的平均加速度值,计算虚拟驾驶车辆的油门加速度a1、刹车加速度a2和当前加速度a:上式中:δ1模拟驾驶油门踏板的输入信号值,δ2模拟驾驶制动踏板刹车的输入信号值,δ1和δ2输入信号的取值范围都为[-32767,32767];

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

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

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

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

所述的基于真实环境的虚拟驾驶场景建模方法还包括以下步骤:

6)建立模拟驾驶方向盘输入信号与虚拟驾驶车辆在球体场景中位姿及横向位置的关系,具体步骤如下: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] 传统的模拟驾驶产品,在搭建场景时通常使用的方法是:1)通过使用3dsMax等三维模型制作软件制作出目标模型的几何形状,并结合Photoshop等图像处理软件进行贴图;2)使用Unity3d等游戏引擎开发工具构建一个虚拟空间,将上一步制作的各个模型导入到该虚拟空间中进行放置,然后设置各个模型对应的物理属性。采用这种方法搭建场景有一个最大的优点,就是可以根据所使用的开发引擎内自身包含的功能,实现让场景中所有物体带有物理逻辑和自然特性(例如物理碰撞、自然落体、受力加速等),开发者无需对此耗费精力。
[0003] 但是这种场景模型也有其固有缺点——不真实。运用3D Max和Photoshop等软件制作模型,如果要求好的视觉效果,就需要有丰富经验的专业人员投入大量的时间才能达到,并且这种好的视觉效果仅仅是模型精美,与真实物体相比差别很大。对于模拟驾驶设备而言,如果使用者感受与实际驾车体验差距过大,则训练效果就会大打折扣。

发明内容

[0004] 有鉴于此,本发明的目的是提供一种基于真实环境的虚拟驾驶场景建模方法,以解决现有汽车模拟驾驶产品采用3D建模搭建场景耗时长,搭建的场景与真实场景差距大的技术问题。
[0005] 本发明基于真实环境的虚拟驾驶场景建模方法,包括以下步骤:
[0006] 1)使用全景相机在固定移动速度下拍摄真实驾驶场景的全景视频,所述全景相机在拍摄过程中的设置高度与驾驶员在车辆上的眼睛高度一致;
[0007] 2)在Unity3D的虚拟空间中建立一个球体模型,通过编辑球体模型着色器,将拍摄的全景视频贴到球体内侧;
[0008] 3)将一个车体模型放入球体场景的球心位置,作为虚拟驾驶车辆;
[0009] 4)将一个虚拟相机放入车体模型的驾驶员位置,且虚拟相机的设置高度与驾驶员在车体模型上的眼睛高度一致;并将驾驶员佩戴的VR头盔的开发包中实现同步的脚本添加到虚拟相机上,以使检测VR头盔在三维空间中坐标位置和旋转角度的三维空间跟踪定位器所采集到的坐标和角度信息,作为虚拟相机的同步脚本参考输入,从而使虚拟相机跟随VR头盔同步转动;并将虚拟相机捕获的当前转角方向上的场景图像输入VR头盔。
[0010] 进一步,所述的基于真实环境的虚拟驾驶场景建模方法还包括以下步骤:
[0011] 5)建立场景变化速度与模拟驾驶脚踏板输入信号的关系,具体步骤如下:
[0012] a)根据某种实际车辆的动力学参数,计算该车的平均加速度值,包括油门平均加速度ac1和刹车平均加速度ac2:
[0013]
[0014]
[0015] 上式中v10和v11分别表示油门加速过程的初始速度和终了速度,单位km/h,油门加速时间为Δt1秒;v20和v21分别表示刹车减速过程的初始速度和终了速度,单位km/h,刹车减速时间为Δt2秒;
[0016] b)根据模拟驾驶脚踏板的输入信号和某种实际车辆的平均加速度值,计算该型号虚拟驾驶车辆的油门加速度a1、刹车加速度a2和当前加速度a:
[0017]
[0018]
[0019]
[0020] 上式中:δ1模拟驾驶油门踏板的输入信号值,δ2模拟驾驶制动踏板刹车的输入信号值,δ1和δ2输入信号的取值范围都为[-32767,32767];
[0021] c)根据当前加速度a,计算虚拟驾驶车辆的当前速度vD:
[0022] vD=vD0+(a·Δt)×3.6   (6)
[0023] 上式中vD和vD0分别表示当前时刻和上一时刻的车辆速度,单位km/h,前后两次计算的间隔时间为Δt秒;
[0024] d)根据虚拟驾驶车辆的当前速度和姿态偏转角,动态改变场景视频播放速率系数k,所述场景视频播放速率系数k的表达式如下:
[0025]
[0026] 上式中kmax为最大播放速率系数,其值取决于计算机硬件配置高低,一般设定为2-3之间;v0为拍摄真实驾驶场景全景视频时相机的移动速度,vD为虚拟驾驶车辆的当前行驶速度,v0kmax为虚拟驾驶车辆允许的最大行驶速度;θ为虚拟驾驶车辆的姿态偏转角,其值由下式(8)计算。
[0027] 进一步,所述的基于真实环境的虚拟驾驶场景建模方法还包括以下步骤:
[0028] 6)建立模拟驾驶方向盘输入信号与虚拟驾驶车辆在球体场景中位姿及横向位置的关系,具体步骤如下:
[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建模搭建场景耗时长,搭建的场景与真实场景差距大的技术问题;通过将虚拟相机与VR头盔关联,驾驶员可以身临其境的观察球体模型中的驾驶场景,驾驶真实感强。
[0038] 2、本发明基于真实环境的虚拟驾驶场景建模方法,其通过将虚拟驾驶车辆的加减速和场景视频的播放速率相结合,将虚拟驾驶车辆姿态和横向位置变化与方向盘输入关联,能实现在所建驾驶场景中使虚拟驾驶车辆与人互动,驾驶真实感强。

附图说明

[0039] 图1为球体场景模型。
[0040] 图2为球体场景模型效果图。
[0041] 图3为虚拟驾驶车辆偏转动作示意图。

具体实施方式

[0042] 下面结合附图和实施例对本发明作进一步描述。
[0043] 本实施例基于真实环境的虚拟驾驶场景建模方法,包括以下步骤:
[0044] 1)使用全景相机在固定移动速度下拍摄真实驾驶场景的全景视频,视频即若干连续图片;所述全景相机在拍摄过程中的设置高度与驾驶员在车辆上的眼睛高度一致。本实施例中,全景相机是Insta360公司出品的Insta360ONE,该相机拥有防抖功能,能够在很大程度上消除在拍摄过程中相机移动时带有的震动和摇晃。当然在不同实施例中还可采用其它型号的全景相机。
[0045] 2)在Unity3D的虚拟空间中建立一个球体模型,通过编辑球体模型着色器,将拍摄的全景视频贴到球体内侧。
[0046] 3)将一个车体模型放入球体场景的球心位置,作为虚拟驾驶车辆。
[0047] 4)将一个虚拟相机放入车体模型的驾驶员位置,且虚拟相机的设置高度与驾驶员在车体模型上的眼睛高度一致;并将驾驶员佩戴的VR头盔的开发包中实现同步的脚本添加到虚拟相机上,以使检测VR头盔在三维空间中坐标位置和旋转角度的三维空间跟踪定位器所采集到的坐标和角度信息,作为虚拟相机的同步脚本参考输入,从而使虚拟相机跟随VR头盔同步转动;并将虚拟相机捕获的当前转角方向上的场景图像输入VR头盔。
[0048] 本实施例中,在虚拟空间中建立一个球体模型,将拍摄的全景视频贴到球体内侧采用Unity3D游戏引擎完成。本实施例选用由Install360ONE全景相机拍摄的3840*1920@30fps格式的视频素材,将视频素材导入到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] 5)建立场景变化速度与模拟驾驶脚踏板输入信号的关系,具体步骤如下:
[0053] a)根据某种实际车辆的动力学参数,计算该车的平均加速度值,包括油门平均加速度ac1和刹车平均加速度ac2:
[0054]
[0055]
[0056] 上式中v10和v11分别表示油门加速过程的初始速度和终了速度,单位km/h,油门加速时间为Δt1秒;v20和v21分别表示刹车减速过程的初始速度和终了速度,单位km/h,刹车减速时间为Δt2秒;
[0057] b)根据模拟驾驶脚踏板的输入信号和某种实际车辆的平均加速度值,计算该型号虚拟驾驶车辆的油门加速度a1、刹车加速度a2和当前加速度a:
[0058]
[0059]
[0060]
[0061] 上式中:δ1模拟驾驶油门踏板的输入信号值,δ2模拟驾驶制动踏板刹车的输入信号值,δ1和δ2输入信号的取值范围都为[-32767,32767];
[0062] c)根据当前加速度a,计算虚拟驾驶车辆的当前速度vD:
[0063] vD=vD0+(a·Δt)×3.6   (6)
[0064] 上式中vD和vD0分别表示当前时刻和上一时刻的车辆速度,单位km/h,前后两次计算的间隔时间为Δt秒;
[0065] d)根据虚拟驾驶车辆的当前速度和姿态偏转角,动态改变场景视频播放速率系数k,所述场景视频播放速率系数k的表达式如下:
[0066]
[0067] 上式中kmax为最大播放速率系数,其值取决于计算机硬件配置高低,一般设定为2-3之间;v0为拍摄真实驾驶场景全景视频时相机的移动速度,vD为虚拟驾驶车辆的当前行驶速度,v0kmax为虚拟驾驶车辆允许的最大行驶速度;θ为虚拟驾驶车辆的姿态偏转角,其值由下式(8)计算。
[0068] 本实施例中素材录制时的相机移动速度v0保持在20km/h,拍得的全景视频帧率30fps,由于虚拟驾驶系统主要面向驾驶学员,因此本实施例中设定系统中虚拟驾驶车辆的最高行驶速度v0kmax为60km/h(当然在具体实施中,最高行驶速度v0kmax还可根据需要设定为其它值),此时当虚拟驾驶车辆沿着图3中Y方向行驶时,视频播放最大速率kmax为3。通过动态的调控视频的播放速率,即能实现让虚拟驾驶车辆以不同行驶速度。
[0069] 作为对本实施例的进一步改进,所述的基于真实环境的虚拟驾驶场景建模方法还包括以下步骤:
[0070] 6)建立模拟驾驶方向盘输入信号与虚拟驾驶车辆在球体场景中位姿及横向位置的关系,具体步骤如下:
[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] 本实施例中,所述的Rc=0.5r,其中r为球体模型S的半径,在实际使用中设定Rc=0.5r能获得自然的变道效果。
[0079] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。