用户输入设备中控制机构的校准偏置的制作方法

文档序号:21087273发布日期:2020-06-12 16:58阅读:224来源:国知局
用户输入设备中控制机构的校准偏置的制作方法

背景

诸如游戏控制器之类的用户输入设备,可包括各种比例和模拟类型的控件,诸如操控杆、拇指杆、控制杆、比例触发器或其他输入机构。这些输入机构通常包括机械和电气元件两者,以允许在一个或多个方向轴上的用户操纵。用户输入设备可被用于各种交互系统中,诸如分立游戏控制台、计算机游戏环境、便携式游戏系统、以及其他设备和系统,其也可以包括航空、军事或工业控制系统。microsoft系列游戏系统是可采用这些用户输入设备的示例,其中游戏控制台被配置为通过有线或无线接口与游戏控制器通信。

概览

本文提供了诸如游戏控制器之类的用户输入设备。在一个示例中,用户输入设备包括控制机构,该控制机构被配置成接收在一个或多个轴上的用户操纵。用户输入设备包括移动校准系统,其监视表示控制机构的用户操纵的移动数据,并且至少部分地基于至少使用适格化控制机构在一个或多个轴上的峰值冲程的适格区归一化的移动空间来确定经校准的移动数据。响应于移动数据,移动校准系统建立对适格区的更新,其使适格区在一个或多个轴上向外偏置偏移,并提供经校准的移动数据以用于用控制机构控制一个或多个用户界面元素。

提供本概览以便以简化的形式介绍将在以下详细描述中进一步描述的概念的选集。可以理解,本概览并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。

附图简述

参考以下附图可更好地理解本公开的许多方面。尽管结合这些附图描述了若干实现,但是本公开不局限于本文中所公开的这些实现。相反,意图是要覆盖所有的替换方案、修改和等价物。

图1是在一实现中的用户输入环境的系统图。

图2例示了在一实现中的操作用户输入设备的方法。

图3是在一实现中的用户输入设备的系统图。

图4例示了在一实现中的用户输入设备校准。

图5例示了在一实现中的用户输入设备校准。

图6例示了在一实现中的用户输入设备校准。

图7例示了在一实现中的用户输入设备校准。

图8例示了在一实现中的用户输入设备校准。

图9例示了适用于实现本文公开的任何架构、过程、方法和操作场景的示例用户输入设备。

详细描述

诸如游戏控制器之类的用户输入设备可包括允许用户与屏幕上元素交互的控制杆机构。用户输入设备可被用于各种交互系统中,诸如分立游戏控制台、计算机游戏环境、便携式游戏系统、以及其他设备和系统。许多类型的游戏系统可采用这些用户输入设备,其中游戏控制台或其他系统被配置为通过有线或无线接口与游戏控制器通信。在其他示例中,用户输入控制机构被用于汽车、航空、军事或工业控制设置中。

被包括在控制杆机构中的机电元件可能难以按精确和可重复的方式制造,并且用于控制杆机构的机械元件可能具有跟踪用户输入操纵的有限精度。示例控制机构包括允许使用手指或拇指进行用户操纵的拇指杆或触发器。当用户未摆弄控制机构时,该控制机构可响应地使用弹簧、带、电机、伺服器或其他返回元件返回到中央静止位置。此外,用户通常可以在最大移动范围内移动控制机构,该范围受机械限制和其他因素的限制。此静止位置和最大移动范围可取决于制造的变异性、组件的变化、组件的磨损程度和其他因素随时间在设备内或逐设备变化。

由于随时间推移以及设备与设备之间的变化,对控制杆机构和相关联的游戏控制器的校准可能具有挑战性。死区已被采用以忽略在控制杆移动区域的中央区域或周界区域中的用户输入,以补偿这些变化。但是,当死区被不正确地采用或不正确地调整大小时,诸如游戏之类的用户应用可能无法很好地解释控制杆的位置或导致可用移动空间的减少。而且,对这些控制杆和相关联的机构的校准会随时间推移变得不准确,部分原因是用户输入活动的变化。

可以根据测得的移动极限值和静止位置来执行对控制杆移动的归一化,以改变对控制杆机构的跟踪。此归一化可以包括使用适格化控制杆移动的静止点(中央区域)或最大冲程(周界区域)的适格区以测量控制杆机构的原位性能并确定与理想行为的变化和偏差。实际移动到优选移动空间的各种映射也可以使用这些适格区和控制杆性能的原位测量来实现。

但是,当采用归一化的移动空间和移动映射时,某些用户应用和游戏仍然会遇到问题。在一些示例中,游戏可以包括第一人称射击(fps)风格的游戏,其中主要用户在移动轴的受限子集中移动,诸如频繁的从左到右的移动以便用较少频繁的上下移动来改变相关联的化身或游戏中角色的视点。其他示例包括用户交互模式,其中仅采用上下移动,或者比左右移动更频繁地采用上下移动。很多时候,多个控制杆被用在游戏控制器上,并且一个控制杆可被指定用于聚焦于第一组移动轴的某些功能,而另一控制杆可被指定用于聚焦于第二组移动轴的其他功能。其他示例包括触发机构,其中平均仅使用移动空间的一个子集。

本文的示例采用用于用户控制机构的增强校准技术,例如用于游戏控制器中的控制杆,以及其他用户输入设备。增强校准技术采用了一个或多个适格区,这些适格区适格化控制杆移动的静止点(中央区域)和过渡极限(周界区域)。这些适格区可用于为控制杆机构建立测得的移动空间,并可进一步用于将控制杆的测得移动归一化为优选移动空间,或映射测得的移动数据以改变控制杆机构的响应。然而,本文讨论的增强的周界适格区包括用于沿对应轴线或基数方向在“向外”方向上对适格区的变化进行偏置的专用特征。这些增强的周界适格区可以为用户输入设备的移动提供更好的校准,尤其是在用户应用或游戏采用某些移动方向比其他移动方向更频繁的用例中。更好的游戏体验和对用户界面元素的用户控制以及对游戏控制器和其他输入设备的更精确校准可被实现。

作为用户界面设备或用户输入设备中的增强校准的第一示例,图1被呈现。图1是例示用户输入环境100的系统图。环境100包括游戏控制器110和游戏系统140。游戏控制器110和游戏系统140通过一个或多个链路150进行通信。链路150可包括无线或有线链路,并在下文进一步详细讨论。尽管在环境100中采用了游戏控制器和游戏系统,但是应当理解,该讨论也可以应用于其他用户输入设备和用户系统。

在操作中,用户将采用游戏控制器110使用一个或多个输入机构(诸如控制杆111-112、方向垫(d-pad)113和按钮114)与游戏系统140交互。可采用其他输入机构,诸如触发器、语音控件、触摸垫、触摸屏或其他输入机构,包括其组合。控制电路系统130、移动接口131、移动校准系统132和通信接口133可被采用以确定动态校准的移动数据并将此动态校准的移动数据提供给游戏系统或其他外部系统。在其他示例中,移动接口131和移动校准系统132中的一者或多者可替代地在游戏系统140上被采用,并且控制电路系统130可通过链路150传递未处理的(即原始的)或部分处理的移动数据,以便于游戏系统140确定动态校准的移动数据。游戏控制器110和游戏系统140的元件的其他组合可执行本文所讨论的操作。

图1中示出了一个控制杆的详细视图,即为控制杆111。控制杆111包括拇指杆部分以供在定义移动空间101的一个或多个轴上与用户的手指或拇指对接。控制杆111是控制杆系统115的一部分,控制杆系统115进一步包括输入机构120和控制电路系统130。控制电路系统130可以包括一个或多个控制模块,即移动接口131、移动校准系统132和通信接口133。

输入机构120包括接收并响应控制杆111的用户操纵的一个或多个机构。这些机构可包括机电元件、张力元件、弹簧元件、伺服器元件、电机元件,以及相对于测量元件支持和定位控制杆111的结构元件。诸如位置感测元件和换能器元件之类的测量元件可被包括在控制电路系统130中,并可包括电位计、位置确定电路系统、角度旋转变压器、光电位置传感器、诸如霍尔效应传感器或磁阻传感器之类的磁传感器、编码器、电容式传感器、电感式传感器,或其他位置测量元件和位置感测元件。模数(a/d)转换元件也可被包括在控制电路系统中,以将模拟测量或位置信号转换成数字移动数据。这些数字表示可被引入控制电路系统130的处理元件以便通过链路150传递给游戏系统140和用户界面元素141的控件。然而,如本文所讨论的,包括各种动态校准元件,其可改变数字表示以提供对用户界面元素141的更准确和精确的控制。具体而言,在控制电路系统130中采用移动接口131、移动校准系统132和通信接口133。

控制电路系统130可包括一个或多个微控制器、微处理器、专用集成电路(asic)、现场可编程门阵列(fpga),或者分立逻辑及相关联的电路系统,包括其组合。控制电路系统130可包括一个或多个模数转换元件,或与一个或多个模数转换元件配对,以接收与控制器110和输入机构120相关联的用户输入。控制电路系统130的其他示例在图9的输入平台中被例示。

移动接口131包括被配置成接收由输入机构120的元件编码的移动数据的数字表示的一个或多个数字接口。移动接口131可以包括逻辑或物理接口,其可以包括一个或多个缓冲器、信号调节器、信号去抖动特征、收发机、有线或无线接口、串行或并行接口以及其他元件。

