一种虚拟现实设备姿态信息的捕捉方法与流程

文档序号:11153833
一种虚拟现实设备姿态信息的捕捉方法与制造工艺

本发明涉及一种虚拟现实设备姿态信息的捕捉方法,尤其是一种超低延时且信息安全性高的虚拟现实设备姿态信息的捕捉方法。



背景技术:

为了在虚拟现实中营造沉浸感,增强人机之间的互动性,需要实时获取虚拟现实头戴显示设备当前的姿态信息,如设备转动方向、转动角度等,来调整显示内容。姿态信息采集一般要利用到IMU芯片(Inertial Measurement Unit,惯性测量单元),通常都会包含三轴的加速度计和三轴的陀螺仪,加速度计测量物体在三维空间中的加速度信号,陀螺仪则测量物体在三维空间中的角速度,并以此解算出物体的姿态。

目前依赖HDMI(High Definition Multimedia Interface,高清晰度多媒体接口)线与USB(Universal Serial Bus,通用串行总线)数据线进行数据传输的虚拟现实设备的方案通常都具有以下结构:下位机(即虚拟现实设备)采用一款控制芯片作为微控制单元(MCU),搭配一款IMU芯片及显示控制器(以及显示屏),通过USB线与上位机(即个人计算机PC)进行数据交换,通过HDMI线进行音视频传输。

常用的传输方法为:设计一个HID类全速USB设备(HID class Full Speed USB device),IMU的姿态信息数据上报使用中断传输(Interrupt Transfer),每隔2ms上报一次数据包,每个数据包包含2组IMU数据;下位机配置使用控制传输(Control Transfer)。

这种“HID类全速USB设备、IMU数据上报使用中断传输、下位机配置使用控制传输”方案具有中断传输优先级较高,PC响应较快的优点,但也存在明显的不足:

1.全速USB设备限制了所能传输的最大数据包长度为64字节,在没有定义额外的数据包包头包尾的情况下,无法支持单个数据包超过64字节的数据传输,不利于设备功能扩展;

2.对于有编程基础的使用者,即使不通过下位机通讯协议,依然可以通过Windows HID用户应用界面(API)中的控制传输接口对下位机进行非正常的控制,不利于虚拟现实设备的信息安全。

为解决上述问题,本发明设计了一种虚拟现实设备姿态信息的捕捉方法,能够降低虚拟现实设备姿态信息的捕捉延时、同时保证了姿态信息数据上行和下行的安全性,且兼顾通讯协议的可扩展性。



技术实现要素:

本发明目的是:提供一种虚拟现实设备姿态信息的捕捉方法,将整个姿态信息捕捉过程的延时降到最低,同时保证数据上行和下行的安全,并兼顾通讯协议的可扩展性。

本发明的技术方案是:

为达到低延时,高安全性和兼容性的目的,本发明技术方案采用HID类全速USB设备硬件,方案实现步骤为:

1.虚拟现实设备及全速USB设备在使用前需要安装驱动,因此只有通过下位机通讯协议获取虚拟现实设备IMU中姿态信息数据,而无法通过Windows HID API直接进行操作。

2.本发明定义了一个私有的数据包封装协议,以支持单个数据包超过64字节的情况,数据包封装协议见实施例中表1,在数据的传输过程中,数据包的组包与解包步骤可参考附图2与附图3。

3.数据包封装协议中增加的数据校验位,保证了整个数据包的完整性和正确性。

4.IMU数据上报使用批量传输(Bulk Transfer),因此克服了现有技术中数据上报采用中断传输方式的查询间隔限制,可以支持更大的数据带宽,数据采集流程可参考附图5。

5.下位机配置采用批量传输(Bulk Transfer),同样具有数据包封装的过程,在下位机不明确数据封装格式的情况下,上位机向下位机发送的数据视作无效,校准数据流程可参考附图4。

6.上位机在未接收到下位机所传输的虚拟设备姿态信息数据时会被阻塞,以此保证当下位机发送了姿态信息数据,上位机可在第一时间接收数据,因此在本方案中传输延时基本等于USB数据传输本身的延时。

