一种虚拟现实VR设备及其避障方法、装置与流程

文档序号:19252073发布日期:2019-11-27 20:23阅读:192来源:国知局
一种虚拟现实VR设备及其避障方法、装置与流程

本申请涉及虚拟现实vr技术领域,具体涉及一种虚拟现实vr设备及其避障方法、装置。



背景技术:

虚拟现实(virtualreality,vr)技术,是利用计算机技术将视觉、听觉、触觉等多种信息融合重建,从而生成人机交互式的虚拟场景,用户通过vr设备所展示的三维立体图像,获得沉浸式体验。

由于只能看到虚拟场景中的图像,现实空间中有桌子、沙发等物体,用户戴着vr设备在空间中移动时看不见这些物体,容易碰撞到这些物体,存在安全隐患。



技术实现要素:

本申请提供了一种虚拟现实vr设备及其避障方法、装置,当判断出用户不在安全区域时,对用户进行安全引导,避免用户佩戴vr设备在空间中移动时与现实空间中的障碍物发生碰撞。

根据本申请的一个方面,提供了一种虚拟现实vr设备的避障方法,包括:

获取所述虚拟现实vr设备的用户的空间位置信息,并依据获取的所述空间位置判断所述用户是否在预设的安全区域内;

如果所述用户不在预设的安全区域内,则控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景或控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型,以实现避障;其中所述障碍物模型是依据所述虚拟现实vr设备获取的现实空间中障碍物的信息生成的。

根据本申请的另一个方面,提供了一种虚拟现实vr设备的避障装置,包括:

判断模块,用于获取所述虚拟现实vr设备的用户的空间位置信息,并依据获取的所述空间位置判断所述用户是否在预设的安全区域内;

避障模块,用于如果所述用户不在预设的安全区域内,则控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景或控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型,以实现避障;其中所述障碍物模型是依据所述虚拟现实vr设备获取的现实空间中障碍物的信息生成的。

根据本申请的再一个方面,提供了一种虚拟现实vr设备,该虚拟现实vr设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如本申请的一个方面所述的方法。

应用本申请实施例的虚拟现实vr设备避障方法、装置,监测用户移动过程,获取用户的空间位置,如果用户不在预设的安全区域内,则将障碍物模型显示在vr设备的虚拟场景中或者控制隐藏虚拟场景仅显示障碍物模型,提高用户对危险的感知,由此,通过对移动出预设安全区域的用户进行安全引导和安全提示,避免用户与现实空间中的障碍物发生碰撞。

附图说明

图1是本申请一个实施例的虚拟现实vr设备避障方法的流程示意图;

图2是本申请一个实施例的区域设定与用户移动过程的示意图;

图3是本申请一个实施例的虚拟现实vr设备避障方法的流程示意图;

图4是本申请一个实施例的虚拟现实vr设备避障装置的框图;

图5是本申请一个实施例的虚拟现实vr设备的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

房间规模(room-scale)模式是当前沉浸式虚拟现实设备研究的一个热点,虚拟现实提供与世界隔绝并在头戴显示设备的帮助下取代现实声音和视觉的完全沉浸式体验,支持空间移动的roomscale模式,改变了使用标准化的游戏手柄来站着、坐着玩游戏,游戏玩家自己可以在现实空间中移动,vr设备对用户进行追踪,并根据用户的移动做出相应的反馈。但是,当用户戴着vr设备在空间中移动,由于只能看到虚拟场景中的图像,,用户看不见现实空间的桌子、沙发等物体,容易碰撞到这些物体,存在安全隐患。

对此,本申请实施例提出一种虚拟现实vr设备避障方案,通过在虚拟现实vr设备中构建与现实空间对应的虚拟空间,并预先设定安全区域、警告区域和危险区域,实时判断用户所处的区域,如果用户不在安全区域则对用户进行安全提醒和安全引导,避免用户碰撞到障碍物,提高了虚拟现实vr设备使用时的安全性。

图1是本申请一个实施例的虚拟现实vr设备避障方法的流程示意图,参见图1,本实施例的虚拟现实vr设备避障方法包括下列步骤:

步骤s101,获取所述虚拟现实vr设备的用户的空间位置信息,并依据获取的所述空间位置判断所述用户是否在预设的安全区域内。

获取虚拟现实vr设备的用户空间位置可以采用现有技术实现,比如通过vr运动追踪装置来实现,vr运动追踪装置的双目鱼眼相机拍摄现实环境的图像,将图像发送至vr设备的处理器,处理器运行图像处理算法,图像处理算法对图像进行处理,得到用户的空间位置信息。

步骤s102,如果所述用户不在预设的安全区域内,则控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景或控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型,以实现避障;其中所述障碍物模型是依据所述虚拟现实vr设备获取的现实空间中障碍物的信息生成的。

也就是说,本实施例中预设安全区域,并实时获取用户位置,对用户所在区域进行判断,用户不在预设的安全区域之内,则控制改变vr设备正常显示的虚拟场景,增加提示内容,以对用户进行安全引导,避免碰撞的发生。

由图1所示可知,本实施例的虚拟现实vr设备避障方法,获取vr设备的用户的空间位置,并判断用户是否在预设的安全区域内,如果用户不在预设的安全区域内,表明用户在走动过程中很有可能与障碍物发生碰撞,因此本实施例控制vr设备显示叠加障碍物模型的虚拟场景或控制虚拟现实vr设备隐藏虚拟场景而显示障碍物模型,以避免用户与现实空间中的物体发生碰撞,提高用户对危险的感知,达到避免用户与现实空间中的障碍物发生碰撞的目的。

图2是本申请一个实施例的区域设定与用户移动过程的示意图,如图2所示,本实施例对虚拟空间中包括依次布设的安全区域、警告区域和危险区域,参见图2,危险区域内包括三个障碍物(仅作示例),分别为障碍物1、障碍物2和障碍物3。安全区域的中心点(即原点),这里的原点根据用户的初始位置确定,在用户戴着vr设备在空间中移动时,各区域的位置固定不变。

具体应用过程中,本实施例利用vr运动追踪装置标记用户的初始位置为原点位置,记录用户移动情况,并将用户的空间位置发送给vr设备的避障装置,避障装置实时对比移动位置和原点的距离,得到用户移动的半径距离;根据用户移动的半径距离,判断用户所处的区域类型,以供后续显示与区域类型对应的视觉效果。

图3是本申请一个实施例的虚拟现实vr设备避障方法的流程示意图,结合图3对本申请实施例的虚拟现实vr设备避障方法实现步骤进行说明。

如图3所示,vr设备开始运行;

首先,初始化虚拟场景,构建各区域;

本实施例中,虚拟现实vr设备搭载基于双目鱼眼相机的运动追踪装置,运动追踪装置用于识别用户在现实空间的位置信息,得到用户在现实空间中的位置之后,基于现实空间和虚拟空间的对应关系,将用户在现实空间的走动对应到虚拟空间中,例如:在虚拟空间中设定一个2米x2米的空间,对应现实环境中的2米x2米的空间;通过unity或者unreal等3d游戏引擎实现虚拟场景,例如:在整体的虚拟场景底部增加地面,地面的面积与现实空间中的地面面积一致。

参见图3,判断用户位置,如前述,本实施例中区域包括安全区域和非安全区域,非安全区域包括警告区域和危险区域,本实施例中,获取所述虚拟现实vr设备的用户的空间位置信息,并依据获取的所述空间位置判断所述用户是否在预设的安全区域内,包括:获取用户在现实空间中的第一位置,依据现实空间与虚拟空间的对应关系,得到虚拟空间中与所述第一位置对应的第二位置;基于虚拟空间中的原点以及所述第二位置,判断所述用户所在的区域;其中,所述原点根据用户的初始位置确定,所述区域包括:按照与所述原点由近到远的顺序依次设定的安全区域、警告区域和危险区域。

也就是说,根据虚拟空间与现实空间的对应关系,当获取到现实空间中用户的第一位置之后,可以得到与第一位置对应的第二位置,然后,基于虚拟空间中的原点(如图2所示的中心点)以及所述第二位置(如图2所示的用户所在的位置)判断用户所在的区域。如果用户进入警告区域,那么可以绘制出虚拟的围栏并将围栏显示在虚拟现实vr设备的虚拟场景中,如果用户进入危险区域,则可以绘制出虚拟的障碍物模型,并将障碍物模型显示在虚拟现实vr设备的虚拟场景中,从而对用户进行安全提示和安全引导。

这里的基于虚拟空间中的原点以及所述第二位置,判断所述用户所在的区域具体的,包括:基于所述原点以及所述第二位置,获得第一距离,将所述第一距离与所述安全区域的半径比较;如果所述第一距离小于所述安全区域的半径,则确定所述用户所在的区域为安全区域;如果所述第一距离大于所述安全区域的半径且小于所述警告区域的半径,则确定所述用户所在的区域为警告区域;其中所述警告区域的半径大于所述安全区域的半径;如果所述第一距离大于所述警告区域的半径,则确定所述用户所在的区域为危险区域。

如图2所示,本实施例中,安全区域是以原点为圆心,以预设长度(比如1.5米)为半径的圆形(圆形仅作示例,不限于此)区域,安全区域的外围是警告区域,警告区域的半径大于安全区域的半径,比如警告区域的半径是2米,如果用户第一位置与原点的距离是1.8米,那么可以确定用户所在的区域是大于所述安全区域的半径(1.5米)且小于所述警告区域的半径(2米),即,用户位于警告区域。由此可知,本实施例用户是否安全的判断是基于空间区域,而不是离用户头部的固定距离。

具体的,参见图3,如果用户位于警告区域,则执行警告区域对应的处理流程,如果用户位于安全区域,则执行安全区域对应的处理流程,如果用户位于危险区域,则执行危险区域所对应的处理流程。

安全区域是用户可以自由走动的区域,非安全区域包括警告区域和危险区域,两个区域(警告区域和危险区域)的危险程度不同,此时需要对用户进行区别的、有针对性的提示。即,如果所述用户不在预设的安全区域内,则控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景或控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型包括:如果所述用户所在的区域为警告区域,则控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景;如果所述用户所在的区域为危险区域,则控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型。

由此可知,本实施例,针对不同的区域,控制虚拟现实设备显示不同的视觉效果,由于危险区域比警告区域的危险程度更深,所以如果用户位于危险区域则隐藏虚拟场景而显示障碍物模型,以提高用户对周围危险的感知,避免发生碰撞。

在另一个实施例中,如果所述用户不在预设的安全区域内,控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景或控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型包括:控制所述虚拟现实vr设备显示安全提示,所述安全提示中包括虚拟安全围栏以及所述原点的位置信息。

通过显示包括虚拟安全围栏以及原点的位置信息的安全提示,方便用户了解安全区域的位置和大小,并在安全提示的引导下返回到安全区域,避免用户盲目走动。

参见图3,用户在安全区域内,则关闭tof(timeofflight,飞行时间)相机,正常显示vr虚拟场景。也就是说,本实施例中,如果所述用户在预设的安全区域内,则控制所述虚拟现实vr设备显示虚拟场景。这里,之所以关闭tof相机是因为tof相机开启之后的功耗很高。并且用户在安全区域内系统认为用户不存在安全问题,也不需要获取障碍物信息构建障碍物模型进行显示以提醒用户。

如果用户是在警告区域内,参见图3,本申请实施例控制在虚拟现实设备的虚拟场景中显示虚拟安全围栏以提醒用户安全区域与警告区域的边界。并且,本实施例开启tof相机,获取障碍物的点云信息,基于点云信息绘制障碍物模型,在vr虚拟场景中叠加障碍物模型。