移动校准系统132包括校准服务,该校准服务被配置成从移动接口131接收数字移动数据并将一个或多个校准应用于数字移动数据以确定经校准的移动数据。移动校准系统132包括数据处理元件、数据存储元件、移动分析和平均函数等元件。在一些示例中,移动校准系统132包括离散逻辑和电路系统,而在进一步的示例中,移动校准系统132包括各种微处理器、软件、固件、存储和相关元件的一个或多个部分。移动校准系统132可以包括存储在非暂时性存储介质上的一个或多个计算机可执行指令,诸如下面在图9中讨论的,尽管变化是可能的。移动校准系统132可以存储校准数据、历史移动数据、以及与控制电路系统130提供的校准服务有关的其他信息。

通信接口133包括收发机、接口电路系统、控制逻辑以及用于通过链路150传达移动数据、经校准的移动数据和其他信息的其他元件。通信接口133可以包括通过各种协议和格式进行通信的电路系统、处理元件和软件,诸如通用串行总线(usb)、专有通信信令、互联网协议(ip)、以太网、传输控制协议(tcp)、wifi(ieee802.11)、蓝牙、近场通信(nfc)、红外通信、其他有线或无线数据接口或一些其他通信格式,包括其组合、改进或变化。

有利地,本文讨论的经增强的用户输入设备元件和校准过程提供了对在游戏系统或本文所讨论的其他系统中的用户界面元素的更准确的用户输入控制。使用本文讨论的过程减少或消除对死区或其他相关联的无响应区的使用。对输入设备控制和校准的这些改进具有如下技术效果:提高用户输入设备的准确度和精度,提供对游戏系统中的屏幕上元素或在汽车、工业或航空系统中的相关联的机构的更大控制,以及增加拇指杆运动的可使用范围。

图2是例示环境100中的控制器110的操作的方法的流程图。下面以括号形式引用图2的操作。在图2中,控制电路系统130接收(201)表示输入机构120的用户操纵的移动数据。具体而言,控制电路系统130可接收并监视与控制杆111(或控制器110中的任何用户界面元素)相关的移动数据样本。移动数据样本可包括控制杆111穿过移动空间101的位置或移动的数字表示,从而指示穿过移动空间101的过渡事件。在一些示例中,控制电路系统130将模拟移动或位置信令转换为数字信令并监视该数字信令,而在其他示例中,输入机构120可向控制电路系统130输出表示控制杆111的移动的数字信号。

在操作期间,移动数据的新样本被捕捉并使用一个或多个函数被应用于现有样本、现有样本群体、或现有样本序列以确定诸如适格区之类的各种校准数据、峰值保持数据、均值或平均值、基数极限、中心点或其他校准数据的新值。在一些示例中,一组或一系列移动数据的样本由控制电路系统130维护,这可被包括在包含位置数据样本的数据结构中。各样本可包括周期性(诸如每“n”毫秒)确定的控制杆111的位置数据。该组移动数据的样本可包括预定数量的样本,诸如最新采集的“m”个样本。样本的滚动窗口可被建立以用新样本替换该组中最旧的成员。此滚动窗口可针对控制器110的每个功率周期、控制器110的每个使用会话、或者在固定数量的样本上被持续地推进。该组中的样本数量可能会变化。在拇指杆示例中,覆盖移动空间101的二维(2d)数据集可被维护。在比例触发器示例中,可改为采用一维(1d)数据集或单轴移动空间。在其他示例中,例如对于虚拟/混合现实控制器,可针对三维(3d)控制输入设备维护3d数据集。

由控制电路系统130监视的测得数据样本可被处理以至少部分地基于至少使用适格化控制机构在一个或多个轴上的峰值冲程的适格区归一化的移动空间来确定(202)经校准的移动数据。在许多示例中,这些适格区被用于将校准处理集中于符合特定标准的移动样本的某个子集,而不是移动数据的整个集合。各适格区被调整大小和位置以捕捉特定周界区域或中央区域的移动数据的特定部分。根据这些适格区,相关联的移动数据可被处理以确定受影响的周界区域中的过渡极限值以及中心适格区的静止位置。通常,周界区域将具有与每个特定移动轴相关联的至少一个适格区,诸如代表标准x-y二维移动空间的+/-x和+/-y方向的四个适格区。这些可以与控制机构的基数方向(诸如上/下和左/右)相关联,但可以替换地与任意轴旋转对齐。附加的中心适格区也可被用于处理指示控制机构何时处于静止的“中央”移动数据。

根据这些适格区,移动空间可被确定并且此移动空间可被归一化为预定配置,诸如预定形状、大小或取向以及其他配置。经校准的移动数据可以使用这些适格区和标准化过程来获得。诸如当测得的移动空间具有不理想的不规则形状或异常形状时,移动数据的进一步映射可被执行,以将测得的移动空间拟合、调整大小或重新缩放到所需移动空间。

对使用适格区确定此经校准和经归一化的移动数据的过程的讨论在下文中被找到。但是,在图2中,根据特定方向上的偏置或优先权重,对这些适格区执行附加处理以动态地调整大小和位置各适格区中的一者或多者。通常,这些特定方向同与控制杆移动相关联的一个或多个轴(诸如x-y轴)对齐。如上文提及的,某些用户应用(诸如游戏)可能会经由控制杆机构使用户移动,该控制杆机构诸如在第一人称射击以及其他游戏中在一个或多个方向上受限或受制。此受限移动可能会导致周界适格区逐渐偏移离开控制杆机构的实际移动空间的周界。偏移可能因此导致校准和移动空间确定以及归一化过程不准确。

控制电路系统130建立(203)对适格区的更新,其使适格区在一个或多个轴上向外偏置偏移。此偏置可以处理峰值保持数据以及应用于每个适格区内各事件的一个或多个平均函数的结果值,以用于适格区的定位和大小调整。当适格区各自对应一个或多个轴时,则本文各示例从峰值保持中选择“向外”最多的值(沿每个轴)并从适格区中应用的一个或多个平均函数中选择结果值,作为适格区定位和大小调整的基础。这些峰值保持值和结果值响应于通过控制机构的移动空间的过渡事件而被更新。在一些示例中,所应用的平均函数包括用于在特定适格区的各事件之间产生均值的均值函数。

控制器110然后将经校准的移动数据提供(204)给接收系统以便控制用户界面元素。此经校准的移动数据可以包括经改变的移动数据,该经改变的移动数据修改来自用户操纵的实际移动数据以用于更有效地控制用户界面元素,诸如屏幕上游戏元素。在图1中,控制电路系统130通过链路150提供动态校准的移动数据以传递给游戏系统140以用于控制用户界面元素141。游戏系统140可包括允许用户使用控制器110与用户界面元素141提供的屏幕上元素交互的一个或多个用户应用。用户应用可包括娱乐游戏、第一人称射击游戏、策略游戏、街机游戏、生产力应用、社交媒体应用、健身应用、财务应用、媒体播放器应用、会议应用或其他应用,包括其组合。

控制系统130还可通过链路150向游戏系统140或其他系统报告故障状况。这些故障状况可包括校准过程遇到错误的时刻、机械公差超出阈值水平的时刻、或其他故障状况。在一个示例性故障状况中,新的校准值是小于或大于先前的校准值的阈值量。这可指示与相关联的控制杆的运动的有关问题,诸如由残片或输入机构的其他故障约束的运动范围。针对校准值的低水平或高水平可被建立,其限制当前校准值可收缩或增长多少以防止发生故障的设备过于严重地改变校准数据。其他故障状况可包括诸如由于测量数据的过度噪声或偏移导致中心点未被找到的时刻。当实际测得数据不能提供机械中心或反之亦然时,到移动空间的预定中心或预定周界边界的回退可被使用。可经由相关联的游戏系统或经由控制器110的一个或多个用户界面元素向用户报告这些故障状况。

现在转到关于适格区可被如何用于确定经校准的移动数据的讨论,诸如在操作202中,控制电路系统130可以基于移动数据来确定周界过渡极限、机械中心静止点和基数中心等其他移动元素。控制杆机构的移动事件可以使用相关联的适格区被“适格化”为可接受的,并且这些被适格化的事件被进一步用于确定周界过渡极限、机械中心静止点和基数中心,或者用于归一化或以其他方式更改测得的移动空间以反映所需的移动空间尺寸特性。

控制杆机构在移动范围外周界附近的最大冲程可被“适格化”以用于使用上文提及的适格区进行进一步的计算和处理。最大冲程是控制杆机构的特定移动弧或移动事件在相关联的基数方向上向外的最极端移动样本,受受限于本文讨论的某些限制(如图3所示)。周界适格区可被用于适格化移动空间的周界附近的移动或冲程,而中心适格区可被用于适格化控制杆机构的静止点。进入周界适格区的最大冲程可被称为对于控制杆111的每个基数方向的基数极限事件。尽管基数方向可包括任意轴或正交方向,但是本文示例中的基数方向包括包含2d移动空间的上、下、左和右轴。适格区均值或平均值可从控制杆111的适格的过渡极限或适格的最大冲程的样本序列中导出。由于输入机构120中的机械变化或用户输入模式的趋势以及其他使用变化,适格区内的基数极限事件的均值会随时间变化。

最大冲程的适格可使用适格区进行处理以将校准过程集中在适格区内的移动数据的某个子集上。例如,控制杆111的移动可能需要在基数极限适格区内发生,以使相关联的最大冲程被认为是适格的。可从穿过相关联的适格区的各适格的过渡中导出仅一个适格的最大冲程。在一些示例中,适格可能会考虑集成到控制杆中的按钮的状态,并仅考虑当被集成的按钮未被用户推压或按压时发生的位置数据样本或冲程。可能出现其他适格,诸如第二适格区,其阻止在校准过程中考虑由于位于现有基数极限事件周围的统计上相关的周界(诸如3西格玛周界等)之外而显得虚假或错误的移动数据。可应用时间阈值,其中过渡必须在相关联的适格区中持续达比使得相关联的最大冲程适格的阈值时间更大的时间段。这些基数极限适格区将在下面的图3中更详细地讨论。

在图1中,移动校准系统132可被用于确定和适格化最大冲程事件。控制杆111的测得移动数据可被表示为位置数据样本,诸如移动空间内的坐标。移动校准系统132可处理这些样本,如上文所讨论的,以标识控制杆111在每个基数方向上适格的最大冲程。可基于针对一个或多个轴中的每个轴的控制杆输入机构的适格的最大冲程来随时间确定适格区均值和峰值冲程“保持”值。

在一些示例中,适格区均值和峰值冲程保持值以及适格的中央静止/中心点可被用于将移动数据重新定中、重新定标或重新映射为经校准的移动数据。该经校准的移动数据可被输出给诸如游戏系统140之类的外部系统,或可被任何用户应用、游戏环境、或采用来自控制器110的用户输入的其他系统采用。输出数据可被缩放以适合经归一化的移动空间。例如,原始测得的测量空间可能具有经确定的相关联的基数极限事件,并且具有被缩放以适合归一化的测量空间的原始测量空间,因此基数极限事件位于经归一化的测量空间的周界。其他示例使用略微超过经归一化的测量空间的其他定制形状,以增强移动空间的可用性。

如上文提及的,移动校准系统132可以校准测得的移动数据以作为经校准的移动数据输出到游戏系统140。作为机械和电气公差、磨损、制造变异性和其他因素的结果,“基数”坐标中心和机械静止中心通常不位于同一点处。在一些系统中,采用大的死区来补偿机械中心与测量数据中心的差异以及补偿控制器硬件间的变异性。死区禁止向相关联的游戏系统输出移动,直到控制杆已移出死区。然而,此死区可能导致控制杆的总移动空间中的巨大的不可使用区域,并在进入和离开死区时导致死区边界处的不一致性和不准确性。在本文的示例中,可使用动态校准来大大减小或完全消除死区,该动态校准包含处理一系列样本以动态地确定基数极限、基数中心点和机械中心变化。

可以基于监视的基数极限事件来确定基数中心。基数中心可以包括基数最大值之间的中间点,诸如与基数极限适格区均值相比的中间点。在进一步的示例中,代替基数极限适格区均值,每个基数适格区的适格区均值和峰值冲程保持值中的更极端值被用于确定基数中心。例如,当采用2d移动空间时,基数极限事件可以指示沿每个轴(诸如,上、下、左、右方向上的“x”和“y”轴)的最大冲程。可通过沿每个轴取中间点从这些基数极限事件确定基数中心点。具体而言,基数中心点包括x轴最小值和最大值之间以及y轴最小值和最大值之间一半处的点。在每个轴上用作最大值的特定值可以变化,诸如基于每个基数适格区的适格区均值和峰值冲程保持值中的更极端值,以及其他考虑因素。

控制杆111的机械中心可以从一系列的控制杆静止动作中导出,控制杆静止动作可以包括一系列适格的静止点。在图1中,移动校准系统132可以确定控制杆111的机械中心。机械中心与当未被用户操纵时控制杆111自然停止的位置有关。每次用户释放控制杆111时,相关联的输入机构都在机构的中心附近达到静止。由于机械公差、静摩擦、动摩擦、机械滞后和相关联的输入机构的精度限制的变化,每个静止动作可能会产生控制杆111的不同物理静止位置。本文讨论的机械中心包括从将一个或多个函数和适格应用于与控制杆111相关联的多个测得的静止点而导出的值。机械中心从测得数据被导出,它是控制杆111的一个物理静止位置或一系列物理静止位置的动态确定的指示。平均函数可被应用于从一系列静止动作产生的一系列样本以导出机械中心。因此,许多静止点被处理以确定机械中心。平均函数可包括均值、平均、加权移动平均、或被应用以从一系列静止动作产生的一系列静止点中确定机械中心的其他统计函数。

各种技术可被用于确定控制杆111何时达到静止,这指示静止动作。这些技术可在控制杆111移动到自然机械返回位置时和当控制杆111未被用户主动摆弄时适格化静止动作,同时考虑虚假移动数据。例如,当控制杆111在每个轴上的完全位移的预定子范围内停留预定时间量时,可指示静止动作。在具体示例中,当控制杆111在完全位移的0.1%内停留1秒时,可指示静止动作。在其他示例中,当针对每个轴,最大采样值减去预定数量的在先样本的最小采样值比预定阈值小时,指示静止动作。在又一其他示例中,当在预定数量的样本上,每个轴的所有差的绝对值的总和或每个样本和其之前的样本在两个轴之间的距离比预定阈值小时,指示静止动作。在其他示例中,当在预定数量的样本上针对每个轴,均值绝对偏差或中位绝对偏差、或标准偏差比预定阈值小时,指示静止动作。在在先示例中,每个轴可共享相同的阈值、具有不同的阈值、或者具有作为每个轴上的值的某种函数的共同阈值。在又一示例中,当控制杆111对于由中央区域指示的所需数量的样本停留在某点或函数的预定范围内时,可指示静止动作。此点或函数可以是任意先前样本或最近样本的一些合适的平均函数。此范围在形状上可以是方形或矩形,或可采用诸如圆形或椭圆形之类的另一合适的形状。用于指示如本文所描述的静止动作的阈值或范围可以是固定的,或者可以是持续时间/样本数量的函数。例如,较高的范围可指示在更长的持续时间之后的静止动作,或者较短的持续时间可指示范围较小情况下的静止动作。当静止事件被指示时,可选择表示控制杆111达到静止的点的静止点。此静止点可以是一旦控制杆111达到静止就被采样的第一点、在控制杆111静止后开始移动之前被采样的最后一点、在控制杆111静止时被采样的某个另一点、在控制杆111处于静止处的一系列点的平均函数、控制杆111在静止时采取的范围控制的中点、或任何其他代表点。

为了进一步确定准确的机械中心,控制电路系统130可建立一个或多个中心适格区,每个中心适格区包括围绕静止点的分布的边界。这些中心适格区在大小/位置上可以是固定的,或在大小/位置上可以是动态的。当在大小上固定时,中心适格区可以以预定位置(诸如测量空间的中点中心、移动空间的中点中心或基数中心)为中心,并具有固定于预定尺寸的大小。当大小是动态的时候,随着由于附加测得样本导致静止点的分布发生变化,中心适格区大小可随时间变化。静止点在没有出现在中心适格区内的情况下可被认为无效,并且控制杆的移动可被用于进一步适格化静止点。例如,在适格化作为静止点之前,可能需要控制杆111的移动首先离开中心适格区并重新进入。时间阈值也可被用于适格化静止点,诸如控制杆在进入中心适格区的特定时间内必须停止移动,或者控制杆必须在中心适格区内徘徊达阈值时间量。下面针对图3讨论其他示例。可采用(诸如图3中的)第二中心适格区以提供对第一中心适格区的大小的交叉检查,这可帮助避免用于适格化静止点的第一中心适格区随时间偏移到不合需的大小的情形。

一旦移动数据的各种元素(诸如基数极限均值、峰值保持值、基数中心和机械中心等其他元素)已被标识,则移动校准系统132可以建立动态校准的移动数据。在一些示例中,此动态校准包括使用机械中心来确定重新定中的移动数据,以移位测得的移动数据并将机械中心放置在为移动空间确定的基数中心处。此经重新定中的移动数据被用于控制用户界面活动,并可被输出至诸如游戏系统140之类的外部系统,或可被任何用户应用、游戏环境、或采用来自控制器110的用户输入的其他系统采用。

移动校准系统132还可以重新缩放测得的移动数据,使得基数极限事件位于经归一化的移动空间的周界。由基数极限适格区的属性定义的基数中心在基数极限峰值事件位于经归一化的移动空间的周界处时也可被定位在经归一化的移动空间的中点中心处。控制电路系统130根据基数极限适格区的属性缩放原始测量数据以适合经归一化的移动空间。经归一化的移动空间可具有预定的min(最小)/max(最大)特征,其包括+/-1(以(0,0)为中点中心)、0至216比特、或其他min/max限制。缩放通常包括拉伸、压缩或以其他方式改变测得的移动空间以适合经归一化的移动空间,使得峰值基数极限事件位于经归一化的移动空间的周界处(或超出经归一化的移动空间的周界)。缩放可能根据各种缩放函数发生。在一些示例中,缩放函数针对整个空间而言不是均匀的,而是可改为在半轴基础上执行(即,针对移动空间的每个象限而言有不同的缩放因子或函数)。

移动校准系统132还可在经归一化的移动空间上映射重新缩放的移动数据,以确保机械中心位于经归一化的移动空间的中点中心处,同时将基数极限事件保持在围绕经归一化的移动空间的周界的所需位置处。该映射可根据各种加权函数来执行以减小经归一化的移动空间上的失真。随着机械中心和基数极限事件在新数据点被采样和处理时或由于其他基于磨损的消除而移位,映射将以动态方式变化。控制器110的每个通电会话都可促使捕捉针对每个基数方向的新的最大冲程数据。此外,用于机械中心确定的适格区的大小和形状可根据应用于机械静止点的新样本的函数而改变。

诸如静止点、最大冲程、机械中心、适格区信息、基数极限点和基数中心之类的测量数据可被存储在非易失性存储器中以供跨控制器110的多个功率周期使用。可对每个基数极限点距基数中心的距离应用收缩或损耗率(诸如1%)。可对基数极限适格区或静止点适格区的大小应用(诸如1%的)增长率,以确保新值被连续地适格化以允许测量数据动态地捕捉机械行为中的变化以及其他变化。每次通电都可促使对计算机械中心、适格区信息、基数极限点、和基数中心以及其他信息的计算。此信息可然后用于各种校准过程,诸如归一化、映射、定中或缩放操作。类似地,这种收缩、增长或重新计算也可周期性地(诸如每隔预定的分钟数)发生,同时控制器110保持通电或运行。

如本文所提到的,平均函数是恰当地表示样本群体的先前样本的函数,其可任选地对更新近的数据点和/或一些原始工厂校准更重地加权。可基于可用处理资源(诸如ram、持久存储、计算周期、硬件实现的操作、或代码空间)来选择平均函数。一些平均函数包括均值函数、max和min的中点、中位函数、所有先前数据点的模、或仅应用于一些任意数量的最新近的点的任何在先的“回滚”版本。平均函数的其他示例包括无限冲激响应(iir)滤波器、有限冲激响应(fir)滤波器、或低通滤波器。例如,iir滤波器yn+1=w·xn+1+(1-w)·yn(其中0<w≤1是每个新点的权重(例如,w=0.05))可以是为低处理资源应用选择的平均函数。如果执行大量工厂校准,则可采用恒定的权重。替换地,如果执行最小工厂校准或不执行工厂校准,则可以选择对于预定数量的数据点具有逐渐衰减的权重(之后权重保持恒定)的平均函数。

为了进一步例示在控制器设备中的动态校准中使用的适格区,提供了图3。图3是例示控制杆310的系统图,作为一实现中的用户输入设备的示例。控制杆310可包括在图1的控制器110中找到的元件(诸如控制杆111或112),但变化是可能的。控制杆310包括机构311、拇指杆312、和位置传感器313-314。在图表300中示出了用于控制杆310的采样移动数据的二维映射。

首先转向控制杆310的元件,机构可包括一个或多个机电元件,其接收并响应拇指杆312的用户操纵。这些机构可包括机电元件、张力元件、弹簧元件、电机元件、伺服器元件,以及相对于测量元件支持和定位拇指杆312的结构元件。位置传感器313-314可包括电位计、位置确定电路系统、角度旋转变压器、旋转编码器、光电位置传感器、诸如霍尔效应传感器或磁阻传感器之类的磁传感器、编码器、电容式传感器、电感式传感器,或其他测量元件和感测元件。模数(a/d)转换元件也可被包括在位置传感器313-314中,以将模拟测量或位置信号转换成数字移动数据。这些数字表示可被引入来处理元件以便传递给游戏系统以用于控制用户界面元素。

在操作中,用户可操纵拇指杆312。诸如图1和9中描述的控制系统可监视与拇指杆312的用户操纵相关联的信号以确定动态校准信息。图表300例示了控制杆310的采样数据点的表示,其从与控制杆310相关联的移动数据的周期性采样得到。出于例示的目的,此移动数据被布置在二维图表中,其中“y”轴与拇指杆312的上和下移动有关,而“x”轴与拇指杆312的左和右移动有关。在图表300的中间指示每个轴的中点。

示例周界或“基数极限”适格区被配置为包括在每个基数方向上可到达的最极限的物理位置,如图表300中的四个区域所指示的,即xmax适格区331、xmin适格区332、ymax适格区333和ymin适格区334。控制杆在这些区域内的运动产生控制杆的过渡极限(最大冲程)。最大冲程可在每个进入/离开弧每次通过适格区作为在适格区内时达到的最大值来被产生或根据在适格区内移动弧的一系列样本的平均函数来被产生。“峰值”基数极限事件可由每个适格区内的多个最大冲程来确定。可以随时间确定基数极限峰值,其中每个适格区可以存储在一段时间内发生的最极限冲程或峰值向外移动事件。这些基数极限峰值可被存储为包含上文提及的基数极限事件的峰值保持值,但是随着监视新的峰值冲程而更新。

诸如xmax适格区331、xmin适格区332、ymax适格区333和ymin适格区334之类的基数极限适格区可被动态地调整大小和位置。在其他示例中,基数极限适格区的一些大小或位置属性可以是固定的、预定义的或工厂校准的大小。尽管适格区331-334被显示为矩形形状,但应该理解的是,可替代地采用其他形状,诸如三角形、椭圆形或半椭圆形以及梯形。

具体而言,基数极限适格区可以基于应用于特定适格区内的一系列冲程的函数来被动态调整大小和位置动态调整大小和位置的细节在下面的图4-8中被讨论。适格区331-334的示例矩形形状和大小可以具有在沿着相关联的轴外向/远离原点的方向上定义的外边界,并且可以由距相应适格区中指定点的预定距离来定义。内边界可以在沿相关联的轴面向/朝向原点的方向上定义,并且可以与适格区均值相关,或者可以通过固定值或从适格区均值导出的值来设置。每个适格区的两个“侧”边界可以围绕相关联的轴为中心,并以预定的量间隔开。

如上文提及的,适格的过渡极限是在基数极限适格区331-334内发生的那些过渡极限。在图3所示的示例中,从穿过基数极限适格区的每个适格的移动输入/过渡中导出一个适格的过渡极限,这可包括在穿过基数极限适格区的过渡期间监视到的最极端的值。可为过渡建立一个或多个时间阈值。一个示例时间阈值包括过渡必须在基数极限适格区内持续大于使得过渡极限适格的特定阈值的时间段。如果穿过适格区的输入过渡包含超出外部适格区边界的任何点,则在一些示例中整个输入过渡可能被忽略并不被适格化。

图3中的示例周界适格区340示出了围绕最大冲程的分布建立的适格区。在此示例中,适格区340用于xmax基数方向(331),并且类似的概念将应用于其他基数方向。随着时间的推移,随着分布因新采样的最大冲程而改变,适格区可被更新。用于适格区340的示例控制杆运动341在图3中示出。运动341可例示拇指杆312通过进入并然后离开适格区340穿过适格区340成弧来产生最大冲程342。如所看到的,随着时间发生的许多最大冲程的样本位于适格区340内,并且的确最大冲程的新样本的变化可被用于建立结果所得的适格区。示出了示例峰值保持值343,其表示在预定时间段内在适格区内监视到的峰值冲程。由于示例冲程341未超过峰值保持值343,因此峰值保持值343将保持在相同值。在本文的一些示例中,峰值保持确定还可以包括具有“后退”功能的峰值保持,在适格区的其他示例以及图4-8对适格区的改变中对此进行了讨论。

有利地,基数极限确定过程使用一系列适格的过渡极限的一个或多个函数导致对适格区均值和基数“峰值冲程保持”值的准确确定。当适格区均值和基数峰值冲程保持值设置得过低(诸如过于靠近测量空间的中心)时,控制杆中的机械行程被浪费。相反,当适格区均值和基数“峰值冲程保持”值设置得过高(诸如过于远离测量空间的中心)时,控制杆可能不如在正确确定的示例中那样灵敏。此外,当适格区均值和基数峰值冲程保持值设置得过高时,由于当控制杆处于最大物理程度时,经归一化的移动空间未达到全尺寸,因此用户可能无法利用控制杆的全范围控制。

可根据基数极限事件建立基数中心301。此基数中心是由从基数极限事件导出的中心点(即在各基数极限事件之间的每个轴中的中心点)确定的。在图3中,图表300以基数中心301为中心。在图3中还确定了机械中心点,由机械中心302指示。由于机械公差、静摩擦、动摩擦、机械滞后和相关联的输入机构的精度限制的变化,每个拇指杆312的静止动作可能会产生不同的静止位置。平均函数可被应用于一系列静止点以确定机械中心。因此,许多静止点被处理以确定机械中心。

在图3中,示出了两个中心适格区(303和304),但在一些示例中仅采用单个中心适格区303。在图3中,中心适格区303被称为主中心适格区,而中心适格区304被称为次中心适格区。主和次适格区也可被用于周界适格区,如图4-8所示。在图3中,中心适格区303和304可被建立且每个中心适格区都包括围绕中心点的边界——中心适格区303以当前机械中心为中心,而中心适格区304以基数中心为中心,当使用经归一化的移动空间时,中心点可改为经归一化的移动空间的中点中心。

