控制对触觉输出设备的功率分配的制作方法

文档序号:11530504阅读:243来源:国知局
控制对触觉输出设备的功率分配的制造方法与工艺

优先权申请

本申请要求于2014年12月23日提交的美国临时专利申请no.62/096,095的权益,该申请通过引用被整体结合于此。

实施例一般而言涉及电子设备,并且更具体而言涉及产生触觉效果的电子设备。



背景技术:

视频游戏和视频游戏系统已经变得非常受欢迎。视频游戏设备或控制器通常使用视觉提示和听觉提示向用户提供反馈。在一些接口设备中,可以向用户提供动觉反馈(例如,动力反馈和阻力反馈)和/或触感反馈(例如,振动、纹理、温度变化等)。通常,这种反馈被统称为“触觉反馈”或“触觉效果”。触觉反馈提供了增强和简化用户与视频游戏控制器或其它电子设备的交互的提示。例如,触觉效果可以向视频游戏控制器或其它电子设备的用户提供提示,以就特定事件警告用户,或者在模拟或虚拟环境中提供逼真的反馈,以产生更强的感官沉浸。

其中用户与用户输入元件交互以引起动作的其它设备也可以受益于触觉反馈或触觉效果。例如,这样的设备可以包括医疗设备、汽车控件、遥控器和其它类似的设备。



技术实现要素:

本发明的实施例针对被配置成产生基本上改进相关技术的触觉效果的电子设备。

实施例的特征和优点在下面的描述中阐述,或者将从描述中显而易见,或者可以通过实践本发明来了解。

在一个示例中,提供了用于控制与数据结构相关联的触觉输出设备的功耗的系统和方法。该系统和方法被配置成接收触觉驱动指令、基于其操作特性确定对目标触觉输出设备的功率预算、并将驱动信号施加到目标触觉输出设备以产生触觉效果,该驱动信号基于功率预算。

要理解的是,前面的一般描述和以下的详细描述都是示例性和说明性的,并不旨在将本发明限制到所描述的示例。

附图说明

根据以下对优选实施例的详细描述,其他实施例、细节、优点和修改将变得显而易见,其中优选实施例要结合附图来理解。

图1图示根据本发明的示例实施例的系统的框图。

图2是图示根据本发明的示例实施例的用于分配功率的系统的简化框图。

图3图示根据本发明的示例实施例的触觉效果软件栈的框图。

图4图示根据本发明的示例实施例的功率限制体系架构。

图5图示根据本发明的示例实施例的用于控制触觉输出设备的功耗的方法。

图6图示根据本发明的示例实施例的用于向多个触觉输出设备分配功率预算的方法。

图7a和7b用图形图示通过实现本发明的示例实施例实现的峰值电流的减小。

图8图示根据本发明的示例实施例的数据结构。

图9图示适于与本发明的实施例一起使用的控制器的功能框图。

图10a和10b图示适于与本发明的实施例一起使用的控制器的不同视图。

具体实施方式

现在将详细参考实施例,实施例的示例在附图中图示。在以下详细描述中,为了提供对本发明的透彻理解,阐述了许多具体细节。但是,对于本领域普通技术人员将显而易见的是,本发明可以在没有这些具体细节的情况下实践。在其它情况下,没有详细描述众所周知的方法、过程、部件和电路,以避免不必要地使实施例的各方面变得晦涩。只要有可能,将使用相似的标号用于相似的元素。

示例实施例针对用于控制多个触觉输出设备的功率和/或电流消耗的系统和方法。贯穿具体实施方式,将对控制由触觉输出设备消耗的功率和/或电流进行参考,并且本领域普通技术人员应当理解的是,实施例可以容易地应用于限制电流和/或功率。可以在数据结构内描述触觉输出设备的各种特征。对于由主机设备(例如,游戏手柄或控制台)生成的触觉指令,可以根据存储在数据结构内的信息来确定对触觉输出设备的功率预算。然后,可以向触觉输出设备施加驱动信号以根据计算出的功率预算产生触觉效果。计算出的功率预算可以被配置成限制由触觉输出设备汲取的电流或功率。

在各种实施例中,描述了用于使用设备的各种用户界面和方法。在一些实施例中,设备是便携式电子设备(例如,游戏控制器、控制台、移动电话、智能电话、平板电脑等)。但是,应当理解的是,用户界面和相关联的方法可以应用到许多其它设备(诸如,个人计算机、医疗设备、笔记本电脑等),这些设备可以包括一个或多个其它物理用户界面设备,诸如键盘、鼠标、轨迹球等。

图1图示根据本发明的示例实施例的系统100的框图。

系统100可以包括被配置成从远程源传输和/或接收数据的通信设备110。通信设备110可以通过编码要经网络(未示出)从处理器120发送到另一个设备的数据和解码经网络从另一个系统接收到的用于处理器120的数据来在处理器120和其它设备之间启用连接。

例如,通信设备110可以包括被配置成提供无线网络通信的网络接口卡。可以使用各种无线通信技术,包括红外线、无线电、蓝牙、wi-fi和/或蜂窝通信。可替代地,通信设备110可以被配置成提供(一个或多个)有线网络连接,诸如以太网连接。

处理器120可以包括执行系统100的计算和控制功能的一个或多个通用或专用处理器。处理器120可以包括诸如微处理设备的单个集成电路,或者可以包括协同工作以完成处理器120的功能的多个集成电路设备和/或电路板。此外,处理器120可以执行存储在存储器140内的计算机程序,诸如操作系统141、功率限制器模块142和其它应用143。

系统100可以包括用于存储由处理器120执行的信息和指令的存储器140。存储器140可以包含用于检索、呈现、修改和存储数据的各种部件。例如,存储器140可以存储当由处理器120执行时提供功能的软件模块。模块可以包括为系统100提供操作系统功能的操作系统141。模块还可以包括功率限制器模块142,其可以控制由控制器150的触觉输出设备汲取的功率或电流。在某些实施例中,功率限制器模块142可以包括用于为控制器150的每个触觉输出设备动态计算功率预算的指令。系统100还可以包括一个或多个附加的应用模块143,其包括附加的功能,诸如被配置成向诸如控制器150(例如,游戏手柄、可穿戴设备等)的外围设备提供控制功能的外围固件。

非瞬态存储器140可以包括可由处理器120访问的各种计算机可读介质。在各种实施例中,存储器140可以包括易失性介质和非易失性介质、可移除介质和不可移除介质。例如,存储器140可以包括以下中的任意组合:随机存取存储器(“ram”)、动态ram(dram)、静态ram(sram)、只读存储器(“rom”)、闪存、高速缓存存储器和/或任何其它类型的非瞬态计算机可读介质。可替代地或附加地,存储器140可以包括一个或多个网络或云访问存储介质。

虽然被示为单个系统,但是系统100的功能可以被实现为分布式系统。例如,存储器140和处理器120可以跨共同包括系统100的若干不同计算机分布。在一种实施例中,系统100可以是设备(例如,个人计算机、控制台、视频游戏控制台等)的一部分,并且系统100为设备提供触觉效果功能。在另一种实施例中,系统100可以与设备分离,并且可以为设备远程地提供上述功能。

系统100可以可操作地连接到控制器150。控制器150可以是被配置成向系统100提供输入的外围设备。控制器150可以使用无线连接或者有线连接可操作地连接到系统100。控制器150还可以包括被配置成使用无线连接或者有线连接与系统100通信的本地处理器。可替代地,控制器150可以被配置成不包括本地处理器,并且与控制器150相关联的所有输入信号和/或输出信号可以由系统100的部件来处理。在其中控制器150具有本地处理器的实施例中,诸如被配置成提供控制功能的功率限制器模块和外围固件的附加功能可以驻留在控制器150内。

控制器150还可以包括一个或多个数字按钮、一个或多个模拟按钮、一个或多个缓冲器、一个或多个方向垫、一个或多个模拟或数字杆、一个或多个驱动轮、和/或一个或多个用户输入元件,该一个或多个用户输入元件可以由用户与其交互并且可以向系统100提供输入。控制器150还可以包括一个或多个模拟或数字触发按钮(或“触发器”),该一个或多个模拟或数字触发按钮(或“触发器”)可进一步由用户与其交互并且可以进一步向系统100提供输入。如下面更详细描述的,控制器150还可以包括被配置成在控制器150的至少一个触发器上施加双向推/拉力的马达或另一种类型的致动器或触觉输出设备。

控制器150还可以包括一个或多个致动器或其它类型的触觉输出设备。控制器150的本地处理器或者其中控制器150不包括本地处理器的实施例中的处理器120可以将与触觉效果相关联的触觉信号传输到控制器150的至少一个致动器。致动器又响应于触觉信号输出触觉效果,诸如振动触感触觉效果、动觉触觉效果或变形触觉效果。可以在控制器150的用户输入元件(例如,数字按钮、模拟按钮、缓冲器、方向垫、模拟或数字杆、驱动轮或触发器)处体验到触觉效果。可替代地,可以在控制器150的外表面处体验到触觉效果。

致动器是触觉输出设备的示例,其中触觉输出设备是被配置成响应于驱动信号而输出触觉效果的设备,触觉效果诸如振动触感触觉效果、静电摩擦触觉效果、温度变化和/或变形触觉效果。在替代的实施例中,控制器150内的一个或多个致动器可以由一些其它类型的触觉输出设备代替。触觉输出设备可以是例如电马达、电磁致动器、音圈、形状记忆合金、电活性聚合物、螺线管、偏心旋转质量马达(“erm”)、谐波erm马达(“herm”)、线性谐振致动器(“lra”)、压电致动器、高带宽致动器、电活性聚合物(“eap”)致动器、静电摩擦显示器或超声波振动发生器。在一些情况下,触觉输出设备可以包括触觉输出驱动电路。在一些实施例中,触觉输出设备可以是单向的或双向的。

控制器150还可以包括一个或多个扬声器。控制器150的本地处理器,或者其中控制器150不包括本地处理器的实施例中的处理器120可以将音频信号传输到控制器150的至少一个扬声器,该扬声器又输出音频效果。扬声器可以是例如动态扩音器、电动扩音器、压电扩音器、磁致伸缩扩音器、静电扩音器、带和平面磁性扩音器、弯曲波扩音器、平板扩音器、海尔(heil)空气运动换能器、等离子弧扬声器和数字扩音器。

控制器150还可以包括一个或多个传感器。传感器可以被配置成检测能量的形式或其它物理性质,诸如但不限于,声音、移动、加速度、生物信号、距离、流量、力/压力/应变力/、弯曲、湿度、线性位置、朝向/倾斜、射频、旋转位置、旋转速度、开关的操作、温度、振动或可见光强度。传感器还可以被配置成将检测到的能量或其它物理性质转换为电信号或表示虚拟传感器信息的任何信号,并且控制器150可以将转换后的信号发送到控制器150的本地处理器,或者在其中控制器150不包括本地处理器的实施例中发送到处理器120。

图2是图示根据本发明的示例实施例的用于分配功率的系统200的简化框图。

如图2所示,cpu230可以执行各种程序,诸如应用210。当应用210生成触觉指令(诸如触觉指令215)时,cpu230可以将其功率预算的一部分分配给与每个触觉指令相关联的触觉输出设备。cpu230还可以确定和/或调整触觉指令的执行时间。

触觉指令可以存储在存储器220中。存储器220还存储数据结构225.1-225.n,每个数据结构定义与相应触觉输出设备相关联的特性。cpu230可以根据数据结构225.1-225.n执行触觉指令。例如,数据结构225.1-225.n可以存储与启动电流、稳态电流、堵转(stall)电流、建立时间、优先级等相关的一个或多个值,这些值可以由cpu230使用以确定用于每个触觉输出设备的功率和/或电流分配。在另一个示例中,数据结构225.1-225.n可以存储优先级信息,该优先级信息可以由cpu230使用,以确保与(一个或多个)高优先级触觉输出设备相关联的触觉指令被及时执行。例如,可以使用优先级信息来向具有较高优先级的触觉输出设备分配预算功率和/或电流的较大部分。

图3图示根据本发明的示例实施例的触觉效果软件栈300的框图。如图3所示,软件栈300包括设备模块310、外围固件模块320、控制器模块330、驱动模块340和震动(rumble)驱动模块350。触觉效果软件栈300在诸如图1的系统100的系统上实现。

设备模块310可以包括各种模块,诸如输入管理代码311、外围输入应用编程接口(“api”)312、震动api313、触觉效果api314、直接重放/交叉器315、触发器引擎316、空间化引擎317和编码器318。

输入管理代码311可以包括一组计算机可读指令,在设备内执行的游戏应用或其它类型的应用的上下文中该计算机可读指令管理由控制器330提供的输入。

外围输入api312可以包括一组计算机可读函数或例程,该计算机可读函数或例程使得游戏输入管理代码311能够与外围固件320交互,以便接收和管理由控制器330提供的输入。

震动api313可以包括一组计算机可读函数或例程,该计算机可读函数或例程使得输入管理代码311能够与外围固件320交互,以便将震动指令传输到控制器330的一个或多个震动马达或震动致动器(例如,图3的震动马达l和r)。此外,震动指令可以使得控制器330的震动马达或震动致动器产生通用触觉效果或震动触觉效果。

触觉效果api314(在图3中被标识为“api”)可以包括一组计算机可读函数或例程,该计算机可读函数或例程可由输入管理代码311访问并且使得输入管理代码311能够与外围固件320交互,以便将触觉指令传输到控制器330。此外,触觉指令可以使得控制器330的一个或多个目标马达或目标致动器在控制器330的一个或多个用户输入元件处产生触觉效果。

触觉效果api314还可以存储一个或多个触觉效果定义。触觉效果定义是包括诸如触觉信号的触觉数据的数据结构,该触觉数据被预定义并且可以存储在诸如触觉文件或触觉流的存储库中,并且可以被发送到一个或多个震动马达、震动致动器、目标马达或目标致动器,以在控制器330的部件或用户输入元件处产生触觉效果。触觉数据可以包括对应的触觉效果的一个或多个属性,其中属性可以存储为参数。触觉效果定义的示例参数可以包括振幅参数、频率参数、波形参数、包络参数、幅度(或强度)参数和持续时间参数。

触觉效果api314可以使得游戏输入管理代码311能够与直接回放/交叉器315、触发器引擎316和空间化引擎317交互,并且还可以根据由游戏输入管理代码311调用的请求来管理直接重放/交叉器315、触发器引擎316和空间化引擎317。此外,触觉效果api314可以存储用于与外围固件320通信和用于生成一个或多个触觉效果的数据。

直接回放/交叉器315可以接收触觉数据作为输入、产生触觉数据作为输出、以及将触觉数据发送到控制器330的一个或多个目标马达或目标致动器(例如,图3的马达l和r)。在一些实施例中,直接回放/交叉器315可以将输入触觉数据直接输出,而不修改输入触觉数据的格式。这导致输入触觉数据的“原样”回放。在其它实施例中,直接回放/交叉器315可以将以第一格式输入的触觉数据转换为第二格式,并且可以进一步输出转换后的触觉数据。取决于回放的类型,直接回放/交叉器315可以可选地使用可编程交叉器来转换触觉数据。通过转换触觉数据,设备模块可以解构触觉效果并在多个致动器处回放触觉效果。

触觉数据的格式可以是触觉基本流(“hes”)格式。hes格式是用于表示可以被流式传输到设备的触觉数据的文件或数据格式。虽然可以在hes格式内加密触觉数据,但是可以用与如何表示未压缩的声音相同或相似的方式来表示触觉数据。

触发器引擎316可以接收诸如触觉效果定义的触觉数据,并且可以基于诸如触发器数据323的用户输入数据修改触觉数据。触发器数据是包括指示控制器330的一个或多个触发器(例如,图3的触发器l和r)的位置和/或范围的一个或多个参数的数据。触发器引擎316还可以向控制器330传输触觉指令。例如,触发器引擎316可以将触觉指令传输到控制器330的各种用户输入元件。如前所述,触觉指令可以使得控制器330的一个或多个目标马达或目标致动器在控制器330的一个或多个用户输入元件处产生触觉效果。

空间化引擎317可以接收触觉数据并且可以基于空间化数据修改触觉数据。空间化数据可以包括指示触觉效果的期望方向和/或流动的数据,该触觉效果的期望方向和/或流动诸如触觉效果在相应用户输入元件上的排序。在某些实施例中,空间化引擎317可以从输入管理代码311接收包括方向和/或流动的空间化数据。

空间化引擎317可以修改触觉数据,使得诸如触发器触觉效果的触觉效果对于控制器330的一个或多个震动马达或震动致动器(例如,图3的震动马达l和r)进行缩放,并且触觉效果也对于控制器330的一个或多个目标马达或目标致动器(例如,如图3所示的马达l和r)进行缩放。换句话说,空间化引擎317可以修改发送到每一个马达或致动器的触觉数据,并且因此,修改在每一个马达或致动器处体验到的触觉效果,以便传达整体触觉效果的方向和流动的感觉。例如,为了强调在马达或致动器处体验到的触觉效果,空间化引擎317可以缩放触觉效果的一个或多个部分。例如,空间化引擎317可以缩放发送到使得触觉效果被体验到的马达或致动器的触觉数据,从而使得触觉效果更显著(例如,增大的幅度,持续时间等)。此外,空间化引擎317可以缩放发送到其它马达或致动器的触觉数据,从而使得在那些马达或致动器处体验到的其它触觉效果不太显著(例如,减小的幅度、持续时间等)。在一些实施例中,空间化引擎317可以实时地或基本上实时地修改触觉数据。此外,在一些实施例中,空间化引擎317可以在输入、马达或致动器、输出之间具有非线性关系,以便夸大整体触觉效果。

编码器318将从直接回放/交叉器315、触发器引擎316和/或空间化引擎317接收到的触觉数据编码成格式。在一种实施例中,格式可以是hes格式。编码器318可以将编码的触觉数据传输到外围固件320。

外围固件320是用于一个或多个外围设备(例如,控制器)的固件。外围固件320可以包括各种模块,诸如解码器和交叉器321、触发器控件322、触发器数据323、其它功能324和震动控件325。

解码器和交叉器321可以从编码器318接收编码的触觉数据,并对编码的触觉数据进行解码。在一些实施例中,解码器和交叉器321计算可编程交叉器,以便对编码的触觉数据进行解码。解码器和交叉器321可以实时计算可编程交叉器。

触发器控件322是用于控制器330的一个或多个目标马达或目标致动器(例如,图3的马达l和r)的低级控制api。触发器控件322可以接收触发指令并且可以将触发指令转换成用于控制器330的指定目标马达或目标致动器的低级触发指令,并且可以将低级触发指令传输到控制器330的指定目标马达或目标致动器。低级触发指令可以使得指定目标马达或目标致动器在控制器330的指定触发器处产生触发器触觉效果。

如前所述,触发器数据323是包括指示控制器330的一个或多个触发器(例如,图3的触发器l和r)的位置和/或范围的一个或多个参数的数据。外围固件320可以从控制器330接收触发器数据323。外围固件320还可以存储触发器数据323,并且还可以将触发器数据323传输到设备模块310。

其它游戏手柄功能324可以是由外围固件320管理的控制器330的功能。这样的功能可以包括诸如有线/无线通信、输入报告、协议实现、电源管理等的功能。

震动控制325是用于控制器330的一个或多个震动马达或震动致动器(例如,图3的震动马达l和r)的低级控制api。震动控制325可以接收震动指令、可以将震动指令转换为用于控制器330的指定震动马达或震动致动器的低级震动指令,并且可以将低级触发指令传输到控制器330的指定震动马达或震动致动器。

功率限制器模块326可以是可以限制控制器330的触觉输出设备的功率和/或电流消耗的固件模块或独立硬件芯片(例如,专用集成电路,也被称为“asic”)。功率限制器模块326可以被配置成平衡和/或调度控制器326的触觉输出设备的消耗。对于每个触觉指令,功率限制器模块326可以在触觉输出设备之间分配功率预算(例如,500ma的usb限制,500ma的usb2.0限制等)。可以分配功率预算以确保每个触觉输出设备充分地渲染期望的触觉效果。图1的功率限制器模块326和功率限制器模块142可以是相同的模块。

控制器330可以包括触发器l和r。控制器330还可以包括齿轮箱l和r以及马达l和r。马达l和齿轮箱l在控制器330内可操作地耦合到触发器l。同样,马达r和齿轮箱r在控制器330内可操作地耦合到触发器r。当马达l接收到触发指令时,马达l和齿轮箱l可以共同地使得在触发器l处感受到触发器触觉效果。同样,当马达r接收到触发指令时,马达r和齿轮箱r可以共同地使得在触发器r处感受到触发器触觉效果。外围固件320可以使用驱动电子器件340向控制器330的马达l和r发送触发指令。

控制器330还可以包括电位计l和r。电位计l可以检测触发器l的位置和/或范围,并且还可以将检测到的触发器l的位置和/或范围作为触发器数据发送到外围固件320。同样,电位计r可以检测触发器r的位置和/或范围,并且还可以将检测到的触发器r的位置和/或范围作为触发器数据发送到外围固件320。

控制器330还可以包括震动马达l和r。当震动马达l接收到震动指令时,震动马达l使得触觉效果沿着控制器330的左部件被感受到。同样,当震动马达r接收到震动指令时,震动马达r使得触觉效果沿着控制器330的右部件被感受到。外围固件320可以使用震动驱动电子器件350向震动马达l和r发送震动指令。

图4图示根据本发明的示例实施例的功率限制体系架构。

触觉驱动处理机410可以被配置有定时器处理机430以跟踪每个触觉输出设备的定时和状态。放置在触觉驱动处理机410和定时器处理机430之间,功率限制器420可以被配置成在触觉输出设备之间分配功率预算。此外,功率限制器420可以调度触觉驱动信号,以便确保不超过总功率预算。

图5图示根据本发明的示例实施例的用于控制触觉输出设备的功耗的功能500的流程图。在一些情况下,图5的流程图的功能由存储在存储器或其它计算机可读或有形介质中的软件实现,并由处理器执行。在其它情况下,功能可以由硬件(例如,通过使用专用集成电路(“asic”)、可编程门阵列(“pga”)、现场可编程门阵列(“fpga”)等)或硬件和软件的任意组合来执行。

首先,在510处,功能500可以接收一个或多个触觉驱动指令。触觉驱动指令可以由诸如游戏应用的软件应用生成。在520处,在接收到触觉驱动指令时,方法500可以识别与接收到的触觉驱动指令中的每一个相关联的(一个或多个)相应的目标触觉输出设备。此外,在530处,功能500还可以接收与关联于接收到的触觉指令的识别出的目标触觉输出设备中的每一个相关联的操作特性。这里,一个或多个数据结构可以存储相应触觉输出设备的操作特性。接下来,在540处,功能500可以在目标触觉输出设备之间基于其操作特性分配功率预算。为了确保功率消耗保持低于功率预算值,功能500可以实时或基本上实时地计算触觉输出设备中的每一个的功率使用。功率预算可以表示对渲染触觉效果可用的有限功率或电流。例如,利用通用串行总线(“usb”)通道的应用可以被限制为500ma的总电流。最后,功能500可以基于其相应的功率预算分配将驱动信号施加到目标触觉输出设备。通过采用功能500,系统的总功耗降低,而不会显著地影响触觉体验。

图6图示根据本发明的示例实施例的用于向多个触觉输出设备分配功率预算的功能600的流程图。

首先,在610处,功能600可以计算超出预计的电流消耗。这里,功能600可以依赖存储在与目标触觉输出设备相关联的数据结构内的数据,诸如启动电流、稳态电流、堵转电流、建立时间等。接下来,在620处,功能600可以计算每个目标触觉输出设备的百分比电流消耗。然后,在630处,功能600可以计算每个目标触觉输出设备的电流减小值。最后,在640处,功能600根据计算出的电流减小值来减小目标触觉输出设备的电流驱动值。

现在将通过以下示例图示功能600。在该示例中,假设有四个目标触觉输出设备,诸如两个震动输出设备和两个触发器设备。这里,每个震动输出设备可以具有200ma的启动电流、80ma的稳态电流和100ms的建立时间。触发器输出设备中的每一个可以具有250ma的启动电流和250ma的堵转电流。通常,触发器输出设备可以从静止状态开始,但是可能达不到稳定状态状况,而震动输出设备可以达到稳定状态状况。返回到示例,可以设想,当震动输出设备正在从静止状态开始时,两个触发器输出设备都可能堵转(stall)。因此,目标触觉输出设备可能消耗高达900ma(250+250+200+200)。但是,通过实现本发明的实施例(诸如功能600),目标触觉输出设备可以不超过450ma的预算电流。

