著录项信息
专利名称 | 动态磁力计校准 |
申请号 | CN201380043888.0 | 申请日期 | 2013-08-15 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2015-04-29 | 公开/公告号 | CN104582804A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | A63F13/21 | IPC分类号 | A;6;3;F;1;3;/;2;1;;;G;0;1;C;1;7;/;3;0查看分类表>
|
申请人 | 微软公司 | 申请人地址 | 美国华盛顿州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 微软技术许可有限责任公司 | 当前权利人 | 微软技术许可有限责任公司 |
发明人 | D·卢梭 |
代理机构 | 上海专利商标事务所有限公司 | 代理人 | 陈斌 |
摘要
公开了涉及在玩游戏期间校准包括磁力计的游戏控制器的各实施例。一个实施例提供了一种方法,该方法包括对接收自磁力计的磁性信息进行采样,以及向计算设备输出从磁性信息的多个样本中的第一样本中以及从方向偏移数据中导出的初始游戏控制器取向信号。该方法进一步包括基于磁性信息的多个样本以及方向偏移数据来计算更新的方向偏移数据,以及向计算设备输出从磁性信息的多个样本中的第二样本中以及经更新的方向偏移数据中导出的经校准的游戏控制器取向信号。
1.一种在玩游戏期间校准包括磁力计的游戏控制器的方法,包括:
对接收自所述磁力计的磁性信息进行采样,所述磁性信息的每一样本包括环境磁场沿第一轴、第二轴和第三轴中的每一者的向量分量,所述第一轴、第二轴和第三轴彼此正交;
向计算设备输出从磁性信息的多个样本中的第一样本中以及从方向偏移数据中导出的初始游戏控制器取向信号,所述方向偏移数据包括沿所述第一轴的第一方向偏移、沿所述第二轴的第二方向偏移、以及沿所述第三轴的第三方向偏移;
基于所述磁性信息的多个样本以及所述方向偏移数据来计算更新的方向偏移数据;以及
向所述计算设备输出从所述磁性信息的多个样本中的第二样本中以及经更新的方向偏移数据中导出的经校准的游戏控制器取向信号。
2.如权利要求1所述的方法,其特征在于,计算更新的方向偏移数据包括:
标识所述磁性信息的多个样本中的第一样本集,其中对于所述第一样本集中的每一样本,所述磁性信息沿所述第一轴的向量分量基本上为零;
标识所述磁性信息的多个样本中的第二样本集,其中对于所述第二样本集中的每一样本,所述磁性信息沿所述第二轴的向量分量基本上为零;
基于所述第一样本集和所述第二样本集来确定未经滤波的偏移数据;以及通过用所述方向偏移数据来滤波所述未经滤波的偏移数据来计算更新的方向偏移数据。
3.如权利要求2所述的方法,其特征在于,标识所述第一样本集和所述第二样本集包括:
标识第一有效样本;
标识第一候选样本;
确定所述第一有效样本的向量分量与所述第一候选样本的向量分量之间的角度;
如果所述角度大于阈值角度,则确认所述第一候选样本为第二有效样本。
4.如权利要求3所述的方法,其特征在于,所述阈值角度是75度。
5.如权利要求2所述的方法,其特征在于,用所述方向偏移数据来滤波所述未经滤波的偏移数据包括使用递增/递减滤波器。
6.如权利要求2所述的方法,其特征在于,所述第一样本集和所述第二样本集各自包括所述磁性信息的三个样本。
7.一种游戏控制器,包括:
磁力计,被配置成输出表示环境磁场的磁性信息;
通信子系统,被配置成提供与计算设备的通信;
逻辑子系统;以及
存储子系统,所述存储子系统存储能够由所述逻辑子系统执行的指令以:
对接收自所述磁力计的磁性信息进行采样,所述磁性信息的每一样本包括环境磁场沿第一轴、第二轴和第三轴中的每一者的向量分量,所述第一轴、第二轴和第三轴彼此正交;
向计算设备输出从磁性信息的多个样本中的第一样本中以及从方向偏移数据中导出的初始游戏控制器取向信号,所述方向偏移数据包括沿所述第一轴的第一方向偏移、沿所述第二轴的第二方向偏移、以及沿所述第三轴的第三方向偏移;
基于所述磁性信息的多个样本以及所述方向偏移数据来计算更新的方向偏移数据;以及
向所述计算设备输出从所述磁性信息的多个样本中的第二样本中以及经更新的方向偏移数据中导出的经校准的游戏控制器取向信号。
8.如权利要求7所述的游戏控制器,其特征在于,进一步包括耦合至所述磁力计的手柄部分,并且所述手柄部分被配置成用一只手或两只手持有,所述手柄部分包括U形轮和O形轮中的一个或多个。
9.如权利要求7所述的游戏控制器,其特征在于,所述初始游戏控制器取向信号和经校准的游戏控制器取向信号能由所述计算设备使用来影响由所述计算设备呈现的虚拟对象上的控制。
10.如权利要求7所述的游戏控制器,其特征在于,计算更新的方向偏移数据包括:
标识所述磁性信息的多个样本中的第一样本集,其中对于所述第一样本集中的每一样本,所述磁性信息沿所述第一轴的向量分量基本上为零;
标识所述磁性信息的多个样本中的第二样本集,其中对于所述第二样本集中的每一样本,所述磁性信息沿所述第二轴的向量分量基本上为零;
基于所述第一样本集和所述第二样本集来确定未经滤波的偏移数据;以及通过用所述方向偏移数据来滤波所述未经滤波的偏移数据来计算更新的方向偏移数据。
动态磁力计校准\n[0001] 背景\n[0002] 各种设备(诸如游戏控制器)可以包括用于确定设备取向并且因此影响该设备和/或其他设备上的控制的磁力计。虽然这些传感器通常在生产期间被校准一次或多次,但这些传感器在使用期间可能易于受到各种环境因素的影响。\n[0003] 概述\n[0004] 公开了涉及在玩游戏期间校准包括磁力计的游戏控制器的各实施例。例如,一个公开的实施例提供了一种方法,该方法包括对接收自磁力计的磁性信息采样,该磁性信息的每一样本包括环境磁场沿第一轴、第二轴和第三轴中的每一者的向量分量,第一轴、第二轴和第三轴彼此正交。该方法进一步包括向计算设备输出从磁性信息的多个样本的第一样本中以及从方向偏移数据中导出的初始游戏控制器取向信号,该方向偏移数据包括沿第一轴的第一方向偏移、沿第二轴的第二方向偏移以及沿第三轴的第三方向偏移。该方法进一步包括基于磁性信息的多个样本以及方向偏移数据来计算更新的方向偏移数据,以及向计算设备输出从磁性信息的多个样本中的第二样本以及经更新的方向偏移数据中导出的经校准的游戏控制器取向信号。\n[0005] 提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念选择。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。\n附图说明\n[0006] 图1示出用于使用包括磁力计的游戏控制器的示例使用环境。\n[0007] 图2A-2C示出对游戏控制器的示例操纵。\n[0008] 图3A-3C示出与图2A-2C的示例操纵相对应的内部参考系。\n[0009] 图4示出了用于在玩游戏期间校准包括磁力计的游戏控制器的方法的一个实施例的过程流。\n[0010] 图5示出包括被维持的最小值和被维持的最大值的示例轴。\n[0011] 图6示出了用于在玩游戏期间校准包括磁力计的游戏控制器的方法的另一实施例的过程流。\n[0012] 图7A示出包括沿第一平面的第一样本集以及沿第二平面的第二样本集的内部参考系。\n[0013] 图7B示出包括第二样本集的图7A的第二平面。\n[0014] 图8示出了根据本公开的一实施例的无线控制器。\n[0015] 图9示出根据本公开的一实施例的非限制性计算设备。\n[0016] 详细描述\n[0017] 如上所提及的,各种设备(诸如游戏控制器)可以包括用于确定设备取向的一个或多个磁力计。典型的磁力计被配置成提供磁性信息,该磁性信息包括沿一个或多个轴的环境磁场的表示(例如向量分量)。如此处所使用的,“环境磁场”指的是地球磁场加上任何其他可检测到的场,诸如由一个或多个附近设备生成的磁场、和/或由一个或多个附近材料引起的地球磁场的畸变。\n[0018] 由于局部环境磁场在使用所述设备期间基本上是时间无关的,因此该场可以提供用于检测设备取向的参考点。换言之,在确定环境磁场的取向时,对包括磁力计的游戏控制器的操纵可以基于游戏控制器相对于环境磁场的位移来确定。这种配置往往是非限制性的,并且由磁力计提供的磁性信息可用于经由任何合适的机制或各种机制的组合来确定游戏控制器的取向和/或位置。\n[0019] 然而,将领会的是,对环境磁场的测量可能受到可存在于设备中或设备周围的各种材料的影响。例如,焊料、连接器、螺丝和包括含铁材料的其他组件可能使地球磁场畸变。\n由于这些材料通常不是关于磁力计对称分布的,因此将领会所述畸变可能是取向依赖的。\n为了补偿这一畸变,每一磁力计可以在制造级在最终产品内被校准。所述校准可包括对于每一轴,磁力计被配置成测量例如增益(敏感度)的调整和/或轴偏移的调整。\n[0020] 尽管这些调整可以提供立即可用的准确测量,但将进一步领会,在初始校准之后各种因素可能影响磁力计的准确性。例如,变化的化学性的电池(例如碱性电池相对于镍氢电池)可以使磁场不同地畸变,并且可能因而要求独特的校准。作为另一示例,如果设备外壳包括一个或多个含铁材料(例如经由镀铬等),所述外壳中的改变(例如位置偏移、物理损伤引起的微骨折等)可能影响磁力计的性能。作为又一示例,在环境内生成的外部场也可能导致校准的偏移。\n[0021] 给定这些因素的动态本质,将领会,在使用期间动态地校准磁力计可能是合乎需要的。因此,在此公开了涉及在玩游戏期间校准包括磁力计的游戏控制器的各个实施例。换言之,游戏控制器可被设计成提供校准同时并发地影响计算设备上的控制。由此,在玩游戏之前或期间不需要主动的用户校准(例如,在预定义的位置中保持、执行预定义的运动等)。\n以此方式,用户能够拿起控制器、采取任何位置、并且开始使用控制器而无需执行任何显式校准。\n[0022] 图1示出了用于使用包括磁力计(未示出)的游戏控制器102的示例使用环境100的实施例。如所解说的,游戏控制器102缺少外部支撑(例如转向柱),并且可能因此能够自由操纵至任何取向。环境100包括操作耦合至显示设备106的计算设备104。计算设备104可被配置成执行应用程序(例如赛车游戏),该应用程序包括供经由显示设备106输出的被渲染对象108(例如车辆)。控制器102可被配置成(例如经由一个或多个无线和/或有线连接)向计算设备104传达从接收自磁力计的磁性信息中导出的游戏控制器取向信号,以使得对控制器102的操纵影响对被渲染对象108的相关联操纵。例如,对控制器102绕轴110顺时针旋转可影响对象108的向右转。\n[0023] 将理解,赛车游戏场景是出于示例的目的而被呈现的,且不旨在以任何方式进行限制。例如,在其他实施例中,被渲染对象108可包括被飞行模拟游戏渲染的飞机,并且因而对控制器102绕轴112的旋转可影响对象108的对应向上或向下俯仰。在又一些其他实施例中,控制器102绕轴114的旋转可影响被渲染对象108的对应向左或向右偏航。将领会,控制器102的运动可以沿任何一个或多个自由度“DOF”来检测,并且所述运动可以影响计算设备\n104上的任何合适的控制而不背离本公开的范围。\n[0024] 如所解说的,控制器102进一步包括被配置成由游戏玩家一只手或两只手握住的U形手柄部分116(例如轭轮)。这并不意味着以任何方式进行限制。在其他实施例中,手柄部分116可包括基本上环形(例如O形)的配置,例如如图8所解说的。在还有一些其他实施例中,游戏控制器可以采用基本上任何形状和/或可以被集成到另一设备中,诸如手持式移动设备。控制器102可任选地包括方向输入机构118(例如方向垫、游戏杆等)、输入机构120(例如按钮、触发器等)和/或其他用户控件。将理解,这一配置是出于示例的目的而呈现的,并且游戏控制器可以具有任何合适的配置而不背离本公开的范围。\n[0025] 无论具体配置如何,将领会,控制器102可以操纵至任何合适的取向。换言之,控制器102可以在玩游戏期间具有任何取向。相应地,如上所提及的,环境磁场可用于确定控制器102的取向。尽管本公开涉及使用磁力计来确定取向,但将领会的,可以结合磁力计来使用附加的传感器(例如加速计、陀螺仪等)。例如,在一些实施例中,磁力计可被配置成检测沿两条轴(例如轴110和轴112)的环境磁场。相应地,在这些场景中,当环境磁场沿第三轴(例如轴114)取向时,控制器102沿所述轴的旋转可能无法经由磁力计被检测到,并且因而可以使用一个或多个附加的传感器。作为另一示例,磁力计可与旋转传感器(例如陀螺仪)结合使用以便衰减旋转传感器的非理想效应(例如陀螺仪漂移)。将领会,这些场景是出于示例的目的被呈现的。\n[0026] 现在转向图2A-2C,示出了在外部参考系202内对包括磁力计的无线控制器200(例如图1的无线控制器102)的示例操纵。如此处所使用的“外部参考系”指的是周围环境的参考系(例如与地球表面垂直的z轴)。图2A进一步包括内部参考系204,包括第一轴206、第二轴208和第三轴210。如此处所使用的“内部参考系”指的是磁力计的参考系。将领会,所解说的内部参考系204相对于外部参考系202的取向出于示例的目的被呈现,并且内部参考系\n204以及由此磁力计可以包括控制器200内的任何合适的取向而不背离本公开的范围。图2A进一步解说表示环境磁场的环境场向量212。\n[0027] 图3A示出了图2A的内部参考系204的另一表示。图3A进一步包括表示图3A的环境场向量212相对于内部参考系204的向量214。如上所提及的,控制器200的运动可以通过标识控制器200相对于参考向量的位移来确定。相应地,出于示例的目的,向量214将用作图2和3的其余讨论的示例参考向量。\n[0028] 图2B示出从图2A的取向逆时针旋转之后的控制器200。如所解说的,环境场向量\n212基本沿内部参考系204的第三轴210取向。事实上,现在转向图3B,示出了图2B的内部参考系204的表示。图3B进一步包括表示图2B的环境场向量212的向量216。由此,控制器200的位移可以经由参考向量214与向量216之间的角度218来表示。虽然向量214和216被解说为基本沿着由轴206和210形成的平面来取向,但将领会,这种场景是出于便于理解的目的来呈现的,并且旨在是非限制性的。\n[0029] 如上所提及的,磁力计可经历由于各种环境因素导致的非理想效应。此外,所述非理想效应可以是轴依赖的。换言之,控制器200的磁力计可能无法检测如向量216所解说的环境磁场。相反,例如,磁力计可以检测如由未经校准的向量220所表示的环境磁场。未经校准的向量220可以与向量216位移达沿第一轴206的第一方向偏移222和/或沿第二轴208的第二方向偏移224。将领会,所述偏移都是出于示例的目的来呈现的,并且磁力计可包括沿任何一个或多个轴的偏移而不背离本公开的范围。\n[0030] 现在转向图2C,示出了在从图2A的取向向前旋转(即沿图2A的轴206的90度旋转)之后的控制器200。如所解说的,环境场向量212现在沿着由第一轴206和第二轴208形成的平面来取向。\n[0031] 图3C示出了图2C的内部参考系204的表示。图3C包括表示图3C的环境场向量212的向量226。如同图3B那样,图3C进一步包括未经校准的向量228,向量228可以与向量226位移达沿第一轴206的第一方向偏移230以及沿第二轴208的第二方向向量232。相应地,在校准磁力计时,向量226可以根据向量228(例如,经由从向量228扣除偏移230和232)来确定。\n[0032] 从上述讨论将领会,由于磁场相对于外部参考系在玩游戏期间在量级和方向两者上基本上是时间无关的,因此由经校准的磁力计对环境磁场的测量应当随着磁力计的取向而改变取向,尽管量级保持不变。换言之,操纵磁力计通过所有可能的取向(即围绕全部三个轴的360度旋转)应当产生在磁力计的内部参考系内追踪以原点为中心、以等于环境磁场的量级为半径的球形表面的环境场向量。\n[0033] 将进一步领会,由于增益基本上独立于环境因素,因此测得的环境磁场中的误差可能导致球形的中心偏离原点和/或球形沿着一个或多个轴向椭圆形的畸变。相应地,提供对磁力计的校准可包括确定沿一个或多个轴的偏移(例如球心)以及然后从测得向量中扣除偏移以便提供经校准的向量输出。现在将更详细地讨论用于提供对包括磁力计的游戏控制器的校准的两个非限制性实施例。\n[0034] 现在转向图4,示出了描绘用于在玩游戏期间校准包括磁力计的游戏控制器(例如,图1的游戏控制器102以及图2A-2C的游戏控制器200)的方法400的实施例的过程流。在\n402,方法400包括对接收自磁力计的磁性信息采样,磁性信息的每一样本包括环境磁场沿第一轴(例如轴206)、第二轴(例如轴208)和第三轴(例如轴210)中的每一者的向量分量(例如环境磁场向量212),第一轴、第二轴和第三轴彼此正交。如上所提及的,第一轴、第二轴和第三轴是相对于磁力计的内部参考系(例如参考系204)的,并且该参考系可包括控制器内的任何合适的取向而不背离本公开的范围。\n[0035] 在404,方法400可包括基于磁性信息来计算环境磁场的平均量级(例如均方根)。\n例如,计算平均量级可包括对于磁性信息的每一样本更新沿第一轴、第二轴和第三轴中的每一者的向量分量的平均值。平均量级可以因此基于这些平均值来计算。\n[0036] 方法400可进一步包括在406对于第一轴、第二轴和第三轴中的每一者,维持向量分量沿轴的最小观测值和向量分量沿轴的最大观测值。例如,磁性信息的每一样本可与被维持的最小和最大值作比较。如果样本包括小于对应的被维持的最小值的向量分量,则被维持的最小值基于该样本被更新。类似地,如果样本包括大于对应的被维持的最大值的向量分量,则被维持的最大值基于该样本被更新。\n[0037] 在408,方法400包括向计算设备(例如图1的计算设备104)输出从磁性信息的多个样本的第一样本中以及从方向偏移数据中导出的初始游戏控制器取向信号,该方向偏移数据包括沿第一轴的第一方向偏移、沿第二轴的第二方向偏移以及沿第三轴的第三方向偏移。如上所提及的,初始游戏控制器信号可以通过从磁性信息中扣除方向偏移数据来确定,尽管初始游戏控制器取向可以经由不同和/或附加的机制来计算而不背离本公开的范围。\n初始游戏控制器取向信号可用于影响该计算设备上和/或藉由其来呈现的应用(例如视频游戏)上的控制。\n[0038] 在410,方法400包括对于第一轴、第二轴和第三轴中的每一者,标识来自磁性信息的多个样本的有效最小观测值和有效最大观测值。标识有效最小观测值和最大观测值可包括确定412最小观测值与最大观测值之间的量级范围。标识410进一步包括基于环境磁场的平均量级来确定414测试范围。例如,在一些实施例中,测试范围可以等于沿轴的平均量级按照小于一(例如0.93)的因子缩放的两倍。标识410可进一步包括在416将量级范围与测试范围作比较,并且如果量级范围大于测试范围,则确认418最小观测值为有效最小观测值以及最大观测值为有效最大观测值。\n[0039] 例如,简略地转向图5,示出了包括从接收自磁力计的磁性信息维持的最小值502(被解说为-2)以及最大值504(被解说为+4)的示例轴500(例如轴206、轴208、轴210等)。由于磁力计的非理想效应基本受限于方向偏移,沿给定轴的范围506(即最大504减去最小\n502)应当基本上等于平均测得场的两倍。相应地,在所解说的示例中,如果平均磁场被测得为3,则最小值502和最大值504可以分别被确认为有效最小观测值和最大观测值。\n[0040] 返回至图4,方法400进一步包括在420基于有效最小观测值和有效最大观测值来计算更新的方向偏移数据。未经滤波的方向偏移数据可以通过计算422有效最小值和有效最大值的平均值来确定。在一些实施例中,可以用平均值的前一实例对平均值进行滤波。在一些实施例中,计算更新的方向偏移数据可包括基于有效最小值和有效最大值来计算未经滤波的偏移数据以及用方向偏移数据来滤波(例如经由递增/递减滤波器)所述未经滤波的偏移数据。递增/递减滤波器可包括将未经滤波的偏移数据与方向偏移数据作比较,并且如果未经滤波的偏移数据大于方向偏移数据,则将方向偏移数据增加固定量。相反,如果未经滤波的偏移数据小于方向偏移数据,则可以通过使方向偏移数据递减固定量来确定经更新的方向偏移数据。这种滤波器可用于通过确保这些数据的效应被限于增量式地增加或减小方向偏移数据来衰减离群数据。返回至图5,最小值502和最大值504的平均值508等于+1。相应地,经校准的范围510(即以原点为中心的范围)从范围506被向左迁移偏移508。\n[0041] 在424,方法400进一步包括向计算设备输出从磁性信息的多个样本的第二样本以及从经更新的方向偏移数据中导出的经校准的游戏控制器取向信号。如同初始游戏控制器取向信号那样,经校准的游戏控制器取向信号可用于影响计算设备上和/或藉由其来呈现的应用上的控制。以此方式,将领会,方法400可用于并发地影响计算设备上的控制并且在游戏控制器的正常使用期间持续且自动地校准影响所述控制的信号。\n[0042] 方法400可进一步包括在426检测重新初始化触发。尽管环境磁场的方向和量级在给定的使用实例期间可保持基本恒定,但将领会,磁场可在使用实例(例如,不同环境、不同日期/时间、对控制器的物理损伤等)之间变动。相应地,在一些实施例中,重新初始化触发可包括游戏控制器的电源事件428(例如,打开/关闭、待机等)。换言之,由于电源事件通常描绘各种使用实例,在检测到这些事件时重新初始化数据可能是合乎需要的。在其他实施例中,用户可以发起重新初始化触发。将领会,这些场景都是出于示例的目的来呈现的,并且方向偏移数据可以根据任何合适的触发或触发的组合来重新初始化而不背离本公开的范围。无论触发是怎样的,方法400因而进一步包括在430响应于检测到触发来重新初始化方向偏移数据。\n[0043] 将进一步领会的,方法400提供的校准可易于受到可能在玩游戏期间发生的环境磁场中的尖峰的影响。换言之,如果检测到反常的最小或最大值,则上述校准可能经历了误差直到方向偏移数据被重新初始化。因此利用不易于受到此种反常场的影响的不同校准机制可能是合乎需要的。\n[0044] 相应地,现在转向图6,示出了描绘用于校准包括磁力计的游戏控制器的方法600的另一实施例的过程流。类似于方法400,方法600包括在602对接收自磁力计的磁性信息采样,磁性信息的每一样本包括环境磁场沿第一轴(例如第一轴206)、第二轴(例如轴208)和第三轴(例如轴210)中的每一者的向量分量(例如环境磁场向量212)。方法600包括在604向计算设备(例如图1的计算设备104)输出从磁性信息的多个样本的第一样本中以及从方向偏移数据中导出的初始游戏控制器取向信号,该方向偏移数据包括沿第一轴的第一方向偏移、沿第二轴的第二方向偏移以及沿第三轴的第三方向偏移。\n[0045] 在606,方法600包括基于磁性信息的多个样本以及方向偏移数据来计算更新的方向偏移数据。计算606可包括标识608磁性信息的多个样本中的第一样本集,其中磁性信息沿第一轴的向量分量对于第一样本集中的每一样本基本为零。计算606可进一步包括标识\n610磁性信息的多个样本中的第二样本集,其中磁性信息沿第二轴的向量分量对于第二样本集中的每一样本基本为零。\n[0046] 例如,简略地转向图7A,示出了表示磁力计的包括第一轴702、第二轴704和第三轴\n706的内部参考系700(例如图2和3的参考系204)的表示。图7进一步包括第一样本集,该第一样本集包括样本708、710和712,样本708、710和712包括沿第一轴702基本为零的向量分量。换言之,样本708、710和712基本沿着由第二轴704和第三轴706形成的平面714来取向。\n图7进一步包括第二样本集,该第二样本集包括样本716、718和720,样本716、718和720包括沿第二轴704基本为零(即基本沿平面722)的向量分量。尽管第一样本集和第二样本集各自包括三个样本,但将领会,第一样本集和第二样本集可包括任何合适数目的样本而不背离本公开的范围。\n[0047] 返回至图6,计算更新的方向偏移数据进一步包括基于第一样本集和第二样本集来确定612未经滤波的偏移数据。在一些实施例中,每一样本集可被用于对样本中心进行“三角计算”,其中该中心对应于沿着平面的轴的方向偏移。更一般地说,当测量包括满足某些准则的向量分量的样本时,该样本被用于求解显式等式以生成每一轴的偏移值。为了简化问题,并且因而提供更佳的结果,三维解法可以被拆分成两个平面问题。例如,可以计算X-Y平面以及Y-Z平面的偏移,但也可以使用任何两个平面而不背离本公开的范围。确定横跨平面的多个样本(例如三个)以便防止等式内的奇异性并且因而提供稳定的结果。\n[0048] 为了提供所述稳定结果,在一些实施例中,第一样本集和第二样本集可基于样本之间的角度来确定。例如,在一些实施例中,可以使用分开大于或等于阈值电压的角度(例如75度)的样本。在这些实施例中,确定第一样本集和第二样本集可因此包括标识第一有效样本,标识第一候选样本,确定第一有效样本的向量分量与第一候选样本的向量分量之间的角度,以及如果该角度大于阈值角度,则确认第一候选样本作为第二有效样本。在其他实施例中,阈值角度可基于所标识的有效样本的数量来确定。例如,随着有效样本的数量增加,阈值角度可以减小。将领会,这些场景都是出于示例的目的来呈现的,并且可以经由任何合适的机制或机制的组合来确定阈值角度而不背离本公开的范围。\n[0049] 现在转向图7B,平面722(即由第一轴702和第三轴706形成的平面)被示出为具有基本沿着该平面来取向的样本716、718和720。样本716、718和720可以被认为基本沿着以原点为中心的平面722来取向并且分别在坐标(X1,Z1)、(X2,Z2)和(X3,Z3)处包括端点的向量。\n如上所提及的,在所有可能的组合上取向的磁力计的磁性信息将产生以原点为中心的球形。由于已知样本716、718和720处于在每一轴上包括未知偏移的环上,所以对(例如球心\n730)发生的偏移量进行求解是可能的。相应地,第一方向偏移732(例如Xos)和第三方向偏移\n734(例如Zos)可以如下来计算,\n[0050]\n[0051]\n[0052] 其中\n[0053]\n[0054]\n[0055] 类似的办法可用于经由具有向量分量的正确替换的样本708、712和712来确定沿平面714(例如Yos和Zos)的方向偏移。尽管以上讨论涉及平面714和722,将领会,如上提及的,任何两个平面可用于确定沿三个轴的偏移。\n[0056] 返回至图6,方法600进一步包括通过用方向偏移数据来滤波未经滤波的偏移数据来计算614更新的方向偏移数据。例如,在一些实施例中,可以使用递增/递减滤波器。将领会,可以使用其他滤波机制而不背离本公开的范围。\n[0057] 方法600进一步包括在616向计算设备输出从磁性信息的多个样本中的第二样本和经更新的方向偏移数据中导出的经校准的游戏控制器取向信号。此外,与图4的方法400相反,方法600可以随着时间推移(例如,跨多个用户实例)来使用。相应地,方法600可以进一步包括在618存储经更新的方向偏移数据。换言之,方向偏移数据可以随着时间推移而累积以便提供方向偏移数据的“历史”。相应地,在这些实施例中,所存储的经更新的方向偏移数据可包括用于在将来使用游戏控制器期间导出“初始游戏控制器取向信号”的“方向偏移数据”。\n[0058] 尽管上文在U形手柄的上下文中进行了讨论,但要理解无线控制器可以具有几乎任何形状而不背离本公开的范围。作为另一非限制性示例,图8示出无线控制器800包括基本上为环形(即O形)的手柄部分802,手柄部分802被配置成由游戏玩家的一只手或两只手持有。将领会,这些配置是出于示例的目的而呈现的,且不旨在以任何方式进行限制。\n[0059] 在某些实施例中,以上所述的方法和过程可以与一个或多个计算设备的计算系统绑定。尤其地,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(API)、库和/或其他计算机程序产品。\n[0060] 图9示意性地示出了可以执行上述方法和过程之中的一个或多个的计算系统900的非限制性实施例。图1的游戏控制器102和计算设备104以及图2A-2C的游戏控制器200是计算系统900的非限制性示例。以简化形式示出了计算系统900。应该理解,可以使用实际上任何计算机架构,而不偏离本发明的范围。在不同的实施例中,计算系统900可以采取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如智能电话)等等的形式。\n[0061] 计算系统900包括逻辑子系统902和存储子系统904。计算系统900可任选地包括显示子系统906、输入子系统908、通信子系统910和/或在图9中未示出的其他组件。\n[0062] 逻辑子系统902包括被配置为执行指令的一个或多个物理设备。例如,逻辑子系统可以被配置为执行作为一个或多个应用、服务、程序、例程、库、对象、组件、数据结构或其它逻辑构造的一部分的指令。可以实现这样的指令为执行任务、实现数据类型、变换一个或多个组件的状态、或以其它方式达到所需的结果。\n[0063] 逻辑子系统可包括被配置成执行软件指令的一个或多个处理器。附加地或可替代地,逻辑子系统可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机器。逻辑子系统的处理器可以是单核或多核的,而其上执行的程序可以被配置为进行串行、并行或分布式处理。逻辑子系统可以任选地包括分布在两个或更多设备之间的独立组件,这些独立组件在一些实施例中可以位于远程和/或被配置用于进行协调处理。逻辑子系统的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。\n[0064] 存储子系统904包括一个或多个物理、非瞬时设备,该一个或多个物理、非瞬时设备被配置为保持逻辑子系统可执行来实现此处所述的方法和过程的数据和/或指令。在实现这些方法和过程时,可以变换存储子系统904的状态(例如,保存不同的数据)。\n[0065] 存储子系统904可以包括可移动介质和/或内置设备。存储子系统904可包括光学存储器设备(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等等。\n存储子系统904可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、和/或内容可寻址设备。\n[0066] 将领会,存储子系统904包括一个或多个物理、非瞬时设备。然而,在一些实施例中,在此描述的指令的各方面可以按暂态方式通过不由物理设备在有限持续时间期间保持的纯信号(例如电磁信号、光信号等)传播。此外,与本公开有关的数据和/或其他形式的信息可以通过纯信号来传播。\n[0067] 在一些实施例中,逻辑子系统902和存储子系统904的各方面可以被一起集成到一个或多个硬件-逻辑组件中,通过所述组件来执行在此所述的功能性。这样的硬件逻辑组件可包括:例如,现场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准产品(PSSP/ASSP)、片上系统(SOC)系统以及复杂可编程逻辑设备(CPLD)。\n[0068] 术语“模块”、“程序”和“引擎”可用于描述被实现为执行一个特定功能的计算系统\n900的一方面。在某些情况下,可以通过执行由存储子系统904所保持的指令的逻辑子系统\n902来实例化模块、程序或引擎。可以理解,可以从同一应用、服务、代码块、对象、库、例程、API、功能等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用程序、服务、代码块、对象、例程、API、函数等来实例化同一模块、程序和/或引擎。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。\n[0069] 在被包括时,显示子系统906可用于呈现由存储子系统904保存的数据的视觉表示。该视觉表示可采取图形用户界面(GUI)的形式。由于此处所描述的方法和过程改变了由存储子系统保持的数据,并由此变换了存储子系统的状态,因此同样可以转变显示子系统\n906的状态以视觉地表示底层数据的改变。显示子系统906可以包括使用实际上任何类型的技术的一个或多个显示设备。可以将此类显示设备与逻辑子系统902和/或存储子系统904一起组合在共享封装中,或者此类显示设备可以是外围触摸显示设备。\n[0070] 当被包括时,输入子系统908可包括诸如键盘、鼠标、触摸屏或游戏控制器等一个或多个用户输入设备或者与这些用户输入设备对接。在某些实施例中,输入子系统可以包括所选的自然用户输入(NUI)部件或与其结合。这样的部件可以是集成式的或者是外设,并且输入动作的转换和/或处理可以在板上或板下处理。NUI部件的示例可包括用于语言和/或语音识别的微电话;用于机器版本和/或姿势识别的红外、颜色、超声波和/或深度相机;\n用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速计和/或陀螺仪;以及用于评估脑部活动的电场感测部件。\n[0071] 当包括通信子系统910时,通信子系统910可以被配置成将计算系统900与一个或多个其他计算设备可通信地耦合。通信子系统910可包括与一个或多个不同的通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些实施例中,该通信子系统可允许计算系统900经由网络(比如因特网)向其他设备发送消息和/或从其他设备接收消息。\n[0072] 应该理解,此处所述的配置和/或方法在本质上示例性的,且这些具体实施例或示例不是局限性的,因为众多变体是可能。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或多个。由此,所示出和/或描述的各个动作可以按所示出和/或描述的顺序、按其他顺序、并行执行或者被忽略。同样,可以改变上述过程的次序。\n[0073] 本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效方案的所有新颖和非显而易见的组合和子组合。
法律信息
- 2017-11-03
专利权的转移
登记生效日: 2017.10.16
专利权人由微软公司变更为微软技术许可有限责任公司
地址由美国华盛顿州变更为美国华盛顿州
- 2017-04-12
- 2015-05-27
实质审查的生效
IPC(主分类): A63F 13/21
专利申请号: 201380043888.0
申请日: 2013.08.15
- 2015-04-29
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-02-13
|
2005-02-24
| | |
2
| |
2011-10-19
|
2011-04-19
| | |
3
| | 暂无 |
2011-05-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |