热电堆阵列融合跟踪的制作方法

文档序号:27948065发布日期:2021-12-11 15:55阅读:135来源:国知局
热电堆阵列融合跟踪的制作方法
热电堆阵列融合跟踪
1.相关申请的交叉引用
2.本技术要求2019年3月8日提交的美国专利申请号16/297,292的权益,所述申请出于所有目的特此以引用方式整体并入。


背景技术:

3.同时定位与地图创建(slam)是借以构造特定环境的地图同时跟踪目标对象在环境内的位置的技术。slam用于在开放环境(包括自动驾驶汽车)中进行机器人地图创建和导航。slam也可用于在封闭环境(诸如房间)中玩视频游戏或进行虚拟会议。
4.现有slam技术通常使用包含一个或多个相机的某种类型的摄像机配置,每个相机包含一个或多个光学传感器。可使用多种光学传感器类型,包括一维(1d)、2d、3d等。例如,在采用两个定点2d相机的情况下,每个相机可检测目标对象。slam应用的算法可确定目标对象与每个相机之间的距离,并且对此信息进行三角测量以确定目标对象的位置(例如,定位)。通常,尤其是当目标可能正在空间中移动和/或旋转时,还可连同相机设备采用惯性测量单元(imu)以检测目标的线性加速度和旋转速率。来自imu和相机设备两者的传感器输入的组合有助于实现更高程度的位置跟踪准确度。还存在其他slam技术,包括雷达slam、wifi

slam等。
5.然而,现有的基于slam的应用存在至少两个问题。首先,当采用imu跟踪移动目标在空间中的加速和旋转时,imu位置跟踪准确度至少由于偏移误差(也称为“漂移”)而随时间推移持续下降,从而降低slam技术的准确度。其次,虽然结合从其他设备(例如,相机)接收的感测数据可帮助提高slam算法的准确度,但这种设备当前会增加大量成本并且需要复杂的设置程序。因此,需要通过提供低成本但高度准确的位置跟踪解决方案来改进现有slam技术。


技术实现要素:

6.总体上,描述了用于确定用户装置位置的技术。在一个示例中,一种视频游戏系统包括视频游戏控制台、多个热信标以及与视频游戏控制台通信耦接的用户装置。所述用户装置包括热电堆阵列。所述用户装置还包括处理器和存储器,所述存储器存储指令,所述指令在由所述处理器执行时致使所述处理器执行操作。在一个操作中,所述处理器从所述热电堆阵列接收热数据。所述热数据对应于从所述多个热信标中的热信标发射并且由所述热电堆阵列检测到的热信号。在另一操作中,所述处理器基于所述热数据确定所述用户装置在三维(3d)空间中的位置。在另一操作中,所述处理器将所述用户装置的位置传输到所述视频游戏控制台。
7.在一个示例中,所述用户装置还可包括imu。所述用户装置的所述处理器可进一步执行操作。在一个操作中,所述处理器从所述imu接收imu数据。所述imu数据包括对应于所述用户装置在所述3d空间中的加速度的加速度数据和对应于所述用户装置在所述3d空间中的旋转速率的取向数据。在另一操作中,所述处理器通过向传感器融合算法输入所述热
数据、所述imu数据和先前位置数据来确定所述用户装置在所述3d空间中的位置。在一个示例中,所述处理器基于所述热数据并且独立于所述imu的所述imu数据来确定所述用户装置的初始位置。在另一示例中,所述先前位置数据存储在所述用户装置上。在又一示例中,所述传感器融合算法利用被训练为确定所述位置的人工智能模型。在另一示例中,所述传感器融合算法利用卡尔曼滤波器。
8.在一个示例中,所述传感器融合算法生成对应于所述热数据的置信值。所述置信值是基于所述多个热信标中在所述热电堆阵列的视野中的热信标的数量。所述置信值由所述传感器融合算法用于确定所述用户装置的所述位置。
9.在一个示例中,所述用户装置的所述处理器可进一步执行操作。在一个操作中,所述处理器从所述热电堆阵列接收第二热数据。所述第二热数据对应于从所述多个热信标中的第二热信标发射并且由所述热电堆阵列检测到的第二热信号。所述热信标和所述第二热信标同时在所述热电堆阵列的视野中。所述用户装置的所述位置进一步基于所述第二热数据来确定。
10.在一个示例中,由所述多个热信标中的热信标发射的所述热信号包括对于所述热信标唯一的标识符。所述标识符由所述热电堆阵列用于从所述多个热信标标识所述热信标。
11.在一个示例中,所述多个热信标中的每个热信标定位在游戏环境中。所述3d空间被映射到所述游戏环境的一部分,并且所述热信标被定位成使得对于所述用户装置在所述3d空间内的特定位置,所述热电堆阵列能检测来自至少两个热信标的热信号。
12.在一个示例中,所述用户装置是视频游戏控制器。在另一示例中,所述多个热信标中的每个信标是红外二极管。
13.还描述了一种用户装置。所述用户装置包括热电堆阵列。所述用户装置还包括处理器和存储器,所述存储器存储指令,所述指令在由所述处理器执行时致使所述处理器执行本文在上文公开的操作。
14.还描述了一种存储指令的非暂时性计算机可读存储介质。所述指令当在用户装置上执行时将所述用户装置配置为执行本文在上文公开的操作。
15.在一个示例中,所述非暂时性计算机可读存储介质被进一步配置为执行校准操作。在一个操作中,所述用户装置基于对应于从定位在所述3d空间中的所述多个热信标中的第一组热信标发射的第一热信号的第一热数据来确定所述用户装置的第一位置。在另一操作中,所述用户装置基于对应于从定位在所述3d空间中的所述多个热信标中的第二组热信标发射的第二热信号的第二热数据来确定所述用户装置的第二位置。在另一操作中,所述用户装置基于所述第一位置和所述第二位置生成所述3d空间的3d模型。在又一操作中,所述用户装置存储所述3d模型。
16.在一个示例中,所述非暂时性计算机可读存储介质被配置为执行另外的校准操作。在一个操作中,所述用户装置接收请求用户将所述用户装置移动到所述第一位置的指令。在另一指令中,响应于所述确定所述第一位置,所述用户装置接收请求所述用户将所述用户装置移动到所述第二位置的指令。
17.本公开的一些实施方案提供优于用于确定用户装置位置的当前技术的若干技术优势。首先,本公开提供一种与现有slam技术相比实现类似位置跟踪准确度同时显著降低
财力和人力资源成本的方法。例如,热信标(例如,红外二极管)的成本低廉且易于附连到房间的墙壁上。类似地,与一个或多个光学传感器(例如,相机的部件)的成本相比,热传感器也是廉价的。另外,本公开不仅可用作现有slam技术的替代方案,而且可用于提高现有系统和方法中的位置跟踪的准确度。
18.可通过参考本说明书的其余部分和附图来实现对本文所公开和建议的实施方案的性质和优点的进一步理解。
附图说明
19.图1示出根据本公开的实施方案的使用热电堆阵列来实现slam应用的系统的示例。
20.图2示出根据本公开的实施方案的包括从一个或多个热信标接收信号的热电堆阵列的用户装置。
21.图3是根据本公开的实施方案的利用热电堆阵列来实现slam的用户装置的示例性架构的框图。
22.图4示出根据本公开的实施方案的用于执行用户装置的校准的示例性流程。
23.图5示出根据本公开的实施方案的用于在包括热电堆阵列的用户装置上实现slam的示例性流程。
24.图6示出根据本公开的实施方案的用于在包括热电堆阵列和imu的用户装置上实现slam的示例性流程。
25.图7示出根据本公开的实施方案的适合于实现计算机系统的硬件系统的示例。
具体实施方式
26.总体上,描述了用于利用热传感器阵列来确定用户装置位置的系统和方法。通常,用户可在3d空间内操作用户装置(例如,视频游戏控制器、头戴式耳机、遥控棒等),3d空间被映射到物理空间(例如,视频游戏房间)的一部分。用户可通过在3d空间内以不同方向和不同速度移动用户装置来与用户装置交互。用户装置(例如,视频游戏控制器、虚拟现实(vr)头戴式耳机等)通常还将与计算中枢(例如,视频游戏控制台)交互,计算中枢进而可与其他装置交互并致使它们执行功能(例如,改变正在电视(tv)上显示的视频图像)。用户装置可与计算中枢进行的交互之一是确定其在3d空间内的位置并将所述位置发送到计算中枢。用户装置可通过利用用户装置的热传感器阵列来确定其位置。热传感器阵列可被配置为从一个或多个热信标(例如,ir led)接收热信号,所述热信标定位在物理空间中(例如,附连到游戏房间的墙壁)。基于从热传感器阵列接收的热数据,用户装置可确定其在3d空间中的位置,并且将所述位置传输到计算中枢。用户装置还可使用热数据连同其他传感器数据来确定其位置。
27.在一个示例中,用户装置还可包括imu并且从imu接收数据。用户装置还可已经存储先前位置(例如,最后所确定位置)。除了从热传感器阵列接收的热数据之外,用户装置还可将imu数据和先前位置数据输入到融合传感器算法中。融合传感器算法可使用不同数据输入来确定用户装置位置。用户装置然后可存储所述位置数据以便将来使用,例如,用作先前位置数据。
28.以上示例提供用于说明目的。本公开的实施方案不限于此。实施方案类似地适用于使用热传感器阵列来确定位置的大量slam应用。本文中接下来将进一步描述这些和其他实施方案。
29.图1示出根据本公开的实施方案的系统100的示例,所述系统100包括用户装置,所述用户装置进一步包括用于确定用户装置的位置的热传感器阵列。在一个示例中,位置确定实现slam应用。在图1中,描绘了游戏房间126,其中用户102佩戴游戏头戴式耳机104(例如,用户装置)以与视频游戏控制台106交互。视频游戏控制台进而可致使例如tv 108在屏幕上显示对应于游戏头戴式耳机104的移动的对象的移动。应理解,虽然图1和后续图示可描绘游戏环境内的slam应用,但不应将这种类型的场景的使用解释为对本公开的范围构成限制。例如,在一些实施方案中,可使用诸如会议室或剧院空间的物理空间,并且其他位置确定应用是可能的。一般来说,并且继续游戏房间示例,游戏房间126可允许将多个热信标110

124(例如,ir led)定位在房间126中。
30.用户装置104应包括被配置为从定位在房间126中的一个或多个热信标110

124接收热信号的一个或多个热传感器(例如,热传感器阵列或热电堆阵列)。应理解,虽然热电堆阵列是图1和后续附图中描绘的热传感器的类型,但其他类型的热传感器也可用作合适的热传感器。此外,虽然游戏头戴式耳机104是下文描绘的用户装置的类型,但包括热传感器的其他类型的移动计算装置可用作合适的用户装置。这可包括但不限于视频游戏控制器、游戏遥控棒、移动电话、笔记本电脑等。
31.在一些实施方案中,定位在房间126中的多个热信标110

124中的每个信标可发射热信号(例如,红外光)。任选地,由热信标发射的每个热信号可包括对于特定热信标来说唯一的标识符。例如,标识符可以是红外信号的调制频率,用户装置104的热电堆阵列可能够将其检测为对应于房间中的特定热信标的唯一信号。如下文更详细论述的,在一些实施方案中,用户装置104可能够通过相对于房间126中的至少两个热信标对其位置进行三角测量来提高其位置跟踪准确度。
32.在一些实施方案中,多个热信标110

124可定位在房间126中,使得对于用户102在房间126的3d空间内的特定位置,用户装置104的热电堆阵列可能够检测来自热电堆阵列的视野内的多个热信标中的至少两个热信标的热信号。例如,如图1所描绘,热信标110

