(57)【特許請求の範囲】
【請求項１】
ハウジングと、
ユーザ入力エレメントと、
前記ユーザ入力エレメントに結合された位置センサであって、前記ユーザ入力エレメントの位置を検出するように構成され、前記位置をプロセッサに送信するようにさらに構成された、位置センサと、
前記ハウジング内に設置され、前記ユーザ入力エレメントに結合された、ハプティック出力デバイスであって、前記プロセッサからハプティック効果定義を受信するように構成され、受信した前記ハプティック効果定義に応じて前記ユーザ入力エレメントへの力を出力するようにさらに構成された、ハプティック出力デバイスと、
前記ユーザ入力エレメントがレンジ外の最大開位置または前記レンジ外の最大閉位置にあるときに出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジを設けるように構成された、ハプティック減少防止コンポーネントと、
を含み、
前記ユーザ入力エレメントは、トリガを含む、
周辺機器。
【請求項２】
前記ユーザ入力エレメントが前記レンジ外の前記最大開位置にあるときに、前記ハプティック減少防止コンポーネントは、スプリングを含み、
前記スプリングは、前記ユーザ入力エレメントと前記ハウジングの外側部分との間に開延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記外側部分と間の前記開延長トラベルレンジを含む
請求項１記載の周辺機器。
【請求項３】
前記スプリングは、圧縮スプリングまたは片持スプリングの少なくとも一方を含む、請求項２記載の周辺機器。
【請求項４】
前記ユーザ入力エレメントが前記レンジ外の前記最大閉位置にあるときに、前記ハプティック減少防止コンポーネントはスプリングを含み、
前記スプリングは、オブジェクトが前記ユーザ入力エレメントを前記レンジ外の前記最大閉位置へと移動させたときに前記ユーザ入力エレメントと前記ハウジングの内側部分との間に閉延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記内側部分との間の前記閉延長トラベルレンジを含む
請求項１記載の周辺機器。
【請求項５】
前記力は、運動感覚ハプティック効果として前記ハプティック出力デバイスから前記ユーザ入力エレメントに伝達される、請求項１記載の周辺機器。
【請求項６】
前記ハプティック出力デバイスは、アクチュエータを含む、請求項１記載の周辺機器。
【請求項７】
前記アクチュエータは、双方向押／引力を及ぼすように構成されたモータを含む、請求項６記載の周辺機器。
【請求項８】
前記プロセッサは、前記周辺機器の前記ハウジング内に設置される、請求項１記載の周辺機器。
【請求項９】
前記プロセッサは、前記周辺機器の前記ハウジングから離れた位置に設置される、請求項１記載の周辺機器。
【請求項１０】
前記ハプティック効果定義は、前記ユーザ入力エレメントの前記位置に応じて前記プロセッサにより生成される、請求項１記載の周辺機器。
【請求項１１】
前記ユーザ入力エレメントの前記最大開位置は、前記ユーザ入力エレメントが前記ハウジング内へと移動していない前記ユーザ入力エレメントの位置を含み、
前記ユーザ入力エレメントの前記最大閉位置は、前記ユーザ入力エレメントが前記ハウジング内へと最大距離を移動している前記ユーザ入力エレメントの位置を含む
請求項１記載の周辺機器。
【請求項１２】
プロセッサにより実行されると前記プロセッサにユーザ入力エレメントで経験されるハプティック効果を修正させる命令が記憶された、非一時的コンピュータ可読媒体であって、修正するステップは、
周辺機器のユーザ入力エレメントの位置を受信するステップであって、前記周辺機器は、ハウジングと、ユーザ入力エレメントと、前記ハウジング内に設置され、かつ前記ユーザ入力エレメントに結合されたハプティック出力デバイスと、ハプティック減少防止コンポーネントとを含む、ステップと、
受信した前記ユーザ入力エレメントの位置に応じて前記ハプティック出力デバイスにハプティック効果定義を送信するステップと、
前記ハプティック出力デバイスに、前記ハプティック効果定義に応じて前記周辺機器の前記ユーザ入力エレメントへの力を出力させるステップと、
を含み、
前記ハプティック減少防止コンポーネントは、前記ユーザ入力エレメントがレンジ外の最大開位置または前記レンジ外の最大閉位置あるときに出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジを設け、
前記ユーザ入力エレメントは、トリガを含む、
非一時的コンピュータ可読媒体。
【請求項１３】
前記ユーザ入力エレメントが前記レンジ外の前記最大開位置にあるときに、前記ハプティック減少防止コンポーネントは、スプリングを含み、
前記スプリングは、前記ユーザ入力エレメントと前記ハウジングの外側部分との間に開延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記外側部分との間の前記開延長トラベルレンジを含む
請求項１２記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記スプリングは、圧縮スプリングまたは片持スプリングの少なくとも一方を含む、請求項１３記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記ユーザ入力エレメントが前記レンジ外の前記最大閉位置にあるときに、前記ハプティック減少防止コンポーネントは、スプリングを含み、
前記スプリングは、オブジェクトが前記ユーザ入力エレメントを前記レンジ外の前記最大閉位置へと移動させたときに前記ユーザ入力エレメントと前記ハウジングの内側部分との間に閉延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記内側部分との間の前記閉延長トラベルレンジを含む
請求項１２記載の非一時的コンピュータ可読媒体。
【請求項１６】
ユーザ入力エレメントで経験されるハプティック効果を修正するためのコンピュータ実施方法であって、
周辺機器のユーザ入力エレメントの位置を受信するステップであって、前記周辺機器は、ハウジングと、ユーザ入力エレメントと、前記ハウジング内に設置され、かつ前記ユーザ入力エレメントに結合されたハプティック出力デバイスと、ハプティック減少防止コンポーネントとを含む、ステップと、
受信した前記ユーザ入力エレメントの位置に応じてハプティック効果定義を前記ハプティック出力デバイスに送信するステップと、
前記ハプティック出力デバイスに、前記ハプティック効果定義に応じて前記周辺機器の前記ユーザ入力エレメントへの力を出力させるステップと、
を含み、
前記ハプティック減少防止コンポーネントは、前記ユーザ入力エレメントがレンジ外の最大開位置または前記レンジ外の最大閉位置にあるときに出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジを設け、
前記ユーザ入力エレメントは、トリガを含む、
コンピュータ実施方法。
【請求項１７】
前記ユーザ入力エレメントが前記レンジ外の前記最大開位置にあるときに、前記ハプティック減少防止コンポーネントは、スプリングを含み、
前記スプリングは、前記ユーザ入力エレメントと前記ハウジングの外側部分との間に開延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記外側部分との間の前記開延長トラベルレンジを含む
請求項１６記載のコンピュータ実施方法。
【請求項１８】
前記スプリングは、圧縮スプリングまたは片持スプリングの少なくとも一方を含む、請求項１７記載のコンピュータ実施方法。
【請求項１９】
前記ユーザ入力エレメントが前記レンジ外の前記最大閉位置にあるときに、前記ハプティック減少防止コンポーネントは、スプリングを含み、
前記スプリングは、オブジェクトが前記ユーザ入力エレメントを前記レンジ外の前記最大閉位置へと移動させたときに前記ユーザ入力エレメントと前記ハウジングの内側部分との間に閉延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記内側部分との間の前記閉延長トラベルレンジを含む
請求項１６記載のコンピュータ実施方法。
【請求項２０】
ユーザ入力エレメントで経験されるハプティック効果を修正するためのシステムであって、
ハプティックトリガ修正モジュールを記憶するように構成されたメモリと、
前記メモリに記憶された前記ハプティックトリガ修正モジュールを実行するように構成されたプロセッサと、
を含み、
前記プロセッサは、前記ハプティックトリガ修正モジュールを実行したときに、周辺機器のユーザ入力エレメントの位置を受信するように構成され、前記周辺機器は、ハウジングと、ユーザ入力エレメントと、前記ハウジング内に設置され、かつ前記ユーザ入力エレメントに結合されたハプティック出力デバイスと、ハプティック減少防止コンポーネントとを含み、
前記プロセッサは、前記ハプティックトリガ修正モジュールを実行したときに、受信した前記ユーザ入力エレメントの位置に応じてハプティック効果定義を前記ハプティック出力デバイスに送信するようにさらに構成され、
前記プロセッサは、前記ハプティックトリガ修正モジュールを実行したときに、前記ハプティック出力デバイスに、前記ハプティック効果定義に応じて前記周辺機器の前記ユーザ入力エレメントへの力を出力させるようにさらに構成され、
前記ハプティック減少防止コンポーネントは、前記ユーザ入力エレメントが開位置または閉位置にあるときに出力された前記力に応じて前記ユーザ入力エレメントが移動できるレンジを設け、
前記ユーザ入力エレメントは、トリガを含む、
システム。
【請求項２１】
前記ユーザ入力エレメントが前記レンジ外の最大開位置にあるときに、前記ハプティック減少防止コンポーネントは、スプリングを含み、
前記スプリングは、前記ユーザ入力エレメントと前記ハウジングの外側部分との間に開延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記外側部分との間の前記開延長トラベルレンジを含む
請求項２０記載のシステム。
【請求項２２】
前記スプリングは、圧縮スプリングまたは片持スプリングの少なくとも一方を含む、請求項２１記載のシステム。
【請求項２３】
前記ユーザ入力エレメントが前記レンジ外の最大閉位置にあるときに、前記ハプティック減少防止コンポーネントは、スプリングを含み、
前記スプリングは、オブジェクトが前記ユーザ入力エレメントを前記レンジ外の前記最大閉位置へと移動させたときに前記ユーザ入力エレメントと前記ハウジングの内側部分との間に閉延長トラベルレンジがあるような位置に前記ユーザ入力エレメントを維持し、
出力された前記力に応じて前記ユーザ入力エレメントが移動できる前記レンジは、前記ユーザ入力エレメントと前記ハウジングの前記内側部分との間の前記閉延長トラベルレンジを含む
請求項２０記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
一実施形態は、一般にデバイスを目的とし、特にハプティック効果を生み出すデバイスを目的とする。
【背景技術】
【０００２】
ビデオゲームおよびビデオゲームシステムが非常に人気となっている。ビデオゲームデバイスまたはコントローラは通常、ユーザにフィードバックを提供するために、視覚および聴覚キューを用いる。いくつかのインタフェースデバイスでは、運動感覚フィードバック（能動および抵抗力フィードバック等）、および／または触知フィードバック（振動、触感および熱等）もユーザに提供され、より一般的に「ハプティックフィードバック」または「ハプティック効果」の総称で知られている。ハプティックフィードバックは、ユーザのビデオゲームコントローラまたは他の電子デバイスとの相互作用を強化および簡素化するキューを提供することができる。具体的には、ユーザに特定のイベントを警告するため、または、模擬環境もしくは仮想環境内でのより高い没入感を生むリアルなフィードバックを提供するために、ビデオゲームコントローラまたは他の電子デバイスのユーザにキューを提供する際に、振動効果または振動触知ハプティック効果が有用となりうる。
【０００３】
医療デバイス、自動車制御、遠隔制御やその他、ユーザがユーザ入力エレメントと相互作用して動作を引き起こす類似のデバイス等の他のデバイスも、ハプティックフィードバックまたはハプティック効果の利益を受ける。限定としてではなく例として、ユーザが、医療デバイスのユーザ入力エレメントを患者の体外の医療デバイスの近位部分で操作して、患者の体内の医療デバイスの遠位端で動作を引き起こすことができる。ユーザに特定のイベントを警告するため、または、医療デバイスの遠位端での医療デバイスと患者の相互作用に関してユーザにリアルなフィードバックを提供するために、ハプティックフィードバックまたはハプティック効果を採用することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ハプティック減少防止コンポーネントを備えた周辺機器を提供することを目的とする。さらに本発明はユーザ入力エレメントで経験されるハプティック効果を修正するためのシステム、方法、および命令が記憶された非一時的記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
一実施形態は、ユーザ入力エレメントで経験されるハプティック効果を修正するためのシステムである。このシステムは、周辺機器のトリガの位置を受信し、周辺機器は、ハウジングと、ユーザ入力エレメントと、ハウジング内に設置され、ユーザ入力エレメントに結合されたハプティック出力デバイスと、ハプティック減少防止コンポーネントとを含む。システムはさらに、受信したユーザ入力エレメントの位置に応じて、ハプティック出力デバイスにハプティック効果定義を送信する。システムはさらに、ハプティック出力デバイスに、ハプティック効果定義に応じて周辺機器のユーザ入力エレメントへの力を出力させる。システムはさらに、ハプティック減少防止コンポーネントに、トリガがレンジ外の最大開位置またはレンジ外の最大閉位置にあるときにユーザ入力エレメントが出力された力に応じて移動できるレンジを設けさせる。
【図面の簡単な説明】
【０００６】
添付の図面とあわせて理解されるべき以下の好ましい実施形態の詳細な説明から、さらなる実施形態、詳細、利点、および修正が明らかとなる。
【図１】本発明の一実施形態に係るシステムのブロック図である。
【図２】本発明の一実施形態に係るコントローラの図である。
【図３】本発明の一実施形態に係る図２のコントローラの別の図である。
【図４】本発明の一実施形態に係るホストコンピュータおよびディスプレイと連結されたコントローラのブロック図である。
【図５】本発明の一実施形態に係るシステムのトリガハプティック効果ソフトウェアスタックのブロック図である。
【図６】本発明の一実施形態に係る、トリガが開延長トラベルレンジ外の最大開位置にあるときにトリガが移動するための開延長トラベルレンジを設ける外側スプリングを含むコントローラの図である。
【図７】本発明の一実施形態に係る、トリガが閉延長トラベルレンジ外の最大閉位置にあるときにトリガが移動するための閉延長トラベルレンジを設ける延長フレームを含むコントローラの図である。
【図８】本発明の一実施形態に係るハプティックトリガ修正モジュールの機能のフローダイアグラムである。
【図９】本発明の一実施形態に係る、トリガの開延長トラベルレンジ外の最大開位置、およびトリガの閉延長トラベルレンジ外の最大閉位置の図である。
【発明を実施するための形態】
【０００７】
一実施形態では、周辺機器のトリガまたは他のユーザ入力エレメントでトリガハプティック効果等のハプティックフィードバックを生み出す、コントローラまたはゲームパッド等の周辺機器を提供することができる。周辺機器には、ハウジングと、トリガと、モータまたはアクチュエータ等のハプティック出力デバイスと、スプリングまたはフレーム等の一つ以上のハプティック減少防止コンポーネントとを含むことができる。周辺機器は、プロセッサからハプティック信号等のハプティックデータを受信することができる。ハプティック出力デバイスは、受信したハプティックデータに応じて、トリガへの力を出力することができる。ハプティック減少防止コンポーネントは、トリガがレンジ外の最大開位置（ｍａｘｉｍｕｍ  ｏｐｅｎ  ｐｏｓｉｔｉｏｎ）またはレンジ外の最大閉位置（ｍａｘｉｍｕｍ  ｃｌｏｓｅｄ  ｐｏｓｉｔｉｏｎ）にあるときにトリガがハプティック出力デバイスにより出力された力に応じて移動するためのレンジがハウジング内に設けられるように、配置することができる。このレンジは、トリガが開延長トラベルレンジ（ｏｐｅｎ  ｅｘｔｅｎｄｅｄ  ｔｒａｖｅｌ  ｒａｎｇｅ）外の最大開位置にあるときの開延長トラベルレンジであってよい。このレンジは、トリガが閉延長トラベルレンジ（ｃｌｏｓｅｄ  ｅｘｔｅｎｄｅｄ  ｔｒａｖｅｌ  ｒａｎｇｅ）外の最大閉位置にあるときの閉延長トラベルレンジであってもよい。ハプティック減少防止コンポーネントは、このレンジを設けることにより、トリガがレンジ外の最大開位置またはレンジ外の最大閉位置にあるときのハプティックフィードバック（例えば、トリガハプティック効果）のマグニチュード（ｍａｇｎｉｔｕｄｅ）を増加させることができる。換言すれば、ハプティック増幅コンポーネントによって、トリガがレンジ外の最大開位置またはレンジ外の最大閉位置にあるときにハプティックフィードバックのマグニチュードが減少するのを防ぐことができる。ハプティック減少防止コンポーネントは、ハプティック増幅コンポーネントとしても識別できる。
【０００８】
例えば、ハプティック減少防止コンポーネントがスプリングである場合、トリガがハウジングの外側部分に対してぶつかるのを防止するようにスプリングを配置することができる。これにより、トリガとハウジングの外側部分との間に開延長トラベルレンジが設けられる。したがって、トリガが開延長トラベルレンジ外の最大開位置にあるときにトリガに力が加えられると、トリガは、設けられた開延長トラベルレンジ内を移動することができる。別の例として、ハプティック減少防止コンポーネントがフレームである場合、オブジェクトがハウジングの外側部分ではなくフレームに対してぶつかるようにすることにより、オブジェクトがトリガを押したときまたは引いたときにトリガがハウジングの内側部分に対してぶつかるのを防止するようにフレームを配置することができる。これにより、トリガとハウジングの内側部分との間に閉延長トラベルレンジが設けられる。したがって、トリガが閉延長トラベルレンジ外の最大閉位置にあるときにトリガに力が加えられると、トリガは、設けられた閉延長トラベルレンジ内を移動することができる。
【０００９】
別の実施形態では、周辺機器には、ハウジングと、ユーザ入力エレメント（例えば、アナログまたはデジタルスティック、ボタンなど）と、モータまたはアクチュエータ等のハプティック出力デバイスと、スプリングまたはフレーム等の一つ以上のハプティック減少防止コンポーネントとを含むことができる。周辺機器は、プロセッサからハプティック信号等のハプティックデータを受信することができる。ハプティック出力デバイスは、受信したハプティックデータに応じて、ユーザ入力エレメントへの力を出力することができる。ユーザ入力エレメントがレンジ外の最大開位置またはレンジ外の最大閉位置にあるときにユーザ入力エレメントがハプティック出力デバイスにより出力された力に応じて移動するためのレンジがハウジング内に設けられるように、ハプティック減少防止コンポーネントを配置することができる。ハプティック減少防止コンポーネントは、このレンジを設けることにより、ユーザ入力エレメントがレンジ外の最大開位置またはレンジ外の最大閉位置にあるときのハプティックフィードバック（例えば、ハプティック効果）のマグニチュードを増加させることができる。換言すれば、ハプティック減少防止コンポーネントは、ユーザ入力エレメントがレンジ外の最大開位置またはレンジ外の最大閉位置にあるときにハプティックフィードバックのマグニチュードが減少するのを防止することができる。
【００１０】
図１は、本発明の一実施形態に係るシステム１０のブロック図である。一実施形態では、システム１０は、デバイス（例えば、パーソナルコンピュータ、またはビデオゲームコンソール等のコンソール）の一部であり、システム１０は、デバイスにトリガハプティック効果修正機能を提供する。別の実施形態では、システム１０は、デバイス（例えば、パーソナルコンピュータまたはコンソール）とは別々であり、デバイスに上述の機能を遠隔で提供する。単一のシステムとして図示されているが、システム１０の機能は、分散システムとして実装されてもよい。システム１０は、バス１２または他の情報通信用の通信機構と、情報処理のためにバス１２に動作可能に結合されたプロセッサ２２とを含む。プロセッサ２２は、任意のタイプの汎用または特殊目的プロセッサであればよい。システム１０は、プロセッサ２２により実行される情報および命令を記憶するためのメモリ１４をさらに含む。メモリ１４は、ランダムアクセスメモリ（「ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ」）、リードオンリメモリ（「ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ」）、磁気もしくは光ディスク等のスタティックストレージデバイス、または他の任意のタイプのコンピュータ可読媒体の任意の組み合わせで構成することができる。
【００１１】
コンピュータ可読媒体は、プロセッサ２２がアクセスできる任意の利用可能な媒体であればよく、揮発性および不揮発性媒体、取外し可能および取り外し不能媒体、通信媒体、ならびに記憶媒体を含みうる。通信媒体は、搬送波または他の転送機構等の変調データ信号にコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを含むことができ、公知技術の他の任意の形の情報送達媒体を含みうる。記憶媒体は、ＲＡＭ、フラッシュメモリ、ＲＯＭ、消去可能プログラム可能リードオンリメモリ（「ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ」）、電気的消去可能プログラム可能リードオンリメモリ（「ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ」）、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリメモリ（「ＣＤ‐ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ」）、または公知技術の他の任意の形の記憶媒体を含みうる。
【００１２】
一実施形態では、メモリ１４は、プロセッサ２２により実行されたときに機能を提供するソフトウェアモジュールを記憶する。モジュールは、一実施形態では、システム１０ならびにデバイス全体の残りの部分にオペレーティングシステム機能を提供するオペレーティングシステム１５を含む。モジュールは、トリガで経験されるハプティック効果を修正するハプティックトリガ修正モジュール１６をさらに含む。ある実施形態では、ハプティックトリガ修正モジュール１６は、複数のモジュールを含み、各モジュールが、トリガで経験されるハプティック効果を修正するための特定の個々の機能を提供してもよい。システム１０は、コントローラ３０等の周辺機器に制御機能を提供しうる周辺ファームウェア等、追加の機能を含むための一つ以上の追加のアプリケーションモジュール１８を典型的に含む。
【００１３】
システム１０は、リモートソースからデータを送信および／または受信する実施形態では、赤外線、無線、Ｗｉ‐Ｆｉまたはセルラネットワーク通信等の移動無線ネットワーク通信を提供するための、ネットワークインタフェースカード等の通信デバイス２０をさらに含む。他の実施形態では、通信デバイス２０は、イーサネット（登録商標）接続またはモデム等の有線ネットワーク接続を提供する。
【００１４】
システム１０は、コントローラ３０に動作可能に接続される。コントローラ３０は、システム１０に入力を提供するために用いられる周辺機器である。コントローラ３０は、無線接続または有線接続を用いてシステム１０に動作可能に接続することができる。コントローラ３０は、無線接続または有線接続を用いてシステム１０と通信しうるローカルプロセッサをさらに含むことができる。あるいは、コントローラ３０は、ローカルプロセッサを含まないように構成されてもよく、コントローラ３０に関連する全ての入力信号および／または出力信号が、システム１０のプロセッサ２２により直接対処および処理されてもよい。
【００１５】
コントローラ３０は、ユーザが相互作用することができ、システム１０に入力を提供することができる、一つ以上のデジタルボタン、一つ以上のアナログボタン、一つ以上のバンパ、一つ以上の方向パッド、一つ以上のアナログもしくはデジタルスティック、一つ以上のハンドル、および／または一つ以上のユーザ入力エレメントをさらに含むことができる。コントローラ３０は、ユーザがさらに相互作用することができ、システム１０にさらに入力を提供することができる、一つ以上のアナログまたはデジタルトリガボタン（または「トリガ」）も含むことができる。より詳細に後述するように、コントローラ３０には、コントローラ３０の少なくとも一つのトリガに対して双方向押／引力を及ぼすように構成された、モータまたは別のタイプのアクチュエータもしくはハプティック出力デバイスをさらに含むことができる。
【００１６】
コントローラ３０は、一つ以上のアクチュエータまたは他のタイプのハプティック出力デバイスも含むこともできる。コントローラ３０のローカルプロセッサ、またはコントローラ３０がローカルプロセッサを含まない実施形態におけるプロセッサ２２は、コントローラ３０の少なくとも一つのアクチュエータに、ハプティック効果に関連したハプティック信号を送信すればよい。次に、アクチュエータが、ハプティック信号に応じて振動触知ハプティック効果、運動感覚ハプティック効果、または変形ハプティック効果等のハプティック効果を出力する。ハプティック効果は、コントローラ３０のユーザ入力エレメント（例えば、デジタルボタン、アナログボタン、バンパ、方向パッド、アナログもしくはデジタルスティック、ハンドル、またはトリガ）で経験されることができる。あるいは、コントローラ３０の外側表面でハプティック効果が経験されてもよい。アクチュエータは、アクチュエータ駆動回路を含む。アクチュエータは、例えば、電動モータ、電磁アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマ、ソレノイド、偏心モータ（「ＥＲＭ：ｅｌｅｃｔｒｉｃ  ｒｏｔａｔｉｎｇ  ｍａｓｓ  ｍｏｔｏｒ」）、線形共振アクチュエータ（「ＬＲＡ：ｌｉｎｅａｒ  ｒｅｓｏｎａｎｔ  ａｃｔｕａｔｏｒ」）、圧電アクチュエータ、高帯域アクチュエータ、電気活性ポリマ（「ＥＡＰ：ｅｌｅｃｔｒｏａｃｔｉｖｅ  ｐｏｌｙｍｅｒ」）アクチュエータ、静電摩擦ディスプレイ、または超音波振動ジェネレータでありうる。アクチュエータはハプティック出力デバイスの一例であり、ここで、ハプティック出力デバイスは、駆動信号に応じて振動触知ハプティック効果、静電摩擦ハプティック効果、または変形ハプティック効果等のハプティック効果を出力するように構成されたデバイスである。代替的実施形態では、コントローラ３０内の一つ以上のアクチュエータは、何らかの他のタイプのハプティック出力デバイスで置き換えられてもよい。
【００１７】
コントローラ３０は、一つ以上のスピーカをさらに含むことができる。コントローラ３０のローカルプロセッサ、またはコントローラ３０がローカルプロセッサを含まない実施形態におけるプロセッサ２２は、コントローラ３０の少なくとも一つのスピーカに音声信号を送信すればよく、次いでスピーカが音声効果を出力する。スピーカは、例えば、ダイナミックラウドスピーカ、エレクトロダイナミックラウドスピーカ、圧電ラウドスピーカ、磁気歪ラウドスピーカ、静電ラウドスピーカ、リボンプラナー磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラットパネルラウドスピーカ、ヘイルエアモーショントランスデューサ、プラズマアークスピーカ、およびデジタルラウドスピーカであればよい。
【００１８】
コントローラ３０は、一つ以上のセンサをさらに含むことができる。センサは、音、動作、加速度、生体信号、距離、流量、力／圧力／歪み／屈曲、湿度、線形位置、方位／傾斜、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、または可視光強度等であるがこれに限定されない、エネルギーの一形態または他の物理的性質を検出するように構成できる。センサは、検出エネルギーまたは他の物理的特性を、電気信号または仮想センサ情報を表す任意の信号に変換するようにさらに構成でき、コントローラ３０は、変換された信号を、コントローラ３０のローカルプロセッサに、またはコントローラ３０がローカルプロセッサを含まない実施形態におけるプロセッサ２２に送信することができる。センサは、加速度計、心電図、脳波図、筋電計、眼電図、電気的パラトグラフ、電気皮膚反応センサ、容量センサ、ホール効果センサ、赤外センサ、超音波センサ、圧力センサ、光ファイバセンサ、曲りセンサ（または屈曲センサ）、力感知レジスタ、ロードセル、ＬｕＳｅｎｓｅ  ＣＰＳ２  １５５、小型圧力トランスデューサ、圧電センサ、ストレインゲージ、湿度計、線形位置タッチセンサ、線形ポテンショメータ（またはスライダ）、線形可変差動変圧器、コンパス、傾斜計、磁性タグ（または無線周波数識別タグ）、回転エンコーダ、回転ポテンショメータ、ジャイロスコープ、オンオフスイッチ、温度センサ（温度計、熱電対、抵抗温度検知器、サーミスタ、または温度変換集積回路等）、マイクロホン、光度計、高度計、生体モニタ、カメラ、または光依存レジスタ等であるがこれに限定されない任意のデバイスであってよい。
【００１９】
図２は、本発明の一実施形態に係るコントローラ１００の図である。一実施形態では、コントローラ１００は、図１のコントローラ３０と同一である。さらに、図３は、コントローラ１００の別の図である。コントローラ１００は一般に、コンピュータ、携帯電話、テレビ、または他の類似のデバイスに接続できるゲームシステムに用いることができる。図２および図３のコントローラ１００のコンポーネント（すなわち、ハウジング１０２、アナログまたはデジタルスティック１１０、ボタン１１４、トリガ１１８、ならびに鳴動（ランブル）アクチュエータ（ｒｕｍｂｌｅ  ａｃｔｕａｔｏｒｓ）１２２および１２４）を、以下で図４とともにさらに詳述する。
【００２０】
図４は、ホストコンピュータ１０４およびディスプレイ１０６をさらに含むゲームシステム１０１で使用されるコントローラ１００のブロック図である。図４のブロック図に示すように、コントローラ１００は、接続１０５を介してホストコンピュータ１０４と通信する局所プロセッサ１０８を含む。接続１０５は、有線接続、無線接続、または当業者に公知の他のタイプの接続であればよい。あるいは、コントローラ１００は、局所プロセッサ１０８を含まないように構成され、コントローラ１００からの全ての入力／出力信号が、ホストコンピュータ１０４により直接対処および処理されてもよい。ホストコンピュータ１０４は、ディスプレイスクリーン１０６に動作可能に結合される。一実施形態では、当技術分野で周知のように、ホストコンピュータ１０４は、ゲームデバイスコンソールであり、ディスプレイスクリーン１０６は、ゲームデバイスコンソールに動作可能に結合されたモニタである。別の実施形態では、当業者に周知のように、ホストコンピュータ１０４およびディスプレイスクリーン１０６は、単一のデバイスに組み合わされてもよい。
【００２１】
コントローラ１００のハウジング１０２は、左利きユーザまたは右利きユーザのデバイスを握る両手に合い易いように成形される。当業者には当然のことながら、コントローラ１００は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｘｂｏｘ  Ｏｎｅ（商標）コントローラまたはＰｌａｙＳｔａｔｉｏｎ（登録商標）ＤｕａｌＳｈｏｃｋ（商標）コントローラ等のビデオゲームコンソールシステム用に現在市販される多数の「ゲームパッド」と類似の形状およびサイズのコントローラの一実施形態例にすぎず、Ｗｉｉ（商標）リモートまたはＷｉｉ（商標）Ｕコントローラ、Ｓｏｎｙ（登録商標）ＳｉｘＡｘｉｓ（商標）コントローラまたはＳｏｎｙ（登録商標）Ｗａｎｄコントローラ、ならびに、実在の物（テニスラケット、ゴルフクラブ、野球のバット等）の形および他の形のコントローラ、またはディスプレイもしくはヘッドマウントディスプレイを有するコントローラ等のコントローラを含むがこれに限定されない、ユーザ入力エレメントの他の構成、形状、サイズのコントローラが使用されてもよい。
【００２２】
コントローラ１００は、アナログまたはデジタルスティック１１０、ボタン１１４、およびトリガ１１８を含む、いくつかのユーザ入力エレメントを含む。本明細書において用いられるところのユーザ入力エレメントは、トリガ、ボタン、アナログまたはデジタルスティックなどのインタフェースデバイスであって、ホストコンピュータ１０４と相互作用するためにユーザにより操作されるものを指す。図２および図３で分かるように、当業者にも公知のように、複数の各ユーザ入力エレメントおよび追加のユーザ入力エレメントがコントローラ１００に含まれうる。したがって、例えばトリガ１１８の本明細書の記述は、コントローラ１００を単一のトリガに限定しない。さらに、図４のブロック図は、アナログまたはデジタルスティック１１０、ボタン１１４、およびトリガ１１８をそれぞれ一つ（１）だけ示している。しかし、当業者には当然のことながら、上述のように複数のアナログまたはデジタルスティック、ボタンおよびトリガ、ならびに他のユーザ入力エレメントが使用されてもよい。
【００２３】
図４のブロック図で分かるように、コントローラ１００は、そのユーザ入力エレメントの各々を直接駆動するためのターゲットアクチュエータまたはモータ、ならびにユーザの手が大抵置かれる場所でハウジング１０２に動作可能に結合された一つ以上の一般的アクチュエータまたは鳴動アクチュエータ１２２、１２４を含む。より具体的には、アナログまたはデジタルスティック１１０は、アナログまたはデジタルスティック１１０に動作可能に結合されたターゲットアクチュエータまたはモータ１１２を含み、ボタン１１４は、ボタン１１４に動作可能に結合されたターゲットアクチュエータまたはモータ１１６を含み、トリガ１１８は、トリガ１１８に動作可能に結合されたターゲットアクチュエータまたはモータ１２０を含む。複数のターゲットアクチュエータに加えて、コントローラ１００は、そのユーザ入力エレメントの各々に動作可能に結合された位置センサを含む。より具体的には、アナログまたはデジタルスティック１１０は、アナログまたはデジタルスティック１１０に動作可能に結合された位置センサ１１１を含み、ボタン１１４は、ボタン１１４に動作可能に結合された位置センサ１１５を含み、トリガ１１８は、トリガ１１８に動作可能に結合された位置センサ１１９を含む。ローカルプロセッサ１０８は、ターゲットアクチュエータ１１２、１１６、１２０、ならびにアナログまたはデジタルスティック１１０、ボタン１１４およびトリガ１１８のそれぞれの位置センサ１１１、１１５、１１９に、動作可能に結合される。ローカルプロセッサ１０８は、位置センサ１１１、１１５、１１９から受信した信号に応じて、方向付けられた運動感覚効果またはターゲット運動感覚効果を、アナログまたはデジタルスティック１１０、ボタン１１４、およびトリガ１１８にそれぞれ直接提供するようにターゲットアクチュエータ１１２、１１６、１２０に命令する。このようなターゲット運動感覚効果は、コントローラ本体全体に沿って一般的アクチュエータ１２２、１２４により生み出される一般的ハプティック効果または鳴動ハプティック効果とは識別もしくは区別可能である。集合的ハプティック効果により、例えば映像、音声、および触覚といった複数のモダリティを同時に駆使することで、ユーザがゲームへのより高い没入感を得られる。ハプティクスを生み出すように構成されるコントローラのさらなる詳細は、参照により全体として本明細書に組み込まれる「ハプティック対応トリガを備えたゲームデバイス（ＧＡＭＩＮＧ  ＤＥＶＩＣＥ  ＨＡＶＩＮＧ  Ａ  ＨＡＰＴＩＣ‐ＥＮＡＢＬＥＤ  ＴＲＩＧＧＥＲ）」と題する２０１４年４月２２日に出願の出願番号第１４／２５８，６４４号に、より詳しく記載されている。
【００２４】
図５は、本発明の一実施形態に係るシステムのトリガハプティック効果ソフトウェアスタックのブロック図である。トリガハプティック効果ソフトウェアスタックは、図１のシステム１０等のシステムに実装される。図の実施形態では、システムには、デバイス５００、周辺ファームウェア５１０、およびコントローラ５２０のコンポーネントが含まれる。デバイス５００は、パーソナルコンピュータ、タブレット、スマートフォン、またはコンソール（例えば、ビデオゲームコンソール）等の任意のタイプのコンピュータデバイスであればよい。周辺ファームウェア５１０は、デバイス５００に動作可能に接続されうる一つ以上の周辺機器（例えば、コントローラ）のためのファームウェアである。コントローラ５２０は、デバイス５００に動作可能に接続される周辺機器の一例である。コントローラ５２０は、ビデオゲームコントローラであってもよい。一実施形態では、コントローラ５２０は、図１のコントローラ３０、ならびに図２、図３および図４のコントローラ１００と同一であってもよい。
【００２５】
デバイス５００は、ゲーム入力管理コード５０１を含む。ゲーム入力管理コード５０１は、デバイス５００内で実行されるゲームアプリケーションまたは他のタイプのアプリケーションの文脈でコントローラ５２０により提供される入力を管理するコンピュータ可読命令のセットを含む。デバイス５００は、周辺入力アプリケーションプログラミングインタフェース（「ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ」）５０２をさらに含む。周辺入力ＡＰＩ５０２は、コントローラ５２０により提供される入力を受信および管理するためにゲーム入力管理コード５０１が周辺ファームウェア５１０と相互作用することを可能にする、コンピュータ可読関数またはルーチンのセットを含む。デバイス５００は、鳴動ＡＰＩ５０３をさらに含む。鳴動ＡＰＩは、コントローラ５２０の一つ以上の鳴動モータまたは鳴動アクチュエータ（例えば、図５に示した鳴動モータＬおよびＲ）に鳴動命令を送信するためにゲーム入力管理コード５０１が周辺ファームウェア５１０と相互作用することを可能にするコンピュータ可読関数またはルーチンのセットを含む。鳴動命令は、コントローラ５２０の鳴動モータまたは鳴動アクチュエータに一般的ハプティック効果または鳴動ハプティック効果を生み出させることができる。
【００２６】
デバイス５００は、（図５に「ＡＰＩ」として識別される）トリガハプティック効果ＡＰＩ５０４をさらに含む。トリガハプティック効果ＡＰＩ５０４は、ゲーム入力管理コード５０１に露出され、コントローラ５２０の一つ以上のトリガ（例えば、図５に示したトリガＬおよびＲ）へのトリガ命令等、コントローラ５２０へのハプティック命令を送信するためにゲーム入力管理コード５０１が周辺ファームウェア５１０と相互作用することを可能にする、コンピュータ可読関数またはルーチンのセットを含む。ハプティック命令は、コントローラ５２０の一つ以上のターゲットモータまたはターゲットアクチュエータに、コントローラ５２０の一つ以上のユーザ入力エレメントでハプティック効果を生み出させることができる。トリガ命令は、コントローラ５２０の一つ以上のターゲットモータまたはターゲットアクチュエータ（例えば、図５に示したモータＬおよびＲ）に、コントローラ５２０の一つ以上のトリガ（例えば、図５に示したトリガＬおよびＲ）でトリガハプティック効果を生み出させることができる特定のタイプのハプティック命令である。トリガハプティック効果は、コントローラ５２０等のコントローラのトリガで経験される、特定のタイプのハプティック効果である。トリガハプティック効果ＡＰＩ５０４は、一つ以上のトリガハプティック効果定義を記憶することができる。ハプティック効果定義は、ハプティックファイルまたはハプティックストリーム等、予め定義され、記憶装置内に記憶されることができ、一つ以上の鳴動モータ、鳴動アクチュエータ、ターゲットモータ、またはターゲットアクチュエータに送信されて、コントローラ５２０のコンポーネントまたはユーザ入力エレメントでハプティック効果を生み出すことができる、ハプティック信号等のハプティックデータを含むデータ構造である。ハプティックデータは、対応するハプティック効果の一つ以上の属性を含むことができ、属性は、パラメータとして記憶されることができる。ハプティック効果定義のパラメータの例には、振幅パラメータ、周波数パラメータ、波形パラメータ、エンベロープパラメータ、マグニチュード（ｍａｇｎｉｔｕｄｅ）（または強度）パラメータ、および持続時間パラメータが含まれる。トリガハプティック効果定義は、コントローラ５２０の一つ以上のモータまたはアクチュエータ（例えば、図５に示したモータＬおよびＲ）に送信されて、コントローラ５２０の一つ以上のトリガ（例えば、図５に示したトリガＬおよびＲ）でトリガハプティック効果を生み出すことができる、特定のタイプのハプティック効果定義である。
【００２７】
本実施形態によれば、トリガハプティック効果ＡＰＩ５０４は、ゲーム入力管理コード５０１が直接プレイバック／クロスオーバ部５０５、トリガエンジン５０６、および空間化エンジン５０７と相互作用することを可能にでき、さらに、ゲーム入力管理コード５０１により呼び出されたリクエストにしたがって直接プレイバック／クロスオーバ部５０５、トリガエンジン５０６、および空間化エンジン５０７を管理することができる。さらに、トリガハプティック効果ＡＰＩ５０４は、周辺ファームウェア５１０との通信に必要であり、一つ以上のトリガハプティック効果の生成に必要なデータを記憶することができる。代替的実施形態では、トリガハプティック効果ＡＰＩ５０４は、デバイス５００ではなく周辺ファームウェア５１０内にあってもよい。
【００２８】
デバイス５００は、直接プレイバック／クロスオーバ部５０５をさらに含む。直接プレイバック／クロスオーバ部５０５は、ハプティックデータを入力として受信し、ハプティックデータを出力として生み出し、ハプティックデータをコントローラ５２０の一つ以上のターゲットモータ、またはターゲットアクチュエータ（例えば、図５に示したモータＬおよびＲ）に送信する。ある実施形態では、直接プレイバック／クロスオーバ部５０５は、入力されたハプティックデータのフォーマットを修正せずに、入力されたハプティックデータを直接出力すればよい。その結果、入力されたハプティックデータが「そのまま」再生される。他の実施形態では、直接プレイバック／クロスオーバ部５０５は、入力されたハプティックデータを第一フォーマットから第二フォーマットへ変換し、さらに変換されたハプティックデータを出力すればよい。再生のタイプに応じて、直接プレイバック／クロスオーバ部５０５は、ハプティックデータを変換するためにプログラマブルクロスオーバを任意に使用することができる。ハプティックデータを変換することにより、デバイス５００は、ハプティック効果を「分解」し、複数のアクチュエータでハプティック効果を忠実に再生することができる。一実施形態では、ハプティックデータのフォーマットは、ハプティックエレメンタリストリーム（「ＨＥＳ：Ｈａｐｔｉｃ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ」）フォーマットであればよい。ＨＥＳフォーマットは、デバイスにストリーミングされうるハプティックデータを表すためのファイルまたはデータフォーマットである。ハプティックデータは、圧縮されていない音が表されるのと同一または類似の様式で表されうるが、ハプティックデータは、ＨＥＳフォーマットにおいて暗号化されうる。代替的実施形態では、直接プレイバック／クロスオーバ部５０５は、デバイス５００ではなく周辺ファームウェア５１０内にあってもよい。
【００２９】
デバイス５００は、トリガエンジン５０６をさらに含む。トリガエンジン５０６は、トリガハプティック効果定義等のハプティックデータを受信し、コントローラ５２０から受信したトリガデータ（例えば、図５に示したトリガデータ５１３）等のデータに基づいてハプティックデータを修正することができる。トリガデータは、コントローラ５２０の一つ以上のトリガ（例えば、図５に示したトリガＬおよびＲ）の位置および／またはレンジを指示する一つ以上のパラメータを含むデータである。トリガエンジン５０６は、コントローラ５２０にハプティック命令をさらに送信することができる。例えば、トリガエンジン５０６は、コントローラ５２０の一つ以上のトリガ（例えば、図５に示したトリガＬおよびＲ）に、トリガ命令を送信することができる。前述したように、トリガ命令は、コントローラ５２０の一つ以上のターゲットモータまたはターゲットアクチュエータ（例えば、図５に示したモータＬおよびＲ）に、コントローラ５２０の一つ以上のトリガ（例えば、図５に示したトリガＬおよびＲ）でトリガハプティック効果を生み出させることができる。したがって、一実施形態では、トリガエンジン５０６は、トリガハプティック効果定義のハプティックデータを修正することにより、トリガの位置および／またはレンジに基づいてトリガで特定のトリガハプティック効果を経験させることができる。別の実施形態では、トリガエンジン５０６は、トリガハプティック効果定義のハプティックデータを修正することにより、トリガの位置および／またはレンジに基づいてコントローラ５２０の一つ以上のターゲットモータまたはターゲットアクチュエータ（例えば、図５に示したモータＬおよびＲ）に関するトリガハプティック効果をスケーリングすることができる。トリガエンジン５０６は、トリガハプティック効果定義等の一つ以上のハプティック効果定義をさらに記憶することができる。代替的実施形態では、トリガエンジン５０６は、デバイス５００ではなく周辺ファームウェア５１０内にあってもよい。
【００３０】
デバイス５００は、（図５に「空間化エンジン」として識別される）空間化エンジン５０７をさらに含む。空間化エンジン５０７は、トリガハプティック効果定義等のハプティックデータを受信し、空間化データに基づいてハプティックデータを修正することができる。空間化データには、トリガハプティック効果等のハプティック効果の所望の方向および／または流れを指示するデータを含むことができる。ある実施形態では、空間化エンジン５０７は、方向および／または流れを含む空間化データをゲーム入力管理コード５０１から受信すればよい。さらに、空間化データには、コントローラ５２０上に位置するユーザの一つ以上の手の一つ以上の位置も含むことができる。ある実施形態では、空間化エンジン５０７は、一つ以上の手の位置を含む空間化データをコントローラ５２０から受信すればよい。さらに、ある実施形態では、空間化エンジン５０７は、ゲーム入力管理コード５０１により通信される、ゲームアプリケーション内のユーザのキャラクタの位置を含む空間化データを受信すればよい。
【００３１】
本実施形態によれば、空間化エンジン５０７は、コントローラ５２０の一つ以上の鳴動モータまたは鳴動アクチュエータ（例えば、図５に示した鳴動モータＬおよびＲ）に関してトリガハプティック効果等のハプティック効果がスケーリングされ、コントローラ５２０の一つ以上のターゲットモータまたはターゲットアクチュエータ（例えば、図５に示したモータＬおよびＲ）に関してもハプティック効果がスケーリングされるように、ハプティックデータを修正することができる。換言すれば、空間化エンジン５０７は、全体的ハプティック効果の方向および流れの感覚を伝えるために、各モータまたはアクチュエータに送信されるハプティックデータを修正し、これにより各モータまたはアクチュエータで経験されるハプティック効果を修正することができる。例えば、空間化エンジン５０７は、あるモータまたはアクチュエータで経験されるハプティック効果を強調するために、ハプティック効果の一つ以上の部分をスケーリングすることができる。例えば、空間化エンジン５０７は、ハプティック効果を経験させるモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、ハプティック効果をより目立たせることができる（例えば、マグニチュード、持続時間を増加させるなど）。加えて、空間化エンジン５０７は、他のモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、それらのモータまたはアクチュエータで経験される他のハプティック効果を目立たないようにすることができる（例えば、マグニチュード、持続時間を減少させるなど）。ある実施形態では、空間化エンジン５０７は、ハプティックデータをリアルタイムで修正することができる。さらに、ある実施形態では、空間化エンジン５０７は、全体的トリガハプティック効果を誇張するために、入力とモータまたはアクチュエータの出力との間に非線形関係を有していてもよい。代替的実施形態では、空間化エンジン５０７は、デバイス５００ではなく周辺ファームウェア５１０内にあってもよい。
【００３２】
デバイス５００は、エンコーダ５０８をさらに含む。エンコーダ５０８は、直接プレイバック／クロスオーバ部５０５、トリガエンジン５０６、および／または空間化エンジン５０７から受信したハプティックデータを一つのフォーマットにエンコードする。一実施形態では、このフォーマットはＨＥＳフォーマットであってもよい。エンコーダ５０８は、エンコードされたハプティックデータを周辺ファームウェア５１０にさらに送信する。
【００３３】
周辺ファームウェア５１０は、デコーダおよびクロスオーバ部５１１を含む。デコーダおよびクロスオーバ部５１１は、エンコーダ５０８からエンコードされたハプティックデータを受信し、エンコードされたハプティックデータをデコードする。ある実施形態では、デコーダおよびクロスオーバ部５１１は、符号化されたハプティックデータをデコードするために、プログラマブルクロスオーバを計算する。これらの実施形態の一部では、デコーダおよびクロスオーバ部５１１は、プログラマブルクロスオーバをリアルタイムで計算する。周辺ファームウェア５１０は、トリガ制御部５１２をさらに含む。トリガ制御部５１２は、コントローラ５２０（例えば、図５に示したモータＬおよびＲ）の一つ以上のターゲットモータまたはターゲットアクチュエータのための低レベル制御ＡＰＩである。トリガ制御部５１２は、デバイス５００からトリガ命令を受信し、トリガ命令を、コントローラ５２０の指定のターゲットモータまたはターゲットアクチュエータへの低レベルトリガ命令に変換し、低レベルトリガ命令を、コントローラ５２０の指定のターゲットモータまたはターゲットアクチュエータに送信することができる。低レベルトリガ命令は、指定のターゲットモータまたはターゲットアクチュエータに、コントローラ５２０の指定のトリガでトリガハプティック効果を生み出させることができる。
【００３４】
周辺ファームウェア５１０は、トリガデータ５１３をさらに含む。前述のように、トリガデータ５１３は、コントローラ５２０の一つ以上のトリガ（例えば、図５に示したトリガＬおよびＲ）の位置および／またはレンジを指示する一つ以上のパラメータを含むデータである。周辺ファームウェア５１０は、コントローラ５２０からトリガデータ５１３を受信することができる。周辺ファームウェア５１０は、トリガデータ５１３をさらに記憶することができ、トリガデータ５１３をデバイス５００にさらに送信することができる。周辺ファームウェア５１０は、他のゲームパッド機能５１４をさらに含むが、これは、周辺ファームウェア５１０によって管理されうるコントローラ５２０の機能である。このような機能には、有線／無線通信、入力報告、プロトコル実装、電力管理などの機能を含むことができる。周辺ファームウェア５１０は、鳴動制御部５１５をさらに含む。鳴動制御部５１５は、コントローラ５２０の一つ以上の鳴動モータまたは鳴動アクチュエータ（例えば、図５に示した鳴動モータＬおよびＲ）のための低レベル制御ＡＰＩである。鳴動制御部５１５は、デバイス５００から鳴動命令を受信し、鳴動命令を、コントローラ５２０の指定の鳴動モータまたは鳴動アクチュエータのための低レベル鳴動命令に変換し、低レベル鳴動命令を、コントローラ５２０の指定の鳴動モータまたは鳴動アクチュエータに送信することができる。
【００３５】
コントローラ５２０は、トリガＬおよびＲを含む。コントローラ５２０は、ギヤボックスＬおよびＲ、ならびにモータＬおよびＲをさらに含む。モータＬおよびギヤボックスＬは、コントローラ５２０内のトリガＬに動作可能に結合される。同様に、モータＲおよびギヤボックスＲは、コントローラ５２０内のトリガＲに動作可能に結合される。モータＬがトリガ命令を受信すると、モータＬおよびギヤボックスＬが集合的にトリガＬでトリガハプティック効果を経験させる。同様に、モータＲがトリガ命令を受信すると、モータＲおよびギヤボックスＲが集合的にトリガＲでトリガハプティック効果を経験させる。本実施形態によれば、周辺ファームウェア５１０は、駆動エレクトロニクス５３０を用いてコントローラ５２０のモータＬおよびＲにトリガ命令を送信する。コントローラ５２０は、ポテンショメータＬおよびＲをさらに含む。ポテンショメータＬは、トリガＬの位置および／またはレンジを検出することができ、検出されたトリガＬの位置および／またはレンジをトリガデータとして周辺ファームウェア５１０にさらに送信することができる。同様に、ポテンショメータＲは、トリガＲの位置および／またはレンジを検出することができ、検出されたトリガＲの位置および／またはレンジをトリガデータとして周辺ファームウェア５１０にさらに送信することができる。一実施形態では、ポテンショメータＬおよびＲは、ホール効果センサ等の別のタイプの位置センサでそれぞれ置き換えられてもよい。コントローラ５２０は、鳴動モータＬおよびＲをさらに含む。鳴動モータＬが鳴動命令を受信すると、鳴動モータＬは、コントローラ５２０の左本体に沿ってハプティック効果を経験させる。同様に、鳴動モータＲが鳴動命令を受信すると、鳴動モータＲは、コントローラ５２０の右本体に沿ってハプティック効果を経験させる。本実施形態によれば、周辺ファームウェア５１０は、鳴動駆動エレクトロニクス５３０を用いてコントローラ５２０の鳴動モータＬおよびＲに鳴動命令を送信する。
【００３６】
代替的実施形態では、一つ以上のターゲットモータまたはターゲットアクチュエータが、コントローラ５２０の一つ以上のユーザ入力エレメント（一つ以上のデジタルボタン、一つ以上のアナログボタン、一つ以上のバンパ、一つ以上の方向パッド、一つ以上のアナログまたはデジタルスティック、一つ以上のハンドル等）に、動作可能に結合されてもよい。この代替的実施形態によれば、周辺ファームウェア５１０は、一つ以上のターゲットモータまたはターゲットアクチュエータに命令を送信して、一つ以上のターゲットモータまたはターゲットアクチュエータに、コントローラ５２０の一つ以上のユーザ入力エレメントで経験されるハプティック効果を生み出させることができる。
【００３７】
前述したように、コントローラ、ゲームパッド、または他の周辺機器は、一つ以上の一般的もしくは鳴動モータまたはアクチュエータ、および一つ以上のターゲットモータまたはアクチュエータを含むことができる。このようなコントローラは、コントローラ上でローカライズされたハプティックフィードバックを経験させうるハプティック効果である、空間化ハプティック効果を生み出すことができる。例えば、ユーザは、コントローラの一つ以上のトリガで再生されるローカライズされたハプティック効果を、その一つ以上のトリガに指を載せながら知覚することができる。これらのローカライズされたハプティック効果は、コントローラのハウジング内で再生できる、コントローラを保持しているユーザの手がより一般的に知覚できる、より一般的なハプティック効果とは異なりうる。一例では、ゲームアプリケーション内において、ユーザのゲーム内のキャラクタが、「魔術師の魔法」にかけられうる。ゲームアプリケーション内に表示される魔法の視覚的表現とあわせて、ユーザはまず、トリガでローカライズされたハプティック効果を経験し、その後コントローラでより一般的なハプティック効果を経験することができる。
【００３８】
トリガは、コントローラまたは他のタイプの周辺機器のハウジング内に収容されればよい。トリガは、外側回転ハードストップまたはハウジングの他の何らかの外側部分と接触するように、場合によってはハウジング外に延在しうる。より具体的には、トリガは、場合によってはスプリングにより延在し、外側回転ハードストップまたはハウジングの他の何らかの外側部分と接触しうる。オブジェクト（例えば、ユーザの指）がトリガを動かす（例えば、引くまたは押す）と、トリガは、オブジェクトと接触したまま、内側回転ハードストップまたはハウジングの他の何らかの内側部分と接触するまで、ハウジング内へと回転または別途移動することができる。ターゲットモータもしくはアクチュエータ、または他の何らかのタイプのハプティック出力デバイスがトリガに力を加えると、トリガは回転または別途移動することができる。この回転またはその他のタイプの移動は、外側回転ハードストップに向かうもの、または外側回転ハードストップから遠ざかるものであることができる。
【００３９】
しかし、コントローラに標準のトリガ設計を用いると、トリガが最大開位置または最大閉位置にあるときにハプティックフィードバック感が減少することがある。トリガの最大開位置とは、トリガに力がほとんどまたは全く加えられず、トリガがハウジング内に回転または別途移動し始めていないときのトリガの位置である。最大開位置は、「レスト位置（ｒｅｓｔｉｎｇ  ｐｏｓｉｔｉｏｎ）」としても識別することができる。最大開位置では、トリガは、コントローラのハウジングの外側回転ハードストップまたは他の何らかの外側部分に対してぶつかっている可能性がある。このときには、ターゲットモータまたはアクチュエータにより生み出されてトリガに加えられる力に応じてトリガが回転または別途移動するスペースは、ほとんどまたは全く提供されない。
【００４０】
トリガの最大閉位置とは、トリガに力が加えられ、トリガがハウジング内への最大距離を回転または別途移動しているときのトリガの位置である。最大開位置と同様に、最大閉位置では、トリガは、コントローラのハウジングの内側回転ハードストップまたは他の何らかの内側部分に対してぶつかっている可能性がある。このときにも、ターゲットモータまたはアクチュエータにより生み出されてトリガに加えられる力に応じてトリガが回転または別途移動するスペースは、ほとんどまたは全く提供されない。こうした最大開位置または最大閉位置での移動可能性の欠如により、トリガで経験されるハプティックフィードバック感のマグニチュードが低下し、あるいは弱まることがある。
【００４１】
したがって、一実施形態では、周辺機器は、一つ以上のスプリング、一つ以上のフレーム、または二つの組み合わせ等の、一つ以上のハプティック減少防止コンポーネントも含めばよい。ハプティック減少防止コンポーネントは、トリガが、ハプティック減少防止コンポーネントにより設けられる開延長トラベルレンジ外の最大開位置にあるときにトリガで経験されるトリガハプティック効果のマグニチュードを増加させることができる。これは、図６とともにさらに詳細に後述する。さらに、ハプティック減少防止コンポーネントは、トリガが、ハプティック減少防止コンポーネントにより設けられる閉延長トラベルレンジ外の最大閉位置にあるときにトリガで経験されるトリガハプティック効果のマグニチュードを増加させることができる。これは、図７とともにさらに詳細に後述する。したがって、一実施形態によれば、最大開位置および最大閉位置に加えて、開延長トラベルレンジ外の最大開位置および閉延長トラベルレンジ外の最大閉位置という二つの新たな位置がさらに定義される。開延長トラベルレンジ外の最大開位置は開延長トラベルレンジ内に配置されないようにハプティック減少防止コンポーネントにより配置されることを除き、開延長トラベルレンジ外の最大開位置は最大開位置と同一である。閉延長トラベルレンジ外の最大閉位置は閉延長トラベルレンジ内に配置されないようにハプティック減少防止コンポーネントにより配置されることを除き、閉延長トラベルレンジ外の最大閉位置は最大閉位置と同一である。開延長トラベルレンジ外の最大開位置および閉延長トラベルレンジ外の最大閉位置は、図９とともに以下でさらに詳述する。代替的実施形態では、トリガを、別のタイプのユーザ入力エレメント（例えば、ボタン、バンパ、方向パッド、アナログまたはデジタルスティック、動輪）で置き換えることができ、トリガハプティック効果を、より一般的なハプティック効果で置き換えることができる。この代替的実施形態では、ハプティック減少防止コンポーネントは、ユーザ入力エレメントで経験されるハプティック効果のマグニチュードを増加させることができる。
【００４２】
図６は、本発明の一実施形態に係る、トリガ６１０が開延長トラベルレンジ６２０外の最大開位置にあるときにトリガ６１０が移動するための開延長トラベルレンジ６２０を設ける外側スプリング６００を含むコントローラの図である。より具体的には、図６は、開延長トラベルレンジ６２０外の最大開位置でトリガ６１０を保持する外側スプリング６００を含むコントローラを示す。トリガ６１０に力が加えられると、外側スプリング６００は、トリガ６１０が開延長トラベルレンジ６２０へと回転または別途移動することを可能にすることができる。図６には、矢視図６０１および矢視図６０２が含まれる。矢視図６０１では、トリガ６１０が開延長トラベルレンジ６２０外の最大開位置にあり、図６に示された平面に対して垂直の軸に沿ってトリガ６１０が引かれ、または押されることができる。矢視図６０２では、トリガ６１０が開延長トラベルレンジ６２０内の最大開位置にあり、ここでは、トリガ６１０は、開延長トラベルレンジ６２０内にさらに延ばされており、図６に示された平面に対して垂直の軸に沿ってトリガ６１０が再び引き入れられることはできるが、さらに押し出されることはできない。図の実施形態では、外側スプリング６００は、ハプティック減少防止コンポーネントの一例であり、トリガ６１０と外側回転ハードストップまたはコントローラのハウジングの外側部分との間に配置される。ユーザが空間化ハプティック効果を受信する際にコントローラのトリガ上に指を軽く載せていることもあるため、延長トラベルレンジ外の最大開位置は空間化に重要でありうる。トリガ（トリガ６１０等）が開延長トラベルレンジ（開延長トラベルレンジ６２０等）外の最大開位置にあるときのトリガハプティック効果のマグニチュードを増加させるために、トリガが開延長トラベルレンジ外の最大開位置にあるときにトリガに加えられた力に応じて延長トラベルレンジ内を移動できるように、トリガを外側スプリング（外側スプリング６００等）によりオフセットすることができる。
【００４３】
ビュー６０１は、トリガ６１０が開延長トラベルレンジ６２０外の最大開位置にあるときに、トリガ６１０が外側回転ハードストップまたはコントローラのハウジングの外側部分に載らないような位置または別途接触しないような位置に、外側スプリング６００がトリガ６１０を保持する、コントローラの図である。換言すれば、外側スプリング６００は、開延長トラベルレンジ６２０を設け、この開延長トラベルレンジ６２０は、ターゲットモータまたはアクチュエータにより生み出されてトリガ６１０に加えられる力に応じてトリガ６１０が回転または別途移動できるレンジである。開延長トラベルレンジ６２０を設けることにより、外側スプリング６００は、トリガ６１０に加えられた力に応じてトリガ６１０が回転または別途移動したときに、トリガ６１０が外側回転ハードストップまたはハウジングの外側部分にぶつかるのを防止することができる。これにより、トリガ６１０で経験されるトリガハプティック効果（例えば、運動感覚ハプティック効果）のマグニチュードを増加させることができる。図の実施形態では、外側スプリング６００は、レバーアーム６０５を含む片持スプリングであり、レバーアーム６０５は、トリガ６１０に対して押しまたは別途接触して、トリガ６１０を上述の位置に保持する。代替的実施形態では、外側スプリング６００は、トリガ６１０に対して押すまたは別途接触する、圧縮スプリング、バイアススプリング、または他の何らかのタイプのスプリングであってもよい。
【００４４】
ビュー６０２は、ターゲットモータまたはアクチュエータがトリガ６１０に力を加え、力に応じてトリガ６１０が回転または別途移動する、コントローラの図である。図６の矢視図６０２に示したように、トリガ６１０は、開延長トラベルレンジ６２０内へと回転または別途移動し、開延長トラベルレンジ６２０の少なくとも一部分を占める。図の実施形態では、トリガ６１０は、レバーアーム６０５に対して押すまたは別途接触する。これにより、トリガ６１０が延長トラベルレンジ６２０内へと回転または別途移動できるようにレバーアーム６０５が移動する。外側スプリング６００が圧縮スプリング、バイアススプリング、または別のタイプのスプリングである代替的実施形態では、トリガ６１０は、外側スプリング６００に対して押しまたは別途接触し、これにより、トリガ６１０が開延長トラベルレンジ６２０内へと回転または別途移動できるように外側スプリング６００が移動しうる。
【００４５】
代替的実施形態では、外側スプリング６００を内側スプリングに置き換えることができる。内側スプリングは、トリガ６１０と内側回転ハードストップまたはコントローラのハウジングの内側部分との間に配置することができる。さらに、内側スプリングは、トリガ６１０が外側回転ハードストップまたはコントローラのハウジングの外側部分に載らないようにまたは別途接触しないように（すなわち、延長トラベルレンジ６２０が設けられるように）、トリガ６１０を引くことができる。この代替的実施形態では、内側スプリングの剛性は、トリガ６１０が内側回転ハードストップまたはコントローラのハウジングの内側部分に載るようにまたは別途接触するようにトリガ６１０を引くことを回避するように計算されればよい。
【００４６】
図７は、本発明の一実施形態に係る、トリガ７１０が閉延長トラベルレンジ７３０外の最大閉位置にあるときにトリガ７１０が移動するための閉延長トラベルレンジ７３０を設ける延長フレーム７００を含むコントローラの図である。図の実施形態では、延長フレーム７００は、ハプティック減少防止コンポーネントの一例であり、コントローラのハウジングの外側部分の延長部である。前述のように、標準のトリガ設計では、トリガ（トリガ７１０等）が最大閉位置にあるときに（例えば、トリガがハウジングの内側部分にぶつかるようにユーザがトリガを一杯まで押圧したときに）トリガハプティック効果が大きく減少することがある。トリガが閉延長トラベルレンジ外の最大閉位置にあるときのトリガハプティック効果のマグニチュードを増加させるために、トリガを移動させるオブジェクト（オブジェクト７２０等）のグラウンド部として、延長フレーム（延長フレーム７００等）を使用することができる。この場合、トリガが閉延長トラベルレンジ外の最大閉位置一杯まで移動しているときでも、トリガはなおオブジェクトに対して移動でき、トリガで大きなハプティックフィードバック感を生成することができる。
【００４７】
図７は、ビュー７０１および７０２を含む。ビュー７０１は、オブジェクト７２０（例えば、ユーザの指）がトリガ７１０を押し、引き、または別途移動させており、オブジェクト７２０が延長フレーム７００上にぶつかっている（すなわち、当たって止まっている）、コントローラの図である。トリガ７１０が閉延長トラベルレンジ７３０外の最大閉位置にあるときには、オブジェクト７２０が延長フレーム７００上にぶつかっているため、トリガ７１０は内側回転ハードストップまたはコントローラのハウジングの内側部分に載っておらずまたは別途接触していない。換言すれば、延長フレーム７００により閉延長トラベルレンジ７３０が設けられ、この閉延長トラベルレンジ７３０は、ターゲットモータまたはアクチュエータにより生み出されてトリガ７１０に加えられる力に応じてトリガ７１０が回転または別途移動できるレンジである。閉延長トラベルレンジ７３０を設けることにより、延長フレーム７００は、トリガ７１０に加えられた力に応じてトリガ７１０が回転または別途移動したときに、トリガ７１０が内側回転ハードストップまたはハウジングの内側部分にぶつかるのを防止することができる。これにより、トリガ７１０で経験されるトリガハプティック効果（例えば、運動感覚ハプティック効果）のマグニチュードを増加させることができる。
【００４８】
ビュー７０２は、ターゲットモータまたはアクチュエータがトリガ７１０に力を加え、力に応じてトリガ７１０が回転または別途移動する、コントローラのビューである。図７のビュー７０２で示したように、トリガ７１０は、閉延長トラベルレンジ７３０内へと回転または別途移動し、閉延長トラベルレンジ７３０の少なくとも一部分を占める。
【００４９】
代替的実施形態では、延長フレーム７００を内側スプリングに置き換えることができる。内側スプリングは、トリガ７１０と内側回転ハードストップまたはコントローラのハウジングの内側部分との間に配置することができる。さらに、内側スプリングは、オブジェクト７２０がトリガ７１０を押す、引く、または別途移動させている場合にトリガ７１０が内側回転ハードストップまたはコントローラのハウジングの内側部分に載らないようにまたは別途接触しないように（すなわち、閉延長トラベルレンジ７３０が設けられるように）、トリガ７１０を押すことができる。この代替的実施形態では、内側スプリングの剛性は、トリガ７１０が内側回転ハードストップまたはコントローラのハウジングの内側部分に載ることまたは別途接触することを防ぐのに十分な抵抗を提供するように計算されればよい。
【００５０】
図８は、本発明の一実施形態に係るハプティックトリガ修正モジュール（図１のハプティックトリガ修正モジュール１６等）の機能のフローチャートである。一実施形態では、図８の機能は、メモリもしくは他のコンピュータ可読または有形の媒体に記憶されたソフトウェアにより実装され、プロセッサにより実行される。他の実施形態では、機能は、ハードウェア（例えば、特定用途向け集積回路（「ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ」）、プログラム可能ゲートアレイ（「ＰＧＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｗａｙ」）、フィールドプログラム可能ゲートアレイ（「ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｗａｙ」）などを用いて）、またはハードウェアおよびソフトウェアの任意の組み合わせにより実施されてもよい。ある実施形態では、機能の一部が省略されてもよい。
【００５１】
フローが開始し、８１０へ進む。８１０では、周辺機器のユーザ入力エレメントの位置が受信される。周辺機器は、コントローラまたはゲームパッドであってもよい。周辺機器は、ハウジングと、ユーザ入力エレメントと、ユーザ入力エレメントに結合された位置センサと、ハウジング内に設置され、かつユーザ入力エレメントに結合されたハプティック出力デバイスと、ハプティック減少防止コンポーネントとをさらに含むことができる。ハプティック出力デバイスは、アクチュエータであってもよい。ハプティック出力デバイスがアクチュエータである実施形態では、アクチュエータは、双方向押／引力を及ぼすように構成されたモータであってもよい。ハプティック減少防止コンポーネントは、スプリングであってもよい。ハプティック減少防止コンポーネントがスプリングである実施形態では、スプリングは、片持スプリングであってもよい。ハプティック減少防止コンポーネントがスプリングである別の実施形態では、スプリングは、圧縮スプリングであってもよい。代替的実施形態では、ハプティック減少防止コンポーネントは、フレームであってもよい。ハプティック減少防止コンポーネントがフレームである実施形態では、フレームは、ハウジングの外側部分の延長部である延長フレームであってもよい。一実施形態では、ユーザ入力エレメントは、トリガであってもよい。その後、フローは８２０へ進む。
【００５２】
８２０では、受信されたユーザ入力エレメントの位置に応じて、周辺機器のハプティック出力デバイスにハプティック効果定義が送信される。ハプティック効果定義は、周辺機器のユーザ入力エレメントでハプティック効果を生み出すためのハプティックデータを含むことができる。一実施形態では、ハプティック効果定義は、周辺機器のトリガでトリガハプティック効果を生み出すためのハプティックデータを含むトリガハプティック効果定義であればよい。一実施形態では、プロセッサがハプティック効果定義をハプティック出力デバイスに送信させる。さらに、一実施形態では、周辺機器のユーザ入力エレメントの位置に応じて、プロセッサによりハプティック効果定義が生成される。一実施形態では、プロセッサは、周辺機器のハウジング内に設置される。代替的実施形態では、プロセッサは、周辺機器のハウジングから離れた位置に設置される。その後、フローは８３０へ進む。
【００５３】
８３０では、ハプティック効果定義に応じて、周辺機器のユーザ入力エレメントへの力が出力される。一実施形態では、周辺機器のハプティック出力デバイスが力を出力し、プロセッサがハプティック出力デバイスに力を出力させることができる。さらに、一実施形態では、ハプティック出力デバイスからユーザ入力エレメントへ、運動感覚ハプティック効果として力が伝達される。その後、フローは８４０へ進む。
【００５４】
８４０では、ユーザ入力エレメントがレンジ外の最大開位置またはレンジ外の最大閉位置のうちの少なくとも一方にあるときに出力された力に応じてユーザ入力エレメントが移動できるレンジが設けられる。一実施形態では、周辺機器のハプティック減少防止コンポーネントによって、このレンジを設けることができる。一実施形態では、ユーザ入力エレメントの最大開位置は、ユーザ入力エレメントがハウジング内へと移動していないユーザ入力エレメントの位置であり、ユーザ入力エレメントの最大閉位置は、ユーザ入力エレメントがハウジング内へと最大距離を移動しているユーザ入力エレメントの位置とすることができる。一実施形態では、ユーザ入力エレメントがレンジ外の最大開位置にあるときに、ハプティック減少防止コンポーネントはスプリングである。この実施形態では、スプリングによって、ユーザ入力エレメントとハウジングの外側部分との間に開延長トラベルレンジがあるような位置にユーザ入力エレメントを維持することができる。この開延長トラベルレンジは、出力された力に応じてユーザ入力エレメントが移動できるレンジとすることができる。別の実施形態では、ユーザ入力エレメントがレンジ外の最大閉位置にあるときに、ハプティック減少防止コンポーネントはフレームである。この実施形態では、オブジェクトがユーザ入力エレメントをレンジ外の最大閉位置へと移動させたときにオブジェクトがフレームにぶつかり、ユーザ入力エレメントの位置は、ユーザ入力エレメントとハウジングの内側部分との間に閉延長トラベルレンジがあるような位置である。この閉延長トラベルレンジは、出力された力に応じてユーザ入力エレメントが移動できるレンジとすることができる。別の実施形態では、ユーザ入力エレメントがレンジ外の最大閉位置にあるときに、ハプティック減少防止コンポーネントはスプリングである。この実施形態では、スプリングによって、オブジェクトがユーザ入力エレメントをレンジ外の最大閉位置へと移動させたときにユーザ入力エレメントとハウジングの内側部分との間に閉延長トラベルレンジがあるような位置にユーザ入力エレメントを維持することができる。その後、フローは終了する。
【００５５】
図９は、本発明の一実施形態に係る、トリガの開延長トラベルレンジ外の最大開位置、およびトリガの閉延長トラベルレンジ外の最大閉位置の図である。前述のように、コントローラまたはゲームパッド等の周辺機器は、トリガ（または他の何らかのユーザ入力エレメント）と、ハウジングと、一つ以上のハプティック減少防止コンポーネントとを含むことができる。トリガは、トラベルレンジ９０５を有していればよい。第一ハプティック減少防止コンポーネントは、開延長トラベルレンジ９１５を設けることができる。したがって、トリガに力がほとんどまたは全く加えられず、トリガがハウジング内へと回転または別途移動し始めていないときには、第一ハプティック減少防止コンポーネントは、トリガを開延長トラベルレンジ９１５外の最大開位置（すなわち、開延長トラベルレンジ外の最大開位置９１０または位置９１０）に置くことができる。アクチュエータにより生成された力がトリガに加えられると、力がトリガを位置９１０から位置９１０と最大開位置９２０との間の位置または最大開位置９２０に移動させうる。同様に、第二ハプティック減少防止コンポーネントは、閉延長トラベルレンジ９２５を設けることができる。したがって、トリガに力が加えられて、トリガがハウジング内へと最大距離を回転または別途移動しているときには、第二ハプティック減少防止コンポーネントは、トリガを閉延長トラベルレンジ９２５外の最大閉位置（すなわち、閉延長トラベルレンジ外の最大閉位置９３０または位置９３０）に置くことができる。アクチュエータにより二次的な力が生成され、トリガに加えられたときには、二次的な力がトリガを位置９３０から位置９３０と最大閉位置９４０との間の位置または最大閉位置９４０に移動させうる。
【００５６】
したがって、一実施形態では、周辺機器は、トリガがレンジ外の最大開位置またはレンジ外の最大閉位置にあるときにトリガで経験されるトリガハプティック効果のマグニチュードを増加させるように構成された、スプリングまたはフレーム等の一つ以上のハプティック減少防止コンポーネントを含むことができる。これらの主要な場所でのハプティックフィードバック感のマグニチュードを増加させることで、より電力消費の少ないより豊かなトリガハプティック効果を可能にできる。より豊かなトリガハプティック効果を提供することで、よりリアルで没入感のあるゲーム体験を提供することができる。
【００５７】
本明細書を通して記載された本発明の特徴、構造、または特性は、一つ以上の実施形態において任意の適切な様式で組み合わされてもよい。例えば、本明細書を通じて、「一実施形態」、「一部の実施形態」、「ある実施形態」、「ある実施形態（複数）」、または他の類似の言葉の使用は、実施形態に関連して記載された特定の特徴、構造、または特性が、本発明の少なくとも一つの実施形態に含まれうるという事実を意味する。したがって、本明細書を通じて、「一実施形態」、「一部の実施形態」、「ある実施形態」、「ある実施形態（複数）」の語句または他の類似の言葉の記載は、必ずしも全てが同じ実施形態の群をさすのではなく、記載された特徴、構造、または特性は、一つ以上の実施形態において任意の適切な様式で組み合わされてもよい。
【００５８】
通常の技術を有する当業者には当然のことながら、上述の本発明は、異なる順序のステップを用いて、および／または、開示された構成とは異なる構成の要素を用いて実施されてもよい。したがって、これらの好ましい実施形態に基づいて本発明を記載しているが、当業者には当然のことながら、本発明の趣旨および範囲内を逸脱しない、ある修正、変更、および代替的構成が明らかであろう。したがって、本発明の境界および範囲を決定するためには、添付の特許請求の範囲を参照しなければならない。
【図１】
0005977318.tif 000002
【図２】
0005977318.tif 000003
【図３】
0005977318.tif 000004
【図４】
0005977318.tif 000005
【図８】
0005977318.tif 000006
【図９】
0005977318.tif 000007
【図５】
0005977318.tif 000008
【図６】
0005977318.tif 000009
【図７】
0005977318.tif 000010