(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-22
(45)【発行日】2023-01-05
(54)【発明の名称】抵抗ベースの触覚デバイス
(51)【国際特許分類】
G05G 5/03 20080401AFI20221223BHJP
G05G 25/00 20060101ALI20221223BHJP
G06F 3/01 20060101ALI20221223BHJP
A63F 13/28 20140101ALI20221223BHJP
【FI】
G05G5/03 A
G05G25/00 C
G06F3/01 560
A63F13/28
(21)【出願番号】P 2020552893
(86)(22)【出願日】2019-03-26
(86)【国際出願番号】 US2019023955
(87)【国際公開番号】W WO2019195020
(87)【国際公開日】2019-10-10
【審査請求日】2022-02-18
(32)【優先日】2018-04-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シンクレア,マイケル ジャック
(72)【発明者】
【氏名】オフェク,エヤル
(72)【発明者】
【氏名】ホルツ,クリスチャン
【審査官】増岡 亘
(56)【参考文献】
【文献】特表2007-520793(JP,A)
【文献】米国特許第6042555(US,A)
【文献】特開2009-148888(JP,A)
【文献】米国特許出願公開第2015/0290814(US,A1)
【文献】特表2008-531931(JP,A)
【文献】国際公開第2017/130562(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05G 5/03
G05G 25/00
G06F 3/01
A63F 13/28
(57)【特許請求の範囲】
【請求項1】
軸について回転するように構成されるドラムと、
該ドラムの周りに巻かれるコードと、
前記ドラムに動作的に連結され、ユーザ作動力を受けるように構成される、ユーザ作動可能なレバーと、
前記ドラムの回転位置を決定するように構成される位置センサと、
前記コードに動作的に連結され、前記コードに張力を加えるように構成される、アクチュエータとを含み、前記コードは、更に摩擦を加えて前記ドラムを制動して、前記ユーザ作動可能なレバーに、前記ユーザ作動力に抗するユーザ知覚抵抗を提供させ、該ユーザ知覚抵抗は、前記ドラムの前記回転位置の関数として変化する、
触覚デバイス。
【請求項2】
前記ユーザ知覚抵抗は、複数の所定の抵抗プロファイルから選択される前記ドラムの回転範囲についての抵抗プロファイルに従って変化するように構成される、請求項1に記載の触覚デバイス。
【請求項3】
前記抵抗プロファイルは、前記ユーザ知覚抵抗が前記ドラムの前記回転範囲の少なくとも一部に亘って線形に変化することを特定する、請求項2に記載の触覚デバイス。
【請求項4】
前記抵抗プロファイルは、前記ドラムの回転範囲内の指定される位置にハードストップを含む、請求項2に記載の触覚デバイス。
【請求項5】
コンピューティングデバイスに通信的に連結される通信サブシステムを更に含み、該通信サブシステムは、
前記ドラムの前記回転位置を前記コンピューティングデバイスに送信して、
前記コンピューティングデバイスからフィードバック信号を受信するように構成され、
前記アクチュエータは、前記コードに張力を加えて、前記ユーザ知覚抵抗を提供するよう、前記信号に基づいて制御され、前記ユーザ知覚抵抗は、少なくとも前記コンピューティングデバイスのパラメータに更に基づいて決定される、
請求項1に記載の触覚デバイス。
【請求項6】
前記ユーザ作動力は、第1の作動方向において加えられる第1のユーザ作動力であり、前記コードは、第1の方向において前記ドラムの周りに巻かれる第1のコードであり、
当該触覚デバイスは、前記第1の方向とは反対の第2の方向において前記ドラムの周りに巻かれる第2のコードを更に含み、張力が前記第2のコードに加えられ、前記第2のコードは、前記ドラムに摩擦を更に加えて、前記ユーザ作動可能なレバーに、前記第1の作動方向とは反対の第2の作動方向において第2のユーザ作動力に抗するユーザ知覚抵抗を提供させる、
請求項1に記載の触覚デバイス。
【請求項7】
前記コードは、第1のコードであり、前記アクチュエータは、第1のアクチュエータであり、当該触覚デバイスは、
前記ドラムの周りに巻かれる第2のコードと、
該第2のコードに連結され、前記ユーザ作動可能なレバーを付勢するように構成される、バネと、
前記第2のコードに動作的に連結され、前記第2のコードに張力を加えるように構成される、第2のアクチュエータとを含み、前記第2のコードは、更に摩擦を加えて前記ドラムを制動して、前記ユーザ作動可能なレバーに、前記バネのバネ力を含み且つ前記ユーザ作動力に抗するユーザ知覚抵抗を提供させる、
請求項1に記載の触覚デバイス。
【請求項8】
前記ユーザ作動可能なレバーは、トリガジョイントを含み、
当該触覚デバイスは、前記トリガジョイントに動作的に連結される指輪であって、ユーザの指を包み込み、前記ユーザ作動力に基づいて前記トリガジョイントについて回転するように構成される、指輪を更に含む、
請求項1に記載の触覚デバイス。
【請求項9】
前記指輪と前記ユーザ作動可能なレバーとの間に動作的に連結されるトリガ付勢バネを更に含む、請求項8に記載の触覚デバイス。
【請求項10】
前記ユーザ作動可能なレバーは、前記指輪上の前記ユーザの指の位置を決定するように構成されるトリガスイッチを含み、前記ユーザ知覚抵抗は、少なくとも前記指輪上の前記ユーザの指の前記位置に基づいて決定される、
請求項8に記載の触覚デバイス。
【発明の詳細な説明】
【背景技術】
【0001】
ビデオゲーム又は仮想現実体験のような仮想環境との相互作用(対話)を強化するために触覚デバイス(haptic devices)が使用されることがある。特に、触覚デバイスは、仮想環境における仮想力を表す力フィードバックを提供するために使用されることがある。そのような力フィードバックは、仮想体験をより没入的で現実的なものにすることがある仮想環境の可触性(tangibility)の知覚を高めることがある。
【図面の簡単な説明】
【0002】
【
図1】例示的な触覚デバイスを概略的に示している。
【0003】
【
図2】荷重トルクに抗するよう触覚デバイスのドラムの周りに巻き付けられたコードによって増幅される保持トルクの間の関係を示している。
【0004】
【
図3】延伸位置にユーザ作動可能なレバーを含むユーザによって装着される触覚デバイスを概略的に示している。
【0005】
【
図4】ユーザの指によって触覚デバイスのユーザ作動可能なレバーに加えられるユーザ作動力に抗するユーザ知覚抵抗を提供する触覚デバイスを概略的に示している。
【0006】
【
図5】触覚デバイスにおけるトリガグリップを取るユーザの指を概略的に示している。
【0007】
【
図6】双方向抵抗を提供するように構成された例示的な触覚デバイスを概略的に示している。
【0008】
【
図7】バネを介してエネルギ貯蔵特性を有するユーザ知覚抵抗を選択的に提供するように構成された例示的な触覚デバイスを概略的に示している。
【0009】
【
図8】触覚デバイスの例示的なユーザ知覚抵抗プロファイルを示している。
【0010】
【
図9】ハードストップを含む触覚デバイスの例示的なユーザ知覚抵抗プロファイルを示している。
【0011】
【
図10】触覚デバイスの例示的なユーザ知覚双方向抵抗プロファイルを示している。
【0012】
【
図11】例示的なコンピューティングシステムを示している。
【発明を実施するための形態】
【0013】
今日使用されている多くの従来的な触覚デバイス(haptic devices)は、例えば、ゲームコントローラにおいて、ユーザに触覚フィードバックを提供するように振動する電気振動タイプのものである。しかしながら、振動は、一般的に、自然なユーザ入力のために知られていない。例えば、通常の物体が振動することは、それが手持ち式であるときには、珍しい。今日使用されている別の従来的なタイプの触覚デバイスは、例えば、電気モータを介して、人の(四)肢に力を直接的に加え、人的スケールの力又はトルクを能動的に生成する、電気機械的な能動タイプである。このタイプの能動的な触覚デバイスは、電気エネルギを加えられる力又はトルクに直接的に変換し得るに過ぎない。このタイプの能動的な触覚デバイスは、人的スケールの大きな適用される力を作り出すために比較的大量の電力を必要とすることがある。多くの例において、能動的な触覚デバイスは、大きな加えられる力を生成するように減速される(geared down)小さな電気モータを含むことがある。しかしながら、このギアダウンモータ(geared-down motor)の構成は、モータによって生成され得る加えられる力を増加させるが、様々な問題を引き起こすことがある。一例として、そのような構成は、アクチュエータ出力のより遅い作動速度をもたらすことがある。別の例として、そのような構成は、大きなバッテリ電力の必要を有することがある。更に別の例として、そのような構成は、あまりロバスト(堅牢)でないことがある。何故ならば、歯車構成は、人的スケールの力によって取り除かれることがあるか、さもなければ損なわれることがあるからである。
【0014】
従って、本記述は、外部的なユーザ提供入力の力に抗するよう、機械的利点を介して、より大きな力を及ぼす、小さな内部的なプログラム可能な力を制御することによって、人間の被験者の動きに機械的に抗するか或いは人間の被験者の動きを制約する、触覚デバイスに向けられている。一例では、触覚装置が、軸について回転可能なドラムと、ドラムの周りに巻かれるコードと、ドラムに動作的に連結されるユーザ作動可能なレバーと、ドラムの回転位置を決定するように構成される位置センサと、コードに動作的に連結される小さなアクチュエータとを含む。アクチュエータは、コードがドラムを圧搾して、レバーに加えられるユーザ作動力(user-actuation force)に抗するユーザ知覚抵抗(user-perceived resistance)を提供するように、コードに張力を加えてよい。ユーザ知覚抵抗は、ドラムの回転位置の関数としてアクチュエータによって変更されてよい。
【0015】
この新規な触覚デバイスは、アクチュエータからの比較的小さな力を用いてコードに可変的に張力を与えることによってコード及びドラム構成を利用する。レバーへの比較的大きな人間適用力(human-applied force)を相殺して大きな触覚力(haptic forces)を作り出すように、結果として得られるドラム-コード摩擦はドラムの回転を制動する。これは、例えば、仮想オブジェクト(仮想物体)が実世界オブジェクト(実世界物体)の感覚と挙動を模倣するシナリオを可能にすることができる。触覚デバイスによって生成される結果として得られる触覚効果は、自転車又は自動車の機械的ブレーキの触覚効果と類似することがある。小さなアクチュエータの出力トルクを機械的に増幅してユーザ知覚抵抗を提供することによって、アクチュエータの最大出力の力の能力は比較的小さいことがある。その上、この特定の構成において、アクチュエータは、人間が提供する入力の力に抗する出力トルクを提供することにのみ依存し、(例えば、人間入力の力が提供されないときに)ユーザ作動可能なレバーを能動的に動かすことには依存しない。よって、同じ又は類似のサイズ、重量、及びトルク能力を有するモータによって動力供給される能動的な電気機械的触覚デバイスと比較すると、この新規な触覚デバイスは、より大きな力に抗し、より少ない電力を消費し、より速く作動し、よりロバスト(堅牢)であることができる。
【0016】
更に、この触覚デバイスでは、ユーザ知覚抵抗がドラムの回転位置の関数として変化するように、モータはコードに加えられる張力を変化させるように制御されてよい。これは、触覚デバイスが、他のタイプの抵抗フィードバックの中でも、硬質物体、軟質物体、又は粘弾特性を有する物体のような、様々な物体に接触又は様々な物体を把持することをシミュレートするために使用されてよい、様々な異なるタイプの抵抗フィードバックを提供することを可能にする。その上、ドラムの回転位置の関数として抵抗を変化させることによって、触覚デバイスは、ボタン、キー、トリガ等のような、押されるか或いは把持されるときに可変抵抗を有する様々な実世界物体をシミュレートするために使用されてよい。触覚デバイスによって提供されるそのような可変抵抗フィードバックは、仮想現実/混合現実/拡張現実シナリオにおける仮想オブジェクトについて実世界触覚をシミュレートするのに特に有益なことがある。
【0017】
図1は、抵抗力フィードバック(resistive force feedback)を提供するためにユーザによって着用可能な例示的な触覚デバイス100を概略的に示している。触覚デバイス100は、ユーザの右手(図示せず)の人差し指(index finger)(人差し指(pointer finger)、第1の指(first finger)、人差し指(trigger finger)とも呼ばれる)とインターフェース接続する(interface)ように構成される。触覚デバイス100は、任意の適切な方法でユーザの手に結合されてよい。例えば、触覚デバイス100は、ストラップ又はバンドを介してユーザの手に結合されてよい。別の例において、触覚デバイス100は、ユーザの手に着用される手袋に組み込まれてよい。
【0018】
触覚デバイス100は、ユーザの指(図示せず)が通じて延びる孔104を形成する指輪102(指リング)を含む。指輪102は、レバー108の荷重端106(load end)に接続されている。具体的には、指輪102は、指輪102がレバー108に対して回転することを可能にするジョイント110(継手)を介してレバー108に接続されている。ジョイント110の回転軸(Y軸)は、レバー108の作動平面(X-Z平面)に対して垂直である。X軸、Y軸、及びZ軸は、非限定的であることが意図される基準フレームとして提供され、これらの軸は、実際の実世界の方向を意味しないことに留意のこと。幾つかの例において、ジョイント110は、レバー108の作動平面に対して異なる回転角度を有してよい。指輪102は、異なるサイズの指及び/又は異なるユーザの異なる握りスタイルに順応するよう、作動レバー108に対して回転してよい。
【0019】
トリガ付勢バネ112が、指輪102とレバー108の荷重端106との間に接続されてよい。トリガ付勢バネ112は、ユーザの指が指輪102内に位置付けられてユーザ作動力を提供しないときに(バネ力に基づく)ベースライン抵抗がユーザの指に加えられる休止位置に向かって指輪102を付勢するように構成されてよい。トリガ付勢バネ112のバネ力よりも大きいユーザ作動力が指輪102に加えられるときに、トリガ付勢バネ112は膨張することがあり、レバー108は作動することがある。よって、本明細書では、レバー108をユーザ作動可能なレバー(user-actuatable lever)と呼ぶことがある。
【0020】
荷重端106(load end)とは反対のレバー108の努力端114(effort end)は、レバー108がドラム116の位置に対して固定的な位置を維持するように、ドラム116に連結される。図示の例において、レバー108の努力端114は、十字形を有し、レバー108は、十字の各アームを通じて供給される複数の取付けネジを介してドラム116に連結されている。レバー108は、任意の適切な連結機構を使用してドラム116に固定されてよい。
【0021】
ドラム116は、フレーム118に回転可能に取り付けられる。ドラム116は、Y軸について回転可能である。レバー108は、ドラム116に対して固定されるので、ドラム116がY軸について回転するときに、レバー108は、X-Z平面内で作動する。ドラム116の回転範囲は、指輪102とインターフェース接続する人差し指の移動範囲に基づいて設計される。一例において、ドラム116の回転範囲は、45度である。ドラム116は、任意の適切な回転範囲を有するように構成されてよい。
【0022】
コード120がドラム116の周りに巻かれている。コード120の第1の端部22が、フレーム118に固定されており、コード120の第2の端124が、フレーム118に固定されたアクチュエータ126に連結されている。コード120の反対側の端122をフレーム118に直接的に固定することによって、アクチュエータ126によってコード120に加えられる張力が、コード120に荷重をかける代わりに、ドラム116に伝達される。
【0023】
コードは、非限定的な例として提供されていることに留意のこと。締め付けられるときにドラムに可変の摩擦力を及ぼすために、任意の適切な材料又は可撓性構造がドラムの周りに巻き付けられてよい。代替的な例では、ロープ又はケーブルがドラムの周りに巻き付けられてよい。
【0024】
アクチュエータ126は、コード120に張力を加えるように作動可能であり、コードは、更に摩擦を加えてドラム116を制動して、指輪102に加えられるユーザ作動力に抗するユーザ知覚抵抗をレバー108に提供させる。具体的には、アクチュエータ126によって加えられる張力は、コード120にドラム116を圧搾させ、ユーザ作動力に抗するユーザ知覚抵抗でドラム116制動させる。ドラム116及びコード120は協働して、アクチュエータ126からの小さな内部張力出力が、人間入力に抗するよりもずっと大きな抵抗力に変換されることを可能にする機械的利得を作り出す。換言すれば、この抵抗アクチュエータは、車両又は自転車のブレーキが作動するのと殆ど同じ方法で大きな外部トルクに抗するように使用される。
【0025】
図示の例において、アクチュエータ126は、コードに張力を加えるように構成されたモータ、ギア列、及びレバーを含む。アクチュエータは、プログラム可能な機械的張力をコードに加えることができるように、任意の適切な形態を取ってよいことが理解されるであろう。例えば、アクチュエータは、モータ又はソレノイド、又はツイストストリングアクチュエータ(twisted coil actuator)又はボイスコイルアクチュエータ(voice coil actuator)又は線形力を及ぼし得る任意の他の電気機械的変換器(アクチュエータ)を含んでよい。
【0026】
機械的利点を可能にするドラム116とコード120との関係は、
図2に図示する方程式によって特徴付けられる。具体的には、T
loadは、コードの印加張力であり、T
holdは、コードがドラム上で滑るのを防ぐのに必要とされる最小のコード張力であり、μは、コードとドラムの間の摩擦係数であり、φは、ドラムの周りに巻かれたコードの全巻きによって掃引される全角度である。T
loadは、機械的利得又はトルク増幅を示すT
holdよりも常に大きいことに留意のこと。図示の方程式によれば、大きな外部の入力トルク又はユーザ作動力T
loadは、小さな内部のプログラム可能な力T
holdによって抵抗されることができる。
【0027】
更に、コード120とドラム116材料との間の摩擦係数(μ)は、(コードが滑らない)静的摩擦から(コードが滑る)動的摩擦への滑らかな移行を可能にするように、或いは簡単に言うと、スティックスリップ不均衡(stick-slip disparity)を最小限に抑えるように、選択されてよい。ドラム116及びコード120は、予測的で一貫した抵抗挙動を提供する所望の摩擦係数(μ)を達成するために、任意の適切な材料で作られてよいことが理解されるであろう。1つの特定の例において、ドラム116は、アクリロニトリルブタジエンスチレン(ABS)で作られ、コードは、所望の摩擦係数を達成するためにベクトラン(Vectran)で作られる。その上、ベクトランは、伸びない或いはクリーピングしない(すなわち、時間の経過に亘って細長くならない)という利点を提供する。
【0028】
図1に戻ると、図示の例において、コード120は、
図2に示す方程式の全角度(φ)に従ってドラム116の周りに3回巻かれる。コード120は、任意の適切な長さであってよく、触覚デバイス100が人的スケールの抵抗力フィードバックを提供するために、所望の摩擦係数(μ)を達成するよう、任意の適切な回数でドラム116の周りに巻かれてよいことが理解されるであろう。
【0029】
更に、この実装において、触覚デバイス100は、ユーザ作動力に抗するよう一方向においてのみ機械的抵抗を提供し、他の方向において殆ど自由に回転するように、一方向性である(unidirectional)ように構成される。ここでの利益は、閉じる指に抵抗力を自動的に加えることができ、開く指に力を加えないことである。換言すれば、アクチュエータ126は、受動的態様で使用され、(例えば、ユーザが作動力を加えないときに)レバー108を拡張位置に能動的に移動させるために使用されない。そのような構成は、アクチュエータ126が軽量で、小さく、電力効率が良く、安価であることを可能にする。例えば、アクチュエータ126は、10ミリ秒以下の応答時間で20対1以上のギア比を有してよい。そのようなモータ速度は、触覚デバイス100が、如何なる知覚可能な遅れ(lag)も伴わずに、ユーザ作動力に正確に応答することを可能にすることがある。アクチュエータ126は、バックドライブ可能(back-drivable)であってよい。これは、例えば、アクチュエータ126が自由に回転できるように、コード120に対する及び/又はギア128とギア130との間の張力を減少させるために、アクチュエータ126の方向が反転させられることを可能にすることがある。ツイストストリングアクチュエータ、ソレノイド又はボイスコイルアクチュエータも、バックドライブ可能なアクチュエータとして使用されてよい。
【0030】
幾つかの実装において、アクチュエータ126の出力トルクは、アクチュエータ126を制御するために使用される電流に比例してよい。例えば、アクチュエータ126は、1対1の力対電流比を有してよい。アクチュエータをこのように設計することによって、力のフィードバックを必要とせずに、アクチュエータ126の出力の力(output force)を開ループ式に決定することができる。他の実装において、アクチュエータ126の出力トルクは、アクチュエータ126を制御するために使用される電流に比例しなくてよい。幾つかのそのような実装において、触覚デバイス100は、アクチュエータ126を制御するために使用されることがある力フィードバックを提供するように構成された力変換器を含んでよい。
【0031】
主ギア128は、レバー108とドラム116との中間に位置付けられている。主ギア128は、中間ギア130と噛合する。中間ギア130は、フレーム118を通じて延びるシャフトを介してアナログエンコーダ132に接続されている。アナログエンコーダ132は、フレーム118の下側に取り付けられている。アナログエンコーダ132は、ドラム116の角度位置をデジタル信号に変換するように構成される。主ギア128及び中間ギア132は、アナログエンコーダ132をドラム116に嵌合させて、アナログエンコーダ132が位置フィードバックを提供することを可能にする。アナログエンコーダ132は、ドラム116の角度位置を決定する位置センサの一例として提供されている。他の例では、ホール効果センサ、光学センサ、又は別のタイプの位置センサが利用されてよい。ドラム116の角度位置を決定するために、任意の適切なタイプの位置センサが使用されてよい。別の例において、ドラムの位置は、触覚デバイスとは別個の外部光学センサによってトラッキング(追跡)されてよい。例えば、マーカ(例えば、LED)がドラム又はレバーアーム上に位置付けられてよく、マーカの位置は、触覚デバイスと通信するコンピューティングシステムに動作的に連結される外部カメラ(例えば、周囲のカメラ又はヘッドセット内のカメラ)によって光学的にトラッキングされてよい。
【0032】
触覚デバイス100は、触覚デバイス100をコンピューティングシステム136と通信的に連結するように構成された通信サブシステム134を含む。通信サブシステム134は、コンピューティングシステム136(コンピューティングシステム)との有線又は無線接続を含んでよい。通信サブシステム134は、任意の適切な通信プロトコル(例えば、Wi-Fi、Bluetooth(登録商標))に従った通信を可能にする任意の適切な通信ハードウェアを含んでよい。例えば、そのような通信的な連結は、触覚デバイス100とコンピューティングシステム136との間の双方向通信を可能にすることがある。
【0033】
通信サブシステム134は、アナログエンコーダ132からドラム116の回転位置を受信し、ドラム116の回転位置をコンピューティングシステム136に送信するように構成される。更に、通信サブシステム134は、コンピューティングシステム136から制御信号を受信して、制御信号をアクチュエータ126に送信するように構成される。アクチュエータ126は、制御信号に基づいてコード120に張力を加えるように構成される。一例において、制御信号は、アクチュエータ126を駆動するために使用される電流である。
【0034】
コンピューティングシステム136は、種々の要因に基づいて制御信号を決定してよい。更に、コンピューティングシステム136は、ドラム116の回転位置の関数として制御信号を変更させてよい。その上、ドラムの回転位置は、関数への入力として使用されてよい追加的なパラメータを導出するために使用されてよい。例えば、回転位置は、他のパラメータの中でも、位置、速度、力、加速度、方向の変化を導出するために使用されてよい。そのような関数は、任意の適切な方法で定義されてよい。一例において、関数は、1つ又はそれよりも多くの入力の定数又は時変関数である。一例において、関数は、入力に基づいて出力が線形補間される点のセットである。別の例において、関数は、入力が対応する範囲内にあるときに値を選択する値/範囲ペアのセットである。制御信号をこのように変更させることによって、触覚デバイス100は、殆ど又は全く無い知覚可能な抵抗からドラム116の完全ロックに及ぶ範囲の抵抗勾配を提供して、ドラム116の回転範囲内の指定された回転位置でレバー108のハードストップを作り出してよい。
【0035】
幾つかの例において、コンピューティングシステム136は、少なくともドラム116の回転位置に基づいて制御信号を決定してよい。例えば、ドラム116の回転位置の変化が、指輪102に加えられているユーザ作動力の量を示すことがあり、コンピューティングシステム136は、ユーザ作動力に対する適切なユーザ知覚抵抗を生成する制御信号を決定してよい。
【0036】
幾つかの例において、コンピューティングシステム136は、少なくとも何らかの他の形態のセンサフィードバックに基づいて制御信号を決定してよい。ある例として、触覚デバイス100は、力変換器又はセンサを含んでよく、制御信号は、力の表示に基づいて決定されてよい。一例において、力センサは、ユーザの指の指球によって加えられる力を検出するために指輪に配置される。他の例において、力センサは、レバーアーム、フレーム、又はそれらの両方に配置されてよい。
【0037】
幾つかの例において、コンピューティングシステム136は、少なくともコンピューティングシステム136の状態に基づいて制御信号を決定してよい。例えば、コンピューティングシステム136は、コンピューティングシステム136で実行されているビデオゲーム又は他のアプリケーションの状態に基づいて制御信号を決定してよい。コンピューティングシステム136が仮想環境において仮想オブジェクトが表示されるビデオゲームを実行する一例において、コンピューティングシステム136は、仮想オブジェクトの触感(例えば、硬い、柔らかい、ぐにゃぐにゃ(squishy))に対応するユーザ知覚抵抗を提供するよう制御信号を決定してよい。
【0038】
幾つかの例において、コンピューティングシステム136は、触覚デバイス100と相互作用するユーザの少なくとも同一性又はユーザプロファイルに基づいて制御信号を決定してよい。例えば、制御信号は、特定のユーザのためにカスタマイズされたユーザ知覚抵抗を提供するように決定されてよい。ある例として、ユーザ知覚抵抗は、仮想キーボードの仮想ボタンをシミュレートしてよく、ユーザ知覚抵抗は、キーの特定のボタン力又は移動距離をシミュレートするようにカスタマイズされてよい。別の例において、ユーザ知覚抵抗は、仮想ガンのトリガをシミュレートしてよく、ユーザ知覚抵抗は、トリガの特定の引き、重み又は移動距離をシミュレートするようにカスタマイズされてよい。
【0039】
幾つかの実装において、コンピューティングシステム136は、ゲームコンソール、仮想現実/混合現実/拡張現実デバイス(例えば、HMD)、デスクトップコンピュータ、ラップトップコンピュータ、又はスマートフォンのような、外部コンピューティングシステムの形態を取ってよい。そのような実装において、触覚デバイス100は、外部コンピューティングシステムと通信する周辺デバイスとして機能してよい。他の実施形態において、コンピューティングシステム136は、マイクロコンピュータ、又は触覚デバイス100に組み込まれたマイクロコントローラのような、オンボードコンピューティングシステムの形態を取ってよい。一例において、コンピューティングシステム136は、触覚デバイス100のフレーム118に取り付けられるマイクロプロセッサである。
【0040】
コンピューティングシステム136は、あらゆる適切な人間の動きに抵抗し或いはそのような人間の動きを制約するために、触覚デバイス100を制御する任意の適切な方法において、制御信号を決定してよい。図示された触覚デバイスは、ユーザの右手の人差し指とインターフェース接続するように構成されるが、触覚デバイスは、任意の適切な指とインターフェース接続するように構成されてよい。幾つかの実装において、触覚デバイスは、個々に又は一緒に、2つ又はそれよりも多くの指とインターフェース接続するか或いはそれらの指に抵抗を提供するように、幾つかの場合には、個々に又は一緒に、ユーザの手の全ての指とインターフェース接続するか或いはそれらの指に抵抗を提供するように、構成されてよい。幾つかの実装において、触覚デバイスは、指以外のユーザの身体の他の部分の動きの抵抗又は制約を提供してよい。幾つかの例において、触覚デバイスは、手首、肘、肩、首、股関節、膝、踝、又は踵のような、異なる関節の動きに抵抗するか或いはそれらの動きを制約するように構成されてよい。幾つかの実装において、触覚デバイスの構成は、ゲームコンソールのためのゲームコントローラのような、コンピューティングシステムのためのユーザ入力デバイスに組み込まれてよい。
【0041】
図3及び
図4は、
図1の触覚デバイス100がユーザの手に装着され、ユーザの指によって加えられるユーザの作動力に抗するユーザ知覚抵抗を提供する、例示的なシナリオを概略的に図示している。
図3において、触覚デバイス100は、ユーザの指300が指輪102にユーザ作動力を殆ど又は全く加えない休止位置を取っている。よって、レバー108は、完全延伸又は非作動位置を取り、ドラム116は、非回転状態(例えば、その回転範囲の一端)にある。更に、コンピューティングシステム136は、アナログエンコーダからドラム132の回転位置を受信し、アクチュエータ126がコード120に殆ど又は全く張力を加えないようにする制御信号をアクチュエータ126に送信する。
【0042】
図4において、ユーザの指300は、レバー108を作動させ、相応してドラム116を回転させる、ユーザ作動力(F
finger_close)を指輪102に加える。アナログエンコーダ132は、ドラム120の回転位置の変化を検出し、位置データをコンピューティングシステム136に送信する。コンピューティングシステム136は、少なくともドラム116の回転位置に基づいて制御信号を決定し、制御信号をアクチュエータ126に送信する。アクチュエータ126は、制御信号に基づいてコード120に張力を加える。コード120に加えられる張力は、コード120にドラム116を締め付けさせ、コード120とドラム116との間の摩擦を増加させてドラム116を制動し、ユーザ作動力に抗するユーザ知覚抵抗(F
finger_open)をレバー108に提供させる。
【0043】
所与の一連の方程式によって示されるように、
図2に示す方程式をこのシナリオに適用して、ユーザ作動力(F
finger_close)及びユーザ知覚抵抗(F
finger_open)を決定する。
【0044】
【0045】
【0046】
ここで、
[外0001]
は、ドラムの半径であり、
[外0002]
は、ドラムの回転軸に対する指の「半径」又は長さであり、T
loadは加えられるコード張力であり、T
holdは、コードがドラム上で滑らないようにするのに必要とされる最小のコード張力であり、μは、コードとドラムの間の摩擦係数であり、φは、ドラムの周りに巻かれたコードの全巻きによって掃引された全角度である。
【0047】
幾つかの実装において、触覚デバイスは、触覚デバイスの較正操作を実行して、触覚デバイスの寿命に亘って正確な抵抗を提供して、摩耗又はドリフトを補償する、ように構成されてよい。一例において、アナログエンコーダの出力及び触覚デバイスによって設定される制動力を使用して、更なる閉鎖の動きを検出してよい。そのような動きから、触覚デバイスは、有効ブレーキ抵抗が最初に設定された所望の量と異なることを推測するように構成されてよく、触覚デバイスは、知覚抵抗を調整して、追加的な動き/ユーザ作動力に抗してよい。この較正プロセスは、アナログエンコーダによって提供されるドラム/レバーアームの回転速度との組み合わせにおける、タッチ力に関する即時のフィードバックを提供する力センサの使用によって、更に支援されることができる。
【0048】
幾つかの実装において、触覚デバイスは、時間の経過に伴って触覚デバイスによって学習される個別の制動パターンに基づいて、ユーザ知覚抵抗の較正を実行するように構成されてよい。例えば、アナログエンコーダを用いて時間の経過に亘る閉路速度をトラッキングすることによって、ブレーキ係合のパターンを検出することができ、ブレーキパターンに基づいて制動力を調整して所望のブレーキ力を達成することができる。
【0049】
幾つかの実装において、触覚デバイスは、アクチュエータの待ち時間(latency)を補償するために、抵抗ブレーキと予測的に係合するように構成されてよい。例えば、指を曲げることによって引き起こされる閉じる速度は、触覚印象(haptic impressions)がユーザの知覚に合致するように、時間内に制動するためにアクチュエータの応答速度及び待ち時間を超えることがある。この差を緩和するために、触覚デバイスは、閉じる速度をトラッキングし、将来のときの閉じる角度を予測するように構成されてよい。ブレーキに係合するアクチュエータの既知の又は推定される待ち時間が与えられるならば、触覚デバイスは、ブレーキにより早く係合して、ユーザの指を所望の角度で実際に停止させることがある。
【0050】
幾つかの実装において、触覚デバイスは、触覚デバイスの機能性を拡張する追加的な構成を含んでよい。触覚デバイスに組み込まれてよい異なる構成の例が
図5~
図7に示されている。
図5は、指輪506上のユーザの指504の位置又は向きを決定するように構成されたトリガスイッチ502を含む例示的な触覚デバイス500を概略的に示している。具体的には、トリガスイッチ502は、ユーザの指の第1の関節504が指輪506に載り、ユーザの指504の端が指輪506の周りに巻きつくように、ユーザの指504の指球が指輪506に載るか或いはユーザの指504が曲げられるように、ユーザの指504が実質的に真っ直ぐであるかどうかを決定するように構成されてよい。ユーザの指504が曲げられるならば、ユーザの指は、例えば、ガンのトリガと同じ方法において、指輪504を握ることがある。
【0051】
幾つかの例において、トリガスイッチ502は、指輪506に連結されてよい。他の例において、トリガスイッチ502は、指輪506が回転可能に連結されるレバー508に連結されてよい。更に他の例において、トリガスイッチ502は、指輪506をレバー508に接続するジョイント(例えば、
図1に示すジョイント110)に連結されてよい。幾つかの例において、トリガスイッチ502は、指輪506とレバー508との間に連結される付勢バネ(例えば、
図1に示すトリガ付勢バネ112)に連結されてよい。
【0052】
トリガスイッチ502は、任意の適切なセンサ又は機構を使用して、指輪506上のユーザの指504の位置を決定してよい。一例において、トリガスイッチ502は、ユーザの指がトリガ位置を取るときに指輪506の回転に基づいて押されるボタンの形態を取る。別の例において、トリガスイッチ502は、指輪506の位置/回転の変化を検出するエンコーダを含む
【0053】
トリガスイッチ502は、指輪506上のユーザの指504の位置をコンピューティングシステム510に通信するように構成されてよい。コンピューティングシステム510は、少なくとも指輪506上のユーザの指504の位置に基づいて制御信号を決定するように構成されてよい。コンピューティングシステムは、制御信号をアクチュエータ512に送信して、コード514に張力を加え、コード514は、ドラム516を制動する摩擦を更に加えて、レバー508にユーザ知覚抵抗を提供させる。例えば、コンピューティングシステム508は、ユーザの指が真っ直ぐであるか或いは曲がられているかに基づいて、異なるユーザ知覚抵抗に対応する異なる制御信号を提供するように構成されてよい。ある例として、ユーザの指504が真っ直ぐであるとき、コンピューティングシステム510は、ドラム516の回転範囲に亘って一定であるユーザ知覚抵抗に対応する制御信号を提供してよい。ユーザの指504が曲げられているとき、コンピューティングシステム510は、ドラム516の回転位置まで線形に増加するユーザ知覚抵抗に対応する制御信号を提供してよく、ユーザ知覚抵抗は、その時点で減少する。そのようなユーザ知覚抵抗は、ガンのトリガのヒステリシス閾値をシミュレートすることがある。このタイプの機能性は、仮想現実又は他のゲームシナリオ、例えば、シューティングスタイルのビデオゲームにおいて現実的な触覚フィードバックを提供するために、有利に使用されてよい。
【0054】
幾つかの例において、トリガスイッチ502は、コンピューティングシステムと通信することなく、触覚デバイスの機能性を変化させることがある。例えば、トリガスイッチ502は、ドラム516をロックさせるトークン戻止め(token detent)をトリガジョイント内に含んでよい。このシナリオにおいて、指輪506は、トリガ抵抗を提供するために、付勢バネのバネ力のみに依存してよい。
【0055】
幾つかの実装において、触覚デバイスは、双方向であるように構成されてよい。
図6は、双方向抵抗を提供するように構成された例示的な触覚デバイス600を概略的に示している。触覚デバイス600は、軸(X軸)の周りを回転可能なドラム602を含む。ドラム602が回転すると、レバー604が作動するように、レバー604がドラム602に固定される。指輪606は、レバー604に回転可能に連結されている。第1のコード608が、第1の方向においてドラム602の周りに巻かれている。第1のコード608は、第1のアクチュエータ610に連結されている。第2のコード612が、第1の方向とは反対の第2の方向において、ドラム602の周りに巻かれている。第2のコード612は、第2のアクチュエータ614に連結されている。位置センサ616が、ドラム602の回転位置を決定するように構成される。コンピューティングシステム618が、位置センサ616からドラム602の回転位置を受信するように構成される。コンピューティングシステム618は、少なくともドラム602の回転位置に基づいて第1のアクチュエータ610を制御する第1の制御信号を決定するように構成される。第1のアクチュエータ610は、第1のコード608に張力を加えるように構成され、第1のコードは、ドラム602を制動する摩擦を加えて、レバー604に、第1の制御信号に基づいてユーザ作動力に抗するユーザ知覚抵抗を提供させる。例えば、第1の制御信号は、ドラム602の回転位置の関数として変化してよい。
【0056】
更に、コンピューティングシステム618は、少なくともドラム602の回転位置に基づいて、第2のアクチュエータ614を制御する第2の制御信号を決定するように構成される。第2のアクチュエータ614は、第2のコード612に張力を加えるように構成され、第2のコードは、ドラム602に摩擦を更に加えて、第2の制御信号に基づいて反対方向においてユーザ作動力に抗するユーザ知覚抵抗を提供する。例えば、第2のアクチュエータ614は、ユーザの指が(例えば、ユーザの指/手が開いている)延伸位置に移動しているときに、ユーザ知覚抵抗を提供するように制御されてよい。幾つかの例において、第2の制御信号は、ドラム602の回転位置の関数として変化してよい。
【0057】
幾つかの実装において、コード608及び612の両方のThold端は、別個のアクチュエータに接続される代わりに、単一のアクチュエータに接続されてよい。そのような実装において、コンピューティングシステムは、制御信号を介して単一のアクチュエータを制御することによって、反対方向においてドラムの制動を制御してよい。例えば、そのような実装は、両方向においてドラムを常に制動することが望ましい場合がある。
【0058】
幾つかの例において、コンピューティングシステム618は、第1のアクチュエータ610及び第2のアクチュエータ614を同時に協働して制御して、所望のユーザ知覚抵抗を達成してよい。他の例において、コンピューティングシステム618は、第1のアクチュエータ610及び第2のアクチュエータ614を制御して、異なる方向において交互に抵抗を提供してよい。
【0059】
幾つかの実装において、触覚デバイス600は、触覚デバイスに動作的に連結され、コンピューティングシステム618から受信する制御信号に基づいて振動するように構成される、振動触覚アクチュエータ620を含んでよい。一例において、振動触覚アクチュエータ620は、触覚デバイス602のフレームに連結される。振動触覚アクチュエータ620は、ドラム及びコードによって提供される抵抗とは異なって感じる追加的な触覚フィードバック源を提供してよい。例えば、そのような振動触覚フィードバックを使用して、コンピューティングシステムで実行されるビデオゲーム又はアプリケーション内の異なる事象をユーザに警告してよい。幾つかの実装において、触覚デバイス600は、指輪606に連結される指先ボイスコイルアクチュエータ(VCA)622を含んでよい。VCA622は、コンピューティングシステム618から受信する制御信号に基づいて振動するように構成されてよい。VCA622の振動は、ユーザの指が指輪606内に位置付けられるときに、ユーザの指の触感をシミュレートするために、作動させられるボタンのキンキンしたクリック(crisp click)のような、より高い周波数の力フィードバック体験を供給するために、使用されてよい。幾つかの実装において、VCA622は、触覚デバイスのフレームのような、触覚デバイス600の異なる部分に連結されてよい。
【0060】
幾つかの実装において、振動触覚フィードバックは、振動触覚アクチュエータを用いないで達成されてよい。代わりに、コンピューティングシステム610は、一方又は両方のアクチュエータ610及び614を制御して、ドラムが力抵抗方向に回転させられるときにドラム602及びレバー604を通じてユーザの指に変換される振動又はゴトゴトする感覚(rumble sensation)を生む非常に高い周波数で作動させてよい。
【0061】
幾つかの実装において、触覚デバイスは、
図7に示すように、バネを介して提供されるエネルギ貯蔵特性(energy storage characteristics)を有するユーザ知覚抵抗を選択的に提供するように構成されてよい。例示的な触覚デバイス700は、軸(X軸)の周りを回転可能なドラム702を含む。ドラム702が回転すると、レバー704が作動するように、レバー704がドラム702に固定されている。指輪706が、レバー704に回転可能に結合されている。第1のコード708が、第1の方向においてドラム702の周りに巻かれている。第1のコード708は、第1のアクチュエータ710に連結されている。第2のコード712が、第1のコード708と同じ方向において、ドラム602の周りに巻かれている。第2のコード712は、ドラム702の高力(T
load)側でバネ714に連結されている。第2のコード712は、ドラム702の低力(Thold)側で第2のアクチュエータ716に連結されている。レバー704が制動方向に回転させられると、ユーザは、バネ714の力を感じ、ユーザの指が閉じるときにより剛性の高いブレーキ機能を感じない。所望の効果を達成するために、バネ力及びブレーキ力の両方が同時に係合させられることができることに留意のこと。この場合、アクチュエータ716は、ドラムの回転に拘わらず、低張力側(T
hold)に一定の力を加える。よって、高張力側にバネ714を備える低張力側の小さなアクチュエータ716は協働して、バネ714と係合又は係合解除するクラッチとして作用する。
【0062】
位置センサ718は、ドラム702の回転位置を決定するように構成される。コンピューティングシステム720は、位置センサ718からドラム702の回転位置を受信するように構成される。コンピューティングシステム720は、少なくともドラム702の回転位置に基づいて、第1のアクチュエータ710を制御する第1の制御信号を決定するように構成される。第1のアクチュエータ710は、第1のコード708に張力を加えるように構成され、第1のコード708は、ドラム702を制動する摩擦を更に加えて、レバー704に、第1の制御信号に基づいてユーザ作動力に抗するユーザ知覚抵抗を提供させる。
【0063】
更に、コンピューティングシステム720は、バネ714を選択的に係合/係合解除するために、第2のアクチュエータ716を制御する構成される。バネ714が係合させられると、第2のアクチュエータ718は、第2のコード712に一定の張力を加えるように構成され、第2のコード712は、ドラム702を制動する摩擦を更に加えて、レバー704に、バネ714のバネ力に起因するエネルギ貯蔵特性を有するユーザ知覚抵抗を提供させる。
【0064】
幾つかの例において、コンピューティングシステム720は、バネ716を係合解除して、例えば、堅い表面をシミュレートするよう、エネルギ貯蔵特性を伴わないユーザ知覚抵抗を提供するために、第1のアクチュエータ710及び第2のアクチュエータ716を制御してよい。幾つかの例において、コンピューティングシステム720は、例えば、柔らかく且つぐにゃぐにゃした表面をシミュレートするよう、バネ714と係合して、エネルギ貯蔵特性を有するユーザ知覚抵抗を提供するために、第1のアクチュエータ710及び第2のアクチュエータ716を制御してよい。1つの具体的な例において、触覚デバイス700は、バネ荷重ボタンをシミュレートするために、この方法において制御されてよい。幾つかの例において、第1及び第2アクチュエータ710、716の両方は、バネ力を増幅させるように制御されてよい。幾つかの例において、コンピューティングシステム720は、第1のアクチュエータを制御して、ドラム702をロックしてよく、第2のアクチュエータ716を制御して、ユーザ知覚抵抗がバネ714のバネ力のみによって提供されるよう、バネ714と係合させてよい。
【0065】
幾つかの実装において、上述の触覚デバイスは、抵抗プロファイルに従ってドラム及び/又はユーザ作動可能なレバーの回転範囲の関数として変化するユーザ知覚抵抗を提供してよい。
図8~
図10は、上述の触覚デバイスによって可能にされることがある、異なる例示的なユーザ知覚抵抗プロファイルを示している。
図8は、触覚デバイスのための例示的なユーザ知覚抵抗プロファイル800を示している。抵抗プロファイル800は、ドラム及び/又はユーザ作動可能なレバーの移動/枢動/回転の距離に対するユーザ知覚抵抗のグラフ上にプロットされている。抵抗プロファイル800は、ドラムの全回転範囲の過程に亘ってユーザ作動可能なレバーによって提供されるユーザ知覚抵抗を特徴付ける。距離軸の原点は、ユーザ作動可能なレバーの完全延伸位置に対応する。図示の例では、ユーザ作動可能なレバーが完全延伸位置から離れて、回転範囲の他端にある完全後退位置に向かって後退すると、ユーザの指によって加えられる作動力に抗するようにユーザ作動可能なレバーに加えられる抵抗は、指定された回転位置802まで線形に増加する。ユーザ作動可能なレバーが指定された位置802にひとたび到達すると、抵抗は、ユーザ作動可能なレバーが完全後退位置に到達してハードストップ(hard stop)に直面するまで、回転範囲の残余について線形に急激に減少する。(明瞭性のためにオフセットされて破線で示されている)完全延伸位置への戻り経路で、抵抗は、異なる非線形又はヒステリシス経路を取る。
【0066】
抵抗プロファイル800は、触覚デバイスと通信するコンピューティングデバイスによって提供される制御信号に基づいてアクチュエータを起動することによって可能にされてよい。制御信号は、少なくともドラムの回転位置及び/又はユーザの指によってユーザ作動可能なレバーに加えられる作動力に基づいてよい。ドラムの位置は、触覚デバイスの位置センサによって決定されて、コンピューティングデバイスに送信されてよい。
【0067】
抵抗プロファイル800は、様々な実世界シナリオをシミュレートしてよい。例えば、抵抗プロファイルは、(ユーザが彼らの指を曲げて表面に触れると仮定する)仮想現実における静止表面又は(例えば、浮遊オブジェクトを突くか或いは押し離すための)浮遊オブジェクトとのタッチ接触をシミュレートすることができる。一例において、抵抗プロファイル800は、ボタン又はキーの押下げをシミュレートする。具体的には、抵抗が最大である位置802は、ドームスイッチ又はハサミ機構が潰されてキーが押されることを可能にする直前のボタン押下げの地点に対応してよい。別の例において、抵抗プロファイル800は、コンピューティングデバイスによって実行されるビデオゲームにおいてシミュレートされることがある実世界のガンのトリガ牽引(trigger pull)をシミュレートする。具体的には、抵抗が最大である位置802は、ハンマが落ちて実世界のガンを発射するトリガ牽引の地点に対応してよい。換言すれば、抵抗プロファイル800は、ガンの「クリック」を模倣する。
【0068】
図9は、ユーザ作動可能なレバーのためのハードストップを含む、別の例示的なユーザ知覚抵抗プロファイル900を示している。この抵抗プロファイルでは、レバーが完全延伸位置から離れて回転範囲の他端にある完全後退位置に向かって後退すると、ユーザの指によって加えられる作動力に抗するようユーザ作動可能なレバーに加えられる抵抗は、指定された位置902まで線形に増加する。ユーザ作動可能なレバーが指定された位置902にひとたび到達すると、抵抗は、ユーザがユーザ作動可能なレバーを更に完全後退位置に向かって容易に引っ張ることを妨げる抵抗まで増加する。換言すれば、ハードストップは、ユーザ作動可能なレバーの回転範囲を効果的に短縮する指定された位置902に作り出される。一例において、アクチュエータは、ドラムを指定された位置902でロックするのに十分な大きい張力をコードに加えてよい。(明瞭性のためにオフセットされて破線で示されている)完全延伸位置への戻り経路において、抵抗は、異なる非線形又はヒステリシス経路を取る。
【0069】
ハードストップは、任意の所望の回転範囲又はトリガ牽引長を作り出すために、ドラム及び/又はユーザ作動可能なレバーの回転範囲内の任意の適切な位置に作り出されてよいことが理解されるであろう。例えば、抵抗プロファイル900によって作り出されるより短い回転範囲は、ビデオゲームにおいて仮想兵器を迅速に発射することをより容易にするために、ユーザにとって望ましいことがある。
【0070】
図10は、ユーザ作動可能なレバーのための例示的なユーザ知覚双方向抵抗プロファイル1000を示している。双方向抵抗プロファイル1000は、双方向の動きを提供し得る触覚デバイスによって利用されてよい。例えば、
図6に示す触覚デバイス600は、プロファイル1000を利用してよい。双方向抵抗プロファイル1000は、時間に対するユーザ作動可能なレバーによって提供されるユーザ知覚抵抗のグラフ上にプロットされている。第1の期間1002の間に、ユーザ知覚抵抗は、ユーザ作動可能なレバーによって第1の方向において線形に提供される。第1の方向におけるユーザ知覚抵抗は、ユーザの指によってユーザ作動可能なレバーに加えられる作動力に抗するよう増加する。第2の期間1004の間に、ユーザ作動可能なレバーによって提供される第1の方向におけるユーザ知覚抵抗は、ピーク抵抗からゼロ抵抗まで減少する。第1及び第2の期間1002及び1004は、
図8の抵抗プロファイル800に類似するプロファイルを集合的に形成する。第3の期間1006の間に、ユーザの指は、第1の方向とは反対の第2の方向においてユーザ作動可能なレバーに作動力を加え、ユーザ作動可能なレバーは、第2の方向におけるユーザ作動力に抗する。
【0071】
上述のプロファイルは例として提供されており、非限定的であることが意図されることが理解されるであろう。ユーザ作動可能なレバーのユーザ知覚状態を調整するために、任意の適切な抵抗が提供されてよい。
【0072】
幾つかの実装では、複数の異なる抵抗プロファイルが予め決定されてよい。例えば、複数の異なる抵抗プロファイルが、触覚デバイスによって提供される抵抗フィードバックを通じてエミュレートされることがある実世界オブジェクトの特性に基づいて決定されてよい。コンピューティングシステムは、複数の抵抗プロファイルから1つ又はそれよりも多くの抵抗プロファイルを選択して、特定の動作条件の間に触覚デバイスを制御するように構成されてよい。一例において、コンピューティングシステムは、ユーザが相互作用(対話)している仮想オブジェクトを識別し、識別した仮想オブジェクトに基づいて抵抗プロファイルを選択してよい。コンピューティングシステムは、ユーザが仮想体験の過程に亘って相互作用する異なる仮想オブジェクトについて、この操作を繰り返してよい。換言すれば、異なる動作条件の間に、異なる抵抗プロファイルを使用して、触覚デバイスを制御してよい。別の例において、コンピューティングシステムは、ユーザの好みに基づいて抵抗プロファイルを選択してよい。例えば、ユーザは、特定の抵抗プロファイルによって特徴付けられる所望のトリガ抵抗(例えば、プルウエイト)を指定してよく、コンピューティングシステムは、ユーザが仮想ガンと相互作用するときに触覚デバイスを制御するために、その抵抗プロファイルを選択してよい。
【0073】
幾つかの実装において、本明細書に記載する方法及びプロセスは、1つ又はそれよりも多くのコンピューティングデバイスのコンピューティングシステムと結び付けられてよい。具体的には、そのような方法及びプロセスは、コンピュータ-アプリケーションプログラム又はサービス、アプリケーション-プログラミングインターフェース(API)、ライブラリ、及び/又は他のコンピュータプログラム製品として実装されてよい。
【0074】
図11は、上述の方法及びプロセスのうちの1つ又はそれよりも多くを定めることができるコンピューティングシステム1100の非限定的な実装を図式的に図示している。コンピューティングシステム1100は、簡略化された形態で示されている。コンピューティングシステム1100は、1つ又はそれよりも多くのパーソナルコンピュータ、サーバコンピュータ、タブレットコンピュータ、ホームエンターテインメントコンピュータ、ネットワークコンピューティングデバイス、ゲームデバイス、モバイルコンピューティングデバイス、モバイル通信デバイス(例えば、スマートフォン)、仮想現実デバイス、拡張現実デバイス、触覚デバイス、及び/又は他のコンピューティングデバイスの形態を取ってよい。例えば、コンピューティングシステム1100は、
図1、
図3、及び
図4に示されるコンピューティングシステム136、
図5に示すコンピューティングシステム510、
図6に示すコンピューティングシステム618、及び
図7に示すコンピューティングシステム722の代表であってよい。
【0075】
コンピューティングシステム1100は、論理機械1102と、記憶機械1104とを含む。コンピューティングシステム1100は、任意的に、ディスプレイサブシステム1106、入力サブシステム1108、通信サブシステム1110、及び/又は
図11に示さない他のコンポーネントを含んでよい。
【0076】
論理機械1102は、命令を実行するように構成された1つ又はそれよりも多くの物理デバイスを含む。例えば、論理機械1102は、1つ又はそれよりも多くのアプリケーション、サービス、プログラム、ルーチン、ライブラリ、オブジェクト、コンポーネント、データ構造、又は他の論理構造の部分である命令を実行するように構成されてよい。そのような命令は、タスクを実行するために、データタイプを実装するために、1つ又はそれよりも多くのコンポーネントの状態を変換するために、技術的効果を達成するために、或いは他の方法で所望の結果に到達するために、実装されてよい。
【0077】
論理機械1102は、ソフトウェア命令を実行するように構成された1つ又はそれよりも多くのプロセッサを含んでよい。追加的に又は代替的に、論理機械1102は、ハードウェア又はファームウェア命令を実行するように構成された1つ又はそれよりも多くのハードウェア又はファームウェア論理機械を含んでよい。論理機械1102のプロセッサは、シングルコア又はマルチコアであってよく、その上で実行される命令は、逐次、並列、及び/又は分散処理のために構成されてよい。論理機械1102の個々のコンポーネントは、任意的に、遠隔的に配置されてよい且つ/或いは協調処理のために構成されてよい、2つ又はそれよりも多くの別個のデバイス間に分散されてよい。論理機械1102の態様は、クラウドコンピューティング構成に構成された遠隔アクセス可能なネットワーク化されたコンピューティングデバイスによって仮想化されてよう、実行されてよい。
【0078】
記憶機械1104は、本明細書に記載する方法及びプロセスを実装するために論理機械1102によって実行可能な命令を保持するように構成される1つ又はそれよりも多くの物理デバイスを含む。そのような方法及びプロセスが実装されるとき、記憶機械1104の状態は、例えば、異なるデータを保持するために、変換されてよい。
【0079】
記憶機械1104は、取外可能なデバイス及び/又は内蔵デバイスを含んでよい。記憶機械1104は、とりわけ、光学メモリ(例えば、CD、DVD、HD-DVD、Blu-Ray Discなど)、半導体メモリ(例えば、RAM、EPROM、EEPROMなど)、及び/又は磁気メモリ(例えば、ハードディスクドライブ、フロッピーディスクドライブ、テープドライブ、MRAMなど)を含んでよい。記憶機械1104は、揮発性、不揮発性、ダイナミック、スタティック、読出し/書込み、読出し専用、ランダムアクセス、順次アクセス、場所アドレス指定可能、ファイルアドレス指定可能、及び/又はコンテンツアドレス指定可能なデバイスを含んでよい。
【0080】
記憶機械1104は、1つ又はそれよりも多くの物理デバイスを含むことが理解されるであろう。しかしながら、本明細書に記載する命令の態様は、代替的に、有限の持続時間に亘って物理デバイスによって保持されない通信媒体(例えば、電磁信号、光信号など)によって伝搬されてよい。
【0081】
論理機械1102及び記憶機械1104の態様は、1つ又はそれよりも多くのハードウェア-論理コンポーネントに一緒に統合されてよい。そのようなハードウェア-論理コンポーネントは、例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定プログラム及び特定用途向け集積回路(PASIC/ASIC)、特定プログラム及び特定用途向け標準製品(PSSP/ASSP)、システムオンチップ(SOC)、及び複雑なプログラマブル論理デバイスを含んでよい。
【0082】
「プログラム」及び「エンジン」という用語は、特定の機能を実行するために実装されるコンピューティングシステム1100の態様を記載するために使用されることがある。ある場合には、プログラム又はエンジンが、記憶機械1104によって保持された命令を実行する論理機械1102を介して例示化されてよい。異なるプログラム及び/又はエンジンが、同じアプリケーション、サービス、コードブロック、オブジェクト、ライブラリ、ルーチン、API、機能などから例示化されてよいことが理解されるであろう。同様に、同じプログラム及び/又はエンジンは、異なるアプリケーション、サービス、コードブロック、オブジェクト、ルーチン、API、機能などによって例示化されてよい。「モジュール」、「プログラム」及び「エンジン」という用語は、個々の又はグループの実行可能なファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベースレコードなどを法難することがある。
【0083】
含められるとき、ディスプレイサブシステム1106は、記憶機械1104によって保持されるデータの視覚的表現を提示するために使用されることがある。この視覚的表現は、グラフィカルユーザインターフェース(GUI)の形態を取ることがある。本明細書に記載する方法及びプロセスは、記憶機械によって保持されるデータを変更し、よって、記憶機械の状態を変換するので、ディスプレイサブシステム1106の状態は、同様に、基礎となるデータの変化を視覚的に表すように変換されてよい。ディスプレイサブシステム1106は、実質的に任意のタイプの技術を利用する1つ又はそれよりも多くのディスプレイデバイスを含んでよい。そのようなディスプレイデバイスは、共有される筐体内の論理機械1102及び/又は記憶機械1104と組み合わせられてよく、或いは、そのようなディスプレイデバイスは、周辺ディスプレイデバイスであってよい。
【0084】
含められるとき、入力サブシステム1108は、キーボード、マウス、タッチスクリーン、又はゲームコントローラのような、1つ又はそれよりも多くのユーザ入力デバイスを含んでよく、或いはそれらとインターフェース接続してよい。入力サブシステム1108は、ゲームコントローラ、空気渦巻きマシン、触覚フィードバックヘルメット、触覚フィードバックベスト、触覚フィードバックシューズ、及び他の触覚フィードバック衣類のような、1つ又はそれよりも多くの触覚デバイスを含んでよく、或いはそれらとインターフェース接続してよい。幾つかの実装において、入力サブシステムは、選択された自然ユーザ入力(NUI)コンポーネントを含んでよく、或いはそれらとインターフェース接続してよい。そのようなコンポーネントは、統合されてよく、或いは周辺的であってよく、入力行為の変換及び/又は処理は、オンボード又はオフボードで処理されてよい。例示的なNUIコンポーネントは、発話及び/又は音声認識のためのマイクロホン、機械視覚及び/又はジェスチャ認識のための赤外線、カラー、立体、及び/又は奥行きカメラ、運動検出及び/又は意図認識のためのヘッドトラッカー、アイトラッカー、加速度計、及び/又はジャイロスコープ、並びに脳活動を評価するための電界感知コンポーネントを含んでよい。入力サブシステム1108は、1つ又はそれよりも多くの入力デバイスとの通信を確立するように構成された任意の適切なハードウェアコンポーネントを含んでよい。例えば、入力サブシステム1108は、入力デバイス及び触覚デバイスと通信するように構成された有線又は無線(例えば、Bluetooth(登録商標)、Wi-Fi)通信チャネルを含んでよい。入力サブシステムは、通信インターフェースの一例である。
【0085】
含められるとき、通信サブシステム1110は、コンピューティングシステム1100を1つ又はそれよりも多くの他のコンピューティングシステムと通信的に連結するように構成されてよい。通信サブシステム1110は、1つ又はそれよりも多くの異なる通信プロトコルと互換性のある有線及び/又は無線通信デバイスを含んでよい。非限定的な例として、通信サブシステム1110は、無線電話ネットワーク、有線又は無線のローカル又はワイドエリアネットワークを介して、通信するように構成されてよい。幾つかの実装において、通信サブシステム1110は、コンピューティングシステム1100がインターネットのようなネットワークを介して他のデバイスにメッセージを送信し且つ/或いは他のデバイスからメッセージを受信することを可能にすることがある。
【0086】
ある例では、触覚デバイスが、軸について回転するように構成されるドラムと、ドラムの周りに巻かれるコードと、ドラムに動作的に連結され、ユーザ作動力を受けるように構成される、ユーザ作動可能なレバーと、ドラムの回転位置を決定するように構成される位置センサと、コードに動作的に連結され、コードに張力を加えるように構成される、アクチュエータとを含み、コードは、更に摩擦を加えてドラムを制動して、ユーザ作動可能なレバーに、ユーザ作動力に抗するユーザ知覚抵抗を提供させ、ユーザ知覚抵抗は、ドラムの回転位置の関数として変化する。この例及び/又は他の例において、ユーザ知覚抵抗は、複数の所定の抵抗プロファイルから選択されるドラムの回転範囲についての抵抗プロファイルに従って変化するように構成される。この例及び/又は他の例において、抵抗プロファイルは、ユーザ知覚抵抗がドラムの回転範囲の少なくとも一部に亘って線形に変化することを識別してよい。この例及び/又は他の例において、抵抗プロファイルは、ドラムの回転範囲内の指定される位置にハードストップを含んでよい。この例及び/又は他の例において、触覚デバイスは、コンピューティングデバイスに通信的に連結される通信サブシステムを更に含んでよく、通信サブシステムは、ドラムの回転位置をコンピューティングデバイスに送信し、コンピューティングデバイスからフィードバック信号を受信する、ように構成され、アクチュエータは、コードに張力を加えて、ユーザ知覚抵抗を提供するよう、信号に基づいて制御され、ユーザ知覚抵抗は、少なくともコンピューティングデバイスのパラメータに更に基づいて決定されてよい。この例及び/又は他の例において、ユーザ作動力は、第1の作動方向において加えられる第1のユーザ作動力であってよく、コードは、第1の方向においてドラムの周りに巻かれる第1のコードであってよく、アクチュエータは、第1のアクチュエータであってよく、触覚デバイスは、第1の方向とは反対の第2の方向においてドラムの周りに巻かれる第2のコードと、第2のコードに動作的に連結され、第2のコードに張力を加えるように構成される、第2のアクチュエータとを更に含んでよく、第2のコードは、ドラムに更に摩擦を加えて、ユーザ作動可能なレバーに、第1の作動方向とは反対の第2の作動方向において第2のユーザ作動力に抗するユーザ知覚抵抗を提供させる。この例及び/又は他の例において、コードは、第1のコードであってよく、アクチュエータは、第1のアクチュエータであってよく、触覚デバイスは、更に、ドラムの周りに巻かれる第2のコードと、第2のコードに連結され、ユーザ作動可能なレバーを付勢するように構成される、バネと、第2のコードに動作的に連結され、第2のコードに張力を加えるように構成される、第2のアクチュエータとを含んでよく、第2のコードは、更に摩擦を加えてドラムを制動し、ユーザ作動可能なレバーに、バネのバネ力を含み且つユーザ作動力に抗するユーザ知覚抵抗を提供させる。この例及び/又は他の例において、ユーザ作動可能なレバーは、トリガジョイントを含んでよく、触覚デバイスは、更に、トリガジョイントに動作的に連結される指輪であって、ユーザの指の周りを包み込んで、ユーザ作動力に基づいてトリガジョイントについて回転するように構成される、指輪を含んでよい。この例及び/又は他の例において、触覚デバイスは、指輪とユーザ作動可能なレバーとの間に動作的に連結されるトリガ付勢バネを更に含んでよい。この例及び/又は他の例において、ユーザ作動可能なレバーは、指輪上のユーザの指の位置を決定するように構成されるトリガスイッチを含んでよく、ユーザ知覚抵抗は、少なくとも指輪上のユーザの指の位置に基づいて決定されてよい。この例及び/又は他の例において、触覚デバイスは、触覚デバイスに動作的に連結され、コンピューティングシステムから受信する信号に基づいて振動するように構成される、振動触覚アクチュエータを更に含んでよい。この例及び/又は他の例において、触覚デバイスは、触覚デバイスに動作的に連結され、コンピューティングシステムから受信する信号に基づいて仮想テクスチャを伝達するように振動するように構成される、ボイスコイルアクチュエータを更に含んでよい。
【0087】
ある実施形態では、触覚デバイスが、軸について回転するように構成されるドラムと、ドラムの周囲に巻かれるコードと、ドラムに動作的に連結され、ユーザ作動力を受け取るように構成される、ユーザ作動可能なレバーと、ドラムの回転位置を決定するように構成される位置センサと、コンピューティングデバイスに通信的に連結され、ドラムの回転位置をコンピューティングデバイスに送信し、コンピューティングデバイスからドラムの回転位置の関数として変化する信号を受信するように構成される、通信サブシステムと、コードに動作的に連結され、コードに張力を加えるように構成される、アクチュエータとを含み、コードは、更に摩擦を加えてドラムを制動して、ユーザ作動可能なレバーに、信号に基づいてユーザ作動可能なレバーに抗するユーザ知覚抵抗を提供させる。この例及び/又は他の例において、ユーザ知覚抵抗は、複数の所定の抵抗プロファイルから選択されるドラムの回転範囲の抵抗プロファイルに従って変化するように構成されてよい。この例及び/又は他の例において、ユーザ知覚抵抗は、ドラムの回転範囲内の指定される位置にハードストップを含んでよい。この例及び/又は他の例において、ユーザ知覚抵抗は、少なくともコンピューティングデバイスのパラメータに基づいて更に決定されてよい。この例及び/又は他の例において、ユーザ作動力は、第1の作動方向において加えられる第1のユーザ作動力であってよく、コードは、第1の作動方向においてドラムの周囲に巻かれる第1のコードであってよく、アクチュエータは、第1のアクチュエータであってよく、信号は、第1の信号であってよく、触覚デバイスは、更に、第1の方向とは反対の第2の方向においてドラムの周りに巻かれる第2のコードと、第2のコードに動作的に連結され、第2のコードに張力を加えるように構成される、第2のアクチュエータとを含んでよく、第2のコードは、更にドラムに摩擦を加えて、ユーザ作動可能なレバーに、第2の信号に基づいて第1の作動方向とは反対の第2の作動方向において第2のユーザ作動力に抗するユーザ知覚抵抗を提供させる。この例及び/又は他の例において、コードは、第1のコードであってよく、アクチュエータは、第1のアクチュエータであってよく、触覚デバイスは、更に、ドラムの周りに巻かれる第2のコードと、第2のコードに連結され、ユーザ作動可能なレバーを付勢するように構成される、バネと、第2のコードに動作的に連結され、第2のコードに張力を加えるように構成される、第2のアクチュエータとを含み、第2のコードは、更に摩擦を加えてドラムを制動して、ユーザ作動可能なレバーに、バネのバネ力を含み且つユーザ作動力に抗するユーザ知覚抵抗を提供させる。この例及び/又は他の例において、触覚デバイスは、触覚デバイスに動作的に連結され、コンピューティングシステムから受信する信号に基づいて仮想テクスチャを伝達するように振動するように構成されるボイスコイルアクチュエータを更に含んでよい。
【0088】
ある例では、触覚デバイスが、軸について回転するように構成されるドラムと、第1の方向においてドラムの周りに巻かれる第1のコードと、第1の方向においてドラムの周りに巻かれる第2のコードと、第2のコードに動作的に連結されるバネと、ドラムに動作的に連結され、ユーザ作動力を受け取るように構成される、ユーザ作動可能なレバーと、ドラムの回転位置を決定するように構成される位置センサと、コンピューティングデバイスに通信的に連結され、ドラムの回転位置をコンピューティングデバイスに送信し、コンピューティングデバイスからドラムの回転位置の関数として変化する第1の信号を受信し、且つコンピューティングデバイスから第2の信号を受信するように構成される、通信サブシステムと、第1のコードに動作的に連結され、コードに張力を加えるように構成される、第1のアクチュエータであって、コードは、更に摩擦を加えてドラムを制動して、ユーザ作動可能なレバーに、第1の信号に基づいてユーザ作動力に抗する第1のユーザ知覚抵抗を加えるように構成される、第1のアクチュエータと、第2のコードに動作的に連結され、第2のコードに張力を加えるように構成される、第2のアクチュエータであって、第2のコードは、更にドラムに摩擦を加えて、ユーザ作動可能なレバーに、バネのバネ力を含み且つ第2の信号に基づいてユーザ作動力に抗する第2のユーザ知覚抵抗を提供させる、第2のアクチュエータとを含む。
【0089】
本明細書に記載する構成及び/又はアプローチは、本質的に例示的であり、これらの特定の実施形態又は例は、限定的な意味において考えられてならないことが理解されるであろう。何故ならば、数多くの変形が可能であるからである。本明細書に記載する特定のルーチン又は方法は、任意の数の処理戦略のうちの1つ又はそれよりも多くを表すことがある。よって、例示の及び/又は記載の様々な行為は、図示の及び/又は記載のシーケンスで、他のシーケンスで、平行して、或いは省略されて実施されてよい。同様に、上述のプロセスの順序も変更されてよい。
【0090】
本開示の主題は、様々なプロセス、システム及び構成、並びに本明細書に開示する他の構成、機能、行為、及び/又は特性、並びにそれらのありとあらゆる均等物の、全ての新規且つ非自明な組み合わせ及びサブ組み合わせを含む。