一种基于惯性传感器进行虚拟现实行走控制的方法及系统与流程

文档序号:16984327发布日期:2019-02-26 20:23阅读:177来源:国知局
一种基于惯性传感器进行虚拟现实行走控制的方法及系统与流程

本申请涉及一种基于惯性传感器进行虚拟现实行走控制的方法及系统,属于虚拟现实技术领域。



背景技术:

在虚拟现实环境中,使用者需要在虚拟世界中进行移动和漫游,常见的移动控制方法有以下几种:

1、方向控制按键:使用者通过控制手柄、键盘按键等设备上的按键、摇杆等,控制移动方向和速度。这种方式廉价、可靠,但是使用者带上头戴式显示设备后,拥有高度沉浸的视觉体验,在使用按键控制移动和转向时,身体感知运动状态的前庭器官没有感知到对应的移动,视觉感知和身体感知之间的差异,会给使用者带来强烈的晕眩感;

2、全向移动平台:使用者站在全向移动平台上,能在原地实现任何方向上的行走跑步动作。这种方式在虚拟现实环境下能大大降低视觉感知和身体感知之间的差异,消除使用者的晕眩感,但是全套设备体积大、造价较高,不适合家用消费娱乐;

3、固定环境中的位置捕捉(如申请号为201110430789.0的专利申请所公开的“三维虚拟世界的骨架控制”):使用者在固定的环境中,周边安装位置跟踪装置,对使用者的位置进行捕捉,使用者在一定空间内的移动动作能映射到虚拟世界中,从而实现一定范围的移动控制。这种方式对环境要求比较高,无法实现在大范围虚拟世界的移动。根据检索,目前,还没有一种能够同时解决以上问题的技术出现。



技术实现要素:

本申请的目的在于,提供一种基于惯性传感器进行虚拟现实行走控制的方法及系统,它可以有效解决现有技术中存在的问题,尤其是视觉感知和身体感知之间的差异给使用者带来强烈的晕眩感、全向移动平台全套设备体积大且造价高以及无法实现在大范围虚拟世界进行移动的问题。

为解决上述技术问题,本申请采用如下的技术方案:一种基于惯性传感器进行虚拟现实行走控制的方法,包括以下步骤:

s1,利用惯性传感器对人体躯干的朝向和姿态进行跟踪;

s2,利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。

优选的,步骤s2还包括,通过计算陀螺仪的角速度值在时间上的积分获得当前人体躯干的朝向和姿态角,具体的说,首先,所述的陀螺仪可借助磁力计测量地球磁场而获得垂直于地面的方向;其次,陀螺仪可测得角加速度值,通过将该角加速度值在时间上积分即可获得角速度值;再次,通过将角速度值在时间上积分即可获得角度值;最后,将该角度值与先前得到的垂直于地面的方向进行比较,即可精确的测得人体躯干的朝向和姿态角。

更优选的,步骤s2还包括:采用梯度下降法对姿态角的误差函数进行迭代计算,不断矫正误差,直到当次迭代过程中的误差值处于设定的范围内,从而使得姿态角计算更加灵敏准确。

进一步优选的,所述的采用梯度下降法对姿态角的误差函数进行迭代计算的过程中,在时间上求积分时,利用周期性出现的参考点将整个积分过程分为多个段,防止不同段间的误差传播累积;同时通过中值滤波法对每个段内的误差进行抑制。

前述的基于惯性传感器进行虚拟现实行走控制的方法中,步骤s2所述的利用获取的人体躯干朝向控制虚拟世界人物的移动方向具体包括:人体躯干朝向被惯性传感器获取后,传至计算控制平台,计算控制平台运行应用程序用于仿真模拟出虚拟现实环境,仿真模拟的虚拟现实环境中的人物朝向由惯性传感器所获得的躯干朝向数据进行控制。

前述的基于惯性传感器进行虚拟现实行走控制的方法中,步骤s2中所述的利用获得的姿态角控制虚拟世界人物的行走动作具体包括:利用人体躯干的前倾、后倾、左倾、右倾一一对应控制虚拟世界人物的前进、后退、向左平移、向右平移动作,从而可以使得本申请中使用者上身动作和虚拟世界中视觉感受到的动作完全一致,因而长期使用并不会造成晕眩。

优选的,步骤s2中所述的利用获得的姿态角控制虚拟世界人物的行走动作还包括:利用人体躯干的前倾角度、后倾角度、左倾角度、右倾角度一一对应控制虚拟世界人物的前进速度、后退速度、向左平移速度、向右平移速度,从而可以使得本申请中使用者上身动作和虚拟世界中视觉感受到的加减速动作完全一致,因而长期使用并不会造成晕眩。

上述方法中,所述的利用人体躯干的前倾角度、后倾角度、左倾角度、右倾角度一一对应控制虚拟世界人物的前进速度、后退速度、向左平移速度、向右平移速度具体包括:当人体躯干的前倾角度、后倾角度、左倾角度、右倾角度被惯性传感器获取后,传至计算控制平台,计算控制平台运行应用程序用于仿真模拟出虚拟现实环境;当前倾角度、后倾角度、左倾角度、右倾角度大于预设角度后,触发仿真模拟的虚拟现实环境中的人物前进、后退、向左平移、向右平移动作;相应的移动速度快慢与倾角大小成正比。

上述方法中,还包括:s3,当身体回到直立状态的过程中,虚拟世界人物的移动速度呈线性下降直至静止,具体包括:人体躯干回到直立状态的动作被惯性传感器获取后,传至计算控制平台,计算控制平台运行应用程序用于仿真模拟出虚拟现实环境;当身体倾角小于预设角度后,控制仿真模拟的虚拟现实环境中的人物按预设的线性下降速率减速直至静止。这一机制是模仿人类行走时的减速行为,使得虚拟世界中视觉感受到的减速与身体前庭器官感受到的减速方式一致,进一步降低晕眩感。

实现前述方法的基于惯性传感器进行虚拟现实行走控制的系统,包括:惯性传感器和计算控制平台,所述的惯性传感器与计算控制平台连接,惯性传感器用于对人体躯干的朝向和姿态进行跟踪,计算控制平台利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。

优选的,所述的惯性传感器包括:加速度传感器、陀螺仪、磁力计、数据处理单元和无线传输模块,所述的数据处理单元分别与加速度传感器、陀螺仪、磁力计和无线传输模块连接;所述的陀螺仪用于获取人体躯干的角速度值;所述的数据处理单元用于计算陀螺仪的角速度值在时间上的积分,获得当前人体躯干的朝向和姿态角;所述的加速度传感器和磁力计用于对计算得到的姿态角的误差进行矫正;所述的无线传输模块用于将人体躯干的朝向和姿态角传输到计算控制平台。

与现有技术相比,本申请通过对人体躯干的朝向和姿态进行跟踪,并利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作,从而克服了视觉感知和身体感知之间的差异给使用者带来强烈的晕眩感;同时本申请中使用者仅需要佩戴体积较小的惯性传感器对人体躯干的朝向和姿态进行跟踪,将采集的朝向和姿态角数据传给计算控制平台,计算控制平台利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作,整套设备不仅体积小(大大低于全向移动平台、跑步机及空间动作捕捉设备),而且价格非常低,适合家用消费娱乐;另外,采用本申请的技术对虚拟世界人物进行行走控制,不受空间限制,可以在虚拟现实世界里的任意方向移动任意距离。此外,本申请的系统简单易用,使用者只需将惯性传感器夹在上衣领口,通过无线连接计算控制平台,并坐在转椅上(坐在转椅上使用可以比较舒适的全向转动,站立使用比较累,而且可能会摔倒)即可,不需要复杂的穿戴和准备过程。最后,由于本申请中使用者上身动作和虚拟世界中视觉感受到的移动方向及加减速动作完全一致,因而长期使用并不会造成晕眩。

此外,本申请中,通过计算陀螺仪的角速度值在时间上的积分获得当前人体躯干的朝向和姿态角,具体的说,首先,所述的陀螺仪可借助磁力计测量地球磁场而获得垂直于地面的方向;其次,陀螺仪可测得角加速度值,通过将该角加速度值在时间上积分即可获得角速度值;再次,通过将角速度值在时间上积分即可获得角度值;最后,将该角度值与先前得到的垂直于地面的方向进行比较,即可精确的测得人体躯干的朝向和姿态角。由于本申请在时间上有两次积分,因此计算姿态角不是在单帧内,而是在多帧内完成的,所得到的结果由于误差累计会产生漂移。可采用梯度下降法对姿态角的误差函数进行迭代计算,不断矫正误差,直到当次迭代过程中的误差值处于设定的范围内,从而使得姿态角计算更加灵敏准确。但是,在实际中采用梯度下降法还会存在收敛率的问题,也就是说,若迭代次数过多,则有时会难以保证实时的需求,极易收敛于局部极小点,而不是全局极小点。