中心适格区303和304可被用于适格化静止点以允许无效或虚假的静止点被忽略。如果静止点未在适格区303内发生,则可被认为无效。在一些示例中,适格还可能会考虑集成到控制杆中的按钮的状态,并仅考虑当被集成的按钮未被用户推压或按压时发生的位置数据。拇指杆312的移动动作可被用于进一步适格化静止点。例如,在适格化作为静止点之前,可能需要拇指杆312的移动首先离开适格区或一些其他大小适当的区并重新进入。在其他示例中,多部分适格可被建立,其中仅当所有条件都被满足时静止点才被适格化。这些条件可包括适格区离开-重新进入条件,每次仅有一个静止点进入适格区(或其他合适的区),时间阈值被满足,以及控制杆上的相关联的按钮不被按压。

中心适格区303或中心适格区304可被动态地调整大小,并且可随着新的静止点被采样而随时间改变。中心适格区303或中心适格区304可以替代地固定大小,诸如基于工厂校准数据或由用户或操作员输入的大小。中心适格区304可以基于中心适格区303的大小来调整大小。函数可被应用于一系列静止点以确定适格区303的大小。中心适格区303的大小还可取决于机械中心与中心适格区304的均值之间的绝对差、主中心适格区303的适格的静止点的分布(例如预定量的均值偏差),以及中心适格区304的适格的静止点的分布(例如另一预定量的均值偏差)。适格区303可具有边长、椭圆半径或每个轴的偏差函数的一些倍数或每个轴的其他函数的其他几何参数。适格区303可具有预定的最大和最小大小,以强制适格区303中的稳定性。适格区304可对适格区303的大小提供限制,这可帮助避免用于适格化静止点的适格区303随时间偏移到不合需的大小的情形。

用于示例中心适格区345的示例运动346如图3所示。运动346可例示最初处于静止状态的拇指杆312,向外移动并离开适格区345,然后重新进入适格区345以在潜在静止点347处达到静止。如所看到的,例如中心适格区345的每个静止点可能位于不同的位置。图3中的示例中心适格区345围绕静止点的分布建立。随着分布因新的测量数据样本而改变,经更新的适格区可被建立。虽然示例中心适格区345被显示为矩形,但应该理解,可以替代地采用其他形状。

如上文提及的,机械中心点可使用经加权的移动平均或其他函数从一系列适格的静止点中导出。发生在主中心适格区303内部并满足一个或多个时间阈值的静止点可被适格化。在第一示例时间阈值中,输入移动必须在进入中心适格区的特定时间内停止变化。在第二示例时间阈值中,输入移动必须改变不超过特定量达超过特定时间。换言之,适格的静止动作包括与控制杆312相关联的移动数据指示移动数据的变化小于阈值距离达超过阈值时间。其他时间阈值可被应用,并时间阈值的组合可被包括。在图3的示例中,为每个中心适格区进入适格化一个静止点,并且输入移动必须首先离开主中心适格区才能适格化新的静止点,如针对单个示例中心适格区的移动346所示。

故障状况也可被建立以用于调整周界或中央适格区的大小。例如,当适格区低于大小最小阈值或超过大小最大阈值时,故障状况可被触发。此故障状况可防止适格区的大小增至超过最大大小阈值或者大小降至低于最小大小阈值。

现在转向对周界适格区的移动数据进行动态校准的操作,如图4-8所呈现的。图4-7包括反映二维移动空间的示例移动数据,诸如用于控制杆机构的示例移动数据。替换地,可以使用类似的概念来采用其他控制机构,这些概念可能包括更少或更多的行程轴。图4-8的操作可以由图1的元件(诸如移动校准系统132);由图3的元件(诸如控制杆机构310);或由图9的元件,包括其组合来处理。

图4例示了在一实现中的用户输入设备校准处理400。图表401包括针对控制杆机构随时间测量的移动数据402的样本集。示例轴“x”和“y”在图4中被示出,其中图表401的中心对应于轴围绕其被定位的原点(“0”)。图表401的顶侧对应于+x方向、图表401的底侧对应于-x方向、图表401的左侧对应于-y方向、而图表401的右侧对应于+y方向。

图4中采用了若干适格区,与图3中采用的那些适格区类似。但是,图4例示了比图3更复杂的一组适格区,每个基数极限都有主和次周界适格区两者,且中心或原点都有主和次周界适格区两者。示出了针对+x方向的主基数极限适格区421,以及次基数极限适格区422。沿轴的每个基数极限方向(例如+x,-x,+y,-y)都有相应的主和次基数极限适格区,但为清楚起见,在图4中仅标记了+x方向。同样,中央区域具有主中心适格区431和次中心适格区432。键403指示图表401的若干特征,即基数极限423、基数(适格区)均值424、机械中心433和基数中心434。

由于相应控制杆的用户移动的性质,移动数据402在图表401中以大体圆形的图案出现。但是,当基于均匀加权的平均窗口对周界适格区调整位置和大小时,移动数据的密度梯度可导致周界适格区向中心偏移的趋势,如图4所示。这可以是被中心加权的移动数据的结果,诸如在使用第一人称射击的游戏过程中或更喜欢在图表401的“y”轴上移动而不喜欢在“x”轴上移动的其他游戏。

为了抵消这些事件梯度并保持控制机构的有效校准,用于处理周界适格区的各种经增强的过程可被采用。图5-7例示了用于对周界适格区进行增强处理的示例操作。在图5-7中,将重点放在示例基数极限区域,以为示例操作提供更清晰的图片。即,在图5-7中呈现了+x基数极限区域。但是,应该理解,图5-7的操作可被应用于任何基数极限区域(例如,+x,-x,+y,-y)。

基于在特定时间段内测得的相关联的移动数据,在图5-7中确定各种属性和值。第一示例值包括针对沿着特定轴的移动事件确定的峰值保持值,其中该峰值保持值表示在相关联的主适格区或相关联的次适格区中的任一者内发生的峰值冲程。第二示例值包括在相关联的主适格区内发生的移动事件的均值(而非次适格区内发生的事件的均值)。针对图5-7所示的每个图表,当前移动事件被示出,并且其他/示例移动数据被示出。当前移动事件通常触发对于主适格区的属性和次适格区的属性的变化,并可能触发对于峰值保持值和均值的变化。

首先转向图5,第一示例操作500例示了至少部分地基于适格区内的极限事件来确定对适格区的大小和位置调整。随着峰值保持值和均值由于新的移动数据/事件而改变,主适格区511和次适格区512可能会被更新。为适格区提供移动偏置,该偏置沿相关联的轴在“向外”方向上偏置定位。此偏置通过至少对峰值保持和均值应用最大化函数来提供。最大化函数包括,响应于峰值保持值由于新的移动冲程大于主适格区的当前均值而被更新,主适格区沿着相应的轴被向外驱动。最大化函数还包括当相应的峰值保持值在向外方向上与当前均值相比不那么极端时,主适格区以当前均值为中心。因此,最大化函数为主适格区提供不对称响应,该响应沿相应的轴被向外偏置。

为了进一步例示此最大化函数,图表501-503例示了位于次适格区512中的主适格区511的状态。基于主适格区511和次适格区512内的移动数据针对每个状态示出峰值保持值521,并且基于主适格区511内的移动数据针对每个状态示出均值522。还针对每个图表501-503标记新的/当前事件(例如,事件531、532、533),其中示例移动数据524显示为小点。

图表501例示了主适格区511和次适格区512的初始状态,以及相关联的峰值保持和均值。在图表501中,由于均值的值比当前峰值保持值在值方面更极端,因此主适格区511最初以主适格区511的均值为中心。在此示例中,次适格区512被调整大小以与主适格区511成比例。例如,次适格区512的水平大小与主适格区511的水平大小匹配,而次适格区512的垂直大小是主适格区511的垂直大小的预定倍数。应当理解,主和次适格区之间的大小变化是可能的。

当发生新的移动事件时(如事件531指示的),对相关联的峰值保持和均值进行更新,这可能会导致对主适格区511和次适格区512的更改。具体地,当前事件531发生在图表501中的现有峰值保持值之下,进而峰值保持值以一个预定的阶跃或离散的量被响应地更新为不那么极端。峰值保持值的这种更新包括峰值保持值中的“后退”。图表502示出了经更新的峰值保持值已经朝着原点“向内”移动了一个阶跃。由于过去曾发生过许多移动事件,而均值是以这些移动事件为基础的,因此图表501和502之间的均值变化很小。因此,均值在沿相关联的轴上仍然比经更新的峰值保持值在程度上更极端,并且主适格区511仍以均值为中心。

图表502示出发生另一新的移动事件532,新的移动事件532在此情况下比图表502的当前峰值保持值在程度上更极端。作为响应,峰值保持值被更新以反映此更极端的移动冲程,如图表503中更新所示。与先前的新的移动事件一样,主适格区的均值变化不大,部分原因是大量历史移动事件被计入均值计算。但是,在图表503中,经更新的峰值保持值现在在程度上大于(即更极端于)主适格区的均值。作为响应,主适格区511被重新定位为以图表503中经更新的峰值保持值为中心。