7.每个惯性测量单元IMU向上位机上报的数据包中,都会包含至少2组姿态信息数据,以保证对虚拟现实设备进行运动预测时,运动预测算法利用此两组真实采集到的IMU姿态信息数据对之后的一定时间间隔内的姿态信息进行预测,通过此方法可将IMU姿态信息数据传输过程中的延时也计算入总延时中,本发明中在理想情况下,传输延时基本等于USB数据传输本身的延时,因此可将此部分延时降低至接近0ms。(参考实施例中表2)

可选的,本发明方案中定义的数据包大小能够扩展,因此可以支持惯性测量单元IMU向上位机上报的数据包包含更多组姿态信息数据。

与现有技术相比,本发明具有以下创新点:

1.在现有技术中,数据包封装时无法超过64字节,本发明方案定义了一个私有的数据包封装协议,以支持单个数据包超过64字节的情况,以便于数据能够更快速的传输,且减小了数据的组包与解包延时。

2.数据包封装协议中增加了数据校验位,在数据的组包过程中计算校验位,在数据包解包过程中检查校验位,因此保证了整个数据包的完整性和正确性。

3.IMU数据上报采用批量传输(Bulk Transfer)方式,因此克服了现有技术中数据上报采用中断传输方式的查询间隔限制,可以支持更大的数据带宽,数据采集流程可参考附图5。

4.本发明方法中下位机的配置采用批量传输(Bulk Transfer),同样,具有数据包封装的过程,在下位机不明确数据封装格式的情况下,上位机向下位机发送的数据视作无效,以确保上位机安全、正确的提取数据。

5.虚拟现实设备及全速USB设备在使用前需要安装驱动,因此只有通过下位机通讯协议获取虚拟现实设备IMU中姿态信息数据,而无法通过Windows HID API直接进行操作,增强了数据的安全性。

附图说明

图1为IMU数据传输流程图;

图2为数据包组包步骤流程图;

图3为数据包解包步骤流程图;

图4为配置IMU校准数据流程图;

图5为IMU数据采集流程图;

具体实施方式

如背景技术中所述,现有技术的虚拟现实头戴显示设备姿态信息的捕捉方法在实际应用中仍然存在延时长、安全性低等问题。

本发明技术方案为将通过驱动读取到的IMU数据通过本发明方法定义的私有协议进行数据组包;将组包完成的数据采用批量传输方式进行传输;将接收端接收到的数据包按照私有协议的定义进行数据解包。尤其在数据量较大的情况下,本发明方法显著的降低了延时,提高了数据的安全性。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

参照附图1所示为IMU数据传输流程图,包括以下步骤:

步骤101:虚拟现实设备及全速USB设备在使用前需要安装驱动程序,通过下位机通讯协议获取虚拟现实设备IMU中姿态信息数据,并对数据进行组包操作,包括但不限于填充包头、包身数据;

所述驱动程序的安装目的在于使上位机只能通过通讯协议获取虚拟现实设备IMU中姿态信息数据,而无法通过Windows HID API直接进行操作,保证了数据的安全性;

本发明方法定义了一个私有的数据包封装协议,以支持单个数据包超过64字节的情况,数据包封装协议见表1。

包头包身包尾特定标识符、包身长度、包类型有效数据校验位、特定标识符

表1.数据包封装协议

步骤102:计算校验位数据;

所述的数据包封装协议中增加的数据校验位,保证了整个数据包的完整性和正确性。

步骤103:填充包尾标识符,完成数据组包。

步骤104:IMU数据上报采用批量传输(Bulk Transfer)方式;

所述批量传输方式克服了现有技术中数据上报采用中断传输方式的查询间隔限制,可以支持更大的数据带宽。

步骤105:接收端接收到数据包后,判断包头、包尾标识及包身长度,当其中任意一项不符合私有协议定义的要求时,判定为解包失败,返回数据;当包头、包尾标识及包身长度判定后皆符合要求时,进入步骤106。