针对该问题,申请人对应用背景的进行了观察和大量的分析研究,结果表明:在时间上求积分时,利用周期性出现的参考点(也就是当惯性传感器突然转向的时候,如惯性传感器上下或左右移动时,相对应的,可从imu的加速度传感器的测量值中找到速度接近零的位置点,经研究分析发现,这些时间点上对应的理论计算角度值与实际观测值一致。由于这些点在用户实际应用场景中常常出现,因而可当作划分时间段的参考点)将整个积分过程分为多个段,防止不同段间的误差传播累积,具体的说,将整个积分过程分为多个段,而不是一个时间段,那么原先的迭代过程被强制复位多次,提高了收敛性,同时某段内的误差也不会传递到下段(如果采用一个段时,则误差值因积分会不断累积);再者,只要每段起始时的姿态角值足够精确可靠,那么分段内的平均误差和方差都不会大于只有一个段时的平均误差和方差。对分段点的选择需要融合来自于imu中的位移加速度传感器上的测量值。另外,经大量试验发现:对于每个段内的误差通过中值滤波法进行有效抑制,也就是说,在五个元素的滑动窗口中,取中间值进行滤波,可有效抑制段内误差。由于该操作是在窗口内局部的简单操作,因而适用于在控制imu的数据处理单元6上实现,而无需占用其它上位机资源。

附图说明

图1是本申请的一种实施例的方法流程图;

图2是本申请的一种实施例的结构方框示意图。

附图标记:1-惯性传感器,2-计算控制平台,3-加速度传感器,4-陀螺仪,5-磁力计,6-数据处理单元,7-无线传输模块,8-电源。

下面结合附图和具体实施方式对本申请作进一步的说明。

具体实施方式

本申请的实施例1:一种基于惯性传感器进行虚拟现实行走控制的方法,如图1所示,包括以下步骤:

s1,利用惯性传感器对人体躯干的朝向和姿态进行跟踪;

s2,通过计算陀螺仪的角速度值在时间上的积分获得当前人体躯干的朝向和姿态角(具体的说,首先,所述的陀螺仪可借助磁力计测量地球磁场而获得垂直于地面的方向;其次,陀螺仪可测得角加速度值,通过将该角加速度值在时间上积分即可获得角速度值;再次,通过将角速度值在时间上积分即可获得角度值;最后,将该角度值与先前得到的垂直于地面的方向进行比较,即可精确的测得人体躯干的朝向和姿态角),同时采用梯度下降法对姿态角的误差函数进行迭代计算,不断矫正误差,直到当次迭代过程中的误差值处于设定的范围内;并且采用梯度下降法对姿态角的误差函数进行迭代计算的过程中,在时间上求积分时,利用周期性出现的参考点将整个积分过程分为多个段;同时通过中值滤波法对每个段内的误差进行抑制;利用获取的人体躯干朝向控制虚拟世界人物的移动方向,具体包括:人体躯干朝向被惯性传感器获取后,传至计算控制平台,计算控制平台运行应用程序用于仿真模拟出虚拟现实环境,仿真模拟的虚拟现实环境中的人物朝向由惯性传感器所获得的躯干朝向数据进行控制;利用获得的姿态角控制虚拟世界人物的行走动作——利用人体躯干的前倾、后倾、左倾、右倾一一对应控制虚拟世界人物的前进、后退、向左平移、向右平移动作,并且利用人体躯干的前倾角度、后倾角度、左倾角度、右倾角度一一对应控制虚拟世界人物的前进速度、后退速度、向左平移速度、向右平移速度,具体包括:当人体躯干的前倾角度、后倾角度、左倾角度、右倾角度被惯性传感器获取后,传至计算控制平台,计算控制平台运行应用程序用于仿真模拟出虚拟现实环境;当前倾角度、后倾角度、左倾角度、右倾角度大于预设角度后,触发仿真模拟的虚拟现实环境中的人物前进、后退、向左平移、向右平移动作,相应的移动速度快慢与倾角大小成正比;

s3,当身体回到直立状态的过程中,虚拟世界人物的移动速度呈线性下降直至静止,具体包括:人体躯干回到直立状态的动作被惯性传感器获取后,传至计算控制平台,计算控制平台运行应用程序用于仿真模拟出虚拟现实环境;当身体倾角小于预设角度后,控制仿真模拟的虚拟现实环境中的人物按预设的线性下降速率减速直至静止。

