一种可灵活组合的实时光学定位系统的制作方法

文档序号:9929302阅读:477来源:国知局
一种可灵活组合的实时光学定位系统的制作方法
【技术领域】
[0001]本发明属于室内定位技术领域,具体地说,涉及一种可灵活组合的实时光学定位系统。
【背景技术】
[0002]随着2012年一款头戴式显示器,OCULUS Rift,在Kickstarter网站参与众筹,虚拟现实(Virtual Reality,简称VR)技术再一次进入大众的视野。借助头戴式显示器这一款VR设备,用户身体感官将完全沉浸于虚拟的游戏世界,几乎没有“屏幕”的概念。尽管头戴式显示器在内容输出上给用户带来全新的沉浸式体验,VR在交互输入技术方面仍面临着挑战。目前大部分借助头戴式显示器的VR应用都要求用户处在固定的位置,无法实现自由移动,用户体验受到限制。而为了带给用户更好的体验,就需要借助一项交互输入技术一一用户实时定位。借助该技术,系统可以追踪到用户在真实环境中自由行走的位置,进而将用户的位置融合到对应的虚拟世界中,并输出对应位置实时渲染的环境,同时触发对应游戏事件。而作为VR交互应用中用户位置输入,要求定位系统达到厘米级的精度和至少20赫兹的采样频率,以避免VR体验中出现跳屏、卡屏和延迟等问题。
[0003]当前的室内定位系统,主要根据无线电波、超声波技术或光学原理来实现,如基于射频标签(RFID)、ZigBee、蓝牙(Bluetooth,BT)、超宽带无线电(Ultra Wide Band,UffB)、红外定位、LED定位、计算机视觉定位和超声波定位等。基于无线电波原理的定位系统,定位精度目前只能达到分米级,其中定位精度最好的是UWB定位系统,精度可达30cm。而基于超声波技术的定位系统,由于受到声速的限制,定位的采样频率较低,一般低于20赫兹。基于光学原理的定位系统在定位精度和采样频率上都能满足VR应用的要求,是较理想的用户位置实时追踪解决方案。但是,目前支持VR交互应用的光学定位系统较少,而且大部分光学定位系统的追踪范围有限且不可以通过灵活组合来适应VR应用需求。
[0004]微软推出的Kinect体感控制器是与Xbox360配套使用的一款3D摄像头,这款设备借助红外线来识别人体的运动,可以实时追踪用户的骨骼部位。同时微软也为开发人员提供了Windows平台下的Kinect应用开发接口。

【发明内容】

