優(yōu)先權(quán)申請(qǐng)
本申請(qǐng)要求于2014年12月23日提交的美國(guó)臨時(shí)專利申請(qǐng)no.62/096,095的權(quán)益,該申請(qǐng)通過(guò)引用被整體結(jié)合于此。
實(shí)施例一般而言涉及電子設(shè)備,并且更具體而言涉及產(chǎn)生觸覺(jué)效果的電子設(shè)備。
背景技術(shù):
視頻游戲和視頻游戲系統(tǒng)已經(jīng)變得非常受歡迎。視頻游戲設(shè)備或控制器通常使用視覺(jué)提示和聽(tīng)覺(jué)提示向用戶提供反饋。在一些接口設(shè)備中,可以向用戶提供動(dòng)覺(jué)反饋(例如,動(dòng)力反饋和阻力反饋)和/或觸感反饋(例如,振動(dòng)、紋理、溫度變化等)。通常,這種反饋被統(tǒng)稱為“觸覺(jué)反饋”或“觸覺(jué)效果”。觸覺(jué)反饋提供了增強(qiáng)和簡(jiǎn)化用戶與視頻游戲控制器或其它電子設(shè)備的交互的提示。例如,觸覺(jué)效果可以向視頻游戲控制器或其它電子設(shè)備的用戶提供提示,以就特定事件警告用戶,或者在模擬或虛擬環(huán)境中提供逼真的反饋,以產(chǎn)生更強(qiáng)的感官沉浸。
其中用戶與用戶輸入元件交互以引起動(dòng)作的其它設(shè)備也可以受益于觸覺(jué)反饋或觸覺(jué)效果。例如,這樣的設(shè)備可以包括醫(yī)療設(shè)備、汽車控件、遙控器和其它類似的設(shè)備。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例針對(duì)被配置成產(chǎn)生基本上改進(jìn)相關(guān)技術(shù)的觸覺(jué)效果的電子設(shè)備。
實(shí)施例的特征和優(yōu)點(diǎn)在下面的描述中闡述,或者將從描述中顯而易見(jiàn),或者可以通過(guò)實(shí)踐本發(fā)明來(lái)了解。
在一個(gè)示例中,提供了用于控制與數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的觸覺(jué)輸出設(shè)備的功耗的系統(tǒng)和方法。該系統(tǒng)和方法被配置成接收觸覺(jué)驅(qū)動(dòng)指令、基于其操作特性確定對(duì)目標(biāo)觸覺(jué)輸出設(shè)備的功率預(yù)算、并將驅(qū)動(dòng)信號(hào)施加到目標(biāo)觸覺(jué)輸出設(shè)備以產(chǎn)生觸覺(jué)效果,該驅(qū)動(dòng)信號(hào)基于功率預(yù)算。
要理解的是,前面的一般描述和以下的詳細(xì)描述都是示例性和說(shuō)明性的,并不旨在將本發(fā)明限制到所描述的示例。
附圖說(shuō)明
根據(jù)以下對(duì)優(yōu)選實(shí)施例的詳細(xì)描述,其他實(shí)施例、細(xì)節(jié)、優(yōu)點(diǎn)和修改將變得顯而易見(jiàn),其中優(yōu)選實(shí)施例要結(jié)合附圖來(lái)理解。
圖1圖示根據(jù)本發(fā)明的示例實(shí)施例的系統(tǒng)的框圖。
圖2是圖示根據(jù)本發(fā)明的示例實(shí)施例的用于分配功率的系統(tǒng)的簡(jiǎn)化框圖。
圖3圖示根據(jù)本發(fā)明的示例實(shí)施例的觸覺(jué)效果軟件棧的框圖。
圖4圖示根據(jù)本發(fā)明的示例實(shí)施例的功率限制體系架構(gòu)。
圖5圖示根據(jù)本發(fā)明的示例實(shí)施例的用于控制觸覺(jué)輸出設(shè)備的功耗的方法。
圖6圖示根據(jù)本發(fā)明的示例實(shí)施例的用于向多個(gè)觸覺(jué)輸出設(shè)備分配功率預(yù)算的方法。
圖7a和7b用圖形圖示通過(guò)實(shí)現(xiàn)本發(fā)明的示例實(shí)施例實(shí)現(xiàn)的峰值電流的減小。
圖8圖示根據(jù)本發(fā)明的示例實(shí)施例的數(shù)據(jù)結(jié)構(gòu)。
圖9圖示適于與本發(fā)明的實(shí)施例一起使用的控制器的功能框圖。
圖10a和10b圖示適于與本發(fā)明的實(shí)施例一起使用的控制器的不同視圖。
具體實(shí)施方式
現(xiàn)在將詳細(xì)參考實(shí)施例,實(shí)施例的示例在附圖中圖示。在以下詳細(xì)描述中,為了提供對(duì)本發(fā)明的透徹理解,闡述了許多具體細(xì)節(jié)。但是,對(duì)于本領(lǐng)域普通技術(shù)人員將顯而易見(jiàn)的是,本發(fā)明可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在其它情況下,沒(méi)有詳細(xì)描述眾所周知的方法、過(guò)程、部件和電路,以避免不必要地使實(shí)施例的各方面變得晦澀。只要有可能,將使用相似的標(biāo)號(hào)用于相似的元素。
示例實(shí)施例針對(duì)用于控制多個(gè)觸覺(jué)輸出設(shè)備的功率和/或電流消耗的系統(tǒng)和方法。貫穿具體實(shí)施方式,將對(duì)控制由觸覺(jué)輸出設(shè)備消耗的功率和/或電流進(jìn)行參考,并且本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,實(shí)施例可以容易地應(yīng)用于限制電流和/或功率??梢栽跀?shù)據(jù)結(jié)構(gòu)內(nèi)描述觸覺(jué)輸出設(shè)備的各種特征。對(duì)于由主機(jī)設(shè)備(例如,游戲手柄或控制臺(tái))生成的觸覺(jué)指令,可以根據(jù)存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)內(nèi)的信息來(lái)確定對(duì)觸覺(jué)輸出設(shè)備的功率預(yù)算。然后,可以向觸覺(jué)輸出設(shè)備施加驅(qū)動(dòng)信號(hào)以根據(jù)計(jì)算出的功率預(yù)算產(chǎn)生觸覺(jué)效果。計(jì)算出的功率預(yù)算可以被配置成限制由觸覺(jué)輸出設(shè)備汲取的電流或功率。
在各種實(shí)施例中,描述了用于使用設(shè)備的各種用戶界面和方法。在一些實(shí)施例中,設(shè)備是便攜式電子設(shè)備(例如,游戲控制器、控制臺(tái)、移動(dòng)電話、智能電話、平板電腦等)。但是,應(yīng)當(dāng)理解的是,用戶界面和相關(guān)聯(lián)的方法可以應(yīng)用到許多其它設(shè)備(諸如,個(gè)人計(jì)算機(jī)、醫(yī)療設(shè)備、筆記本電腦等),這些設(shè)備可以包括一個(gè)或多個(gè)其它物理用戶界面設(shè)備,諸如鍵盤、鼠標(biāo)、軌跡球等。
圖1圖示根據(jù)本發(fā)明的示例實(shí)施例的系統(tǒng)100的框圖。
系統(tǒng)100可以包括被配置成從遠(yuǎn)程源傳輸和/或接收數(shù)據(jù)的通信設(shè)備110。通信設(shè)備110可以通過(guò)編碼要經(jīng)網(wǎng)絡(luò)(未示出)從處理器120發(fā)送到另一個(gè)設(shè)備的數(shù)據(jù)和解碼經(jīng)網(wǎng)絡(luò)從另一個(gè)系統(tǒng)接收到的用于處理器120的數(shù)據(jù)來(lái)在處理器120和其它設(shè)備之間啟用連接。
例如,通信設(shè)備110可以包括被配置成提供無(wú)線網(wǎng)絡(luò)通信的網(wǎng)絡(luò)接口卡??梢允褂酶鞣N無(wú)線通信技術(shù),包括紅外線、無(wú)線電、藍(lán)牙、wi-fi和/或蜂窩通信??商娲?,通信設(shè)備110可以被配置成提供(一個(gè)或多個(gè))有線網(wǎng)絡(luò)連接,諸如以太網(wǎng)連接。
處理器120可以包括執(zhí)行系統(tǒng)100的計(jì)算和控制功能的一個(gè)或多個(gè)通用或?qū)S锰幚砥?。處理?20可以包括諸如微處理設(shè)備的單個(gè)集成電路,或者可以包括協(xié)同工作以完成處理器120的功能的多個(gè)集成電路設(shè)備和/或電路板。此外,處理器120可以執(zhí)行存儲(chǔ)在存儲(chǔ)器140內(nèi)的計(jì)算機(jī)程序,諸如操作系統(tǒng)141、功率限制器模塊142和其它應(yīng)用143。
系統(tǒng)100可以包括用于存儲(chǔ)由處理器120執(zhí)行的信息和指令的存儲(chǔ)器140。存儲(chǔ)器140可以包含用于檢索、呈現(xiàn)、修改和存儲(chǔ)數(shù)據(jù)的各種部件。例如,存儲(chǔ)器140可以存儲(chǔ)當(dāng)由處理器120執(zhí)行時(shí)提供功能的軟件模塊。模塊可以包括為系統(tǒng)100提供操作系統(tǒng)功能的操作系統(tǒng)141。模塊還可以包括功率限制器模塊142,其可以控制由控制器150的觸覺(jué)輸出設(shè)備汲取的功率或電流。在某些實(shí)施例中,功率限制器模塊142可以包括用于為控制器150的每個(gè)觸覺(jué)輸出設(shè)備動(dòng)態(tài)計(jì)算功率預(yù)算的指令。系統(tǒng)100還可以包括一個(gè)或多個(gè)附加的應(yīng)用模塊143,其包括附加的功能,諸如被配置成向諸如控制器150(例如,游戲手柄、可穿戴設(shè)備等)的外圍設(shè)備提供控制功能的外圍固件。
非瞬態(tài)存儲(chǔ)器140可以包括可由處理器120訪問(wèn)的各種計(jì)算機(jī)可讀介質(zhì)。在各種實(shí)施例中,存儲(chǔ)器140可以包括易失性介質(zhì)和非易失性介質(zhì)、可移除介質(zhì)和不可移除介質(zhì)。例如,存儲(chǔ)器140可以包括以下中的任意組合:隨機(jī)存取存儲(chǔ)器(“ram”)、動(dòng)態(tài)ram(dram)、靜態(tài)ram(sram)、只讀存儲(chǔ)器(“rom”)、閃存、高速緩存存儲(chǔ)器和/或任何其它類型的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)??商娲鼗蚋郊拥?,存儲(chǔ)器140可以包括一個(gè)或多個(gè)網(wǎng)絡(luò)或云訪問(wèn)存儲(chǔ)介質(zhì)。
雖然被示為單個(gè)系統(tǒng),但是系統(tǒng)100的功能可以被實(shí)現(xiàn)為分布式系統(tǒng)。例如,存儲(chǔ)器140和處理器120可以跨共同包括系統(tǒng)100的若干不同計(jì)算機(jī)分布。在一種實(shí)施例中,系統(tǒng)100可以是設(shè)備(例如,個(gè)人計(jì)算機(jī)、控制臺(tái)、視頻游戲控制臺(tái)等)的一部分,并且系統(tǒng)100為設(shè)備提供觸覺(jué)效果功能。在另一種實(shí)施例中,系統(tǒng)100可以與設(shè)備分離,并且可以為設(shè)備遠(yuǎn)程地提供上述功能。
系統(tǒng)100可以可操作地連接到控制器150??刂破?50可以是被配置成向系統(tǒng)100提供輸入的外圍設(shè)備??刂破?50可以使用無(wú)線連接或者有線連接可操作地連接到系統(tǒng)100??刂破?50還可以包括被配置成使用無(wú)線連接或者有線連接與系統(tǒng)100通信的本地處理器??商娲兀刂破?50可以被配置成不包括本地處理器,并且與控制器150相關(guān)聯(lián)的所有輸入信號(hào)和/或輸出信號(hào)可以由系統(tǒng)100的部件來(lái)處理。在其中控制器150具有本地處理器的實(shí)施例中,諸如被配置成提供控制功能的功率限制器模塊和外圍固件的附加功能可以駐留在控制器150內(nèi)。
控制器150還可以包括一個(gè)或多個(gè)數(shù)字按鈕、一個(gè)或多個(gè)模擬按鈕、一個(gè)或多個(gè)緩沖器、一個(gè)或多個(gè)方向墊、一個(gè)或多個(gè)模擬或數(shù)字桿、一個(gè)或多個(gè)驅(qū)動(dòng)輪、和/或一個(gè)或多個(gè)用戶輸入元件,該一個(gè)或多個(gè)用戶輸入元件可以由用戶與其交互并且可以向系統(tǒng)100提供輸入。控制器150還可以包括一個(gè)或多個(gè)模擬或數(shù)字觸發(fā)按鈕(或“觸發(fā)器”),該一個(gè)或多個(gè)模擬或數(shù)字觸發(fā)按鈕(或“觸發(fā)器”)可進(jìn)一步由用戶與其交互并且可以進(jìn)一步向系統(tǒng)100提供輸入。如下面更詳細(xì)描述的,控制器150還可以包括被配置成在控制器150的至少一個(gè)觸發(fā)器上施加雙向推/拉力的馬達(dá)或另一種類型的致動(dòng)器或觸覺(jué)輸出設(shè)備。
控制器150還可以包括一個(gè)或多個(gè)致動(dòng)器或其它類型的觸覺(jué)輸出設(shè)備??刂破?50的本地處理器或者其中控制器150不包括本地處理器的實(shí)施例中的處理器120可以將與觸覺(jué)效果相關(guān)聯(lián)的觸覺(jué)信號(hào)傳輸?shù)娇刂破?50的至少一個(gè)致動(dòng)器。致動(dòng)器又響應(yīng)于觸覺(jué)信號(hào)輸出觸覺(jué)效果,諸如振動(dòng)觸感觸覺(jué)效果、動(dòng)覺(jué)觸覺(jué)效果或變形觸覺(jué)效果??梢栽诳刂破?50的用戶輸入元件(例如,數(shù)字按鈕、模擬按鈕、緩沖器、方向墊、模擬或數(shù)字桿、驅(qū)動(dòng)輪或觸發(fā)器)處體驗(yàn)到觸覺(jué)效果??商娲兀梢栽诳刂破?50的外表面處體驗(yàn)到觸覺(jué)效果。
致動(dòng)器是觸覺(jué)輸出設(shè)備的示例,其中觸覺(jué)輸出設(shè)備是被配置成響應(yīng)于驅(qū)動(dòng)信號(hào)而輸出觸覺(jué)效果的設(shè)備,觸覺(jué)效果諸如振動(dòng)觸感觸覺(jué)效果、靜電摩擦觸覺(jué)效果、溫度變化和/或變形觸覺(jué)效果。在替代的實(shí)施例中,控制器150內(nèi)的一個(gè)或多個(gè)致動(dòng)器可以由一些其它類型的觸覺(jué)輸出設(shè)備代替。觸覺(jué)輸出設(shè)備可以是例如電馬達(dá)、電磁致動(dòng)器、音圈、形狀記憶合金、電活性聚合物、螺線管、偏心旋轉(zhuǎn)質(zhì)量馬達(dá)(“erm”)、諧波erm馬達(dá)(“herm”)、線性諧振致動(dòng)器(“l(fā)ra”)、壓電致動(dòng)器、高帶寬致動(dòng)器、電活性聚合物(“eap”)致動(dòng)器、靜電摩擦顯示器或超聲波振動(dòng)發(fā)生器。在一些情況下,觸覺(jué)輸出設(shè)備可以包括觸覺(jué)輸出驅(qū)動(dòng)電路。在一些實(shí)施例中,觸覺(jué)輸出設(shè)備可以是單向的或雙向的。
控制器150還可以包括一個(gè)或多個(gè)揚(yáng)聲器??刂破?50的本地處理器,或者其中控制器150不包括本地處理器的實(shí)施例中的處理器120可以將音頻信號(hào)傳輸?shù)娇刂破?50的至少一個(gè)揚(yáng)聲器,該揚(yáng)聲器又輸出音頻效果。揚(yáng)聲器可以是例如動(dòng)態(tài)擴(kuò)音器、電動(dòng)擴(kuò)音器、壓電擴(kuò)音器、磁致伸縮擴(kuò)音器、靜電擴(kuò)音器、帶和平面磁性擴(kuò)音器、彎曲波擴(kuò)音器、平板擴(kuò)音器、海爾(heil)空氣運(yùn)動(dòng)換能器、等離子弧揚(yáng)聲器和數(shù)字?jǐn)U音器。
控制器150還可以包括一個(gè)或多個(gè)傳感器。傳感器可以被配置成檢測(cè)能量的形式或其它物理性質(zhì),諸如但不限于,聲音、移動(dòng)、加速度、生物信號(hào)、距離、流量、力/壓力/應(yīng)變力/、彎曲、濕度、線性位置、朝向/傾斜、射頻、旋轉(zhuǎn)位置、旋轉(zhuǎn)速度、開(kāi)關(guān)的操作、溫度、振動(dòng)或可見(jiàn)光強(qiáng)度。傳感器還可以被配置成將檢測(cè)到的能量或其它物理性質(zhì)轉(zhuǎn)換為電信號(hào)或表示虛擬傳感器信息的任何信號(hào),并且控制器150可以將轉(zhuǎn)換后的信號(hào)發(fā)送到控制器150的本地處理器,或者在其中控制器150不包括本地處理器的實(shí)施例中發(fā)送到處理器120。
圖2是圖示根據(jù)本發(fā)明的示例實(shí)施例的用于分配功率的系統(tǒng)200的簡(jiǎn)化框圖。
如圖2所示,cpu230可以執(zhí)行各種程序,諸如應(yīng)用210。當(dāng)應(yīng)用210生成觸覺(jué)指令(諸如觸覺(jué)指令215)時(shí),cpu230可以將其功率預(yù)算的一部分分配給與每個(gè)觸覺(jué)指令相關(guān)聯(lián)的觸覺(jué)輸出設(shè)備。cpu230還可以確定和/或調(diào)整觸覺(jué)指令的執(zhí)行時(shí)間。
觸覺(jué)指令可以存儲(chǔ)在存儲(chǔ)器220中。存儲(chǔ)器220還存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)225.1-225.n,每個(gè)數(shù)據(jù)結(jié)構(gòu)定義與相應(yīng)觸覺(jué)輸出設(shè)備相關(guān)聯(lián)的特性。cpu230可以根據(jù)數(shù)據(jù)結(jié)構(gòu)225.1-225.n執(zhí)行觸覺(jué)指令。例如,數(shù)據(jù)結(jié)構(gòu)225.1-225.n可以存儲(chǔ)與啟動(dòng)電流、穩(wěn)態(tài)電流、堵轉(zhuǎn)(stall)電流、建立時(shí)間、優(yōu)先級(jí)等相關(guān)的一個(gè)或多個(gè)值,這些值可以由cpu230使用以確定用于每個(gè)觸覺(jué)輸出設(shè)備的功率和/或電流分配。在另一個(gè)示例中,數(shù)據(jù)結(jié)構(gòu)225.1-225.n可以存儲(chǔ)優(yōu)先級(jí)信息,該優(yōu)先級(jí)信息可以由cpu230使用,以確保與(一個(gè)或多個(gè))高優(yōu)先級(jí)觸覺(jué)輸出設(shè)備相關(guān)聯(lián)的觸覺(jué)指令被及時(shí)執(zhí)行。例如,可以使用優(yōu)先級(jí)信息來(lái)向具有較高優(yōu)先級(jí)的觸覺(jué)輸出設(shè)備分配預(yù)算功率和/或電流的較大部分。
圖3圖示根據(jù)本發(fā)明的示例實(shí)施例的觸覺(jué)效果軟件棧300的框圖。如圖3所示,軟件棧300包括設(shè)備模塊310、外圍固件模塊320、控制器模塊330、驅(qū)動(dòng)模塊340和震動(dòng)(rumble)驅(qū)動(dòng)模塊350。觸覺(jué)效果軟件棧300在諸如圖1的系統(tǒng)100的系統(tǒng)上實(shí)現(xiàn)。
設(shè)備模塊310可以包括各種模塊,諸如輸入管理代碼311、外圍輸入應(yīng)用編程接口(“api”)312、震動(dòng)api313、觸覺(jué)效果api314、直接重放/交叉器315、觸發(fā)器引擎316、空間化引擎317和編碼器318。
輸入管理代碼311可以包括一組計(jì)算機(jī)可讀指令,在設(shè)備內(nèi)執(zhí)行的游戲應(yīng)用或其它類型的應(yīng)用的上下文中該計(jì)算機(jī)可讀指令管理由控制器330提供的輸入。
外圍輸入api312可以包括一組計(jì)算機(jī)可讀函數(shù)或例程,該計(jì)算機(jī)可讀函數(shù)或例程使得游戲輸入管理代碼311能夠與外圍固件320交互,以便接收和管理由控制器330提供的輸入。
震動(dòng)api313可以包括一組計(jì)算機(jī)可讀函數(shù)或例程,該計(jì)算機(jī)可讀函數(shù)或例程使得輸入管理代碼311能夠與外圍固件320交互,以便將震動(dòng)指令傳輸?shù)娇刂破?30的一個(gè)或多個(gè)震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器(例如,圖3的震動(dòng)馬達(dá)l和r)。此外,震動(dòng)指令可以使得控制器330的震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器產(chǎn)生通用觸覺(jué)效果或震動(dòng)觸覺(jué)效果。
觸覺(jué)效果api314(在圖3中被標(biāo)識(shí)為“api”)可以包括一組計(jì)算機(jī)可讀函數(shù)或例程,該計(jì)算機(jī)可讀函數(shù)或例程可由輸入管理代碼311訪問(wèn)并且使得輸入管理代碼311能夠與外圍固件320交互,以便將觸覺(jué)指令傳輸?shù)娇刂破?30。此外,觸覺(jué)指令可以使得控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器在控制器330的一個(gè)或多個(gè)用戶輸入元件處產(chǎn)生觸覺(jué)效果。
觸覺(jué)效果api314還可以存儲(chǔ)一個(gè)或多個(gè)觸覺(jué)效果定義。觸覺(jué)效果定義是包括諸如觸覺(jué)信號(hào)的觸覺(jué)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),該觸覺(jué)數(shù)據(jù)被預(yù)定義并且可以存儲(chǔ)在諸如觸覺(jué)文件或觸覺(jué)流的存儲(chǔ)庫(kù)中,并且可以被發(fā)送到一個(gè)或多個(gè)震動(dòng)馬達(dá)、震動(dòng)致動(dòng)器、目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器,以在控制器330的部件或用戶輸入元件處產(chǎn)生觸覺(jué)效果。觸覺(jué)數(shù)據(jù)可以包括對(duì)應(yīng)的觸覺(jué)效果的一個(gè)或多個(gè)屬性,其中屬性可以存儲(chǔ)為參數(shù)。觸覺(jué)效果定義的示例參數(shù)可以包括振幅參數(shù)、頻率參數(shù)、波形參數(shù)、包絡(luò)參數(shù)、幅度(或強(qiáng)度)參數(shù)和持續(xù)時(shí)間參數(shù)。
觸覺(jué)效果api314可以使得游戲輸入管理代碼311能夠與直接回放/交叉器315、觸發(fā)器引擎316和空間化引擎317交互,并且還可以根據(jù)由游戲輸入管理代碼311調(diào)用的請(qǐng)求來(lái)管理直接重放/交叉器315、觸發(fā)器引擎316和空間化引擎317。此外,觸覺(jué)效果api314可以存儲(chǔ)用于與外圍固件320通信和用于生成一個(gè)或多個(gè)觸覺(jué)效果的數(shù)據(jù)。
直接回放/交叉器315可以接收觸覺(jué)數(shù)據(jù)作為輸入、產(chǎn)生觸覺(jué)數(shù)據(jù)作為輸出、以及將觸覺(jué)數(shù)據(jù)發(fā)送到控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器(例如,圖3的馬達(dá)l和r)。在一些實(shí)施例中,直接回放/交叉器315可以將輸入觸覺(jué)數(shù)據(jù)直接輸出,而不修改輸入觸覺(jué)數(shù)據(jù)的格式。這導(dǎo)致輸入觸覺(jué)數(shù)據(jù)的“原樣”回放。在其它實(shí)施例中,直接回放/交叉器315可以將以第一格式輸入的觸覺(jué)數(shù)據(jù)轉(zhuǎn)換為第二格式,并且可以進(jìn)一步輸出轉(zhuǎn)換后的觸覺(jué)數(shù)據(jù)。取決于回放的類型,直接回放/交叉器315可以可選地使用可編程交叉器來(lái)轉(zhuǎn)換觸覺(jué)數(shù)據(jù)。通過(guò)轉(zhuǎn)換觸覺(jué)數(shù)據(jù),設(shè)備模塊可以解構(gòu)觸覺(jué)效果并在多個(gè)致動(dòng)器處回放觸覺(jué)效果。
觸覺(jué)數(shù)據(jù)的格式可以是觸覺(jué)基本流(“hes”)格式。hes格式是用于表示可以被流式傳輸?shù)皆O(shè)備的觸覺(jué)數(shù)據(jù)的文件或數(shù)據(jù)格式。雖然可以在hes格式內(nèi)加密觸覺(jué)數(shù)據(jù),但是可以用與如何表示未壓縮的聲音相同或相似的方式來(lái)表示觸覺(jué)數(shù)據(jù)。
觸發(fā)器引擎316可以接收諸如觸覺(jué)效果定義的觸覺(jué)數(shù)據(jù),并且可以基于諸如觸發(fā)器數(shù)據(jù)323的用戶輸入數(shù)據(jù)修改觸覺(jué)數(shù)據(jù)。觸發(fā)器數(shù)據(jù)是包括指示控制器330的一個(gè)或多個(gè)觸發(fā)器(例如,圖3的觸發(fā)器l和r)的位置和/或范圍的一個(gè)或多個(gè)參數(shù)的數(shù)據(jù)。觸發(fā)器引擎316還可以向控制器330傳輸觸覺(jué)指令。例如,觸發(fā)器引擎316可以將觸覺(jué)指令傳輸?shù)娇刂破?30的各種用戶輸入元件。如前所述,觸覺(jué)指令可以使得控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器在控制器330的一個(gè)或多個(gè)用戶輸入元件處產(chǎn)生觸覺(jué)效果。
空間化引擎317可以接收觸覺(jué)數(shù)據(jù)并且可以基于空間化數(shù)據(jù)修改觸覺(jué)數(shù)據(jù)??臻g化數(shù)據(jù)可以包括指示觸覺(jué)效果的期望方向和/或流動(dòng)的數(shù)據(jù),該觸覺(jué)效果的期望方向和/或流動(dòng)諸如觸覺(jué)效果在相應(yīng)用戶輸入元件上的排序。在某些實(shí)施例中,空間化引擎317可以從輸入管理代碼311接收包括方向和/或流動(dòng)的空間化數(shù)據(jù)。
空間化引擎317可以修改觸覺(jué)數(shù)據(jù),使得諸如觸發(fā)器觸覺(jué)效果的觸覺(jué)效果對(duì)于控制器330的一個(gè)或多個(gè)震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器(例如,圖3的震動(dòng)馬達(dá)l和r)進(jìn)行縮放,并且觸覺(jué)效果也對(duì)于控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器(例如,如圖3所示的馬達(dá)l和r)進(jìn)行縮放。換句話說(shuō),空間化引擎317可以修改發(fā)送到每一個(gè)馬達(dá)或致動(dòng)器的觸覺(jué)數(shù)據(jù),并且因此,修改在每一個(gè)馬達(dá)或致動(dòng)器處體驗(yàn)到的觸覺(jué)效果,以便傳達(dá)整體觸覺(jué)效果的方向和流動(dòng)的感覺(jué)。例如,為了強(qiáng)調(diào)在馬達(dá)或致動(dòng)器處體驗(yàn)到的觸覺(jué)效果,空間化引擎317可以縮放觸覺(jué)效果的一個(gè)或多個(gè)部分。例如,空間化引擎317可以縮放發(fā)送到使得觸覺(jué)效果被體驗(yàn)到的馬達(dá)或致動(dòng)器的觸覺(jué)數(shù)據(jù),從而使得觸覺(jué)效果更顯著(例如,增大的幅度,持續(xù)時(shí)間等)。此外,空間化引擎317可以縮放發(fā)送到其它馬達(dá)或致動(dòng)器的觸覺(jué)數(shù)據(jù),從而使得在那些馬達(dá)或致動(dòng)器處體驗(yàn)到的其它觸覺(jué)效果不太顯著(例如,減小的幅度、持續(xù)時(shí)間等)。在一些實(shí)施例中,空間化引擎317可以實(shí)時(shí)地或基本上實(shí)時(shí)地修改觸覺(jué)數(shù)據(jù)。此外,在一些實(shí)施例中,空間化引擎317可以在輸入、馬達(dá)或致動(dòng)器、輸出之間具有非線性關(guān)系,以便夸大整體觸覺(jué)效果。
編碼器318將從直接回放/交叉器315、觸發(fā)器引擎316和/或空間化引擎317接收到的觸覺(jué)數(shù)據(jù)編碼成格式。在一種實(shí)施例中,格式可以是hes格式。編碼器318可以將編碼的觸覺(jué)數(shù)據(jù)傳輸?shù)酵鈬碳?20。
外圍固件320是用于一個(gè)或多個(gè)外圍設(shè)備(例如,控制器)的固件。外圍固件320可以包括各種模塊,諸如解碼器和交叉器321、觸發(fā)器控件322、觸發(fā)器數(shù)據(jù)323、其它功能324和震動(dòng)控件325。
解碼器和交叉器321可以從編碼器318接收編碼的觸覺(jué)數(shù)據(jù),并對(duì)編碼的觸覺(jué)數(shù)據(jù)進(jìn)行解碼。在一些實(shí)施例中,解碼器和交叉器321計(jì)算可編程交叉器,以便對(duì)編碼的觸覺(jué)數(shù)據(jù)進(jìn)行解碼。解碼器和交叉器321可以實(shí)時(shí)計(jì)算可編程交叉器。
觸發(fā)器控件322是用于控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器(例如,圖3的馬達(dá)l和r)的低級(jí)控制api。觸發(fā)器控件322可以接收觸發(fā)指令并且可以將觸發(fā)指令轉(zhuǎn)換成用于控制器330的指定目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器的低級(jí)觸發(fā)指令,并且可以將低級(jí)觸發(fā)指令傳輸?shù)娇刂破?30的指定目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器。低級(jí)觸發(fā)指令可以使得指定目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器在控制器330的指定觸發(fā)器處產(chǎn)生觸發(fā)器觸覺(jué)效果。
如前所述,觸發(fā)器數(shù)據(jù)323是包括指示控制器330的一個(gè)或多個(gè)觸發(fā)器(例如,圖3的觸發(fā)器l和r)的位置和/或范圍的一個(gè)或多個(gè)參數(shù)的數(shù)據(jù)。外圍固件320可以從控制器330接收觸發(fā)器數(shù)據(jù)323。外圍固件320還可以存儲(chǔ)觸發(fā)器數(shù)據(jù)323,并且還可以將觸發(fā)器數(shù)據(jù)323傳輸?shù)皆O(shè)備模塊310。
其它游戲手柄功能324可以是由外圍固件320管理的控制器330的功能。這樣的功能可以包括諸如有線/無(wú)線通信、輸入報(bào)告、協(xié)議實(shí)現(xiàn)、電源管理等的功能。
震動(dòng)控制325是用于控制器330的一個(gè)或多個(gè)震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器(例如,圖3的震動(dòng)馬達(dá)l和r)的低級(jí)控制api。震動(dòng)控制325可以接收震動(dòng)指令、可以將震動(dòng)指令轉(zhuǎn)換為用于控制器330的指定震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器的低級(jí)震動(dòng)指令,并且可以將低級(jí)觸發(fā)指令傳輸?shù)娇刂破?30的指定震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器。
功率限制器模塊326可以是可以限制控制器330的觸覺(jué)輸出設(shè)備的功率和/或電流消耗的固件模塊或獨(dú)立硬件芯片(例如,專用集成電路,也被稱為“asic”)。功率限制器模塊326可以被配置成平衡和/或調(diào)度控制器326的觸覺(jué)輸出設(shè)備的消耗。對(duì)于每個(gè)觸覺(jué)指令,功率限制器模塊326可以在觸覺(jué)輸出設(shè)備之間分配功率預(yù)算(例如,500ma的usb限制,500ma的usb2.0限制等)??梢苑峙涔β暑A(yù)算以確保每個(gè)觸覺(jué)輸出設(shè)備充分地渲染期望的觸覺(jué)效果。圖1的功率限制器模塊326和功率限制器模塊142可以是相同的模塊。
控制器330可以包括觸發(fā)器l和r。控制器330還可以包括齒輪箱l和r以及馬達(dá)l和r。馬達(dá)l和齒輪箱l在控制器330內(nèi)可操作地耦合到觸發(fā)器l。同樣,馬達(dá)r和齒輪箱r在控制器330內(nèi)可操作地耦合到觸發(fā)器r。當(dāng)馬達(dá)l接收到觸發(fā)指令時(shí),馬達(dá)l和齒輪箱l可以共同地使得在觸發(fā)器l處感受到觸發(fā)器觸覺(jué)效果。同樣,當(dāng)馬達(dá)r接收到觸發(fā)指令時(shí),馬達(dá)r和齒輪箱r可以共同地使得在觸發(fā)器r處感受到觸發(fā)器觸覺(jué)效果。外圍固件320可以使用驅(qū)動(dòng)電子器件340向控制器330的馬達(dá)l和r發(fā)送觸發(fā)指令。
控制器330還可以包括電位計(jì)l和r。電位計(jì)l可以檢測(cè)觸發(fā)器l的位置和/或范圍,并且還可以將檢測(cè)到的觸發(fā)器l的位置和/或范圍作為觸發(fā)器數(shù)據(jù)發(fā)送到外圍固件320。同樣,電位計(jì)r可以檢測(cè)觸發(fā)器r的位置和/或范圍,并且還可以將檢測(cè)到的觸發(fā)器r的位置和/或范圍作為觸發(fā)器數(shù)據(jù)發(fā)送到外圍固件320。
控制器330還可以包括震動(dòng)馬達(dá)l和r。當(dāng)震動(dòng)馬達(dá)l接收到震動(dòng)指令時(shí),震動(dòng)馬達(dá)l使得觸覺(jué)效果沿著控制器330的左部件被感受到。同樣,當(dāng)震動(dòng)馬達(dá)r接收到震動(dòng)指令時(shí),震動(dòng)馬達(dá)r使得觸覺(jué)效果沿著控制器330的右部件被感受到。外圍固件320可以使用震動(dòng)驅(qū)動(dòng)電子器件350向震動(dòng)馬達(dá)l和r發(fā)送震動(dòng)指令。
圖4圖示根據(jù)本發(fā)明的示例實(shí)施例的功率限制體系架構(gòu)。
觸覺(jué)驅(qū)動(dòng)處理機(jī)410可以被配置有定時(shí)器處理機(jī)430以跟蹤每個(gè)觸覺(jué)輸出設(shè)備的定時(shí)和狀態(tài)。放置在觸覺(jué)驅(qū)動(dòng)處理機(jī)410和定時(shí)器處理機(jī)430之間,功率限制器420可以被配置成在觸覺(jué)輸出設(shè)備之間分配功率預(yù)算。此外,功率限制器420可以調(diào)度觸覺(jué)驅(qū)動(dòng)信號(hào),以便確保不超過(guò)總功率預(yù)算。
圖5圖示根據(jù)本發(fā)明的示例實(shí)施例的用于控制觸覺(jué)輸出設(shè)備的功耗的功能500的流程圖。在一些情況下,圖5的流程圖的功能由存儲(chǔ)在存儲(chǔ)器或其它計(jì)算機(jī)可讀或有形介質(zhì)中的軟件實(shí)現(xiàn),并由處理器執(zhí)行。在其它情況下,功能可以由硬件(例如,通過(guò)使用專用集成電路(“asic”)、可編程門陣列(“pga”)、現(xiàn)場(chǎng)可編程門陣列(“fpga”)等)或硬件和軟件的任意組合來(lái)執(zhí)行。
首先,在510處,功能500可以接收一個(gè)或多個(gè)觸覺(jué)驅(qū)動(dòng)指令。觸覺(jué)驅(qū)動(dòng)指令可以由諸如游戲應(yīng)用的軟件應(yīng)用生成。在520處,在接收到觸覺(jué)驅(qū)動(dòng)指令時(shí),方法500可以識(shí)別與接收到的觸覺(jué)驅(qū)動(dòng)指令中的每一個(gè)相關(guān)聯(lián)的(一個(gè)或多個(gè))相應(yīng)的目標(biāo)觸覺(jué)輸出設(shè)備。此外,在530處,功能500還可以接收與關(guān)聯(lián)于接收到的觸覺(jué)指令的識(shí)別出的目標(biāo)觸覺(jué)輸出設(shè)備中的每一個(gè)相關(guān)聯(lián)的操作特性。這里,一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)可以存儲(chǔ)相應(yīng)觸覺(jué)輸出設(shè)備的操作特性。接下來(lái),在540處,功能500可以在目標(biāo)觸覺(jué)輸出設(shè)備之間基于其操作特性分配功率預(yù)算。為了確保功率消耗保持低于功率預(yù)算值,功能500可以實(shí)時(shí)或基本上實(shí)時(shí)地計(jì)算觸覺(jué)輸出設(shè)備中的每一個(gè)的功率使用。功率預(yù)算可以表示對(duì)渲染觸覺(jué)效果可用的有限功率或電流。例如,利用通用串行總線(“usb”)通道的應(yīng)用可以被限制為500ma的總電流。最后,功能500可以基于其相應(yīng)的功率預(yù)算分配將驅(qū)動(dòng)信號(hào)施加到目標(biāo)觸覺(jué)輸出設(shè)備。通過(guò)采用功能500,系統(tǒng)的總功耗降低,而不會(huì)顯著地影響觸覺(jué)體驗(yàn)。
圖6圖示根據(jù)本發(fā)明的示例實(shí)施例的用于向多個(gè)觸覺(jué)輸出設(shè)備分配功率預(yù)算的功能600的流程圖。
首先,在610處,功能600可以計(jì)算超出預(yù)計(jì)的電流消耗。這里,功能600可以依賴存儲(chǔ)在與目標(biāo)觸覺(jué)輸出設(shè)備相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)內(nèi)的數(shù)據(jù),諸如啟動(dòng)電流、穩(wěn)態(tài)電流、堵轉(zhuǎn)電流、建立時(shí)間等。接下來(lái),在620處,功能600可以計(jì)算每個(gè)目標(biāo)觸覺(jué)輸出設(shè)備的百分比電流消耗。然后,在630處,功能600可以計(jì)算每個(gè)目標(biāo)觸覺(jué)輸出設(shè)備的電流減小值。最后,在640處,功能600根據(jù)計(jì)算出的電流減小值來(lái)減小目標(biāo)觸覺(jué)輸出設(shè)備的電流驅(qū)動(dòng)值。
現(xiàn)在將通過(guò)以下示例圖示功能600。在該示例中,假設(shè)有四個(gè)目標(biāo)觸覺(jué)輸出設(shè)備,諸如兩個(gè)震動(dòng)輸出設(shè)備和兩個(gè)觸發(fā)器設(shè)備。這里,每個(gè)震動(dòng)輸出設(shè)備可以具有200ma的啟動(dòng)電流、80ma的穩(wěn)態(tài)電流和100ms的建立時(shí)間。觸發(fā)器輸出設(shè)備中的每一個(gè)可以具有250ma的啟動(dòng)電流和250ma的堵轉(zhuǎn)電流。通常,觸發(fā)器輸出設(shè)備可以從靜止?fàn)顟B(tài)開(kāi)始,但是可能達(dá)不到穩(wěn)定狀態(tài)狀況,而震動(dòng)輸出設(shè)備可以達(dá)到穩(wěn)定狀態(tài)狀況。返回到示例,可以設(shè)想,當(dāng)震動(dòng)輸出設(shè)備正在從靜止?fàn)顟B(tài)開(kāi)始時(shí),兩個(gè)觸發(fā)器輸出設(shè)備都可能堵轉(zhuǎn)(stall)。因此,目標(biāo)觸覺(jué)輸出設(shè)備可能消耗高達(dá)900ma(250+250+200+200)。但是,通過(guò)實(shí)現(xiàn)本發(fā)明的實(shí)施例(諸如功能600),目標(biāo)觸覺(jué)輸出設(shè)備可以不超過(guò)450ma的預(yù)算電流。
在該示例中,預(yù)計(jì)的超出電流(610)被計(jì)算為450ma(900-450)。接下來(lái),功能600計(jì)算每個(gè)目標(biāo)觸覺(jué)輸出設(shè)備(620)的電流消耗的百分比。在該示例中,觸發(fā)器輸出設(shè)備中的每一個(gè)消耗總電流的28%(250÷900),并且震動(dòng)輸出設(shè)備中的每一個(gè)消耗總電流的23%(200÷900)。然后,功能600計(jì)算每個(gè)目標(biāo)觸覺(jué)輸出設(shè)備的電流減小值(步驟630)。這里,可以通過(guò)將電流消耗百分比乘以超出電流來(lái)獲得電流減小值。因此,每個(gè)觸發(fā)器輸出設(shè)備具有126ma(28/100*450)的電流減小值,并且每個(gè)震動(dòng)輸出設(shè)備具有103.5ma(23/100*450)的電流減小值。最后,功能600通過(guò)計(jì)算出的減小值來(lái)減小與目標(biāo)觸覺(jué)輸出設(shè)備相關(guān)聯(lián)的驅(qū)動(dòng)值,從而將總體系統(tǒng)電流和/或功率消耗減少超出電流(640)。
通過(guò)采用功能600,目標(biāo)觸覺(jué)輸出設(shè)備中沒(méi)有一個(gè)被拒絕電流,并且總體電流和/或功率消耗被減少。在一些情況下,觸覺(jué)輸出設(shè)備可以按其相應(yīng)的優(yōu)先級(jí)成比例地加以利用。例如,可以向觸發(fā)器輸出設(shè)備分配較高的優(yōu)先級(jí)和向震動(dòng)輸出設(shè)備分配較低的優(yōu)先級(jí)值。在該示例中,觸發(fā)器輸出設(shè)備可以以所請(qǐng)求的值進(jìn)行驅(qū)動(dòng),而震動(dòng)輸出設(shè)備可以通過(guò)逐漸達(dá)到所請(qǐng)求的值進(jìn)行軟啟動(dòng)。
可以應(yīng)用這種軟啟動(dòng)以便避免超過(guò)總體電流預(yù)算。為了減少初始電流尖峰,可以在一段時(shí)間內(nèi)以增加的電壓緩慢地驅(qū)動(dòng)觸覺(jué)輸出設(shè)備。軟啟動(dòng)的持續(xù)時(shí)間和電壓增加的速率可以存儲(chǔ)在與觸覺(jué)輸出設(shè)備相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中或者存儲(chǔ)在單獨(dú)的查找表中。在一些情況下,在雙向觸覺(jué)輸出設(shè)備的情況下,可以對(duì)旋轉(zhuǎn)(spin)的每個(gè)方向使用多個(gè)查找表。
圖7a和7b用圖形圖示通過(guò)實(shí)現(xiàn)本發(fā)明的示例實(shí)施例實(shí)現(xiàn)的峰值電流的減小。如圖7的曲線圖710所示,當(dāng)同時(shí)激活四個(gè)觸覺(jué)輸出設(shè)備時(shí),可以達(dá)到675ma的峰值電流。作為對(duì)照,通過(guò)實(shí)現(xiàn)功率限制器實(shí)施例,峰值電流可以降低到550ma。例如,圖7的曲線圖720圖示當(dāng)同時(shí)激活四個(gè)觸覺(jué)輸出設(shè)備時(shí)的550ma的峰值電流。
圖8圖示根據(jù)本發(fā)明的示例實(shí)施例的數(shù)據(jù)結(jié)構(gòu)800。數(shù)據(jù)結(jié)構(gòu)800維護(hù)相應(yīng)觸覺(jué)輸出設(shè)備的操作特性。功率限制器模塊142和/或420可以存儲(chǔ)每個(gè)觸覺(jué)輸出設(shè)備的數(shù)據(jù)結(jié)構(gòu)800。在一些情況下,數(shù)據(jù)結(jié)構(gòu)800可以作為元數(shù)據(jù)存儲(chǔ)。
致動(dòng)器索引810可以用于唯一地識(shí)別每個(gè)觸覺(jué)輸出設(shè)備。優(yōu)先級(jí)字段820可以用于向每個(gè)觸覺(jué)輸出設(shè)備分配優(yōu)先級(jí)值。例如,與具有較低優(yōu)先級(jí)字段820的觸覺(jué)輸出設(shè)備相比,具有較高優(yōu)先級(jí)字段820的觸覺(jué)輸出設(shè)備可以被分配總體功率預(yù)算的較大部分。在另一個(gè)示例中,用于較高優(yōu)先級(jí)觸覺(jué)輸出設(shè)備的觸覺(jué)指令可以在較低優(yōu)先級(jí)觸覺(jué)輸出設(shè)備的觸覺(jué)指令之前被處理。在一些情況下,優(yōu)先級(jí)字段820可以具有在1和觸覺(jué)輸出設(shè)備的總數(shù)之間的值的范圍,其中優(yōu)先級(jí)隨著優(yōu)先級(jí)的數(shù)值增加而減小。
當(dāng)接收到觸覺(jué)指令時(shí),請(qǐng)求隊(duì)列830可以指示每個(gè)觸覺(jué)輸出設(shè)備的排隊(duì)順序。例如,傳入觸覺(jué)指令可以存儲(chǔ)在存儲(chǔ)器中并且可以填充隊(duì)列。這里,可以根據(jù)相關(guān)聯(lián)的觸覺(jué)輸出設(shè)備的排隊(duì)順序來(lái)執(zhí)行傳入觸覺(jué)指令。
雙向字段840可以用于指示觸覺(jué)輸出設(shè)備是否是雙向的。例如,當(dāng)觸覺(jué)輸出設(shè)備被配置成以正向和反向操作時(shí),雙向字段840可以具有值1??梢源鎯?chǔ)雙向字段840,因?yàn)楫?dāng)觸覺(jué)輸出設(shè)備改變方向時(shí)汲取了增加的電流。
啟動(dòng)電流最大值850可以是當(dāng)觸覺(jué)輸出設(shè)備以最大電壓從靜止起動(dòng)時(shí)可能消耗的最大預(yù)期電流(例如,以ma為單位)。例如,如果觸覺(jué)輸出設(shè)備被設(shè)計(jì)為以5v進(jìn)行驅(qū)動(dòng),那么啟動(dòng)電流最大值850可以指示當(dāng)以5v驅(qū)動(dòng)時(shí)啟動(dòng)電流消耗的值。此外,建立時(shí)間860指示觸覺(jué)輸出設(shè)備達(dá)到穩(wěn)態(tài)電流所花費(fèi)的時(shí)間,并且穩(wěn)態(tài)電流870可以指示觸覺(jué)輸出設(shè)備在穩(wěn)態(tài)狀況下消耗的最大電流(例如,以ma為單位)。
狀態(tài)字段880可以用于跟蹤觸覺(jué)輸出設(shè)備的活動(dòng)狀態(tài)。此外,當(dāng)啟用或禁用觸覺(jué)輸出設(shè)備時(shí),可以更新?tīng)顟B(tài)字段880。最后,觸覺(jué)寫字段890可以被功率限制器模塊調(diào)用以設(shè)置觸覺(jué)輸出設(shè)備的驅(qū)動(dòng)功率或電流值。例如,如由功率限制器模塊確定的用于觸覺(jué)輸出設(shè)備的驅(qū)動(dòng)器電流可以存儲(chǔ)在觸覺(jué)寫字段890中。
響應(yīng)于執(zhí)行接收到的觸覺(jué)指令,可以更新數(shù)據(jù)結(jié)構(gòu)800。因此,數(shù)據(jù)結(jié)構(gòu)800可以通過(guò)基于存儲(chǔ)在其中的各種字段810-890更新每個(gè)觸覺(jué)輸出設(shè)備的狀態(tài)并估計(jì)觸覺(jué)輸出設(shè)備的活動(dòng)和狀況來(lái)跟蹤觸覺(jué)輸出設(shè)備的當(dāng)前狀態(tài)。
圖9圖示適于與本發(fā)明的實(shí)施例一起使用的控制器900的功能框圖。
如圖9所圖示,控制器900可以包括各種用戶輸入元件中的一個(gè)或多個(gè)。用戶輸入元件可以指的是由用戶操縱以與主機(jī)計(jì)算機(jī)904交互的任何接口設(shè)備。示例用戶輸入元件包括模擬或數(shù)字操縱桿910、按鈕914、觸發(fā)器918等。如本領(lǐng)域普通技術(shù)人員所理解的,每一個(gè)用戶輸入元件中的一個(gè)或多個(gè)可以被包括在控制器900上。例如,觸發(fā)器918的當(dāng)前描述不將控制器900限制到單個(gè)觸發(fā)器。類似地,本領(lǐng)域技術(shù)人員可以理解的是,可以使用多個(gè)模擬或數(shù)字桿、按鈕和其它用戶輸入元件。
控制器900可以包括本地處理器908。本地處理器908可以經(jīng)由連接905與主機(jī)計(jì)算機(jī)904交換命令和數(shù)據(jù)。連接905可以是使用本領(lǐng)域技術(shù)人員已知的一個(gè)或多個(gè)通信協(xié)議的有線或無(wú)線連接。在一些情況下,控制器900可以替代地被配置成不包括本地處理器908。這里,來(lái)自控制器900的輸入/輸出信號(hào)可以由主機(jī)計(jì)算機(jī)904直接處置和處理。主機(jī)計(jì)算機(jī)904可以是游戲設(shè)備控制臺(tái)并且顯示設(shè)備906可以是可操作地耦合到游戲設(shè)備控制臺(tái)的屏幕。在一些情況下,主機(jī)計(jì)算機(jī)904和顯示設(shè)備906可以組合在單個(gè)設(shè)備中。
控制器900可以包括目標(biāo)致動(dòng)器912、916、920(例如,馬達(dá)),以直接驅(qū)動(dòng)其用戶輸入元件中的每一個(gè),控制器900還可以包括在用戶的手通常位于的位置可操作地耦合到殼體902的一個(gè)或多個(gè)通用或震動(dòng)致動(dòng)器922、924。更具體地,模擬或數(shù)字桿910包括可操作地耦合到其的目標(biāo)致動(dòng)器或馬達(dá)912,按鈕914包括可操作地耦合到其的目標(biāo)致動(dòng)器或馬達(dá)916,并且觸發(fā)器918包括可操作地耦合到其的目標(biāo)致動(dòng)器或馬達(dá)920。除了多個(gè)目標(biāo)致動(dòng)器之外,控制器900還包括可操作地耦合到其用戶輸入元件中的每一個(gè)的位置傳感器。更具體地,模擬或數(shù)字桿910包括可操作地耦合到其的位置傳感器911,按鈕914包括可操作地耦合到其的位置傳感器915,并且觸發(fā)器918包括可操作地耦合到其的位置傳感器919。本地處理器908可操作地耦合到目標(biāo)致動(dòng)器912、916、920以及分別耦合到模擬或數(shù)字桿910、按鈕914和觸發(fā)器918的位置傳感器911、915、919。響應(yīng)于從位置傳感器911、915、919接收到的信號(hào),本地處理器908指示目標(biāo)致動(dòng)器912、916、920分別向模擬或數(shù)字桿910、按鈕914和觸發(fā)器918直接提供定向的或有針對(duì)性的動(dòng)覺(jué)效果。這種有針對(duì)性的動(dòng)覺(jué)效果與由通用致動(dòng)器922、924沿著控制器的整個(gè)主體產(chǎn)生的通用觸覺(jué)效果或震動(dòng)觸覺(jué)效果可辨別或可區(qū)分。共同的觸覺(jué)效果向用戶提供了對(duì)游戲更強(qiáng)的沉浸感,因?yàn)槎喾N形態(tài)(例如,視頻、音頻和觸覺(jué))同時(shí)參與。
圖10a和10b圖示適于與本發(fā)明的實(shí)施例一起使用的控制器1000的不同視圖。如圖10a和圖10b所示,控制器1000可以包括各種部件,諸如殼體1002、模擬或數(shù)字操縱桿1010、(一個(gè)或多個(gè))按鈕1014、觸發(fā)器1018以及震動(dòng)致動(dòng)器1022和1024。
殼體1002被形成為使用戶容易地適應(yīng)抓握控制器1000??刂破?000是控制器的示例實(shí)施例,并且本發(fā)明的實(shí)施例可以容易地應(yīng)用于其它控制器形狀。
因此,通過(guò)采用本發(fā)明的各種實(shí)施例,可以更高效地生成觸覺(jué)效果。例如,在任何特定的時(shí)刻,可以減少由控制器的觸覺(jué)輸出設(shè)備汲取的總功率或電流。此外,用戶的觸覺(jué)體驗(yàn)并沒(méi)有減弱。
本領(lǐng)域普通技術(shù)人員將容易理解的是,可以用不同順序的步驟和/或用以與所公開(kāi)的配置不同配置的元件來(lái)實(shí)施如上所述的本發(fā)明。因此,雖然已經(jīng)基于這些優(yōu)選實(shí)施例描述了本發(fā)明,但是對(duì)于本領(lǐng)域技術(shù)人員將顯而易見(jiàn)的是,某些修改、變化和替代構(gòu)造將是顯而易見(jiàn)的,同時(shí)保持在本發(fā)明的精神和范圍之內(nèi)。因此,為了確定本發(fā)明的邊界和界限,應(yīng)當(dāng)參考所附權(quán)利要求。