论文部分内容阅读
随着虚拟现实技术和计算机的不断发展,人们一直就幻想着能和计算机面对面的对话和交流,而虚拟现实技术改善了人机界面、跨越时空的限制,使得人们能和计算机创造出来的虚拟世界进行交互,获得虚拟环境的感知。其中虚拟现实头盔的出现更是将虚拟现实技术在娱乐科技上的应用发挥的淋漓尽致,同时也对虚拟现实设备上的硬件和软件有着更高的要求。但是虚拟现实头盔在使用时会出现画面跟随头部运动有延时的问题,进而使体验者产生眩晕感。而且虚拟现实环境及其相关算法的采用在效果上也不能呈现给体验者良好的沉浸感。这两个关键问题也受到了人们越来越多的关注,为了改善虚拟现实头盔的延时感和立体感所带来的不良效果,本文提出了一种采用复合互补滤波进行修正头部角度并基于Unity3D引擎开发的虚拟现实头盔。在此主要做了如下三个方面的工作:1.对于虚拟现实头盔所产生的延时感问题上,本文采用集成了三轴的陀螺仪、加速度计和三轴电子罗盘的MPU6000芯片采集佩戴者的头部角度信息。在ARM微处理器对头部角度信息的处理上采用复合互补滤波算法,该方法对由陀螺仪积分累加得到的角度和以加速度计为基准累加的角度进行修正,从而采集到头部的俯仰、翻滚以及偏航等低误差的姿态角信息,并具有自校准、高精度、连续性强的特点,进而降低了虚拟现实头盔画面传输上的延时感,头盔给用户带来的的眩晕问题也得到了解决。2.在头部数据传输上,采用NRF无线模块把低误差的航姿角度值传输到负责处理图像输出的PC端,主要包括设置发送端地址、接收端的地址和波特率,并利用串行端口类SerialPort来接收数据,从而使显示画面可以跟随头部运动而变化,实现体验者和虚拟现实世界的交互。采取NRF无线模块进行头部数据传输更快速,可以进一步降低虚拟现实头盔画面传输上的延时感。3.在解决虚拟现实头盔立体感的问题上,在此采用Unity3D引擎进行虚拟环境的搭建,并整合ARM微处理器传输来的头部角度数据,以便人机交互。Unity3D引擎具有强大的渲染机制,最后采用自带的shader语言来进行算法开发,通过改变画面各个像素点颜色值的方法对画面果效进行反畸变来抵消头盔上透镜对画面产生的畸变效果,透镜具有调焦并可以扩大视野范围的作用。应用结果表明,此法可给体验者带来更好的立体感,也有身处虚拟环境中的错觉。