124可各自附连到游戏房间126的墙壁上,并且彼此基本上等距间隔开。在校准过程(下文详细论述)期间,可指示用户102以弧状(例如,360度)运动来移动用户装置104。此校准过程可允许用户装置104构造3d空间的3d模型并将其存储在用户装置104上,3d空间对应于房间126的至少一部分,并且用户102可在3d空间内操作用户装置104。校准过程还可验证热电堆阵列的视野可检测来自房间126中3d空间内的特定点的至少两个信号。在其他实施方案中,并且取决于slam应用的类型(例如,房间126内的用户装置的预期使用范围),可将两个或更多个热信标定位在物理空间126中,以便用户装置104确定其位置。
33.图2示出从一个或多个热信标接收热信号的用户装置200的示例性特写视图。用户装置200是游戏头戴式耳机并且可对应于图1的用户装置104。在一个示例中,头戴式耳机200是虚拟现实(vr)或增强现实(ar)头戴式耳机。总体上,头戴式耳机200包括外壳210,所述外壳210可集成诸如显示器、处理单元、存储器、音频系统、i/o端口、图形处理单元、网络通信装置以及其他电子、电气和机械部件的部件。外壳210还集成(例如,容纳、附接或保持)
用于位置跟踪的另外的部件,使得另外的部件与外壳210刚性地连接。这些部件包括例如imu 214和热电堆阵列218。
34.在一个示例中,imu 214包括一个或多个加速度计、一个或多个陀螺仪和一个或多个磁力计。一个或多个加速度计测量沿着x、y和z轴的移动。总体上,一个或多个陀螺仪测量360度旋转。一个或多个磁力计确定朝向磁场的取向。因此,可从这些传感器的读数生成指示头戴式耳机200的旋转运动的惯性数据(例如,包括加速度数据、取向数据和/或旋转数据)。还可通过头戴式耳机200基于用户102头部运动的速度和时间来生成平移运动。例如,限定了运动矢量。速度是从加速度测量的,并且距离是作为速度和时间的函数测量的。方向源自旋转和取向。运动矢量限定运动的距离和方向,从而允许跟踪头戴式耳机200沿着x、y和z轴的平移运动。因此,通过以运动矢量限定惯性数据、距离和方向,可随时间推移跟踪用户头戴式耳机200的运动。因此,基于惯性数据,并且通过相对于时间执行积分,可在3d空间中针对具体时间点确定头戴式耳机200的位置。imu 214的处理单元(例如,信号处理器)可从由此类imu传感器感测的数据生成位置数据。
35.如上所述,利用imu来确定位置的限制之一在于imu通常经受累积误差。由于slam应用可相对于时间持续地对加速度进行积分以计算速度和位置,因此任何测量误差,无论多么小,都随时间推移而累积,从而导致漂移。漂移是对用户装置最初可确定其所在的位置相较于其实际位置之间的差异的量度。因此,头戴式耳机200还可包含热电堆阵列218,头戴式耳机200可使用热电堆阵列连续地校正漂移误差并确定更准确的位置。
36.在一个示例中,热电堆阵列218是热红外传感器阵列,其被配置为通过检测来自一个或多个热信标204、206(其可对应于图1的热信标110

124中的一个或多个)的红外能量而从远处测量一个或多个热信标204、206的温度。热电堆阵列可包括连接在硅芯片上的热电偶,所述热电偶被配置为将从热信标204、206的热信号接收的热能转换成呈电压输出形式的电能。通常,输入热能与电压输出成比例。因此,因为用户装置200越接近热信标(例如,从而产生更高温差)就可检测到越多光能(例如,信号),所以热电堆阵列可用于测量用户装置200与特定热信标之间的距离。在一些实施方案中,连接到热电堆阵列218的处理单元(例如,与热电堆阵列218集成的信号处理器)可基于由热电堆阵列218的元件输出的电压来传输对应于从用户装置200到热信标204、206的距离的热数据。在一些实施方案中,热电堆可由单个元件(例如,像素)、双元件等组成。在其他实施方案中,热电堆可以是线性(例如,16、32)或面(例如,32x32)像素阵列。虽然本文论述的实施方案论述热电堆阵列,但不应将本公开解释为如此受限制。在一些实施方案中,热电堆阵列218的任何一个或多个给定像素可能够在给定时间检测来自一个或多个热信标的热信号,前提是热信标在像素的视野内。如上所论述,并且如下文关于图3进一步所论述,从热电堆阵列218生成的热数据可用于对用户装置200与至少两个热信标204、206之间的距离进行三角测量以确定用户装置200在物理空间126中的3d位置。在一些实施方案中,还可将来自热电堆阵列的热数据与imu数据组合以输出用户装置200在物理空间126中的3d位置。
37.图3是根据本公开的实施方案的用于用户装置302(其可对应于图1的用户装置104和/或图2的用户装置200)并且利用热电堆阵列来实现slam的示例性架构的框图300。用户装置302可包括至少一个存储器304、一个或多个处理单元(或处理器)316、热电堆阵列318、imu 320和通信装置322,以及其他部件。一个或多个处理器316可视情况以硬件实现。用户
装置302的热电堆阵列318可被配置为检测来自一个或多个热信标204、206的一个或多个热信号(例如,红外光)。通信装置322可被进一步配置为使用任何合适的通信路径与计算中枢106(例如,视频游戏控制台、虚拟会议服务器等)通信。这可包括例如电线或电缆、光纤、电话线、蜂窝链路、射频(rf)链路、wan或lan网络、互联网或任何其他合适的介质。
38.存储器304可存储可在一个或多个处理器316上加载和执行的程序指令,以及在这些程序的执行期间生成的数据。根据用户装置302的配置和类型,存储器304可以是易失性的(诸如随机存取存储器(ram))和/或非易失性的(诸如只读存储器(rom)、闪存存储器等)。在一些实现方式中,存储器304可包括多种不同类型的存储器,诸如静态随机存取存储器(sram)、动态随机存取存储器(dram)或rom。用户装置302还可包括附加的存储装置(未示出),诸如可移动存储装置或不可移动存储装置,包括但不限于磁存储装置、光盘和/或磁带存储装置。磁盘驱动器及其相关联计算机可读介质可为计算装置提供对计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。
39.更详细地转向存储器304的内容,存储器304可包括操作系统306和用于实现本文所公开特征的一个或多个应用模块或服务,包括校准模块308、传感器融合算法模块312和热电堆阵列算法模块314。应理解,由一个模块执行的任务中的任一种可由其他模块中的一个或多个执行,因此,为了说明目的而包括本文所提供的模块定义。
40.操作系统306可提供用于用户装置302的一般管理和操作的可执行程序指令,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在由用户装置302的处理器执行时允许用户装置302执行其预期功能。操作系统的合适实现方式是已知的或可商购获得的,并且是本领域普通技术人员特别是根据本公开容易实现的。
41.校准模块308可负责确定3d空间的3d模型并将其维持在存储器304中,其中3d空间可对应于物理空间(例如,游戏房间126)的至少一部分。在一些实施方案中,校准模块308还可负责验证:对于3d空间内的给定位置,用户装置302的热电堆阵列318可检测来自多个信标110

124中的至少两个信标的热信号(例如,这些信标在热电堆阵列的一个或多个元件的视野内)。这有助于通过下文论述的热电堆阵列算法模块314实现位置三角测量。在一些实施方案中,校准模块308可执行如图4所述的操作。在一个实施方案中,并且使用图1的游戏房间126作为示例,3d模型(其可表示为3d线框模型)对应于用户102预期在其内操作用户装置104的3d空间。例如,用户可能仅意图在游戏房间的靠近中心的部分(并且从中心向外辐射人可到达的某个距离)内操作用户装置104。校准模块308可指示用户通过以下方式来开始校准:将装置移动到房间128的中心(例如,他们主要意图操作装置的地方),然后在原地站立和转动的同时,在对房间的360度视觉扫描(分为更小弧段(例如,90度转动))中移动装置104。在每段处,如上所述,用户装置104可验证至少两个热信标在热电堆的视野内。此外,用户装置104可确定用户装置104与在弧段内可见的每个热信标204、206之间的距离并将其存储在存储器304中。一旦用户装置104完成对房间的扫描,校准模块308可使用在用户装置104与信标110

124中的每一个之间(相对于房间的中心128)确定的位置数据来构造3d空间的3d模型。在一些实施方案中,x、y和z轴的原点可位于用户102在校准期间最初将用户装置104定位在的位置(例如,中心128)处。在一些实施方案中,可能不需要完全360度视觉扫描来执行校准。例如,如果用户104通常将向前面向tv 108操作用户装置104,则校准可仅推荐
对房间的部分(例如,180度)扫描。在这种情况下,可需要在房间中预先定位更少数量的热信标以便构造3d模型。
42.传感器融合算法模块312可负责确定用户装置302的位置。在一些实施方案中,传感器融合模块312可在已执行校准308之后执行。传感器融合模块312可组合来自一个或多个源的感测数据输入以提高确定用户装置302的位置时的准确度。在一个实施方案中,传感器融合模块312可从热电堆阵列318接收热数据作为感测输入以及从imu 320接收imu数据作为感测输入。
43.在一些实施方案中,在组合来自不同传感器的感测输入数据之前,传感器融合模块312可首先执行热电堆阵列算法模块314。热电堆阵列算法模块314可负责基于两个或更多个距离值(例如,对应于用户装置302与至少两个热信标204、206之间的距离)对用户装置302的位置进行三角测量。位置(例如,定位)可呈在校准期间确定的3d模型内的x、y和z坐标的形式。在一些实施方案中,热电堆阵列算法模块314除了输出位置之外还可输出与位置对应的置信值。置信值可根据在热电堆阵列的视野内检测到的热信标的数量(例如,所获得的距离值的数量)而增大或减小。例如,如果仅检测到一个热信标,则虽然热电堆阵列算法模块314仍可输出位置值,但对应置信值可能是低的。相反,如果在视野内检测到两个或更多个热信标,则模块314可输出高置信值。在一些实施方案中,用户装置302可以特定频率执行热电堆阵列算法模块314。例如,模块314可以120hz(大约每8.33毫秒一次)运行。通常,基于热数据生成更新位置的更高频率将提高位置跟踪准确度。例如,在融合热数据和imu数据两者(下文进一步论述)时,基于热数据的更频繁位置信息将有助于校正imu数据内的漂移误差。
44.在另一实施方案中,并且返回到上文所论述的传感器融合模块312,模块312可接收来自热电堆阵列算法模块314的位置信息(x、y和z坐标)(例如,在算法314使用热数据确定3d位置值和对应置信值之后)以及来自imu 320的imu数据的位置信息(x、y和z坐标)。传感器融合模块312可使用多种算法中的一种或多种将不同位置数据组合(或“融合”)在一起,并且以更高准确度输出3d空间中的单个位置。
45.在一个实施方案中,传感器融合模块312可采用人工智能模型,所述人工模型被训练为利用来自不同源的传感器数据来确定用户装置302的位置。如本文所用,术语“人工智能”是指任何合适的计算机实现的人工智能技术,包括机器学习(有监督或无监督)、自然语言处理、机器感知、计算机视觉、情感计算、统计学习和分类(包括使用隐马尔可夫模型和贝叶斯网络模型)、强化学习包括神经网络、搜索算法和优化算法(包括进化计算)和自动推理。例如,神经网络可被训练为接收imu数据、热数据和一个或多个先前位置数据作为输入。此信息可用于输出用户装置302的经校正位置和/或预测用户装置302在特定时间间隔内将位于的下一位置。
46.在另一实施方案中,传感器融合模块312可采用定点算法,诸如采用卡尔曼滤波器。卡尔曼滤波器可使用来自热电堆阵列、imu和先前位置数据的感测输入数据来构建预测模型。预测模型可考虑状态变量(例如,一个或多个先前位置、热数据的轮询频率、漂移误差的先前测量结果等)。
47.图4示出根据本公开的实施方案的用于执行对图1的系统100的用户装置102的校准的示例性流程400。虽然操作以特定次序示出,但操作中的一些可重新排序或省略。此外,
流程400(或本文所述的任何其他流程、或变体、和/或其组合)中的一些或全部可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可由硬件或其组合实现为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或者一个或多个应用程序)。代码可以例如包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读储存介质可以是非暂时性的。
48.在一个示例中,流程包括操作402,所述操作402涉及:将热信标110

124定位在物理空间126内,所述物理空间126可以是游戏环境。使用视频游戏系统100的示例,视频游戏控制台106可(例如,在电视屏幕上视觉地,通过头戴式耳机可听地,或一些其他机制)提示用户102通过将热信标110

