【解決手段】複数の表面と、コントローラのハウジング内に置かれ、複数の表面の一つに配置された孤立変形可能領域に結合されたハプティック出力デバイスとを有するコントローラが提供される。孤立変形可能領域は、ハプティック出力デバイスに応答して拡張および収縮する。加えて、複数の孤立表面領域と、コントローラのハウジング内に置かれ、それぞれの孤立表面領域に結合された複数のハプティック出力デバイスとを有するコントローラが提供される。孤立表面領域の各々は、局所化されたハプティック効果を提供するように構成される。
前記ハプティック出力デバイスは、前記孤立表面領域に沿って拡張変形および収縮変形を引き起こす複数の変形構成要素を駆動するように構成された線形アクチュエータを含む、請求項1記載の方法。
前記ハプティックデバイスは、ゲームパッド、コンソール、携帯電話、タブレット、モーションコントローラ、またはハプティックマウスのうちの一つである、請求項1記載の方法。
各孤立表面領域は、前記孤立表面領域を前記ハウジングに間接的に結合するように構成された複数のサスペンションフレキシャをさらに含む、請求項9記載のコントローラ。
前記コントローラは、ゲームパッド、コンソール、携帯電話、タブレット、モーションコントローラ、またはハプティックマウスのうちの一つである、請求項9記載のコントローラ。
【発明を実施するための形態】
【0012】
次に、添付の図面に例を示した実施形態を詳しく参照する。以下の詳細な説明においては、本発明の完全な理解を提供するために多数の具体的詳細が記載される。しかし、当業者には、これらの具体的詳細がなくても本発明が実施されうることが明らかであろう。その他の場合には、実施形態の側面が不必要に不明瞭にならないよう、周知の方法、手順、構成要素、および回路は詳述していない。類似の参照番号は、可能な限り類似の要素に用いられる。
【0013】
様々な実施形態において、デバイスを使用するための様々なユーザインタフェースおよび方法が記載される。一部の実施形態では、デバイスは、携帯可能電子デバイス(例えばゲームコントローラ、コンソール、携帯電話、スマートフォン、タブレットなど)である。しかし、ユーザインタフェースおよび関連の方法は、キーボード、マウス、トラックボール、ジョイスティック、動きおよび方向検出デバイスなどの一つ以上の他の物理的ユーザインタフェースデバイスを含みうる、パーソナルコンピュータ、医療デバイス、ラップトップなどの多数の他のデバイスに適用されうることを理解されたい。
【0014】
図1は、本発明の実施形態例に係るシステム100のブロック図である。
【0015】
システム100は、リモートソースからデータを伝送および/または受信するように構成された通信デバイス110を含みうる。通信デバイス110は、ネットワーク(図示せず)上でプロセッサ120から別のデバイスへ送信されるデータを符合化し、ネットワーク上で別のシステムからプロセッサ120のために受信されるデータを復号することにより、プロセッサ120と他のデバイスとの間の接続性を可能にすることができる。
【0016】
例えば、通信デバイス110は、ワイヤレスネットワーク通信を提供するように構成されたネットワークインタフェースカードを含みうる。赤外線、無線、ブルートゥース、Wi‐Fiおよび/またはセルラ方式通信を含め、様々なワイヤレスコミュニケーション技術が使用されうる。あるいは、通信デバイス110は、イーサネット(登録商標)接続等の有線ネットワーク接続(単数または複数)を提供するように構成されてもよい。
【0017】
プロセッサ120は、システム100の計算および制御機能を行うために、一つ以上の汎用または特殊目的プロセッサを含みうる。プロセッサ120は、マイクロプロセシングデバイス等の単一の集積回路を含んでもよいし、またはプロセッサ120の機能を達成するために協働する複数の集積回路デバイスおよび/もしくは回路ボードを含んでもよい。加えて、プロセッサ120は、メモリ140内に格納された、オペレーティングシステム141、孤立ハプティックモジュール142、および他のアプリケーション143等のコンピュータプログラムを実行しうる。
【0018】
システム100は、プロセッサ120により実行するための情報および命令を格納するメモリ140を含みうる。メモリ140は、データの取り出し、提示、修正、格納のための様々な構成要素を含みうる。例えば、メモリ140は、プロセッサ120により実行されたときに機能を提供するソフトウェアモジュールを記憶しうる。モジュールは、システム100にオペレーティングシステム機能を提供するオペレーティングシステム141を含みうる。モジュールは、コントローラ150の孤立表面領域で経験されるハプティック効果を修正する孤立ハプティックモジュール142をさらに含みうる。ある実施形態では、孤立ハプティックモジュール142は複数のモジュールを含み、各モジュールが、孤立表面領域で経験されるハプティック効果を修正するための特定の個別の機能を提供しうる。システム100は、コントローラ150(例えばゲームパッド)等の周辺デバイスに制御機能を提供するように構成された周辺ファームウェア等の追加の機能を含む一つ以上の追加のアプリケーションモジュール143も含みうる。
【0019】
非一時的メモリ140は、プロセッサ120によりアクセスできる様々なコンピュータ可読媒体を含みうる。様々な実施形態において、メモリ140は、揮発性および不揮発性媒体、取外し可能および取外し不可能媒体を含みうる。例えば、メモリ140は、ランダムアクセスメモリ(「RAM;random access memory」)、ダイナミックRAM(DRAM;dynamic RAM)、スタティックRAM(SRAM;static RAM)、リードオンリメモリ(「ROM;read only memory」)、フラッシュメモリ、キャッシュメモリ、および/または他の任意のタイプの非一時的コンピュータ可読媒体の任意の組み合わせを含みうる。
【0020】
単一のシステムとして図示されているが、システム100の機能は、分散システムとして実装されてもよい。例えば、メモリ140およびプロセッサ120は、システム100を集合的に構成する複数の異なるコンピュータに分散されてもよい。一実施形態では、システム100はデバイス(例えばパーソナルコンピュータ、コンソール、ビデオゲームコンソール等)の一部であってもよく、システム100は、デバイスに孤立ハプティック効果機能を提供する。別の実施形態では、システム100は、デバイスとは別個であってもよく、デバイスに上述の機能をリモートで提供してもよい。
【0021】
システム100は、コントローラ150に動作可能に接続されうる。コントローラ150は、入力をシステム100に提供するように構成された周辺デバイスであってもよい。コントローラ150は、無線接続または有線接続を用いてシステム100に動作可能に接続されうる。コントローラ150は、無線接続または有線接続を用いてシステム100と通信するように構成されたローカルプロセッサも含むことができる。あるいは、コントローラ150は、ローカルプロセッサを含まないように構成されてもよく、コントローラ150に関連する全ての入力信号および/または出力信号が、システム100の構成要素により処理されてもよい。
【0022】
コントローラ150は、ユーザが相互作用することができ、システム100に入力を提供することができる、一つ以上のデジタルボタン、一つ以上のアナログボタン、一つ以上のバンパ、一つ以上の方向パッド、一つ以上のアナログもしくはデジタルスティック、一つ以上の動輪、および/または一つ以上のユーザ入力エレメントをさらに含むことができる。コントローラ150は、ユーザがさらに相互作用することができ、システム100にさらに入力を提供することができる、一つ以上のアナログまたはデジタルトリガボタン(または「トリガ」)も含むことができる。より詳細に後述するように、コントローラ150は、コントローラ150の少なくとも一つのトリガに対して双方向押/引力を及ぼすように構成された、モータまたは別のタイプのアクチュエータもしくはハプティック出力デバイスをさらに含むことができる。
【0023】
コントローラ150は、一つ以上のアクチュエータまたは他のタイプのハプティック出力デバイスも含むことができる。コントローラ150のローカルプロセッサ、またはコントローラ150がローカルプロセッサを含まない実施形態におけるプロセッサ120は、コントローラ150の少なくとも一つのアクチュエータに、ハプティック効果に関連したハプティック信号を伝送すればよい。次に、アクチュエータが、ハプティック信号に応じて振動触知ハプティック効果、運動感覚ハプティック効果、または変形ハプティック効果等のハプティック効果を出力する。ハプティック効果は、コントローラ150のユーザ入力エレメント(例えば、デジタルボタン、アナログボタン、バンパ、方向パッド、アナログもしくはデジタルスティック、ドライビングホイールまたはトリガ)で経験されることができる。あるいは、コントローラ150の外側表面でハプティック効果が経験されてもよい。
【0024】
アクチュエータは、例えば、電動モータ、電磁アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマ、ソレノイド、偏心モータ(「ERM;eccentric rotating mass motor」)、ハーモニックERMモータ(「HERM;harmonic ERM motor」)、線形共振アクチュエータ(「LRA;linear resonant actuator」)、圧電アクチュエータ、高帯域アクチュエータ、電気活性ポリマ(「EAP;electroactive polymer」)アクチュエータ、静電摩擦ディスプレイ、または超音波振動ジェネレータでありうる。一部の場合には、アクチュエータは、アクチュエータ駆動回路を含んでもよい。
【0025】
一部の実施形態では、アクチュエータ設計は、軸に沿って生み出されるハプティック効果等、有向慣性ハプティック効果を生じるように構成されうる。ここでは、二組の磁石が磁気成分を二つの独立した方向に沿って動かすように、複数の磁気成分がゲル中に懸濁されうる。
【0026】
アクチュエータはハプティック出力デバイスの一例であり、ここで、ハプティック出力デバイスは、駆動信号に応じて振動触知ハプティック効果、静電摩擦ハプティック効果、温度変化、および/または変形ハプティック効果等のハプティック効果を出力するように構成されたデバイスである。代替的実施形態では、コントローラ150内の一つ以上のアクチュエータは、何らかの他のタイプのハプティック出力デバイスで置き換えられてもよい。一部の実施形態では、コントローラ150などの中に置かれたスピーカが、ハプティック出力デバイスとして構成されてもよい。一部の代替的実施形態では、ハプティック出力デバイスは、音声出力および振動出力の両方を提供するように構成されうる。
【0027】
コントローラ150は、一つ以上のスピーカをさらに含むことができる。コントローラ150のローカルプロセッサ、またはコントローラ150がローカルプロセッサを含まない実施形態におけるプロセッサ120は、コントローラ150の少なくとも一つのスピーカに音声信号を伝送すればよく、次いでスピーカが音声効果を出力する。スピーカは、例えば、ダイナミックラウドスピーカ、エレクトロダイナミックラウドスピーカ、圧電ラウドスピーカ、磁気歪ラウドスピーカ、静電ラウドスピーカ、リボンプラナー磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラットパネルラウドスピーカ、ヘイルエアモーショントランスデューサ、プラズマアークスピーカ、およびデジタルラウドスピーカであればよい。
【0028】
コントローラ150は、一つ以上のセンサをさらに含むことができる。センサは、音、動作、加速度、生体信号、距離、流量、力/圧力/歪み/屈曲、湿度、線形位置、方位/傾斜、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、または可視光強度等であるがこれに限定されない、エネルギーの一形態または他の物理的性質を検出するように構成できる。センサは、検出エネルギーまたは他の物理的特性を、電気信号または仮想センサ情報を表す任意の信号に変換するようにさらに構成でき、コントローラ150は、変換された信号を、コントローラ150のローカルプロセッサに、またはコントローラ150がローカルプロセッサを含まない実施形態におけるプロセッサ120に送信することができる。
【0029】
図2は、本発明の実施形態例に係るコントローラ200の機能ブロック図である。
【0030】
図2に示されるように、コントローラ200は、様々なユーザ入力エレメントの一つ以上を含みうる。ユーザ入力エレメントは、ホストコンピュータ204と相互作用するためにユーザにより操作される任意のインタフェースデバイスを指しうる。ユーザ入力エレメントの例には、アナログまたはデジタルジョイスティック210、ボタン214、トリガ218などが含まれる。通常の技術を有する当業者には当然のことながら、各ユーザ入力エレメントの一つ以上は、コントローラ200上に含まれうる。例えば、トリガ218の本記載は、コントローラ200を単一のトリガに限定しない。同様に、当業者には当然のことながら、複数のアナログまたはデジタルスティック、ボタン、および他のユーザ入力エレメントが使用されてもよい。
【0031】
コントローラ200は、ローカルプロセッサ208を含むことができる。ローカルプロセッサ208は、接続205を介してホストコンピュータ204とコマンドおよびデータを交換しうる。接続205は、当業者に公知の一つ以上の通信プロトコルを用いた有線または無線接続でありうる。一部の場合には、コントローラ200は代わりに、ローカルプロセッサ208を含まないように構成されてもよい。ここで、コントローラ200からの入力/出力信号は、ホストコンピュータ204により直接対処および処理されてもよい。ホストコンピュータ204は、ゲームデバイスコンソールであってもよく、ディスプレイデバイス206は、ゲームデバイスコンソールに動作可能に結合されたスクリーンであってもよい。一部の場合には、ホストコンピュータ204およびディスプレイデバイス206が、単一のデバイスに組み合わせられてもよい。
【0032】
コントローラ200は、そのユーザ入力エレメントの各々を直接駆動するためのターゲットアクチュエータ212、216、220(例えばモータ)、ならびにユーザの手が大抵置かれる場所でハウジング202に動作可能に結合された一つ以上の一般的アクチュエータ(general actuators)またはランブルアクチュエータ(rumble actuators)222、224を含みうる。より具体的には、アナログまたはデジタルスティック210は、アナログまたはデジタルスティック210に動作可能に結合されたターゲットアクチュエータまたはモータ212を含み、ボタン214は、ボタン214に動作可能に結合されたターゲットアクチュエータまたはモータ216を含み、トリガ218は、トリガ218に動作可能に結合されたターゲットアクチュエータまたはモータ220を含む。複数のターゲットアクチュエータに加えて、コントローラ200は、そのユーザ入力エレメントの各々に動作可能に結合された位置センサを含む。より具体的には、アナログまたはデジタルスティック210は、アナログまたはデジタルスティック210に動作可能に結合された位置センサ211を含み、ボタン214は、ボタン214に動作可能に結合された位置センサ215を含み、トリガ218は、トリガ218に動作可能に結合された位置センサ219を含む。ローカルプロセッサ208は、ターゲットアクチュエータ212、216、220、ならびにアナログまたはデジタルスティック210、ボタン214およびトリガ218のそれぞれの位置センサ211、215、219に、動作可能に結合される。ローカルプロセッサ208は、位置センサ211、215、219から受信した信号に応じて、有向運動感覚効果またはターゲット運動感覚効果を、アナログまたはデジタルスティック210、ボタン214およびトリガ218にそれぞれ直接提供するようにターゲットアクチュエータ212、216、220に命令する。このようなターゲット運動感覚効果は、コントローラ本体全体に沿って一般的アクチュエータ222、224により生み出される一般的ハプティック効果またはランブルハプティック効果とは識別もしくは区別可能である。集合的ハプティック効果により、複数のモダリティを同時に駆使することで(例えば映像、音声、および触覚)、ユーザがゲームへのより高い没入感を得られる。
【0033】
図3は、本発明の実施形態例に係るハプティック効果ソフトウェアスタック300のブロック図である。
図3に示されるように、ソフトウェアスタック300は、デバイスモジュール310、周辺ファームウェアモジュール320、コントローラモジュール330、駆動モジュール340、およびランブル駆動モジュール350を含む。ハプティック効果ソフトウェアスタック300は、
図1のシステム100等のシステムに実装される。
【0034】
デバイスモジュール310は、入力管理コード311、周辺入力アプリケーションプログラミングインタフェース(「API;application programming interface」)312、ランブルAPI313、孤立ハプティック効果API(isolated haptic effect API)314、直接プレイバック/クロスオーバ部315、孤立表面エンジン316、空間化エンジン317およびエンコーダ318等の様々なモジュールを含みうる。
【0035】
入力管理コード311は、デバイス内で実行されるゲームアプリケーションまたは他のタイプのアプリケーションの文脈でコントローラ330により提供される入力を管理するコンピュータ可読命令のセットを含みうる。
【0036】
周辺入力API312は、コントローラ330により提供される入力を受信および管理するためにゲーム入力管理コード311が周辺ファームウェア320と相互作用することを可能にするコンピュータ可読関数またはルーチンのセットを含みうる。
【0037】
ランブルAPI313は、コントローラ330の一つ以上のランブルモータまたはランブルアクチュエータ(例えば
図3のランブルモータLおよびR)にランブル命令を伝送するために入力管理コード311が周辺ファームウェア320と相互作用することを可能にするコンピュータ可読関数またはルーチンのセットを含みうる。加えて、ランブル命令は、コントローラ330のランブルモータまたはランブルアクチュエータに一般的ハプティック効果またはランブルハプティック効果を生み出させることができる。
【0038】
(
図3に「API」として識別される)孤立ハプティック効果API314は、入力管理コード311にアクセス可能であり、入力管理コード311がコントローラ330にハプティック命令を伝送するために周辺ファームウェア320と相互作用することを可能にするコンピュータ可読関数またはルーチンのセットを含みうる。命令の例には、コントローラ330の一つ以上の孤立表面へのハプティック命令を含む。加えて、ハプティック命令は、コントローラ330の一つ以上のターゲットモータまたはターゲットアクチュエータに、コントローラ330の一つ以上のユーザ入力エレメントでハプティック効果を生み出させうる。
【0039】
孤立ハプティック効果API314は、一つ以上のハプティック効果定義を記憶することもできる。ハプティック効果定義は、ハプティックファイルまたはハプティックストリーム等、予め定義され、記憶装置内に記憶されることができ、一つ以上のランブルモータ、ランブルアクチュエータ、ターゲットモータ、またはターゲットアクチュエータに送信されて、コントローラ330の構成要素またはユーザ入力エレメントでハプティック効果を生み出すことができる、ハプティック信号等のハプティックデータを含むデータ構造である。ハプティックデータは、対応するハプティック効果の一つ以上の属性を含むことができ、属性は、パラメータとして記憶されることができる。ハプティック効果定義のパラメータの例には、振幅パラメータ、周波数パラメータ、波形パラメータ、エンベロープパラメータ、マグニチュード(または強度)パラメータ、および持続時間パラメータが含まれうる。
【0040】
孤立ハプティック効果API314は、ゲーム入力管理コード311が直接プレイバック/クロスオーバ部315、トリガエンジン316、および空間化エンジン317と相互作用することを可能にでき、さらに、ゲーム入力管理コード311により呼び出されたリクエストにしたがって直接プレイバック/クロスオーバ部315、トリガエンジン316、および空間化エンジン317を管理することができる。さらに、孤立ハプティック効果API314は、周辺ファームウェア320との通信に使用される、一つ以上の孤立ハプティック効果の生成に使用されるデータを記憶することができる。
【0041】
直接プレイバック/クロスオーバ部315は、ハプティックデータを入力として受信し、ハプティックデータを出力として生み出し、ハプティックデータをコントローラ330の一つ以上のターゲットモータ、またはターゲットアクチュエータ(例えば
図3のモータLおよびR)に伝送する。ある実施形態では、直接プレイバック/クロスオーバ部315は、入力されたハプティックデータのフォーマットを修正せずに、入力されたハプティックデータを直接出力すればよい。その結果、入力されたハプティックデータが「そのまま」再生される。他の実施形態では、直接プレイバック/クロスオーバ部315は、入力されたハプティックデータを第一フォーマットから第二フォーマットへ変換し、さらに変換されたハプティックデータを出力することができる。再生のタイプに応じて、直接プレイバック/クロスオーバ部315は、ハプティックデータを変換するためにプログラマブルクロスオーバを任意に使用することができる。ハプティックデータを変換することにより、デバイスモジュールは、ハプティック効果を分解し、複数のアクチュエータでハプティック効果を再生することができる。
【0042】
ハプティックデータのフォーマットは、ハプティックエレメンタリストリーム(「HES;haptic elementary stream」)フォーマットであればよい。HESフォーマットは、デバイスにストリーミングされうるハプティックデータを表すためのファイルまたはデータフォーマットである。ハプティックデータは、圧縮されていない音が表されるのと同一または類似の様式で表されうるが、ハプティックデータは、HESフォーマットにおいて暗号化されうる。
【0043】
孤立表面エンジン316は、孤立表面ハプティック効果定義等のハプティックデータを受信し、トリガデータ323等のユーザ入力データに基づいて、ハプティックデータを修正することができる。トリガデータは、コントローラ330の一つ以上のトリガ(例えば
図3のトリガLおよびR)の位置および/または範囲を指示する一つ以上のパラメータを含むデータである。孤立表面エンジン316は、コントローラ330にハプティック命令をさらに伝送することができる。例えば、孤立表面エンジン316は、コントローラ330の様々なユーザ入力エレメントおよび/または孤立表面に、ハプティック命令を伝送することができる。前述したように、ハプティック命令は、コントローラ330の一つ以上のターゲットモータまたはターゲットアクチュエータに、コントローラ330の一つ以上のユーザ入力エレメントおよび/または孤立表面でハプティック効果を生み出させることができる。
【0044】
空間化エンジン317は、孤立表面ハプティック効果定義等のハプティックデータを受信し、空間化データに基づいてハプティックデータを修正することができる。空間化データには、それぞれのユーザ入力エレメントおよび/または孤立表面上のハプティック効果の順序付け等のハプティック効果の所望の方向および/または流れを指示するデータを含むことができる。ある実施形態では、空間化エンジン317は、方向および/または流れを含む空間化データを入力管理コード311から受信すればよい。
【0045】
空間化エンジン317は、コントローラ330の一つ以上のランブルモータまたはランブルアクチュエータ(例えば
図3のランブルモータLおよびR)に関してトリガハプティック効果等のハプティック効果がスケーリングされ、コントローラ330の一つ以上のターゲットモータまたはターゲットアクチュエータ(例えば
図3に示したモータLおよびR)に関してもハプティック効果がスケーリングされるように、ハプティックデータを修正することができる。換言すれば、空間化エンジン317は、全体的ハプティック効果の方向および流れの感覚を伝えるために、各モータまたはアクチュエータに送信されるハプティックデータを修正し、これにより各モータまたはアクチュエータで経験されるハプティック効果を修正することができる。例えば、空間化エンジン317は、あるモータまたはアクチュエータで経験されるハプティック効果を強調するために、ハプティック効果の一つ以上の部分をスケーリングすることができる。例えば、空間化エンジン317は、ハプティック効果を経験させるモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、ハプティック効果をより目立たせることができる(例えば、マグニチュード、持続時間を増加させるなど)。加えて、空間化エンジン317は、他のモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、それらのモータまたはアクチュエータで経験される他のハプティック効果を目立たないようにすることができる(例えば、マグニチュード、持続時間を減少させるなど)。一部の実施形態では、空間化エンジン317は、ハプティックデータを実時間で修正することができる。さらに、一部の実施形態では、空間化エンジン317は、全体的トリガハプティック効果を誇張するために、入力とモータまたはアクチュエータの出力との間に非線形関係を有していてもよい。
【0046】
エンコーダ318は、直接プレイバック/クロスオーバ部315、孤立表面エンジン316、および/または空間化エンジン317から受信したハプティックデータを一フォーマットに符合化する。一実施形態では、このフォーマットはHESフォーマットであってもよい。エンコーダ318は、符合化されたハプティックデータを周辺ファームウェア320に伝送することができる。
【0047】
周辺ファームウェア320は、一つ以上の周辺デバイス(例えばコントローラ)のためのファームウェアである。周辺ファームウェア320は、デコーダおよびクロスオーバ部321、トリガ制御部322、トリガデータ323、他の機能324、およびランブル制御部325等の様々なモジュールを含みうる。
【0048】
デコーダおよびクロスオーバ部321は、エンコーダ318から符号化されたハプティックデータを受信し、符号化されたハプティックデータを復号する。一部の実施形態では、デコーダおよびクロスオーバ部321は、符号化されたハプティックデータを復号するために、プログラマブルクロスオーバを計算する。デコーダおよびクロスオーバ部321は、プログラマブルクロスオーバを実時間で計算しうる。
【0049】
トリガ制御部322は、コントローラ330(例えば
図3のモータLおよびR)の一つ以上のターゲットモータまたはターゲットアクチュエータのための低レベル制御APIである。トリガ制御部322は、トリガ命令を受信し、トリガ命令を、コントローラ330の指定のターゲットモータまたはターゲットアクチュエータへの低レベルトリガ命令に変換し、低レベルトリガ命令を、コントローラ330の指定のターゲットモータまたはターゲットアクチュエータに伝送することができる。低レベルトリガ命令は、指定のターゲットモータまたはターゲットアクチュエータに、コントローラ330の指定のトリガでトリガハプティック効果を生み出させることができる。
【0050】
前述のように、トリガデータ323は、コントローラ330の一つ以上のトリガ(例えば
図3のトリガLおよびR)の位置および/または範囲を指示する一つ以上のパラメータを含むデータである。周辺ファームウェア320は、コントローラ330からトリガデータ323を受信することができる。周辺ファームウェア320は、トリガデータ323をさらに記憶することができ、トリガデータ323をデバイスモジュール310にさらに伝送することができる。
【0051】
他のゲームパッド機能324は、周辺ファームウェア320によって管理されるコントローラ330の機能であってもよい。このような機能には、有線/無線通信、入力報告、プロトコル実装、電力管理などの機能を含むことができる。
【0052】
ランブル制御部325は、コントローラ330の一つ以上のランブルモータまたはランブルアクチュエータ(例えば
図3のランブルモータLおよびR)のための低レベル制御APIである。ランブル制御部325は、ランブル命令を受信し、ランブル命令を、コントローラ330の指定のランブルモータまたはランブルアクチュエータのための低レベルランブル命令に変換し、低レベルランブル命令を、コントローラ330の指定のランブルモータまたはランブルアクチュエータに伝送することができる。
【0053】
コントローラ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にトリガ命令を送信しうる。
【0054】
コントローラ330は、ポテンショメータLおよびRをさらに含みうる。ポテンショメータLは、トリガLの位置および/または範囲を検出することができ、検出されたトリガLの位置および/または範囲をトリガデータとして周辺ファームウェア320にさらに送信することができる。同様に、ポテンショメータRは、トリガRの位置および/または範囲を検出することができ、検出されたトリガRの位置および/または範囲をトリガデータとして周辺ファームウェア320にさらに送信することができる。
【0055】
コントローラ330は、ランブルモータLおよびRをさらに含みうる。ランブルモータLがランブル命令を受信すると、ランブルモータLは、コントローラ330の左構成要素に沿ってハプティック効果を経験させる。同様に、ランブルモータRがランブル命令を受信すると、ランブルモータRは、コントローラ330の右構成要素に沿ってハプティック効果を経験させる。周辺ファームウェア320は、ランブル駆動エレクトロニクス350を用いてランブルモータLおよびRにランブル命令を送信することができる。
【0056】
図4Aおよび4Bは、本発明の実施形態例に係るコントローラ400の異なる図である。
図4Aおよび
図4Bに示すように、コントローラ400は、ハウジング402、アナログまたはデジタルジョイスティック410、ボタン(単数または複数)414、トリガ418、ならびにランブルアクチュエータ422および424等、様々な構成要素を含みうる。
【0057】
ハウジング402は、ユーザがコントローラ400を握り易いように成形される。
コントローラ400はコントローラの実施形態の例であり、本発明の実施形態を他のコントローラの形状に容易に適用できる。
【0058】
図5は、本発明の別の実施形態例に係るコントローラ500の図である。
図5に示すように、コントローラ500は、ハウジング502、アナログまたはデジタルジョイスティック510、ボタン(単数または複数)514、および一つ以上の孤立表面(単数または複数)532等、様々な構成要素を含みうる。
【0059】
孤立表面532は、コントローラ500の孤立部分が拡張および/または収縮することにより変形されることを可能にしうる。変形ハプティック効果が説明されているが、実施形態がこれに限定されるものではない。多数の他のハプティック効果が、代替的または追加的に孤立表面532に加えられてもよい。ハプティック効果の例には、拡張、収縮、振動、触感、温度変化、ランブルなどが含まれる。
【0060】
孤立表面532の使用は、従来のコントローラと比較して利点を提供する。ここでは、ユーザが孤立表面532でのみ(すなわちコントローラの全部ではない、またはコントローラハウジング502全体ではない)ハプティック効果を知覚するように、ハプティック効果をコントローラ500の特定の部分(例えば左側または右側)に孤立させることができる。例えば、孤立表面532の使用により、より広範囲のハプティック効果を提供しうる。別の例では、孤立表面532の使用により、空間化の向上が提供される。ここでは、局所化されたハプティック効果ならびに方向感覚を伝えるハプティック効果の両方が、ユーザに提供されうる(例えばよりリアルなボールに触れる効果)。さらに別の例では、孤立表面532の使用により、孤立表面532が拡張および収縮しうる表面(単数または複数)で、運動感覚プログラム可能ハプティクスが提供されうる。
【0061】
図6A、6B、6C、および6Dは、本発明の実施形態例に係る孤立表面構造600の代替的詳細図である。図のように、孤立表面構造600は、ハウジング602、サスペンションフレキシャ611、612、浮動セクション620およびモータ630等の様々な構成要素を含みうる。
【0062】
孤立表面構造600の様々な構成要素は、ハプティック効果(例えば浮動セクション620に加えられる振動および/または変形)をハウジング602から孤立させるように構成されうる。したがって、浮動セクション620は、サスペンションフレキシャ611、612によってハウジング602に間接的に結合される。浮動セクション620にハプティック効果が加えられたとき、ハプティック効果がハウジング602に加えられないように、サスペンションフレキシャ611、612がハプティック効果を実質的に弱める。追加的または代替的に、ハプティック効果を弱めるために、ゴムリングまたはガスケット(図示せず)が浮動セクション620を囲んでもよい。
【0063】
浮動セクション620にハプティック効果を加えるために、モータ630が複数のハプティック構成要素631、632を駆動しうる。一部の実施形態では、モータ630は、浮動セクション620に沿って設置された複数のピン(図示せず)を駆動するように構成されうる。ここでは、ハプティック構成要素631、632またはピンが個別に駆動されて、広範囲なハプティック効果が提供されうる。
【0064】
加えて、モータ630は、様々なモータタイプを含みうる。コントローラ600用のモータ630は、小型、低電力、および軽量であるのが好ましい。通常、孤立表面構造600は、モータ630を含めて軽量(例えば約35グラム以下)である。
【0065】
電動モータの例には、電磁アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマ、ソレノイド、偏心モータ(「ERM」)、ハーモニックERMモータ(「HERM」)、線形共振アクチュエータ(「LRA」)、圧電アクチュエータ、高帯域アクチュエータ、電気活性ポリマ(「EAP」)アクチュエータ、静電摩擦ディスプレイ、超音波振動ジェネレータなどを含みうる。
【0066】
図6Dは、拡張および収縮等の変形を提供するように構成された孤立表面構造600の代替的詳細図である。
図6Dに示すように、孤立浮動セクション620またはその部分を横方向に動かすために、線形アクチュエータ640が使用されうる。例えば、線形アクチュエータ640は、浮動セクション620全体を横方向に動かしてもよいし、または浮動セクション620の上部分または下部分だけを横方向に動かしてもよい。上述のように、孤立表面構造は、ハウジング602、サスペンションフレキシャ、ゴムリングまたはガスケット等の様々な構成要素をさらに含みうる。
【0067】
一部の場合には、孤立浮動セクション620に、モータ630および/またはアクチュエータ640を接地しうる。孤立浮動セクション620は、本明細書に記載のサスペンション機構、またはハプティック効果がハウジングに加えられないように弱めるその他の機構を介して、ハウジング602に接続されうる。モータ630および/またはアクチュエータ640は、ハプティック効果を生成し、孤立浮動セクション620に直接結合されうる。
【0068】
図6は、孤立表面構造600の一例を示すが、他の構成も実行可能である。例えば、ヒンジ状およびカム状設計が使用されてもよい。別の例では、孤立領域(単数または複数)の数、サイズおよび形状は、変動しうる。加えて、孤立表面構造600は、拡張、収縮、振動、触感、温度変化、ランブルなどを含む様々なハプティック効果を提供するように構成されうる。
【0069】
図7Aおよび7Bは、本発明の別の実施形態例に係るコントローラ700の異なる図である。
図4A、4Bおよび5と関連して記載したハウジング、アナログまたはデジタルスティック、ボタン(単数または複数)、およびランブルアクチュエータに加えて、コントローラ700は、複数の孤立領域711、712、713、714、715、および716を含む。孤立領域711〜716の各々は、一つ以上のハプティック効果(例えば拡張、収縮、振動、触感、温度変化、ランブルなど)を提供するように、個別に(すなわち別々に)構成されうる。
【0070】
一つ以上のハプティック効果を提供するために個別に操作されうるコントローラ700の離散した局所化されたエリアを用いて、強化された完全な空間化が提供されうる。コントローラ700は、局所化されたハプティックフィードバックがユーザにより経験されうる空間化されたハプティック効果を生み出しうる。例えば、ユーザは、コントローラ700の一つ以上の局所化された領域711〜716で提供される局所化されたハプティック効果を知覚しうる。このような局所化されたハプティック効果は、コントローラのハウジングに直接加えられる一般的なハプティック効果とは異なっていてもよい。別の例では、ハプティック効果は、ユーザに方向感覚(例えば左または右の感覚)を伝えるために、局所化された領域711〜716のサブセットに加えられてもよい。
【0071】
加えて、アバター(例えばゲームキャラクタ)に起こっていることをコントローラ700のそれぞれの局所化された領域711〜716にマッピングすることにより、局所化された領域711〜716のサブセットにハプティック効果が加えられてもよい。例えば、アバターの左上がぶつかった場合、コントローラ700は、左上の局所化された領域に対応するハプティック効果を有しうる。別の例では、左側がぶつかったユーザは、局所化された領域711、714および716等の左側の局所化された領域でハプティック効果を感じればよい。さらに別の例では、右上側がぶつかったユーザの船は、局所化された領域713でハプティック効果を感じればよい。
【0072】
一部の実施形態では、コントローラ700の各部分を別々に振動させうるように、孤立領域711〜716が機械的に設けられうる。ここでは、特定領域(単数または複数)だけでなく、コントローラ700の複数または全ての孤立領域711〜716が、ハプティック効果を加えるために構成されうる。ハプティック効果が複数の領域のサブセットに一つのユニットとして加えられうるように、孤立領域711〜716は一緒にロックされてもよい。加えて、コントローラのハウジングは、振動を各セクションに孤立させるために、様々な剛性特性の多様な材料を用いて共成形されうる。一部の場合には、ジョイスティック、ボタンなどの個々のユーザエレメントも、ゲームパッドハウジングの様々なセクションから孤立させうる。
【0073】
一部の実施形態では、コントローラ700は、孤立部分に機械的に分割されうる。例えば、コントローラ700は、八つの振動孤立部分またはオクタントに分割されうる。この例では、ハプティック効果を左上オクタントに加え、他のオクタントから実質的に孤立させうる。ここで孤立部分またはオクタントは、孤立部分を相互接続するための調節可能な剛性を有するアクティブサスペンションにより相互接続されてもよい。換言すれば、孤立セクションは、ハプティック効果をコントローラ700の特定部分(単数または複数)に孤立させるために、可変緩衝手段を間に有しうる。コントローラの二つ以上の隣接した孤立部分を単一部分へと有効に結合するために、剛性が増加されてもよい。
【0074】
図8Aは、本発明の別の実施形態例に係るコントローラ800の図である。
図8Aに示すように、コントローラ800は、ユーザ入力デバイスとして一つ以上の孤立トラックパッド821、822を含みうる。トラックパッド821、822の各々の表面は、前述のような孤立および/または変形可能表面を含みうる。
【0075】
図8Bは、本発明の実施形態例に係るコントローラ800用の代替的な孤立トラックパッド表面825、826、827の図である。加えて、孤立トラックパッド821、822の表面は、
図8Bに示すような平面表面構造825、凸面表面構造826、および凹面表面構造827等の様々な構造を含みうる。
【0076】
孤立トラックパッド821、822の使用は、トラックパッドの感触および目的を動的に変化させる。加えて、孤立トラックパッド821、822の使用は、エルゴノミクス性を高め、感圧応用例を一層可能にする。
【0077】
図9は、本発明の別の実施形態例に係るハプティックマウス900の図である。ハウジング902および回転ホイール903に加えて、ハプティックマウス900は、複数の孤立領域911、912、913、914、および915を含む。孤立領域911〜915の各々は、一つ以上のハプティック効果(例えば拡張、収縮、振動、触感、温度変化、ランブルなど)を提供するように、個別に(すなわち別々に)構成されうる。加えて、孤立領域は、回転ホイール903および/またはキーパッド904等、ハプティックマウス900の他の部分に対応するように構成されうる。
【0078】
図10は、本発明の別の実施形態例に係るハプティックモーションコントローラ1000の図である。ハウジング1002に加えて、ハプティックモーションコントローラは、孤立領域1020等の一つ以上の孤立領域を含みうる。一部の場合には、本実施形態および他の実施形態における孤立領域の表面は触感加工され、一つ以上のカーブ、くぼみ、隆起などを含みうる。ここでは、孤立領域1020は、複数の触感部1022を備えて示されている。加えて、孤立領域1020は、一つ以上のハプティック効果(例えば拡張、収縮、振動、触感、温度変化、ランブルなど)を提供するように、個別に(すなわち別々に)構成されうる。モーションコントローラ1000の他の部分に対応するように、追加の孤立領域が構成されてもよい。
【0079】
このように、本発明の様々な実施形態を採用することにより、ハプティック効果の強化が提供されうる。例えば、ハプティック出力デバイスに応答して拡張および収縮する孤立変形可能領域が提供される。別の例では、局所化されたハプティック効果を提供するように構成された孤立表面領域も記載される。したがって、別々に振動させうるコントローラ(例えばゲームパッド)の複数の離散エリアを介した空間化の向上が提供される。
【0080】
通常の技術を有する当業者には当然のことながら、上述の本発明は、異なる順序のステップを用いて、および/または、開示された構成とは異なる構成の要素を用いて実施されてもよい。したがって、これらの好ましい実施形態に基づいて本発明を記載しているが、当業者には当然のことながら、本発明の趣旨および範囲を逸脱しない、ある修正、変更、および代替的構成が明らかであろう。したがって、本発明の境界および範囲を決定するためには、添付の特許請求の範囲を参照しなければならない。