也就是说,在确定所述用户不在预设的安全区域之后,方法还包括:启动所述虚拟现实vr设备的飞行时间tof相机;通过所述tof相机,获得当前区域内各障碍物的点云信息,对所述点云信息进行处理,得到各障碍物模型。

需要说明的是,如前述,本实施例的vr头戴设备依据现实空间构建对应的虚拟空间,基于虚拟空间生成虚拟场景,因此,在将障碍物模型叠加到虚拟场景中时,根据现实空间中障碍物的位置将障碍物模型叠加到虚拟场景中的对应位置,比如,现实空间中,用户右前方有障碍物,那么在叠加障碍物模型到虚拟场景中时,将障碍物模型绘制在虚拟场景中用户右前方的位置,以与现实空间中的障碍物位置保持一致,从而方便用户通过vr设备了解现实空间中障碍物的位置,提高避障效果。另外,如果一个区域内有多个障碍物,本申请实施例在绘制障碍物模型时,绘制同等数量的障碍物模型,以对现实空间的障碍物精确提示。

图3所示的在vr虚拟场景中叠加障碍物模型包括:开启tof模组,接近障碍物时,获取障碍物表面点云,使用开源库,对点云进行处理(将点云坐标转化为障碍物3d模型),将处理得到的障碍物模型叠加到vr场景里;开源库比如点云库(pointcloudlibrary,简称pcl),用于实现点云至3d模型的转换,利用其中的pcl_surface库对点云进行处理。当然,在本申请的其他实施例中,在不考虑研发成本的情况下,也可以不用开源的库而是以编写代码的方式实现点云到障碍物模型的转换。

本实施例中vr设备的tof相机可以拍摄到用户前方60度到90度范围内的环境图像,vr设备跟随用户头部转动,因此tof相机实时、不断的扫描用户正前方的各个障碍物。扫描到各个障碍物、建模之后,障碍物模型的形状、位置数据储存到vr设备的vr应用(比如游戏应用)里,后续可以直接使用无需重复扫描。

如果用户是在危险区域内,则开启tof相机获取障碍物的点云信息,隐藏vr虚拟场景并显示障碍物模型,此外,还可以显示安全提示,提示用户回到安全区域内。

本实施例的,控制所述虚拟现实vr设备显示安全提示,提示用户回到安全区域内,可以与显示障碍物模型组合也可以单独显示,安全提示中包括虚拟安全围栏以及原点的位置信息,提醒用户向原点移动回到虚拟安全围栏指示的区域,如此,给用户以明确的位置、方向提示,方便用户及时返回安全区域。

下面结合一个具体的应用场景对vr设备的避障流程进行说明。

vr设备开机后,运动追踪装置启动,持续追踪用户的空间位置;

避障装置实时判断用户移动时远离中心点的距离;

若用户在安全区域内,关闭tof测距模组(即,tof相机),用户此时可随意移动;

若用户走出安全区并在警告区域内,开启tof测距模组,依据检测到的障碍物表面点云坐标信息实时绘制成vr场景中可见的模型。另外可以进一步显示安全提示,告知用户回到安全区域内;

若用户继续向外走,走出警告区域,走到了危险区域,则控制隐藏虚拟现实vr设备的(具体是当前播放的应用或游戏的)vr场景并在虚拟现实vr设备中显示出障碍物模型,该阶段中保持tof测距模组开启。由于用户已经位于危险区域,此时不希望用户再继续游戏,应该专注于危险障碍物的警示,故本实施例隐藏vr虚拟场景,并显示出障碍物模型。

若用户从危险区域回到警告区域,则显示出应用或游戏本身的vr场景,并保持障碍物模型显示;

若用户回到安全区域内,则关闭tof测距模组,将障碍物模型从vr虚拟场景中去除,正常显示应用或游戏的vr场景;