124定位在物理空间126(例如,游戏房间)中来开始校准过程。根据游戏应用的类型,视频游戏控制台106可关于应使用多少热信标以及推荐何种覆盖度(例如,360度、180度等)指示用户。例如,如果应用需要用户102能够在玩游戏时在对房间126周边的360度视觉扫描中移动视频游戏控制器104(例如,头戴式耳机),则可推荐用户102围绕房间周边放置热信标,如图1所描绘。例如,热信标110

124可定位在四个墙壁的中心112、116、120、124中和墙壁拐角110、114、118、122附近。以此方式,对于头戴式耳机104在游戏环境内的给定位置,头戴式耳机104的热电堆阵列218可能够检测来自其视野内的至少两个热信标204、206的热信号。
49.在一个示例中,流程包括操作404,所述操作404涉及:接收请求用户将用户装置104移动到第一(或下一)位置的指令。应理解,此指令可直接来自用户装置104本身(例如,来自头戴式耳机的音频命令),或者来自通信连接到用户装置104的计算中枢106(例如,视频游戏控制台)。在指令可来自计算中枢106的情况下,用户装置104可迭代通过校准过程中的下一步骤(例如,下文论述的操作406),然后将确认消息(或信息/错误消息)发送到计算中枢106,所述计算中心106进而可将下一指令消息中继给用户102。
50.在用户102被指示将用户装置104移动到第一位置的情况下,并且继续上述游戏示例,头戴式耳机104(例如,通过音频指令、闪光灯等)可指示用户102移动到房间的中心128,用户102意图将中心作为游戏体验的中心。头戴式耳机104可使用此位置128作为头戴式头戴式耳机104作为校准过程400的结果构建并存储在头戴式头戴式耳机104上的3d模型的原点。应理解,原点的最佳位置可取决于应用的类型,并且在一些实施方案中,可不位于房间的中心。在一些实施方案中,用户102然后可发信号通知视频游戏控制台106或头戴式耳机104:用户已完成先前步骤并且准备好继续。
51.在一个示例中,流程包括操作406,其中用户装置104可基于对应于由多个热信标中的至少两个热信标发射的热信号的热数据来确定用户装置104的第一(或下一)位置。在用户装置104正在确定第一位置的情况下,基于先前操作404,用户102可已经就位。继续上述游戏示例,头戴式耳机的校准模块308可利用从热电堆阵列318接收的热数据来分别确定热电堆阵列318与热电堆阵列318的视野内的至少两个信标204、206之间的至少两个距离值。基于此距离信息,校准模块308可对头戴式耳机的位置进行三角测量并且将所述位置和距离值存储在存储器304中。在校准模块308不能在视野内检测到至少两个信标的情况下,它可用警告提示用户102(例如,以检查热信标的定位)。
52.在一些实施方案中,在操作408处,一旦校准模块308已基于来自其视野内的至少两个热信标的信息确定了第一(或下一)位置,校准模块308就可确定校准是否完成。在一些
实施方案中,校准模块308可通过确定其是否具有足够的信息来构造3d空间的3d模型来执行此确定410。在其他实施方案中,校准模块308可预先确定它必须捕获房间126的所有四个面,并且持续提示用户转到下一位置,直到它已捕获所有四个面的数据为止。校准模块308可使用任何合适的机制来确定校准是否完成。如果校准完成,则流程可前进到操作412,这在下文进一步描述。
53.如果校准程序尚未完成,则流程可循环回到操作404,指示用户移动到下一位置(例如,定位)。继续上文游戏示例,头戴式耳机104可输出可听指令、触觉反馈或任何其他合适的方法来向用户102指示以移动到下一位置。在一个实施方案中,头戴式耳机104可指示用户“原地转动大约90度,然后停止并等待另外的指令”。校准模块308然后可继续校准并执行操作406,如上所论述。此循环可继续直到校准完成为止。
54.在一个示例中,在操作412处,校准模块308可确定它具有足够的数据来构造物理空间126的3d模型,其中第一位置用作3d模型的原点。相对于第一位置所确定的(例如,到热信标110

124的)距离中的每一个可用于确定3d模型的尺寸。在一些实施方案中,校准模块308可使用任何合适的机制来构造3d模型。一旦已构造3d模型,校准模块308就可将模型存储在用户装置302上(例如,存储器304或其他存储装置中)。
55.图5示出根据本公开的实施方案的用于在包括热电堆阵列的用户装置上实现slam的示例性流程500。在一些实施方案中,流程500可在执行图4的校准流程400并且已生成3d空间的3d模型之后执行。虽然下文的流程操作论述利用遥控棒作为用户装置(例如,代替图1的视频游戏系统内的头戴式耳机104),但可使用任何合适的用户装置和/或系统。
56.在一个示例中,在操作502处,用户装置可接收对应于从多个热信标中的一个热信标发射的热信号的热数据,所述热信号由用户装置的热传感器阵列检测。用户102可操作遥控棒来玩虚拟乒乓球,其中游戏涉及在用户玩游戏时用户将遥控棒移动到不同位置中。用户102还可以不同加速率旋转遥控棒和摆动遥控棒。如上所述,部分地根据应用的类型,可增加遥控棒可轮询热电堆阵列318以接收热数据的频率以相对于时间实现更高的位置跟踪准确度。在一些实施方案中,这可涉及:热电堆阵列算法模块314以至少120hz的频率(例如,大约每8.33毫秒接收一次更新)从热电堆阵列接收电压读数(其对应于特定热信标的ir光信号)。
57.在一个示例中,在操作504处,用户装置(例如,遥控棒)可基于从热电堆阵列接收的数据确定其在3d空间中的位置。具体地,在一些实施方案中,对于每个电压读数,热电堆阵列算法模块312可计算到热信标的相关联距离。如上所述,模块314然后可使用来自至少两个热信标的热信号对其位置进行三角测量。在一些实施方案中,模块312可使用游戏房间126内的3d空间的3d模型(其先前在校准过程期间被存储)来确定遥控棒在3d空间中的位置。在一些实施方案中,遥控棒可利用置信值(例如,由热电堆阵列算法模块314生成)来确定其位置。如果例如在特定时间仅检测到一个热信标,则置信值可较低。因此,遥控棒可决定忽略所述位置值,将其与其他位置数据组合以提高准确度,或执行任何其他合适的行为。应理解,在一些实施方案中,遥控棒可利用仅热数据(除了其他传感器数据)来确定遥控棒的位置。然而,在其他实施方案中,除了热数据之外,遥控棒还可利用其他感测输入(例如,imu数据)和/或变量来确定遥控棒的位置,所述位置可进一步输入到感测融合算法312中以用于组合(如下文在图6中论述)。
58.应理解,与可能需要在用户装置104外部进行计算以确定用户装置的位置(例如,外部光学传感器,由视频游戏控制台处理等)的其他slam应用相比,本公开的一个技术优点在于:它使得用户装置104能够使用其自己的内部部件(部分地基于从热信标接收的热信号)来确定其位置。这可例如在减少诸如时延、带宽限制等网络连接问题方面提高系统可靠性。
59.在一个示例中,在操作506处,并且继续上述示例,遥控棒可将遥控棒的位置传输到视频游戏控制台106。在一些实施方案中,位置数据可由通信装置322使用任何合适的通信路径(例如,wifi)传输,如上所论述。视频游戏控制台106可使用任何合适的机制来处理位置数据。在一个示例中,视频游戏控制台106可使用位置数据将显示在tv 108上的对象(其对应于遥控棒)移动到新位置,其中新位置对应于遥控棒在游戏房间126的3d空间中的位置的改变。
60.在一个示例中,在操作508处,用户装置104可将其自己的位置存储在用户装置104上。在一些实施方案中,先前位置数据可呈对应于先前在校准期间生成的3d模型(参见图4)的x、y和z坐标的形式。先前位置数据可存储在用户装置104的存储器304中。在一些实施方案中,存储器304可存储先前位置的历史,其中用户装置104的传感器融合算法312(例如,采用机器学习算法或定点算法)可使用历史位置数据点中的一个或多个作为输入来确定用户装置104的当前位置。在再一些其他实施方案中,历史位置数据可由算法用于预测未来位置。
61.图6示出根据本公开的实施方案的用于在包括热电堆阵列和imu的用户装置上实现slam的示例性流程600。类似于图5的流程500,流程600可在执行图4的校准流程400并且已生成3d空间的3d模型之后执行。此外,类似于流程500,虽然下文的流程操作论述利用遥控棒作为图1的视频游戏系统内的用户装置104,但可使用任何合适的用户装置和/或系统。在一些实施方案中,流程600包括可实现为示例性流程500的子操作的示例性操作。
62.在一个示例中,在类似于图5的操作502的操作602处,用户装置可接收对应于从多个热信标中的一个热信标发射的热信号的热数据,所述热信号由用户装置的热传感器阵列检测。在一些实施方案中,此数据可由热电堆阵列算法模块314进一步处理。
63.在一个示例中,在操作604处,用户装置可检索存储在用户装置上的先前位置数据。例如,这可以是由先前操作608存储的数据。在一些实施方案中,先前位置数据可呈对应于先前在校准期间生成的3d模型(参见图4)的x、y和z坐标的形式。在其他实施方案中,先前位置数据还可包括其他数据,包括但不限于惯性数据(例如,用户装置在某个时间点在3d空间中的旋转速率、线性加速度)。此数据可由用户装置302的一个或多个传感器单元装置(例如,imu 320)接收,如下文进一步论述。
64.在一个示例中,在操作606处,用户装置可从用户装置的imu 320接收imu数据。在一些实施方案中,imu数据可包括用户装置在3d空间中的加速度数据、取向数据和/或旋转数据,如参考图2的imu 214所论述。因此,imu数据还可用于确定用户装置在某个时间点在3d空间中的位置。
65.在一个示例中,在操作608处,用户装置可通过将热数据(例如,在操作602处接收)、先前位置数据(例如,在操作604处接收)和/或imu数据(例如,在操作606处接收)输入到传感器融合算法(其可对应于图3的传感器融合算法模块312)中来确定用户装置在3d空
间中的位置。在一些实施方案中,也可将来自其他传感器的其他感测输入用作传感器融合算法的输入,所述其他传感器包括但不限于全球定位系统(gps)跟踪器。在一些实施方案中,来自操作602和606的由传感器融合算法接收的数据中的每一者可对应于在基本相同的时间点测量用户装置的位置的数据。然而,在其他实施方案中,来自操作602和606的由传感器融合算法接收的数据可对应于以不同时间间隔测量用户装置的位置的数据。在一个示例中,并且类似于上文关于操作502所论述,热电堆阵列算法314可基于来自热电堆阵列318的热数据以120hz的频率(例如,每8.33毫秒更新一次)来确定用户装置位置。相比之下,并且例如,20hz imu可输出表示imu在50毫秒内的总运动的采样时段的加速率和旋转速率。传感器融合算法312可使用从热电堆阵列得到的位置数据作为漂移校正因子来校正imu位置数据内的漂移误差。传感器融合算法还可利用来自操作604的先前位置数据来提高算法的准确度,如上所论述。
66.在一个示例中,在操作610处,并且类似于来自图5的操作506,用户装置将其在操作608中确定的其位置传输到视频游戏控制台。
67.在一个示例中,在操作612处,并且类似于来自图5的操作508,用户装置可将其自己的位置存储在用户装置上。
68.图7示出根据各种实施方案的适合于实现计算机系统700的硬件系统的示例。计算机系统700表示例如视频游戏系统、移动用户装置、接近装置、可穿戴手势装置和/或中央计算机的部件。计算机系统700包括用于运行软件应用程序的中央处理单元(cpu)705和任选的操作系统。cpu 705可由一个或多个同构或异构处理核心构成。存储器710存储供cpu 705使用的应用程序和数据。存储装置715为应用程序和数据提供非易失性存储装置和其他计算机可读介质,并且可包括固定磁盘驱动器、可移动磁盘驱动器、快闪存储器装置和cd