[0005]本发明所要解决的技术问题是,针对VR交互应用中,用户位置实时输入的技术短缺,提供了一种可灵活组合的实时光学定位系统。本发明主要利用Kinect和微软的开发接口来设计一套可适用于VR交互应用的实时光学定位系统。
[0006]为解决上述技术问题,本发明是采用如下技术方案实现的:
[0007]本发明包括有至少一个基本定位模块,至少一个基本定位模块覆盖VR应用场景区域;基本定位模块组合成VR应用场景所需的定位构型,并标定基本定位模块,通过标定基本定位模块,将现实环境和VR应用场景对应起来;基本定位模块与服务器之间网络连接;服务器和基本定位模块实时获取用户位置信息,并传送给VR应用程序处理。
[0008]所述的定位构型为H型、T型、U型、5型、6型或8型。
[0009]所述的基本定位模块具有至少一个Kinect。
[0010]所述的基本定位模块是由PC机、第一 Kinect、第二 Kinect、第三Kinect和第四Kinect组成,第一Kinect、第二 Kinect、第三Kinect和第四Kinect通过USB线分别连接PC机的四个串口,实现第一Kinect、第二Kinect、第三Kinect和第四Kinect与PC机间的数据传输;PC机通过开发接口调用Kinect骨骼帧的读取函数来获取用户质心的空间位置信息;
[0011]基本定位模块的实现方法:
[0012](I)Kinect布置:根据Kinect的垂直视角和一般用户的身高,第一Kinect、第二Kinect、第三Kinect和第四Kinect水平的安装于1.1米的高度,并将第一Kinect、第二Kinect、第三Kinect和第四Kinect的位置调整至等间距;Kinect之间的间距d根据定位需求设计;
[00?3] (2 )Kinect标定:规定基本定位模块坐标系Oxy,从第一 Kinect开始标定;选取第一Kinect视场117里不同位置的样本点,同时记录实测基本定位模块坐标系Oxy中样本点的坐标值和第一Kinect坐标系OxiyI检测到的样本点坐标值;利用最大似然法估计得到第一Kinect坐标映射到基本定位模块坐标的变换矩阵;由于Kinect视场边界处精度降低,为保证位置信号在Kinect之间过渡区域的连续性,第二 Kinect通过标定好的第一 Kinect来标定;选取第一 Kinect视场117和第二 Kinect视场116之间的重叠区域113里不同位置的样本点,同时记录第一Kinect检测到的样本点在基本定位模块坐标系Oxy中的坐标值和第二Kinect坐标系Ox2y2检测到的样本点坐标值;利用最大似然法估计得到第二 Kinect坐标映射到基本定位模块坐标的变换矩阵;采用第二 Kinect标定的方法,依次地,第三Kinect通过标定好的第二 Kinect来标定,完成第三Kinect坐标系Ox3y3到基本定位模块坐标系Oxy的转换;第四Kinect通过标定好的第三Kinect来标定,完成第四Kinect坐标系0x4y4到基本定位模块坐标系Oxy的转换;通过标定第一 Kinect、第二 Kinect、第三Kinect和第四Kinect,将第一Kinect、第二 Kinect、第三Kinect和第四Kinect坐标映射到了基本定位模块坐标,同时保证了第一 Kinect、第二 Kinect、第三Kinect和第四Kinect联合工作时定位信号的连续性;
[0014](3)Kinect定位区域划分和用户位置追踪:以相邻Kinect的中间位置为分界线,从第一 Kinect、第二 Kinect、第三Kinect和第四Kinect的视场里划分出相同且宽度均等于d的矩形区域块,矩形区域块横向对齐、纵向相接,即第一Kinect视场117里的矩形区域块114,第二 Kinect视场116里的矩形区域块112,第三Kinect视场107里的矩形区域块110和第四Kinect视场106里的矩形区域块108;受限于Kinect最大检测深度值为4.095m,矩形区域块的长度最大取值是4.095-0.5b/tan(0.5f3)m,其中β为Kinect的水平视角,β = 57° ;第一Kinect、第二 Kinect、第三Kinect和第四Kinect联合追踪用户115的位置,第一Kinect、第二Kinect、第三Kinect和第四Kinect分别负责实时追踪视场里对应的矩形区域块,第一Kinect、第二 Kinect、第三Kinect和第四Kinect视场的并集构成了基本定位块的视场,四个矩形区域块组成了基本定位块的定位区域。
[0015]基本定位模块由一台PC机和第一 Kinect、第二 Kinect、第三Kinect和第四Kinect组成;而在实际应用中,基本定位模块中Kinect的数量可根据定位需求而配置,但一台PC机最多只可连接四部Kinect;当配置好基本定位模块后,就可以通过若干个基本定位模块灵活地组合搭建出所需构型的定位系统。
[0016]与现有技术相比本发明的有益效果是:
[0017](I)低成本,搭建方便,灵活组合;Kinect安装方便,布置参数可调。基本定位模块可以非常灵活地组合成不同的定位构型,为不同VR交互应用提供了便利;
[0018](2)定位信号具有良好的实时性、连续性和稳定性;系统具有很高采样频率,保证了较高的用户位置信息更新频率,实时性好;利用Kinect之间重叠区域进行校正的方法,保证了 Kinect之间过渡区域位置信号的连续性,避免出现跳格的情况;
[0019](3)系统具有通用性,可作为任意VR交互应用中的输入设备;系统提供与VR交互应用的数据接口,作为其位置控制的输入设备。
【附图说明】
[0020]图1是基本定位模块示意图。
[0021 ]图2是基本定位块组合成L型定位系统的示意图。
[0022]图3是基本定位模块组合定位构型为H型的实例。
[0023]图4是基本定位模块组合定位构型为T型的实例。
[0024]图5是基本定位模块组合定位构型为U型的实例。
[0025]图6是基本定位模块组合定位构型为5型的实例。
[0026]图7是基本定位模块组合定位构型为6型的实例。
[0027]图8是基本定位模块组合定位构型为8型的实例。
[0028]图9是本发明的实施流程框图。
【具体实施方式】
[0029]本发明包括有至少一个基本定位模块100,至少一个基本定位模块100覆盖VR应用场景区域;基本定位模块100组合成VR应用场景所需的定位构型,并标定基本定位模块100,通过标定基本定位模块(100),将现实环境和VR应用场景对应起来;基本定位模块100与服务器之间网络连接;服务器和基本定位模块100实时获取用户位置信息,并传送给VR应用程序处理。
[0030]所述的定位构型为H型、T型、U型、5型、6型或8型。
[0031 ] 所述的基本定位模块100具有至少一个Kinect。
[0032]参阅图1,基本定位模块100是由PC机101、第一Kinect 102、第二Kinect 103、第三Kinect 104 和第四Kinect 105 组成,第一Kinect 102、第二 Kinect 103、第三 Kinect 104 和第四Kinect 105通过USB线分别连接PC机101的四个串口,实现第一Kinect 102、第二Kinect 103、第三Kinect 104和第四Kinect 105与PC机101间的数据传输;PC机101通过开发接口调用Kinect骨骼帧的读取函数来获取用户质心的空间位置信息;
[0033]基本定位模块的实现方法:
[0034](I)Kinect布置:根据Kinect的垂直视角和一般用户的身高,第一 Kinect 102、第二Kinect 103、第三Kinect 104和第四Kinect 105水平的安装于1.1米的高度,并将第一Kinect 102、第二 Kinect 103、第三Kinect 104和第四Kinect 105的位置调整至等间距;Kinect之间的间距d根据定位需求设计;
[0035](2)Kinect标定:规定基本定位模块100坐标系Oxy,从第一 Kinect 102开始标定;选取第一Kinect 102视场117里不同位置的样本点,同时记录实测基本定位模块100坐标系Oxy中样本点的坐标值和第一 Kinect 102坐标系Oxiyi检测到的样本点坐标值;利用最大似然法估计得到第一Kinect 102坐标映射到基本定位模块100坐标的变换矩阵;由于Kinect视场边界处精度降低,为保证位置信号在Kinect之间过渡区域的连续性,第二 Kinect 103通过标定好的第一Kinect 102来标定;选取第一Kinect 102视场117和第二 Kinect 103视场116之间的重叠区域113里不同位置的样本点,同时记录第一Kinect 102检测到的样本点在基本定位模块100坐标系Oxy中的坐标值和第二 Kinect 103坐标系Ox2y2检测到的样本点坐标值;利用最大似然法估计得到第二 Kinect 103坐标映射到基本定位模块100坐标的变换矩阵;采用第二Kinect 103标定的方法,依次地,第三Kinect 104通过标定好的第二Kinect 103来标定,完成第三Kinect 104坐标系Ox3y3到基本定位模块100坐标系Oxy的转换;第四Kinect 105通过标定好的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1