步骤106:检查校验位,当校验位数据不符合私有协议定义的要求时,判定为解包失败,返回数据;当校验位数据符合要求时,进入步骤107。

步骤107:当数据包标识信息判定通过后,提取有效数据,完成数据解包操作。

图2为本发明实施例中数据包组包步骤流程图,包括如下步骤;

步骤201:填充包头、包身;

步骤202:计算包身长度;

步骤203:填充包类型;

步骤204:拷贝有效数据;

步骤205:计算校验位;

步骤206:填充包尾标识符;

步骤207:组包完成。

图3为本发明实施例中数据包解包步骤流程图,包括如下步骤;

步骤301:判断包头标识符;

步骤302:判断包身长度;

步骤303:判断包尾标识符,当所述步骤301、302、303,其中任意一项不符合私有协议定义的要求时,进入步骤304,当所述步骤301、302、303皆符合要求时,进入步骤305;

步骤304:解包失败,返回;

步骤305:检查校验位,当校验位数据不符合私有协议定义的要求时,进入步骤304,当校验位数据符合要求时,进入步骤306;

步骤306:提取有效数据;

步骤307:解包完成。

图4为本发明实施例中配置IMU校准数据流程图,步骤401为虚拟现实设备中的计算流程,步骤402为个人计算机中的计算流程。

配置IMU校准数据的流程为:计算得出IMU校准参数后,通过USB host组包,采用批量传输方式进行传输,在虚拟现实设备端通过USB device进行解包,再由微控制单元MCU向闪存中写入IMU校准数据。

所述的下位机配置采用批量传输(Bulk Transfer),同样具有数据包封装的过程,在下位机不明确数据封装格式的情况下,上位机向下位机发送的数据视作无效。

图5为本发明实施例中IMU数据采集流程图,步骤501为虚拟现实设备中的数据处理流程,步骤502为个人计算机中的数据处理流程。

IMU的数据采集至显示流程为:微控制单元MCU通过下位机通信协议采集惯性测量单元IMU中的姿态信息数据,并从闪存中读取IMU校准数据,整合后由USB device进行数据组包,采用批量传输方式进行数据传输,个人计算机PC接收端接收后由USB host进行数据解包,完成姿态解算及预测,从而指导图像的合成与渲染,经过HDMI发送端发送数据,接收端接收数据,由显示控制模块控制虚拟现实设备显示器进行显示。

本实施例中所述的每个惯性测量单元IMU向上位机上报的数据包中,都会包含至少2组姿态信息数据,以保证对虚拟现实设备进行运动预测时,运动预测算法利用此两组真实采集到的IMU姿态信息数据对之后的一定时间间隔内的姿态信息进行预测,通过此方法可将IMU姿态信息数据传输过程中的延时也计算入总延时中,本发明中在理想情况下,传输延时基本等于USB数据传输本身的延时,因此可将此部分延时降低至接近0ms,(参考表2)。

成员名称功能描述时间戳MCU记录的时间戳IMU数据采样1-第一部分三轴陀螺仪数据IMU数据采样1-第二部分三轴加速度数据IMU数据采样2-第一部分三轴陀螺仪数据IMU数据采样2-第二部分三轴加速度数据磁力计采样三轴磁力计数据瞳距瞳距数据接近开关(ProximitySwitch)接近开关保留字节(Reserve)保留字节,用于结构体32bit对齐

表2.IMU数据上报通讯协议

可选的,本实施例中定义的数据包大小能够扩展,因此可以支持惯性测量单元IMU向上位机上报的数据包包含更多组姿态信息数据。

所述的上位机在未接收到下位机所传输的虚拟设备姿态信息数据时会被阻塞,以此保证当下位机发送了姿态信息数据,上位机可在第一时间接收数据,因此在本实施例中传输延时基本等于USB数据传输本身的延时。

以上所述,仅为本发明具体实施方式。本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。

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