rom、dvd

rom、蓝光光碟、hd

dvd或其他光学存储装置以及信号传输和存储介质。用户输入装置720将来自一个或多个用户的用户输入传达到计算机系统700,用户输入装置720的示例可包括键盘、鼠标、操纵杆、触摸板、触摸屏、静态或视频相机和/或传声器。网络接口725允许计算机系统700通过电子通信网络与其他计算机系统通信,并且可包括通过局域网和广域网诸如互联网进行的有线或无线通信。音频处理器755适于从由cpu 705、存储器710和/或存储装置715提供的指令和/或数据生成模拟或数字音频输出。计算机系统700的部件(包括cpu 705、存储器710、数据存储装置715、用户输入装置720、网络接口725和音频处理器755)通过一个或多个数据总线760连接。
69.图形子系统730可进一步与数据总线760和计算机系统700的部件连接。图形子系统730包括图形处理单元(gpu)735和图形存储器740。图形存储器740包括显示存储器(例如,帧缓冲器),所述显示存储器用于存储输出图像的每个像素的像素数据。图形存储器740可与gpu 735集成在同一装置中、作为单独的装置与gpu 735连接和/或实现在存储器710内。像素数据可从cpu 705直接提供到图形存储器740。替代地,cpu 705可向gpu 735提供定义期望输出图像的数据和/或指令,gpu 735从所述数据和/或指令生成一个或多个输出图像的像素数据。定义期望输出图像的数据和/或指令可存储在存储器710和/或图形存储器740中。在一个实施方案中,gpu 735包括3d渲染能力,所述3d渲染能力用于从定义场景的几何形状、照明、着色、纹理化、运动和/或相机参数的指令和数据生成输出图像的像素数据。gpu 735还可包括能够执行着色器程序的一个或多个可编程执行单元。
70.图形子系统730周期性地从图形存储器740输出图像的像素数据,以便在显示装置750上显示。显示装置750可以是能够响应于来自计算机系统700的信号而显示视觉信息的任何装置,包括crt、lcd、等离子体和oled显示器。计算机系统700可向显示装置750提供模拟或数字信号。
71.根据各种实施方案,cpu 705是具有一个或多个处理核心的一个或多个通用微处理器。另外的实施方案可使用具有特别适于诸如媒体和交互娱乐应用的高度平行且计算密集的应用的微处理器架构的一个或多个cpu 705来实现。
72.系统的部件可通过网络连接,在不同实施方案中,所述网络可以是以下项的任何组合:互联网、ip网络、内联网、广域网(“wan”)、局域网(“lan”)、虚拟专用网(“vpn”)、公共交换电话网(“pstn”)或支持本文所述的装置之间的数据通信的任何其他类型的网络。网络可包括有线和无线连接两者,包括光学链路。根据本公开,许多其他示例是可能的且对于本领域技术人员来说是显而易见的。在本文的论述中,可特别指出或可不特别指出网络。
73.本公开的实施方案的示例可根据以下条款来描述:
74.条款1.一种视频游戏系统,其包括:视频游戏控制台;多个热信标;以及用户装置,所述用户装置与所述视频游戏控制台通信耦接,所述用户装置包括:热电堆阵列;处理器;以及存储器,所述存储器存储指令,所述指令在由所述处理器执行时致使所述处理器:从所述热电堆阵列接收热数据,所述热数据对应于从所述多个热信标中的热信标发射并且由所述热电堆检测到的热信号;基于所述热数据确定所述用户装置在三维(3d)空间中的位置;并且将所述用户装置的所述位置传输到所述视频游戏控制台。
75.条款2.如条款1所述的视频游戏系统,其中所述用户装置还包括惯性测量单元(imu),其中所述指令的执行进一步致使所述处理器:从所述imu接收imu数据,所述imu数据包括对应于所述用户装置在所述3d空间中的加速度的加速度数据和对应于所述用户装置在所述3d空间中的旋转速率的取向数据;并且通过向传感器融合算法输入所述热数据、所述imu数据和先前位置数据来确定所述用户装置在所述3d空间中的所述位置。
76.条款3.如任一前述条款1

2所述的视频游戏系统,其中所述用户装置还包括惯性测量单元(imu),其中所述指令的执行进一步致使所述处理器:基于所述热数据并且独立于所述imu的所述imu数据来确定初始位置。
77.条款4.如任一前述条款1

3所述的视频游戏系统,其中所述指令的执行进一步致使所述处理器:从所述热电堆阵列接收第二热数据,所述第二热数据对应于从所述多个热电堆阵列中的第二热信标发射并且由所述热电堆阵列检测到的第二热信号,其中所述热信标和所述第二热信标同时在所述热电堆阵列的视野中,并且其中所述用户装置的所述位置进一步基于所述第二热数据来确定。
78.条款5.如任一前述条款1

4所述的视频游戏系统,其中所述多个热信标中的每个信标是红外二极管。
79.条款6.如任一前述条款1

5所述的视频游戏系统,其中由所述热信标发射的所述热信号包括对于所述热信标唯一的标识符,其中所述标识符由所述热电堆阵列用于从所述多个热信标标识所述热信标。
80.条款7.如任一前述条款1

6所述的视频游戏系统,其中所述多个热信标中的每个热信标定位在游戏环境中,所述3d空间被映射到所述游戏环境的一部分,所述热信标被定
位成使得对于所述用户装置在所述3d空间内的特定位置,所述热电堆阵列能检测来自至少两个热信标的热信号。
81.条款8.一种用户装置,其包括:热电堆阵列;处理器;以及存储器,所述存储器存储指令,所述指令在由所述处理器执行时致使所述处理器:从所述热电堆阵列接收热数据,所述热数据对应于从多个热信标中的热信标发射并且由所述热电堆检测到的热信号;基于所述热数据确定所述用户装置在三维(3d)空间中的位置;并且将所述用户装置的所述位置传输到视频游戏控制台。
82.条款9.如条款8所述的用户装置,其中所述用户装置还包括惯性测量单元(imu),其中所述指令的执行进一步致使所述处理器:从所述imu接收imu数据,所述imu数据包括对应于所述用户装置在所述3d空间中的加速度的加速度数据和对应于所述用户装置在所述3d空间中的旋转速率的取向数据;并且通过向传感器融合算法输入所述热数据、所述imu数据和先前位置数据来确定所述用户装置在所述3d空间中的所述位置。
83.条款10.如条款9所述的用户装置,其中所述先前位置数据存储在所述用户装置上。
84.条款11.如任一前述条款9