有利地,根据与相关联的周界区域中的移动数据相关联的峰值保持值和均值中的最极值来定位主适格区511。此定位产生最大化函数,该最大化函数确保对适格区的更改沿相关联的基数方向被向外偏置。向外偏置可以为用户输入设备(例如为遇到以非平衡方式加权的移动数据密度的控制杆机构)产生增强的操作和校准。

现在转向图6,第二示例操作600例示了至少部分地基于适格区内的极限事件来确定对适格区的大小和位置调整的进一步偏置。随着峰值保持值和均值由于新的移动数据/事件而改变,主适格区611和次适格区612可能会被更新。与图5一样,为适格区提供移动偏置,该偏置部分地基于峰值保持和均值中的更极端的值沿相关联的轴在“向外”方向上不对称地偏置定位。

为了进一步例示此最大化函数,图表601-603例示了主适格区611和次适格区612的状态。基于主适格区611和次适格区612内的移动数据针对每个状态示出峰值保持值621,并且基于主适格区611内的移动数据针对每个状态示出均值622。还针对每个图表601-603标记新的/当前事件(例如,事件631、632、633),其中示例移动数据624显示为小点。

图表601例示了主适格区611和次适格区612的初始状态,以及相关联的峰值保持和均值。在图表601中,由于均值的值比当前峰值保持值在值方面更极端,因此主适格区611最初以主适格区611的均值为中心。次适格区612被调整大小以与主适格区611成比例,并且包含主适格区611。

当发生新的移动事件时(如事件631指示的),对相关联的峰值保持和均值进行更新,这可能会导致对主适格区611和次适格区612的更改。具体地,当前事件631发生在图表601中的现有峰值保持值之上,进而峰值保持值被响应地更新以匹配当前事件631的值。图表602示出了经更新的峰值保持值已从原点“向外”移动,以对应于事件631。由于过去曾发生过许多移动事件,而均值是以这些移动事件为基础的,因此图表601和602之间的均值变化很小。因此,均值在沿相关联的轴上现在不比经更新的峰值保持值在程度上更极端,并且尝试将主适格区611以经更新的峰值保持为中心来重新定中,如图表602所示。

然而,在图表602中,试图以经更新的峰值保持值为中心重新定位主适格区611威胁将主适格区611的均值排除在主适格区611本身之外。在此示例中,主适格区611的内边界被有利地调整以确保主适格区611的均值仍位于主适格区611的程度内。主适格区611的大小可以为预定的最小大小,诸如,在垂直方向上使外边界和内边界相对于当前中心点/值设置为最小量(即峰值保持值和均值之间的最极限)。但是,如图表602所示,为了将均值保持在主适格区611内,当以峰值保持值重新定中时,内边界距离中心点增加一段距离以确保均值仍在主适格区611内。具体而言,dout是第一量,而din是第二更大的量。距主适格区611的中心点的外部距离(即dout)仍可以保持默认或预定量,而距中心点的内部距离(din)已超过默认量。

图表602示出发生另一新的移动事件632,新的移动事件632此情况下比图表602的当前峰值保持值在程度上更极端。此示例中的峰值保持计算不仅考虑了主适格区中发生的移动事件,还考虑了次适格区中发生的移动事件。因此,即使移动事件632在主适格区611的边界之外,此事件仍被认为是潜在的新峰值保持值。作为响应,峰值保持值被更新以反映此更极端的移动冲程,如图表603中更新所示。与先前的新的移动事件一样,主适格区的均值变化不大,部分原因是大量历史移动事件被计入均值计算。在图表603中,经更新的峰值保持值仍比主适格区的均值更极端,甚至比先前的峰值保持值更极端。作为响应,主适格区611尝试以图表603中经更新的峰值保持值为中心重新定中。

然而,在图表603中,试图以经更新的峰值保持值为中心重新定位主适格区611再次威胁将主适格区611的均值排除在主适格区611本身之外。在此示例中,主适格区611的内边界被有利地调整以确保主适格区611的均值仍位于主适格区611的程度内。如图表602所示,为了将均值保持在主适格区611内,当以峰值保持值重新定中时,内边界距离中心点进一步增加一段距离以确保均值仍在主适格区611内。具体而言,dout仍然是图形602中所示的第一量,而din是第三量甚至更大的量。

有利地,主适格区611不仅根据峰值保持值和与相关联的周界区域中的移动数据相关联的均值中的最极限来定位,而且还具有考虑位于主适格区611内的移动数据的均值的大小。防止主适格区611的内边界排除主适格区611的均值,从而确保进一步的移动事件只能使主适格区611沿着相关联的轴向外移动。这提供了主适格区611对新的移动事件的进一步偏置或不对称响应。此外,当确保均值保留在主适格区611中时,主适格区611的总面积因此增加,从而允许更多机会以捕捉主适格区611内的事件。这种位置和大小调整确保了对适格区的更改沿相关联的基数方向向外偏置,同时仍允许主适格区611的均值根据新的移动数据自然调整。向外偏置可以为用户输入设备(例如为遇到以非平衡方式加权的移动数据密度的控制杆机构)产生增强的操作和校准。

现在转向图7,第三示例操作700例示了至少部分地基于适格区内的极限事件来确定对适格区的大小和位置调整的进一步偏置。随着峰值保持值和均值由于新的移动数据/事件而改变,主适格区711和次适格区712可能会更新。与图5和6一样,为适格区提供移动偏置,该偏置部分地基于峰值保持和均值中的更多极值沿相关联的轴在“向外”方向上不对称地偏置定位。

为了进一步例示此最大化函数,图表701-703例示了主适格区711和次适格区712的状态。基于主适格区711和次适格区712内的移动数据针对每个状态示出峰值保持值721,并且基于主适格区711内的移动数据针对每个状态示出均值722。还针对每个图表701-703标记新的/当前事件(例如,事件731、732、733),其中示例移动数据724显示为小点。

图表701例示了主适格区711和次适格区712的初始状态,以及相关联的峰值保持和均值。图表701可以是图6的图表603例示的过程的延续,尽管图表701可以说明任何序列。在图表701中,主适格区711最初位于峰值保持值附近,其中主适格区711的内部边界被定位成确保主适格区711的均值包含在主适格区711中。根据大于峰值保持值的预定量来定位主适格区711的上边界。次适格区712被调整大小以与主适格区711成比例,并且包含主适格区711。

当发生新的移动事件时(如事件731指示的),对相关联的峰值保持和均值进行更新,这可能会导致对主适格区711和次适格区712的更改。具体地,当前事件731发生在图表701中的现有峰值保持值之上,进而响应地更新峰值保持值以匹配当前事件731的值。图表702示出了经更新的峰值保持值已从原点“向外”移动,以对应于事件731。由于过去曾发生过许多移动事件,而均值是以这些移动事件为基础的,因此图表701和702之间的均值变化很小。因此,均值在沿相关联的轴上继续不比经更新的峰值保持值在程度上更极端,并且尝试将主适格区711以经更新的峰值保持为中心来重新定中,如图表702所示。

但是,在图表702中,主适格区711的均值被显示为以夸张的量被更新,以例示主适格区711的内部边界的向外移动。再次,主适格区711的内边界被有利地调整以确保主适格区711的均值仍位于主适格区711的程度内。图表702示出发生另一新的移动事件732,新的移动事件632在此情况下不比图表702的当前峰值保持值在程度上更极端。作为响应,峰值保持值被更新以反映此非更极端的移动冲程,如图表703中更新所示。如上文提及的,当新的移动事件低于当前峰值保持值时,峰值保持值被减小一个预定的阶跃量。

在图表703中,经更新的峰值保持值仍比主适格区的均值更极端。作为响应,主适格区711尝试以图表703中经更新的峰值保持值为中心重新定中。在图表703中,主适格区711的均值被显示为以夸张的量被更新,以例示主适格区711的内部边界的向外移动。再次,主适格区711的内边界被有利地调整以确保主适格区711的均值仍位于主适格区711的程度内。

有利地,图7例示了主适格区711的均值随时间的向外偏移,部分原因在于本文的增强操作所提供的不对称偏置。具体而言,由于主适格区711位于主适格区711/712的峰值保持值和主适格区711的均值中的更极端值附近,因此鼓励第一向外驱动。然后,由于主适格区711的内边界被确定为始终包括主适格区711的均值,因此鼓励第二向外驱动。这两个向外偏置鼓励主适格区711和均值在移动空间的向外方向上的偏移。向外偏置可以为用户输入设备(例如为遇到以非平衡方式加权的移动数据密度的控制杆机构)产生增强的操作和校准。

在未示出的另一示例中,一旦峰值保持值已经偏移到足以存在于移动空间的周界极限上,则将尝试在移动空间的周界处居中设置相关联的主适格区。这建立了有利场景,其中相关联的适格区确保控制杆机构的完整范围可被用于用户输入并在校准过程中加以考虑,诸如基数中心确定和周界确定,以及将移动数据归一化、重新调整大小、重新映射和重新缩放到首选形状、大小和程度。一旦均值从适格区的边界偏移离开,超过相关联的主适格区均值的进一步峰值冲程将倾向于沿相关联的轴向外移动均值,并将适格区边界缩小到最小预定大小。最终,即使是均值也可能偏移到移动空间的外周界极限,进一步最大限度地利用控制机构的机械程度并增强校准过程。