至此,本申请实施例的虚拟现实vr设备避障方法,根据用户的初始位置设定原点,并按照与原点由近到远的顺序依次设定安全区域、警告区域和危险区域,如果判断出用户在非安全区域则对用户进行安全提示,保证了vr设备使用中的安全性,使vr设备对障碍物形状距离的判断更准确,在用户走出安全区域时,提供更自然的障碍物标识及安全提示,改善了用户体验并提高了vr设备的竞争力。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的对象在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

与前述虚拟现实vr设备避障方法的同属于一个技术构思,本申请实施例还提供了虚拟现实vr设备避障装置。

图4是本申请一个实施例的虚拟现实vr设备避障装置的框图;参见图4,本实施例的虚拟现实vr设备避障装置400包括:

判断模块401,用于获取所述虚拟现实vr设备的用户的空间位置信息,并依据获取的所述空间位置判断所述用户是否在预设的安全区域内;

避障模块402,用于如果所述用户不在预设的安全区域内,则控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景或控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型,以实现避障;其中所述障碍物模型是依据所述虚拟现实vr设备获取的现实空间中障碍物的信息生成的。

在本申请的一个实施例中,判断模块401,具体用于获取用户在现实空间中的第一位置,依据现实空间与虚拟空间的对应关系,得到虚拟空间中与所述第一位置对应的第二位置;基于虚拟空间中的原点以及所述第二位置,判断所述用户所在的区域;其中,所述原点根据用户在现实空间中的初始位置确定,所述区域包括:按照与所述原点由近到远的顺序依次设定的安全区域、警告区域和危险区域。

在本申请的一个实施例中,判断模块401,具体用于基于所述原点以及所述第二位置,获得第一距离,将所述第一距离与所述安全区域的半径比较;如果所述第一距离小于所述安全区域的半径,则确定所述用户所在的区域为安全区域;如果所述第一距离大于所述安全区域的半径且小于所述警告区域的半径,则确定所述用户所在的区域为警告区域;其中所述警告区域的半径大于所述安全区域的半径;如果所述第一距离大于所述警告区域的半径,则确定所述用户所在的区域为危险区域。

在本申请的一个实施例中,避障模块402,具体用于如果所述用户所在的区域为警告区域,则控制所述虚拟现实vr设备显示叠加障碍物模型的虚拟场景;如果所述用户所在的区域为危险区域,则控制所述虚拟现实vr设备隐藏虚拟场景而显示障碍物模型。

在本申请的一个实施例中,所述避障模块402,具体用于如果所述用户不在预设的安全区域内,则控制所述虚拟现实vr设备显示安全提示,所述安全提示中包括虚拟安全围栏以及所述原点的位置信息。

在本申请的一个实施例中,所述避障模块402具体用于在确定所述用户不在预设的安全区域之后,启动所述虚拟现实vr设备的飞行时间tof相机;通过所述tof相机,获得当前区域内各障碍物的点云信息,对所述点云信息进行处理,得到各障碍物模型。

在本申请的一个实施例中,避障模块402具体用于如果所述用户在预设的安全区域内,则控制所述虚拟现实vr设备显示虚拟场景。

需要说明的是,图4所示虚拟现实vr设备避障装置的各模块所执行的各功能的举例解释说明,与前述方法实施例中的举例解释说明一致,这里不再一一赘述。

另外,本申请实施例还提供了一种虚拟现实vr设备,参见图5,虚拟现实vr设备500包括:处理器501;以及被安排成存储计算机可执行指令的存储器502,所述可执行指令在被执行时使所述处理器501执行如前述虚拟现实vr设备避障方法。

此外,上述的存储器502中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请的另一个实施例提供一种计算机可读存储介质,计算机可读存储介质存储计算机指令,计算机指令使所述计算机执行上述的虚拟现实vr设备的避障方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。

需要说明的是术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本申请的说明书中,说明了大量具体细节。然而能够理解的是,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本申请公开并帮助理解各个申请方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,正如权利要求书所反映的那样,申请方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

以上所述,仅为本申请的具体实施方式,在本申请的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本申请的目的,本申请的保护范围以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1