10所述的用户装置,其中所述传感器融合算法利用被训练为确定所述位置的人工智能模型。
85.条款12.如任一前述条款9

11所述的用户装置,其中所述传感器融合算法生成对应于所述热数据的置信值,所述置信值是基于所述多个热信标中在所述热电堆阵列的视野中的热信标的数量,所述置信值由所述传感器融合算法用于确定所述位置。
86.条款13.如任一前述条款8

12所述的用户装置,其中所述用户装置是视频游戏控制器。
87.条款14.如任一前述条款8

13所述的用户装置,其中所述多个热信标中的每个信标是红外二极管。
88.条款15.如任一前述条款8

14所述的用户装置,其中所述多个热信标中的每个热信标定位在游戏环境中,所述3d空间被映射到所述游戏环境的一部分,所述热信标被定位成使得对于所述用户装置在所述3d空间内的特定位置,所述热电堆阵列的一个或多个热传感器能检测来自至少两个热信标的热信号。
89.条款16.一种非暂时性计算机可读存储介质,其存储指令,所述指令当在用户装置上执行时将所述用户装置配置为执行操作,所述操作包括:由所述用户装置的热电堆阵列生成热数据,所述热数据对应于从多个热信标中的热信标发射并且由所述热电偶阵列的一个或多个热传感器检测到的热信号;基于所述热数据确定所述用户装置在三维(3d)空间中的位置;以及由所述用户装置将所述用户装置的所述位置传输到视频游戏控制台,所述用户装置与所述视频游戏控制台通信地耦接。
90.条款17.如条款16所述的非暂时性计算机可读存储介质,其中所述操作还包括:从所述用户装置的惯性测量单元(imu)接收imu数据,所述imu数据包括对应于所述用户装置在所述3d空间中的加速度的加速度数据和对应于所述用户装置在所述3d空间中的旋转速率的取向数据;以及通过向传感器融合算法输入所述热数据、所述imu数据和先前位置数据来确定所述用户装置在所述3d空间中的所述位置。
91.条款18.如条款17所述的非暂时性计算机可读存储介质,其中所述传感器融合算
法利用卡尔曼滤波器。
92.条款19.如任一前述条款16

18所述的非暂时性计算机可读存储介质,其中所述操作还包括通过以下方式执行校准:基于对应于从定位在所述3d空间中的所述多个热信标中的第一组热信标发射的第一热信号的第一热数据来确定所述用户装置的第一位置;基于对应于从定位在所述3d空间中的所述多个热信标中的第二组热信标发射的第二热信号的第二热数据来确定所述用户装置的第二位置;由所述用户装置基于所述第一位置和所述第二位置生成所述3d空间的3d模型;以及由所述用户装置存储所述3d模型。
93.条款20.如条款19所述的非暂时性计算机可读存储介质,由所述用户装置接收请求用户将所述用户装置移动到所述第一位置的指令;以及响应于所述确定所述第一位置,由所述用户装置接收请求所述用户将所述用户装置移动到所述第二位置的指令。
94.在上述说明书中,参考本发明的具体实施方案描述了本发明,但本领域技术人员将认识到本发明不限于此。上述发明的各种特征和方面可单独或联合使用。此外,在不脱离本说明书的更广泛精神和范围的情况下,本发明可在超出本文所述的环境和应用的任何数量的环境和应用中使用。因此,本说明书和附图应被视为说明性的而非限制性的。
95.应注意,上文论述的方法、系统和装置仅意图作为示例。必须强调的是,各种实施方案可视情况省略、替代或添加各种过程或部件。例如,应了解,在替代实施方案中,方法可以与所描述不同的次序执行,并且可添加、省略或组合各种步骤。此外,相对于特定实施方案描述的特征可在各种其他实施方案中组合。实施方案的不同方面和要素可以类似方式组合。此外,应强调的是,技术在发展,因此,许多要素是示例,并且不应被解释为限制本发明的范围。
96.本说明书中给出具体细节以提供对实施方案的透彻理解。然而,本领域普通技术人员将理解,实施方案可在没有具体细节的情况下实践。例如,在没有不必要细节的情况下示出众所周知的电路、过程、算法、结构和技术以避免混淆实施方案。
97.此外,应注意,实施方案可被描述为过程,所述过程被描绘为流程图或框图。虽然每个实施方案可将操作描述为顺序过程,但许多操作可并行或并发执行。此外,操作的次序可重新排列。过程可具有图中未包括的另外的步骤。
98.此外,如本文所公开,术语“存储器”或“存储器单元”可表示用于存储数据的一个或多个装置,包括只读存储器(rom)、随机存取存储器(ram)、磁性ram、芯存储器、磁盘存储介质、光学存储介质、闪存存储器装置或用于存储信息的其他计算机可读介质。术语“计算机可读介质”包括但不限于便携式或固定存储装置、光学存储装置、无线信道、sim卡、其他智能卡以及能够存储、包含或携载指令或数据的各种其他介质。
99.此外,实施方案可由硬件、软件、固件、中间件、微码、硬件描述语言或它们的任何组合来实现。当以软件、固件、中间件或微码实现时,用于执行必要任务的程序代码或代码段可存储在计算机可读介质诸如存储介质中。处理器可执行必要任务。
100.除非另有说明,否则本说明书中(包括以下权利要求中)阐述的所有测量结果、值、额定值、定位、量值、大小和其他说明都是近似的,而不是精确的。它们意图具有与它们相关的功能以及它们所属领域的惯例一致的合理范围。“约”包括在
±
0.01%、
±
0.1%、
±
1%、
±
2%、
±
3%、
±
4%、
±
5%、
±
8%、
±
10%、
±
15%、
±
20%、
±
25%或如本领域已知的其他范围的公差内。“基本上”是指超过66%、75%、80%、90%、95%、99%、99.9%,或者,根据术
语基本上出现的上下文,指如本领域已知的其他值。
101.在描述若干实施方案后,本领域技术人员将认识到,在不脱离本发明的精神的情况下,可使用各种修改、替代构造和等效物。例如,上述要素可仅是更大系统的部件,其中其他规则可优先于或以其他方式修改本发明的应用此外,可在考虑上述要素之前、期间或之后采取多个步骤。因此,以上描述不应视为限制本发明的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1