在本文的示例中,在用于与用户控制输入或其他输入类型相关联的移动数据的校准过程中采用周界和中心适格区。周界适格区不对称地偏置以更容易在向外方向上朝移动空间的周界偏移。在本文的示例中,这可以部分归因于最大化函数,该最大化函数考虑了移动数据的峰值保持值以及周界适格区的均值。与移动数据相关联的峰值保持值被配置成向外移动比向内移动更快。周界适格区还被配置成比向内移动更容易向外移动,并且主适格区内边界被确保包括相关联的主适格区的均值,有利地导致未来事件将均值向外推。技术效果包括更准确的校准用户输入设备以确保对用户界面元素进行更准确的控制。一个示例是针对游戏控制台上的用户输入更准确地校准游戏控制器,实现对屏幕上元素和图形用户界面的准确控制。其他技术效果包括更精确地控制依赖于用户输入设备的机器,诸如工业机构和机械、飞机、军舰、航天器或其他用户输入控件。

图8例示具有移动数据801的示例图表800。图表800示出了沿图表800的垂直轴的峰值保持值的增强确定,根据沿图800的水平轴指示的随时间发生的新移动事件进行更新。针对当前存储的峰值保持值811评估每个新的移动事件812,以确定如何修改或更新峰值保持值。当新的移动事件(相对于相应的轴)比当前峰值保持值更极端时,则峰值保持值被更新以匹配新的移动事件的值。当新的移动事件(相对于相应的轴)不比当前峰值保持值更极端时,则峰值保持值在程度上朝着原点减小预定量,即预定离散阶跃量。

图9例示了用户输入设备900,其表示可实现本文所公开的各种动态校准操作架构、场景和过程的任何系统或系统集合。例如,用户输入设备900可被用于图1的控制电路系统130、图3的控制杆310中,或者被用于建立图1-8的任何校准过程。用户输入设备900的示例可被并入其他设备和系统中,诸如虚拟现实设备、增强现实设备、游戏机、游戏平台、膝上型计算机、平板计算机、台式计算机、服务器、云计算平台、混合计算机、虚拟机、智能电视、智能手表和其他可穿戴设备,以及其任何变体或组合。用户输入设备900还可被并入用于航空、军事、车辆操作、机器人控制或工业控制系统的用户接口系统中。

用户输入设备900包括输入平台901,并且该用户输入设备900可被实现为单个装置、系统或设备,或者可以以分布式方式被实现为多个装置、系统或设备。例如,用户输入设备900可包括一个或多个微控制器、微处理器、专用集成电路(asic)、现场可编程门阵列(fpga),或者分立逻辑及相关联的电路系统,包括其组合。输入平台901可任选地包括出于简化的目的而未被讨论的附加设备、特征或功能。

输入平台901包括处理系统902、存储系统903、软件905、通信接口系统907和用户接口系统908。处理系统902可操作地与存储系统903、通信接口系统907和用户接口系统908耦合。存储系统903可任选地包括非易失性存储器(nvm)904(其可包括可编程只读存储器)、电可擦除可编程只读存储器(eeprom)、或闪存,以及其他非易失性存储器类型。当nvm904被包括时,该nvm904可存储校准数据、采样数据、样本集或其他测量数据和相关联的信息。

处理系统902从存储系统903加载并执行软件905。软件905包括控制器环境906,其表示关于在先附图所讨论的触摸过程。当由处理系统902执行以增强对游戏控制器应用的输入处理和处置时,软件905引导处理系统902至少如本文针对在前述实现中讨论的各种过程、操作场景和序列所描述的进行操作。输入平台901可任选地包括出于简化的目的而未被讨论的附加设备、特征或功能。

仍然参考图9,处理系统902可以包括从存储系统903中检索并执行软件905的微处理器以及处理电路系统。处理系统902可被实现在单个处理设备中,但也可以跨在执行程序指令时协作的多个处理设备或子系统分布。处理系统902的示例包括通用中央处理单元、专用处理器、和逻辑设备、以及任何其他类型的处理设备、其组合或变体。

存储系统903可包括可由处理系统902读取并能够存储软件905的任意计算机可读存储介质。存储系统903可包括易失性和非易失性、可移动和不可移动介质,它们以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据这样的信息的任意方法或技术来实现。存储介质的各示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存存储器、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储或其他磁存储设备,或任何其他类型的存储介质。在任何情况下,计算机可读存储介质都不是传播的信号。存储系统903可包括非易失性存储器904(其可包括可编程只读存储器)、电可擦除可编程只读存储器(eeprom)、或闪存,以及其他非易失性存储器类型。

除了计算机可读存储介质以外,在一些实现中,存储系统903还可包括至少一些软件905可通过其进行内部和外部通信的计算机可读通信介质。存储系统903可以被实现为单个存储设备,但也可以跨相对于彼此共处一地或分布式的多个存储设备或子系统来实现。存储系统903可以包括能够与处理系统902或可能的其他系统通信的附加元件,诸如控制器。

软件905可用程序指令来实现,并且连同其它功能,当软件905被处理系统902执行时指示处理系统802如参考本文所例示的各种操作场景、序列和过程所述地那样操作。例如,软件905可包括用于实现增强对游戏系统的校准处理和处置的程序指令。

具体而言,程序指令可包括协作或以其他方式交互以执行如本文中所描述的各种过程和操作场景的各种组件或模块。各种组件或模块可被具体化在经编译或经解释的指令中,或被具体化在指令的某其他变体或组合中。各种组件或模块可以以同步或异步方式、串行或并行地、在单线程环境或多线程环境中、或根据任何其他合适的执行范例、变体或其组合来被执行。除了控制器环境906或包括控制器环境906之外,软件905可包括附加过程、程序或组件,诸如操作系统软件或其他应用软件。软件905还可包括可由处理系统902执行的固件或某一其他形式的机器可读处理指令。

一般而言,软件905可在被加载到处理系统902中并被执行时将合适的装置、系统或设备(其被输入平台901代表)整个从通用计算系统变换成被定制以促进增强对应用的触摸输入处理和处置的专用计算系统。事实上,存储系统905上的编码软件903可变换存储系统903的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。此类因素的示例可包括但不仅限于,用于实现存储系统903的存储介质的技术以及计算机存储介质是被表征为主存储还是二级存储,以及其他因素。

例如,如果计算机可读存储介质被实现为基于半导体的存储器,则当在其中编码程序指令时软件905可以变换半导体存储器的物理状态,诸如通过变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。一种类似的变换可以相对于磁或光学介质发生。在没有偏离本说明书的范围的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于本讨论。

控制器环境906包括一个或多个控制器应用922,该控制器应用922包括用户输入服务923和动态校准服务924。控制器环境906还任选地包括操作系统921。os921可提供在其上执行用户输入服务923和动态校准服务924的软件平台。用户输入服务923包括接收表示用户操纵的移动信号或移动数据的移动接口。可通过诸如从控制杆、拇指杆、触发器、按钮、触摸控制、运动控制、键盘、键区或其他用户输入硬件之类的用户接口系统908接收移动信号或移动数据。在用户输入设备900中提供指示灯、视频屏幕、振动反馈、或阻力特征的示例中,用户输入服务923可向用户提供反馈。

动态校准服务924对与诸如控制杆之类的各种用户输入机构相关联的测量数据执行校准处理。动态校准服务924可执行这里描述的任何校准过程。例如,用户输入服务923可诸如通过与用户输入元件相关联的a/d转换电路系统接收由用户界面元素捕捉的测量数据,并将该测量数据提供给动态校准服务924。动态校准服务924执行动态适格区处理以向经归一化的移动空间提供测量数据的定中、缩放和映射。动态校准服务924提供经校准的和归一化的移动数据作为输出数据。在一些示例中,该输出数据可由通信接口系统907传递以便传送到主机系统或游戏系统以控制用户界面元素。在其他示例中,动态校准服务924可通过一个或多个软件或逻辑接口提供该输出数据,以供游戏系统用于控制用户界面元素。

在一个示例中,动态校准服务924包括用于执行本文所描述的过程的若干单独模块,即适格区模块925和校准模块926。适格区模块925至少基于相应适格区内的移动数据来处理对适格区的动态调整大小和位置。校准模块926基于测得的/原始的移动数据以及使用基数中心、机械中心、适格区、适格区均值或其他信息进行的任何修改来确定经校准的移动数据。校准模块926可缩放移动数据以适合归一化的移动空间、移位或重新定中测量数据以将机械中心放置在归一化的移动空间的中点中心处或与基数中心对准、建立周界区域以将机械中心移位到归一化的移动空间的中点中心、和根据一个或多个加权或映射函数映射经移位的数据,以及其他操作。

通信接口系统907可包括允许通过通信网络(未示出)与其它计算系统(未示出)进行通信的通信连接和设备。一起允许系统间通信的连接和设备的示例包括网络接口卡、天线、功率放大器、rf电路系统、收发机以及其它通信电路系统。连接和设备可通过通信介质通信以与其他计算系统或系统网络交换通信,诸如金属、玻璃、空气或任何其他合适的通信介质。

