在空间中对设备进行定位和取向的制作方法_3

文档序号:9602442阅读:来源:国知局
在存在容纳传感器的设备的突然加速时可能甚至更不准确。加速度计还可能在以一定角度握持设备时较不准确,其中旋转轴与指示重力方向的矢量重合。重力强度可以用来确定设备是否在运动中,其可以进而用来估计加速度计读数的准确性。
[0038]陀螺仪提供关于设备的三个旋转轴的角速度。陀螺仪补充加速度计。例如,陀螺仪准确地描述取向中的突然改变但是当设备未经受突然加速(例如,静止)时可能漂移。因此,示例装置和方法可以被配置成根据设备的即时观察到的加速度来对来自加速度计和陀螺仪的读数进行加权。
[0039]指南针可以报告磁北和真北的方向。如果设备具有指南针和GPS,则该设备可以在表示重力的矢量沿着设备的旋转轴之一时替换从加速度计报告的数据中丢失的自由度。相机也可以用来追踪设备的相对运动(例如,通过空间的速度)。在一个实施例中,相机可以采用模式识别、特征追踪或用于追踪相对运动的其他方法。
[0040]如果设备具有加速度计但没有陀螺仪,则可以向从加速度计获取的数据应用滤波器(例如,低通滤波器)。当加速度计和陀螺仪两者都可用时,则来自加速度计和陀螺仪两者的数据可以组合,因为它们提供互补的数据。当多个传感器或装置可用时,可以采用传感器或装置所提供的数据的不同组合。这些不同组合可以牵涉对以不同方式接收的数据进行滤波。此外,第二数据可能是有噪声的并且因此可以进行滤波。
[0041]因此,方法500可以包括对第一数据进行滤波以产生经滤波的位置数据并且对第二数据进行滤波以产生经滤波的取向数据。在执行滤波之后,方法500可以根据经滤波的位置数据或经滤波的取向数据来计算设备的定位、设备的朝向和设备的旋转。滤波可以例如包括使第一数据或第二数据传递通过卡尔曼滤波器、扩展卡尔曼滤波器、无迹卡尔曼滤波器、另一种类型的卡尔曼滤波器、高通滤波器、低通滤波器、贝叶斯网络滤波器或粒子滤波器。一旦滤波完成,方法500可以根据加权的混合函数将从经滤波的位置数据导出的信息与从取向数据导出的信息进行组合。
[0042]方法500还可以包括在540处根据第一数据或第二数据确定设备的朝向和设备的旋转。在一个实施例中,确定朝向可以包括从第二数据计算描述垂直于设备上的显示器的朝向轴的三维朝向矢量。还可以处理第二数据来计算设备关于朝向轴的旋转。
[0043]在一个实施例中,设备的定位、设备的朝向或设备的旋转可以根据游戏者的(多个)手的位置和取向来确定。例如,用户可以将平板电脑握持在双手中但是可以将智能电话握持在一只手中。在一个示例中,从握持设备的(多个)手的定位推断设备的定位,并且从握持设备的(多个)手与游戏者的脸部之间的关系推断设备的朝向。在另一个示例中,设备的定位可以从握持设备的(多个)手的定位来推断,并且朝向或旋转可以从游戏者的凝视方向来推断。用来确定设备的定位或取向的推断或计算可以至少部分地基于什么信息在第一数据中可得到和什么信息在第二数据中可得到而实时地动态变化。例如,当游戏者朝向用来获取第一数据的设备且游戏者的双手、双肘、双肩以及脸部可见时可以采用推断和计算的第一集合。然而,当游戏者使其背向用来获取第一数据的设备时可以采用推断和计算的第二集合。此外,当设备在运动中时或者当设备静止时可以采用不同的推断和计算。例如,当设备描述与挥动高尔夫球杆相关联的长和有力的弧线时,可以采用推断和计算的一个集合。然而,当设备描述与导航滚动球通过迷宫相关联的小且精细控制的线性运动的集合时,可以采用不同的推断和计算的集合。
[0044]方法500还可以包括在550处至少部分地基于设备的定位、设备的朝向和设备的旋转控制计算机化游戏。在一个实施例中,控制计算机化游戏可以包括选择性地更改游戏场景的显示。可以根据设备的定位、设备的朝向、设备的旋转或设备的加速度来更改场景。例如,第一人称视角可以在游戏者改变控制器的朝向和取向时改变。在一个实施例中,控制计算机化游戏可以包括选择性地更改与游戏者相关联的化身的显示。例如,化身可以在游戏者改变设备的定位、设备的朝向或设备的旋转时重新定位。
[0045]虽然图5图示了串行发生的各种动作,但是要领会的是,在图5中图示的各种动作可以大体并行地发生。通过说明的方式,第一过程可以大体恒定地获取游戏者定位数据并且更新骨架表示,第二过程可以确定设备在三维空间中的定位,第三过程可以大体恒定地获取设备取向数据并且确定朝向和旋转,并且第四过程可以控制游戏。虽然描述了四个过程,但是要领会的是,可以采用更多或更少数目的过程,并且可以采用轻量过程、常规过程、线程以及其他方法。
[0046]在一个示例中,方法可以实现为计算机可执行指令。因此,在一个示例中,计算机可读存储介质可以存储计算机可执行指令,计算机可执行指令如果由机器(例如,计算机)执行则使得机器执行本文所描述或要求保护的方法,包括方法500。虽然与以上方法相关联的可执行指令被描述为存储在计算机可读存储介质上,但是要领会的是,与本文所描述或要求保护的其他示例方法相关联的可执行指令也可以存储在计算机可读存储介质上。在不同实施例中,可以以不同方式触发本文所描述的示例方法。在一个实施例中,可以由用户手动地触发方法。在另一个示例中,可以自动地触发方法。
[0047]如本文所使用的“计算机可读存储介质”是指存储指令或数据的介质。“计算机可读存储介质”不是指传播信号本身。计算机可读存储介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘、磁带、闪速存储器、ROM和其他介质。易失性介质可以包括例如半导体存储器、动态存储器(例如,动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双数据速率同步动态随机存取存储器(DDR SDRAM)等)和其他介质。常见形式的计算机可读存储介质可以包括但不限于软盘、柔性盘、硬盘、磁带、其他磁介质、专用集成电路(ASIC)、致密盘(⑶)、其他光学介质、随机存取存储器(RAM)、只读存储器(R0M)、存储器芯片或卡、存储器棒和计算机、处理器或其他电子设备可以从其进行读取的其他介质。
[0048]图6图示了装置600,其包括处理器610、存储器620、逻辑集合630以及连接处理器610、存储器620和逻辑集合630的接口 640。逻辑集合630可以被配置成控制计算机化交互体验。计算机化交互体验可以例如是视频游戏、媒体呈现或其他沉浸式体验。装置600可以例如是计算机、膝上型计算机、平板计算机、个人电子设备、智能电话、片上系统(SoC)、游戏控制台、游戏控制器或可以访问和处理数据的其他设备。
[0049]在一个实施例中,装置600可以是通过包括逻辑集合630而已经变换成用于游戏的专用计算机的通用计算机。逻辑集合630可以被配置成控制计算机化交互体验(例如,视频游戏)。装置600可以通过例如计算机网络与其他装置、过程和服务交互。
[0050]逻辑集合630可以包括第一逻辑632,其被配置成确定用户(例如,玩家)握持的控制器在三维空间中的三维定位。控制器可以配置有显示器以提供与交互体验(例如,视频游戏)相关联的信息。例如,显示器可以向用户提供第一人称视角、第三人称视角、“三万英尺”视角或其他显示。
[0051]在一个实施例中,第一逻辑632可以被配置成使用深度图确定三维定位。深度图可以包括关于玩家的各种关节的位置和方位(例如,取向、朝向、弯曲角度)信息。例如,用于包括但不限于头部/身体关节、颈关节、肩关节、肘关节、腕关节、指关节、身体/骨盆关节、髋关节、膝关节和足关节的关节的位置和方位信息可以是可用的。深度图可以从关于用户搜集的信息来计算。可以从反射自用户或者由用户产生的可检测波(例如,红外、可见光、声音)搜集信息。虽然描述了深度图,但是更一般地第一逻辑632可以获取关于用户在空间中的绝对定位的信息。
[0052]逻辑集合630还可以包括被配置成确定控制器的取向的第二逻辑634。在不同实施例中,第二逻辑634可以被配置成根据从控制器获取的运动传感器数据、根据深度图、根据绝对定位或者根据运动传感器数据与绝对定位的组合来确定取向。第二逻辑634可以基于例如可用于确定取向的信息的本质、类型、质量或时间性而在如何确定取向之间动态地切换。例如,在第一时间处,及时且精确的深度图信息可能是可得到的,但是运动传感器数据
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1