实现上述方法的基于惯性传感器进行虚拟现实行走控制的系统,如图2所示,包括:惯性传感器1和计算控制平台2,所述的惯性传感器1与计算控制平台2连接,惯性传感器1用于对人体躯干的朝向和姿态进行跟踪,计算控制平台2利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。所述的惯性传感器1包括:加速度传感器3、陀螺仪4、磁力计5、数据处理单元6和无线传输模块7,所述的数据处理单元6分别与加速度传感器3、陀螺仪4、磁力计5和无线传输模块7连接;所述的陀螺仪4用于获取人体躯干的角速度值;所述的数据处理单元6用于计算陀螺仪的角速度值在时间上的积分,获得当前人体躯干的朝向和姿态角;所述的加速度传感器3和磁力计5用于对计算得到的姿态角的误差进行矫正;所述的无线传输模块7用于将人体躯干的朝向和姿态角传输到计算控制平台2。所述的数据处理单元6可采用单片机或arm芯片。所述的惯性传感器1上还设有电源8(可采用电池),所述的电源8分别与加速度传感器3、陀螺仪4、磁力计5、数据处理单元6和无线传输模块7连接。

实施例2:一种基于惯性传感器进行虚拟现实行走控制的方法,包括以下步骤:

s1,利用惯性传感器对人体躯干的朝向和姿态进行跟踪;

s2,利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作——利用人体躯干的前倾、后倾、左倾、右倾一一对应控制虚拟世界人物的前进、后退、向左平移、向右平移;并且利用人体躯干的前倾角度、后倾角度、左倾角度、右倾角度一一对应控制虚拟世界人物的前进速度、后退速度、向左平移速度、向右平移速度。

实现上述方法的基于惯性传感器进行虚拟现实行走控制的系统,如图2所示,包括:惯性传感器1和计算控制平台2,所述的惯性传感器1与计算控制平台2连接,惯性传感器1用于对人体躯干的朝向和姿态进行跟踪,计算控制平台2利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。

实施例3:一种基于惯性传感器进行虚拟现实行走控制的方法,如图1所以,包括以下步骤:

s1,利用惯性传感器对人体躯干的朝向和姿态进行跟踪;

s2,通过计算陀螺仪的角速度值在时间上的积分获得当前人体躯干的朝向和姿态角;利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。

实现上述方法的基于惯性传感器进行虚拟现实行走控制的系统,如图2所示,包括:惯性传感器1和计算控制平台2,所述的惯性传感器1与计算控制平台2连接,惯性传感器1用于对人体躯干的朝向和姿态进行跟踪,计算控制平台2利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。所述的惯性传感器1包括:加速度传感器3、陀螺仪4、磁力计5、数据处理单元6和无线传输模块7,所述的数据处理单元6分别与加速度传感器3、陀螺仪4、磁力计5和无线传输模块7连接;所述的陀螺仪4用于获取人体躯干的角速度值;所述的数据处理单元6用于计算陀螺仪的角速度值在时间上的积分,获得当前人体躯干的朝向和姿态角;所述的加速度传感器3和磁力计5用于对计算得到的姿态角的误差进行矫正;所述的无线传输模块7用于将人体躯干的朝向和姿态角传输到计算控制平台2。

实施例4:一种基于惯性传感器进行虚拟现实行走控制的方法,如图1所示,包括以下步骤:

s1,利用惯性传感器对人体躯干的朝向和姿态进行跟踪;

s2,利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。

实现上述方法的基于惯性传感器进行虚拟现实行走控制的系统,如图2所示,包括:惯性传感器1和计算控制平台2,所述的惯性传感器1与计算控制平台2连接,惯性传感器1用于对人体躯干的朝向和姿态进行跟踪,计算控制平台2利用获取的人体躯干朝向控制虚拟世界人物的移动方向;同时利用获得的姿态角控制虚拟世界人物的行走动作。

本申请的一种实施例的工作原理:

使用者将一组独立的惯性传感器模组贴附在人体上身躯干或者上身衣服上,对人体躯干的朝向和姿态进行跟踪,因此人体上身的朝向和姿态决定了惯性传感器模组的姿态和朝向。使用者带上头戴式显示设备并坐在转椅上后,当使用者的身体前倾超过一定角度时,虚拟世界中的主角向当前方向移动,并且角度越大移动速度越快;当使用者身体后倾超过一定角度时,虚拟世界中主角向当前方向的反方向移动,并且角度越大移动速度越快。同理,当使用者的身体左倾超过一定角度时,虚拟世界中的主角向左移动,并且角度越大移动速度越快;当使用者的身体右倾超过一定角度时,虚拟世界中的主角向右移动,并且角度越大移动速度越快。

使用者通过前倾、后倾、左倾、右倾控制虚拟世界中主角前进、后退、向左移动、向右移动,当其身体回到直立状态实现减速时,虚拟世界中主角的移动速度并不骤降为0,而是在一个较短的时间间隔内,线性下降直到静止。因为人从行走到静止,并不是骤然停止的,这一机制是模仿人类行走时的减速行为,让虚拟世界中视觉感受到的减速与身体前庭器官感受到的减速方式一致,进一步降低了晕眩感。

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