用户接口系统908可包括用于接收与用户输入元件相关联的用户操纵数据的电路系统元件或处理元件。各种电路系统可被用于感测用户输入,将输入从模拟信号转换为数字信号、并将数字信号传递给处理系统902的各元件。可采用放大器、滤波器或其他信号处理电路系统来修改由用户输入生成的信号。例如,用户接口系统908可包括a/d转换电路系统,以将与用户输入元件相关联的模拟信令转换为数字表示。在其他示例中,外部a/d转换电路系统910被提供,且用户接口系统908可包括用于通信和控制a/d转换电路系统910或用户输入设备装备的一个或多个数字接口。

用户接口系统908可包括输出设备,诸如显示器、扬声器、触觉设备、指示灯、力反馈元件和其他类型的输出设备。用户接口系统908可通过诸如与各个体用户输入元件通信的通信接口系统907之类的网络接口提供输出或接收输入。用户接口系统908还可包括可由处理系统902执行的相关联的用户接口软件,以支持上文讨论的各种用户输入和输出设备。

输入平台901和其他系统(未示出)之间的通信可在通信网络或各网络上并根据各种通信协议、协议的组合或其变体发生。各示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、个人局域网、软件定义网络、数据中心总线、计算背板、或任何其他类型的网络,网络的组合或其变体。上文提及的通信网络和协议是众所周知的且不需要在此详细讨论。然而,可被使用的一些通信协议包括但不限于因特网协议(ip、ipv4、ipv6等)、传输控制协议(tcp)、和用户数据报协议(udp)、蓝牙接口(诸如ieee802.15.1)、wifi(ieee802.11),以及任何其他合适的通信协议、变体或其组合。有线和无线链路可用于输入平台901以与游戏系统、主机系统或托管用户接口平台的其他系统通信,其中用户采用用户输入设备900来控制用户界面元素。

根据前述公开可以领会某些发明方面,以下是这些发明方面的各种示例。

示例1:一种用户输入系统,包括:被配置成接收表示控制机构的用户操纵的移动数据的移动接口,以及移动校准系统。移动校准系统被配置成至少部分地基于至少使用适格化控制机构在一个或多个轴上的峰值冲程的适格区而归一化的移动空间来确定经校准的移动数据。响应于移动数据,移动校准系统被配置成建立对适格区的更新,其使适格区在一个或多个轴上向外偏置偏移,并提供经校准的移动数据以用于用控制机构控制一个或多个用户界面元素。

示例2:示例1的用户输入系统,其中移动校准系统被进一步配置成:监视由移动数据指示的适格区中的过渡事件以保持一个或多个轴上的峰值保持值和应用于每个适格区的平均函数的结果值,以及至少基于在峰值保持值和结果值之间执行比较来建立对适格区的更新。

示例3:示例2的用户输入系统,其中适格区的峰值保持值基于峰值冲程超过相关联的适格区的当前峰值保持值被更新以反映相关联的适格区内的峰值冲程;以及其中峰值保持值基于相关联的适格区内的峰值冲程下降低于相关联的适格区的当前峰值保持值而被减少预定量。

示例4:示例2的用户输入系统,其中适格区的结果值包括适格区中的移动事件沿着适格区的相应轴线的均值。

示例5:示例2的用户输入系统,其中移动校准系统被进一步配置成:通过至少确定每个适格区的峰值保持值和结果值之间在一个或多个轴上的最外值来执行比较,以及通过至少基于最外值中相关联的最外值定位适格区来建立更新。

示例6:示例5的用户输入系统,其中定位适格区包括将适格区在最外值中相关联的最外值上定中。

示例7:示例5的用户输入系统,其中移动校准系统被进一步配置成:进一步通过至少基于最外值中相关联的最外值更新适格区的轴向大小来建立更新,其中适格区的朝外侧的轴向大小是根据超出最外值中相关联的最外值的预定量来确定的,并且其中适格区的朝内侧的轴向大小被确定以确保结果值被包括在适格区中。

示例8:示例1的用户输入系统,其中移动校准系统被进一步配置成:通过至少监视由在适格区内发生的移动数据指示的控制机构的过渡并确定相对于在适格区内发生的一个或多个轴的过渡极限来适格化控制机构的峰值冲程。

示例9:一种操作用户输入系统的方法,方法包括:监视代表控制机构的用户操纵的移动数据;以及至少部分地基于至少使用适格化控制机构在一个或多个轴上的峰值冲程的适格区而归一化的移动空间来确定经校准的移动数据。响应于移动数据,该方法包括建立对适格区的更新,其使适格区在一个或多个轴上向外偏置偏移,并提供经校准的移动数据以用于用控制机构控制一个或多个用户界面元素。

示例10:示例9的方法,进一步包括,监视由移动数据指示的适格区中的过渡事件以保持一个或多个轴上的峰值保持值和应用于每个适格区的平均函数的结果值,以及至少基于在峰值保持值和结果值之间执行比较来建立对适格区的更新。

示例11:示例10的方法,进一步包括,基于峰值冲程超过相关联的适格区的当前峰值保持值来更新适格区的峰值保持值以反映相关联的适格区内的峰值冲程,以及基于相关联的适格区内的峰值冲程下降低于相关联的适格区的当前峰值保持值而将峰值保持值减少预定量。

示例12:示例10的方法,其中适格区的结果值包括适格区中的移动事件沿着适格区的相应轴线的均值。

示例13:示例10的方法,进一步包括,通过至少确定每个适格区的峰值保持值和结果值之间在一个或多个轴上的最外值来执行比较,以及通过至少基于最外值中相关联的最外值定位适格区来建立更新。

示例14:示例13的方法,其中定位适格区包括将适格区在最外值中相关联的最外值上定中。

示例15:示例13的方法,进一步包括,进一步通过至少基于最外值中相关联的最外值更新适格区的轴向大小来建立更新,其中适格区的朝外侧的轴向大小是根据超出最外值中相关联的最外值的预定量来确定的,并且其中适格区的朝内侧的轴向大小被确定以确保结果值被包括在适格区中。

示例16:示例9的方法,进一步包括,通过至少监视由在适格区内发生的移动数据指示的控制机构的过渡并确定相对于在适格区内发生的一个或多个轴的过渡极限来适格化控制机构的峰值冲程。

示例17:一种用于用户设备的用户输入装置,包括:一个或多个计算机可读存储介质,可操作地与一个或多个计算机可读存储介质耦合的处理系统,以及包括存储在一个或多个计算机可读存储介质上的程序指令的输入校准服务。程序指令基于由处理系统读取和执行,引导处理系统以至少:处理指示控制机构的用户操纵的移动数据以确定分别与控制机构的基数方向相对应的至少一个或多个适格区,其中一个或多个适格区各自适格化控制机构在相关联的基数方向上的峰值冲程。程序指令基于由处理系统读取和执行,进一步引导处理系统以至少:至少基于在相应的适格区内发生的峰值冲程来对一个或多个适格区执行更新,以使至少一个或多个适格区的边界沿相关联的基数方向向外偏置偏移,至少部分地基于一个或多个适格区来确定经校准的移动数据,以及提供经校准的移动数据以用于利用控制机构控制一个或多个用户界面元素。

示例18:示例17的用户输入装置,进一步包括程序指令,程序指令在由处理系统执行时指示处理系统至少:监视由移动数据指示的一个或多个适格区中的过渡事件以保持基数方向上的峰值保持值和适格区的均值;在峰值保持值和一个或多个适格区中的每个适格区的均值之间进行比较;以及至少基于峰值保持值和相关联的基数方向上的均值中的最外值来确定至少对一个或多个适格区的大小和位置调整。

示例19:示例18的用户输入装置,其中一个或多个适格区的峰值保持值基于峰值冲程超过相关联的适格区的当前峰值保持值被更新以反映相关联的适格区内的峰值冲程;以及其中峰值保持值基于相关联的适格区内的峰值冲程下降低于相关联的适格区的当前峰值保持值而被减少预定量;以及其中适格区的均值包括适格区中的移动事件沿着相关联的基数方向的均值。

示例20:示例18的用户输入装置,进一步包括程序指令,程序指令在由处理系统执行时指示处理系统至少:通过至少将一个或多个适格区在最外值中相关联的最外值上定中来确定一个或多个适格区的位置;以及通过至少基于最外值中相关联的最外值更新一个或多个适格区的轴向大小来确定对一个或多个适格区的大小调整,其中一个或多个适格区的朝外侧的轴向大小是根据超出最外值中相关联的最外值的预定量来确定的,并且其中一个或多个适格区的朝内侧的轴向大小被确定以确保均值被包括在适格区中。

各附图中所提供的功能框图、操作场景及序列和流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。尽管出于解释简明的目的,本文中所包括的方法可以以功能图、操作场景或序列、或流程图形式示出并且可被描述为一系列动作,但是可以理解和领会,各方法不受这些动作的次序的限制,因为根据本发明,某些动作可以按与本文中所示出和描述的不同的次序和/或与其他动作并发地发生。例如,本领域的技术人员将明白并领会,方法可替换地被表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所示出的所有动作都是新颖实现所必需的。

本文中所包括的说明和附图描绘了用于教导本领域的技术人员如何做出和使用最佳选项的特定实现。出于教导创造性原则的目的,一些传统的方面已被简化或忽略。本领域的技术人员将领会来自这些实现的变体也落入的本发明的范围内。本领域的技术人员还将领会以上所描述的各特征可以以各种方式被组合以形成多个实现。作为结果,本发明不局限于以上所描述的特定实现,而是仅由权利要求和它们的等价物来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1