虚拟现实系统数据传输方法与流程

文档序号:15491797发布日期:2018-09-21 20:44阅读:457来源:国知局

本发明涉及虚拟现实技术领域,尤其涉及一种虚拟现实系统数据传输方法。



背景技术:

目前,虚拟现实系统中,mcu通过通讯接口读取imu的数据,接着mcu将读取到的imu数据,通过usb线把数据上报给计算机,计算机获取imu数据后,将数据传输给图像系统,然后在虚拟现实显示器上显示相应的内容。

目前的虚拟现实系统中,普遍存在以下中的一种或多种问题:

1、mcu采用轮询方式读取轮询imu状态;

2、mcu使用低速的i2c接口读取imu数据;

3、imu数据融合使用mcu进行计算,实时性较差;

4、imu数据读取后不能及时上报给计算机处理;

5、imu数据传输过程中,无法判断数据是否出错;

6、计算机处理imu数据不及时。

当存在上述一种或多种问题时,imu数据的传输都会受到影响。

虚拟现实沉静感很大程度依赖于运动传感器实时传输,如果运动传感器有所延迟,会产生运动滞后,画面延迟等情况,让佩戴虚拟现实设备的人感觉不适,甚至产生呕吐,用户体验不佳。



技术实现要素:

为解决上述技术问题,本发明提出一种虚拟现实系统数据传输方法,旨在实现虚拟现实系统中数据高精度、低延迟传输的目的,提升用户体验效果。

为实现上述目的,本发明提供一种虚拟现实系统数据传输方法,其特征在于,所述虚拟现实系统包括虚拟现实设备和主机,所述虚拟现实设备包括mcu、imu、以及图像系统,所述方法包括以下步骤:

在所述虚拟现实设备与所述主机建立通讯连接后,所述主机创建imu数据处理线程,用以接收mcu发送的imu数据;

在imu数据更新时,所述mcu以中断模式读取更新后的imu数据;

所述mcu对更新后的imu数据按照预设格式进行封装;

所述mcu将封装后的imu数据发送至所述主机;

所述主机按照预设格式解析出所述封装后的imu数据;

所述主机将解析出的imu数据进行融合算法处理,得到姿态数据;

所述主机将所述姿态数据发送至图像系统,以在所述虚拟现实设备的显示器上根据所述姿态数据显示相应的图像。

本发明的进一步的技术方案是,在所述虚拟现实设备与所述主机建立通讯连接后,所述主机创建imu数据处理线程的步骤之前包括:

所述mcu初始化虚拟现实设备系统和imu。

本发明的进一步的技术方案是,所述mcu设置有spi接口,所述mcu初始化虚拟现实设备系统和imu的步骤包括:

所述mcu初始化抢占操作系统,创建多个不同优先级任务;

所述mcu初始化imu、以及所述spi接口;

将所述imu设置为高速上报模式,同时触发为中断模式。

本发明的进一步的技术方案是,所述主机创建imu数据处理线程的步骤包括:

所述主机将所述线程设置为最高优先级;

所述主机将所述线程绑定到指定的cpu核心上;

所述主机将所述线程设置为永不休眠;

所述主机运行所述线程。

本发明的进一步的技术方案是,所述在imu数据更新时,所述mcu以中断模式读取更新后的imu数据的步骤包括:

在imu数据更新时触发中断程序,所述mcu在中断程序中通过所述spi接口读取所述imu的寄存器数据。

本发明的进一步的技术方案是,所述mcu对更新后的imu数据按照预设格式进行封装的步骤包括:

所述mcu将所述imu数据放到指定的缓冲区,设置标志位,退出中断;

所述mcu执行最高优先级任务,检测标志位,将所述imu数据按照预设格式进行封装。

本发明的进一步的技术方案是,所述预设格式为:桢头+加速度x轴+加速度y轴+加速度z轴+陀螺仪x轴+陀螺仪y轴+陀螺仪z轴+磁力计x轴+磁力计y轴+磁力计z轴+crc校验+桢尾。

本发明的进一步的技术方案是,所述桢头和桢尾为一次完整数据的标识。

本发明的进一步的技术方案是,所述加速度x轴、加速度y轴、加速度z轴、陀螺仪x轴、陀螺仪y轴、陀螺仪z轴、磁力计x轴、磁力计y轴、磁力计z轴分别采用两个字节传输。

本发明的进一步的技术方案是,所述mcu将封装后的imu数据发送至所述主机的步骤包括:

所述mcu将封装后的imu数据通过usb2.0高速接口模式或usb3.0接口发送给所述主机。

本发明虚拟现实系统数据传输方法通过上述技术方案,在所述虚拟现实设备与所述主机建立通讯连接后,所述主机创建imu数据处理线程,用以接收mcu发送的imu数据;在imu数据更新时,所述mcu以中断模式读取更新后的imu数据;所述mcu对更新后的imu数据按照预设格式进行封装;所述mcu将封装后的imu数据发送至所述主机;所述主机按照预设格式解析出所述封装后的imu数据;所述主机将解析出的imu数据进行融合算法处理,得到姿态数据;所述主机将所述姿态数据发送至图像系统,以在所述虚拟现实设备的显示器上根据所述姿态数据显示相应的图像,实现了虚拟现实系统中数据高精度、低延迟传输的目的,提升了用户体验效果。

附图说明