在该示例中,预计的超出电流(610)被计算为450ma(900-450)。接下来,功能600计算每个目标触觉输出设备(620)的电流消耗的百分比。在该示例中,触发器输出设备中的每一个消耗总电流的28%(250÷900),并且震动输出设备中的每一个消耗总电流的23%(200÷900)。然后,功能600计算每个目标触觉输出设备的电流减小值(步骤630)。这里,可以通过将电流消耗百分比乘以超出电流来获得电流减小值。因此,每个触发器输出设备具有126ma(28/100*450)的电流减小值,并且每个震动输出设备具有103.5ma(23/100*450)的电流减小值。最后,功能600通过计算出的减小值来减小与目标触觉输出设备相关联的驱动值,从而将总体系统电流和/或功率消耗减少超出电流(640)。

通过采用功能600,目标触觉输出设备中没有一个被拒绝电流,并且总体电流和/或功率消耗被减少。在一些情况下,触觉输出设备可以按其相应的优先级成比例地加以利用。例如,可以向触发器输出设备分配较高的优先级和向震动输出设备分配较低的优先级值。在该示例中,触发器输出设备可以以所请求的值进行驱动,而震动输出设备可以通过逐渐达到所请求的值进行软启动。

可以应用这种软启动以便避免超过总体电流预算。为了减少初始电流尖峰,可以在一段时间内以增加的电压缓慢地驱动触觉输出设备。软启动的持续时间和电压增加的速率可以存储在与触觉输出设备相关联的数据结构中或者存储在单独的查找表中。在一些情况下,在双向触觉输出设备的情况下,可以对旋转(spin)的每个方向使用多个查找表。

图7a和7b用图形图示通过实现本发明的示例实施例实现的峰值电流的减小。如图7的曲线图710所示,当同时激活四个触觉输出设备时,可以达到675ma的峰值电流。作为对照,通过实现功率限制器实施例,峰值电流可以降低到550ma。例如,图7的曲线图720图示当同时激活四个触觉输出设备时的550ma的峰值电流。

图8图示根据本发明的示例实施例的数据结构800。数据结构800维护相应触觉输出设备的操作特性。功率限制器模块142和/或420可以存储每个触觉输出设备的数据结构800。在一些情况下,数据结构800可以作为元数据存储。

致动器索引810可以用于唯一地识别每个触觉输出设备。优先级字段820可以用于向每个触觉输出设备分配优先级值。例如,与具有较低优先级字段820的触觉输出设备相比,具有较高优先级字段820的触觉输出设备可以被分配总体功率预算的较大部分。在另一个示例中,用于较高优先级触觉输出设备的触觉指令可以在较低优先级触觉输出设备的触觉指令之前被处理。在一些情况下,优先级字段820可以具有在1和触觉输出设备的总数之间的值的范围,其中优先级随着优先级的数值增加而减小。

当接收到触觉指令时,请求队列830可以指示每个触觉输出设备的排队顺序。例如,传入触觉指令可以存储在存储器中并且可以填充队列。这里,可以根据相关联的触觉输出设备的排队顺序来执行传入触觉指令。

双向字段840可以用于指示触觉输出设备是否是双向的。例如,当触觉输出设备被配置成以正向和反向操作时,双向字段840可以具有值1。可以存储双向字段840,因为当触觉输出设备改变方向时汲取了增加的电流。

启动电流最大值850可以是当触觉输出设备以最大电压从静止起动时可能消耗的最大预期电流(例如,以ma为单位)。例如,如果触觉输出设备被设计为以5v进行驱动,那么启动电流最大值850可以指示当以5v驱动时启动电流消耗的值。此外,建立时间860指示触觉输出设备达到稳态电流所花费的时间,并且稳态电流870可以指示触觉输出设备在稳态状况下消耗的最大电流(例如,以ma为单位)。

状态字段880可以用于跟踪触觉输出设备的活动状态。此外,当启用或禁用触觉输出设备时,可以更新状态字段880。最后,触觉写字段890可以被功率限制器模块调用以设置触觉输出设备的驱动功率或电流值。例如,如由功率限制器模块确定的用于触觉输出设备的驱动器电流可以存储在触觉写字段890中。

响应于执行接收到的触觉指令,可以更新数据结构800。因此,数据结构800可以通过基于存储在其中的各种字段810-890更新每个触觉输出设备的状态并估计触觉输出设备的活动和状况来跟踪触觉输出设备的当前状态。

图9图示适于与本发明的实施例一起使用的控制器900的功能框图。

如图9所图示,控制器900可以包括各种用户输入元件中的一个或多个。用户输入元件可以指的是由用户操纵以与主机计算机904交互的任何接口设备。示例用户输入元件包括模拟或数字操纵杆910、按钮914、触发器918等。如本领域普通技术人员所理解的,每一个用户输入元件中的一个或多个可以被包括在控制器900上。例如,触发器918的当前描述不将控制器900限制到单个触发器。类似地,本领域技术人员可以理解的是,可以使用多个模拟或数字杆、按钮和其它用户输入元件。

控制器900可以包括本地处理器908。本地处理器908可以经由连接905与主机计算机904交换命令和数据。连接905可以是使用本领域技术人员已知的一个或多个通信协议的有线或无线连接。在一些情况下,控制器900可以替代地被配置成不包括本地处理器908。这里,来自控制器900的输入/输出信号可以由主机计算机904直接处置和处理。主机计算机904可以是游戏设备控制台并且显示设备906可以是可操作地耦合到游戏设备控制台的屏幕。在一些情况下,主机计算机904和显示设备906可以组合在单个设备中。

控制器900可以包括目标致动器912、916、920(例如,马达),以直接驱动其用户输入元件中的每一个,控制器900还可以包括在用户的手通常位于的位置可操作地耦合到壳体902的一个或多个通用或震动致动器922、924。更具体地,模拟或数字杆910包括可操作地耦合到其的目标致动器或马达912,按钮914包括可操作地耦合到其的目标致动器或马达916,并且触发器918包括可操作地耦合到其的目标致动器或马达920。除了多个目标致动器之外,控制器900还包括可操作地耦合到其用户输入元件中的每一个的位置传感器。更具体地,模拟或数字杆910包括可操作地耦合到其的位置传感器911,按钮914包括可操作地耦合到其的位置传感器915,并且触发器918包括可操作地耦合到其的位置传感器919。本地处理器908可操作地耦合到目标致动器912、916、920以及分别耦合到模拟或数字杆910、按钮914和触发器918的位置传感器911、915、919。响应于从位置传感器911、915、919接收到的信号,本地处理器908指示目标致动器912、916、920分别向模拟或数字杆910、按钮914和触发器918直接提供定向的或有针对性的动觉效果。这种有针对性的动觉效果与由通用致动器922、924沿着控制器的整个主体产生的通用触觉效果或震动触觉效果可辨别或可区分。共同的触觉效果向用户提供了对游戏更强的沉浸感,因为多种形态(例如,视频、音频和触觉)同时参与。

图10a和10b图示适于与本发明的实施例一起使用的控制器1000的不同视图。如图10a和图10b所示,控制器1000可以包括各种部件,诸如壳体1002、模拟或数字操纵杆1010、(一个或多个)按钮1014、触发器1018以及震动致动器1022和1024。

壳体1002被形成为使用户容易地适应抓握控制器1000。控制器1000是控制器的示例实施例,并且本发明的实施例可以容易地应用于其它控制器形状。

因此,通过采用本发明的各种实施例,可以更高效地生成触觉效果。例如,在任何特定的时刻,可以减少由控制器的触觉输出设备汲取的总功率或电流。此外,用户的触觉体验并没有减弱。

本领域普通技术人员将容易理解的是,可以用不同顺序的步骤和/或用以与所公开的配置不同配置的元件来实施如上所述的本发明。因此,虽然已经基于这些优选实施例描述了本发明,但是对于本领域技术人员将显而易见的是,某些修改、变化和替代构造将是显而易见的,同时保持在本发明的精神和范围之内。因此,为了确定本发明的边界和界限,应当参考所附权利要求。

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