图1是本发明虚拟现实系统数据传输方法较佳实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:在虚拟现实设备与主机建立通讯连接后,主机创建imu(inertialmeasurementunit,惯性测量单元)数据处理线程;在imu数据更新时,mcu以中断模式读取更新后的imu数据;mcu对更新后的imu数据按照预设格式进行封装;mcu将封装后的imu数据发送至主机;主机按照预设格式解析出封装后的imu数据;主机将解析出的imu数据进行融合算法处理,得到姿态数据;主机将姿态数据发送至图像系统,以在虚拟现实设备的显示器上根据姿态数据显示相应的图像,从而实现虚拟现实系统中imu数据高精度、低延迟传输的目的,给用户带来身临其境的感觉,提升用户体验效果。

具体地,请参照图1,图1是本发明虚拟现实系统数据传输方法较佳实施例的流程示意图。

本实施例中,所示虚拟现实系统包括虚拟现实设备和主机,所述虚拟现实设备包括mcu、imu、以及图像系统,所述mcu设置有spi接口。

imu(惯性测量单元)是测量物体三轴姿态角(或角速率)以及加速度的装置。一般的,一个imu包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。

如图1所示,本发明较佳实施例提出的虚拟现实系统数据传输方法包括以下步骤:

步骤s10,在所述虚拟现实设备与所述主机建立通讯连接后,所述主机创建imu数据处理线程,用以接收mcu发送的imu数据。

步骤s20,在imu数据更新时,所述mcu以中断模式读取更新后的imu数据。

步骤s30,所述mcu对更新后的imu数据按照预设格式进行封装。

步骤s40,所述mcu将封装后的imu数据发送至所述主机。

具体实施时,所述mcu将封装后的imu数据可以通过usb2.0高速接口模式或usb3.0接口发送给所述主机。

步骤s50,所述主机按照预设格式解析出所述封装后的imu数据。

步骤s60,所述主机将解析出的imu数据进行融合算法处理,得到姿态数据。

步骤s70,所述主机将所述姿态数据发送至图像系统,以在所述虚拟现实设备的显示器上根据所述姿态数据显示相应的图像。

作为一种实施方式,本实施例中,上述步骤s10,在所述虚拟现实设备与所述主机建立通讯连接后,所述主机创建imu数据处理线程的步骤之前包括:

步骤s01,所述mcu初始化虚拟现实设备系统和imu。

具体的,所述mcu初始化虚拟现实设备系统和imu的步骤包括:

所述mcu初始化抢占操作系统,创建多个不同优先级任务;

所述mcu初始化imu、以及所述spi接口;

将所述imu设置为高速上报模式,同时触发为中断模式。

作为一种实施方式,上述步骤s10,所述主机创建imu数据处理线程的步骤包括:

步骤s101,所述主机将所述线程设置为最高优先级;

步骤s102,所述主机将所述线程绑定到指定的cpu核心上;

步骤s103,所述主机将所述线程设置为用不休眠;

步骤s104,所述主机运行所述线程。

作为一种实施方式,上述步骤s20,所述在imu数据更新时,所述mcu以中断模式读取更新后的imu数据的步骤包括:

在imu数据更新时触发中断程序,所述mcu在中断程序中通过所述spi接口读取所述imu的寄存器数据。

上述步骤s30,所述mcu对更新后的imu数据按照预设格式进行封装的步骤包括:

所述mcu将所述imu数据放到指定的缓冲区,设置标志位,退出中断;

所述mcu执行最高优先级任务,检测标志位,将所述imu数据按照预设格式进行封装。

其中,所述预设格式为:桢头+加速度x轴+加速度y轴+加速度z轴+陀螺仪x轴+陀螺仪y轴+陀螺仪z轴+磁力计x轴+磁力计y轴+磁力计z轴+crc校验+桢尾。

可以理解的是,本实施例中,所述桢头和桢尾为一次完整数据的标识。

所述加速度x轴、加速度y轴、加速度z轴、陀螺仪x轴、陀螺仪y轴、陀螺仪z轴、磁力计x轴、磁力计y轴、磁力计z轴分别采用两个字节传输。

本发明虚拟现实系统数据传输方法从系统方面对数据的传输进行了全方位的设计,以达到高精度、低延迟的imu数据传输,主要表现在如下各个环节上:

在mcu方面,让imu数据更新后用中断方式进行处理,而不是使用常用的轮询方式来获取数据;在读取数据接口上,使用高速的spi接口,而不是低速的i2c接口来获取数据;数据接收后,触发最高优先级任务对数据进行传输;使用精简的协议对imu数据进行封装,此协议具有占用字节少,稳定性高的特点;这里的每个环节都是以最快的方式进行处理。

在主机方面,设定线程为永不休眠的线程,确保imu数据第一时间能够被接收到;线程绑定到指定cpu核心上,减少任务切换带来的资源消耗,能够充分利用cpu资源;线程设定为最高优先级,可以让线程尽可能少的被其他线程抢占;imu数据的融合处理放置到主机上处理,而不是放在mcu上处理,因为主机的计算能力强于mcu,可以节省不少时间。

本发明在各个环节上设计使得虚拟现实中的imu数据传输能够达到高精度/低延迟的目的。

综上所述,本发明虚拟现实系统数据传输方法通过上述技术方案,在所述虚拟现实设备与所述主机建立通讯连接后,所述主机创建imu数据处理线程,用以接收mcu发送的imu数据;在imu数据更新时,所述mcu以中断模式读取更新后的imu数据;所述mcu对更新后的imu数据按照预设格式进行封装;所述mcu将封装后的imu数据发送至所述主机;所述主机按照预设格式解析出所述封装后的imu数据;所述主机将解析出的imu数据进行融合算法处理,得到姿态数据;所述主机将所述姿态数据发送至图像系统,以在所述虚拟现实设备的显示器上根据所述姿态数据显示相应的图像,实现了虚拟现实系统中数据高精度、低延迟传输的目的,提升了用户体验效果。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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