JP4750234B2 - 力フィードバック装置 - Google Patents

力フィードバック装置 Download PDF

Info

Publication number
JP4750234B2
JP4750234B2 JP08857398A JP8857398A JP4750234B2 JP 4750234 B2 JP4750234 B2 JP 4750234B2 JP 08857398 A JP08857398 A JP 08857398A JP 8857398 A JP8857398 A JP 8857398A JP 4750234 B2 JP4750234 B2 JP 4750234B2
Authority
JP
Japan
Prior art keywords
force
force effect
host computer
feedback device
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP08857398A
Other languages
English (en)
Other versions
JPH117355A (ja
Inventor
ティモシー、オズボーン
マノリト、イー.アーダン
ビン、アン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JPH117355A publication Critical patent/JPH117355A/ja
Application granted granted Critical
Publication of JP4750234B2 publication Critical patent/JP4750234B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/015Force feedback applied to a joystick

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Ropes Or Cables (AREA)
  • Laying Of Electric Cables Or Lines Outside (AREA)
  • Materials For Medical Uses (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般的にはある種の装置のユーザにフィードバック力を与えるための装置と方法、更に詳しくは、通信リンクを介してホストコンピュータにより局所プロセッサに指示されている装置中の局所プロセッサによって発生する触覚効果をレンダリング(rendering)するための装置と方法に関する。
【0002】
【従来の技術】
力フィードバックは、ユーザの入力に応答する力を発生することによって、ジョイスティックのような制御装置のユーザに対するタッチの感覚(以下触感効果という)をシミュレートすることが出来、あるいはまたバーチャルワールド環境中での状態をシミュレートするフィードバック力を生成することが出来る。典型的には、力フィードバック装置は、少なくとも機械的にユーザに力を伝達する装置の能力よりも速いサーボループ速度を持つサーボモーターを使用する。例えば、最高サーボループ速度が50Hzの比較的動きの堅い機構を持つ力フィードバック装置のユーザには、現実的な触感効果を知覚するようになるには500Hz以上のサーボループ速度を必要とする。
【0003】
歴史的には、サーボモーターがユーザに希望する触感効果を伝達し、または希望する触感効果を与えることが出来るようにサーボモーター用の計算値をレンダリングするために、ホストコンピュータが使用されている。先行技術では、このような効果を与える時には、その効果はユーザに伝達するための力フィードバック装置にホストコンピュータによってダウンロードされる。多くのホストコンピュータは計算値をリアルタイムでレンダリングすることが可能であるが、計算集約的なホストコンピュータによって実行される同時アプリケーションでは、ユーザに対する触感効果の計算とそれに続く伝送とに待ち時間を生じることがある。待ち時間が生じた場合は常に、触感効果は同時のアプリケーションと最早同期せず、ユーザはリアルタイムでその効果を経験するようにはならない。従って触感により意図されリアルの感覚は、このような問題により悪影響を受け、またスプリング等の閉ループ効果が不安定となる可能性がある。
【0004】
ユーザに力フィードバック効果をレンダリングするための先行技術に於いて一般に使用される技術には、2種類の技術がある。第1の技術はアプリケーションに使用される効果を記憶することの出来る記憶装置を有する力フィードバック装置を使用するものである。その効果は触感フィードバック装置へコマンドを送るアプリケーションによって、または触感フィードバック装置の制御装置を起動するユーザに応答して、能動化される。ホストコンピュータは、記憶された効果に対するパラメータを提供し、触感フィードバック装置は供給されたパラメータに基づいて力出力を生成するに過ぎない。
【0005】
第2の技術では、ホストコンピュータと力フィードバック装置とは、共通の「ワールドビュー」、即ち共通のシミュレーションを共有する。ホストコンピュータは、バーチャルワールド中のグラフィックと音とをレンダリングし、バーチャルワールド中の対象とそれらの形状との特徴とを力フィードバック装置に指示する。力フィードバック装置はバーチャルワールドの形状をレンダリングして、動く被対象物の処置をホストコンピュータに報告する。重要なことは、両方の手法共に、リアルタイムの触感効果をレンダリングする場合に固有の問題点を持っていることである。第1の手法では、各触感効果の時間間隔を変化させ、またその効果をユーザへの伝達をスケジュールするために、力フィードバック装置と連続して対話を行なうことがホストコンピュータに要求される。第2の手法では、バーチャルワールド中に配置された対象物の形状と位置を計算するために力フィードバック装置に多量の処理力を集中させることが要求される。
【0006】
【発明が解決しようとする課題】
明らかに、力フィードバック効果をレンダリングするための手法としては、上記の先行技術の問題点を避けることが要求される。力フィードバック装置によって複数の指示された触感効果を発生するようにスケジューリングして、これらの効果を力フィードバック装置とホストコンピュータとの間に広範囲な通信を必要とすることなく実行できるようにすることが好ましい、アプリケーションで使用される効果は、力フィードバック装置中に記憶されるのでなければ、ホストコンピュータから力フィードバック装置中のプロセッサにダウンロード可能でなければならない。ホストコンピュータは、或る効果に割当てられた識別コードに基づいてその効果が発生されることを或るアプリケーションが要求したときに、その効果をプロセッサに適用すべきであることを指示することが出来なければならない。力フィードバック装置中のスケジューラは、それらの効果がホストコンピュータと力フィードバック装置との間にそれ以上の相互作用を要求されることなく、プロセッサによってレンダリングされる順序を管理しなければならない。非常に複雑な効果を与えることが出来るようにシーケンシャル効果、連結効果、または重ね合わせ効果をスケジュールすることが可能でなければならない。現在公知の先行技術の触感制御システムでは、このような効果のリアルタイムなレンダリングを達成するための手法は行なわれていない。
【0007】
【課題を解決するための手段】
本発明に従えば、力フィードバック装置は、ホストコンピュータからのリクエストに応答してスケジュールされた力効果を発生するものと定義される。力フィードバック装置は、その力フィードバック装置のユーザが握るように構成された部材を含んでいる。動力源がその構成材と結合されており、その構成材に作用する力を発生する。動力源にはプロセッサが接続されており、力効果をレンダリングして駆動信号を発生し、駆動信号は動力源に接続される。駆動信号によって動力源は力効果に対応する力を発生する。プロセッサによってスケジューラが実行されて力効果をスケジューリングして、ホストコンピュータによって要求された時間間隔中に力効果を発生する。通信リンクはホストコンピュータをプロセッサに連結し、また力効果をスケジュールするために力効果をレンダリングする要求をホストコンピュータからプロセッサへ搬送する。
【0008】
スケジューラは、ホストコンピュータから受け取ったコマンドに応答して力効果についての実行順序を確立する。好ましくは、スケジューラはホストコンピュータから受け取ったコマンドに応答して発生した各力効果について開始時間と停止時間とを確立する。
【0009】
各時間間隔の長さを決定するために、サーボクロックを使用する。スケジューラはサーボクロックに応答して力効果の存続期間を制御する。複数の力効果を同時に実行することができ、それらの複数の力効果を重ね合わせることができる。一般に1つの力効果が他の複数の力効果を含む様にすることもできる。
【0010】
ホストコンピュータから最初に受け取った力効果のプロファイルと、そのプロファイルに割当てられた識別子とを記憶するために記憶装置が設けられている。スケジューラは、力効果をスケジュールするときにホストコンピュータから要求される各力効果の固有の識別子を使用する。例えば、力効果を修正するために、ホストコンピュータはその固有の識別子とそれ以前にプロセッサに記憶されていたプロファイルのパラメータの修正変更を伝送して、プロセッサは力効果をレンダリングするときにそのパラメータの修正変更を利用する。
【0011】
プロセッサは、スケジューラによって結合されて単一の力効果を構成するホストコンピュータからの複数の力効果のプロファイルを受け取ることができる。この単一の力効果は次いで固有の識別子を割当てられる。
【0012】
本装置には予め定義した力効果プロファイルのテーブルを記憶する記憶装置が含まれている。各プロファイルにはそれぞれ固有識別子が含まれており、スケジューリングされた発揮すべき力効果に含まれている各定義済みの力効果を識別するときにスケジューラによって使用される。
【0013】
各力効果は複数の異なるクラスの1つに属している。この複数の異なるクラスには、挙動クラス、ウエーブテーブルクラス、合成クラス、可変パラメータクラスおよび処理リストクラスとが含まれる。
【0014】
またこの力フィードバック装置には、プロセッサに結合されたスイッチが含まれている。スケジューラは、スイッチが作動したときに力効果がプロセッサによってレンダリングされるように力効果をスイッチにマッピングする。プロセッサは、スイッチにマッピングされるべき力効果を示すリクエストをホストコンピュータから受け取る。スケジューラは、スイッチが入ったときに、スイッチにマッピングされた力効果を直ちにをレンダリングして発生し、またスイッチがそれ以上作動しないときには、力効果の発生を停止することができる。
【0015】
好ましくは、通信リンクはゲームポートと楽器デジタルインタフェースポートとを有している。別法としては、通信リンクは汎用直列バスポートを有している。
【0016】
力フィードバック装置の好ましい形態では、複数の動力源がグリップ要素に結合されている。複数の動力源の少なくとも1つがグリップ要素に作用して各力効果を生成する。
【0017】
またユーザがグリップ要素を握っているか否かを示す信号を生成するための検知器が設けられている。検知器にはまたプロセッサが結合され、またユーザがグリップ要素を握っていないときには、検知器に応答して動力源により力効果が生成しないようになっている。
【0018】
複数の同時に実行される力効果から成る重ね合わせ力効果が、スケジューラによって制御される複数のスケジューリングされた力効果の中に含まれる。更に、シーケンシャルに実行される複数の力効果より成るシーケンシャル力効果と、シーケンシャルに実行され且つ所定の包絡線を持つ複数の連結された力効果とを含むシーケンシャル力効果が、スケジューラによって制御される複数のスケジューリングされた力効果中に含まれている。シーケンシャル制御される複数の力効果の振幅は包絡線によって制御される。
【0019】
本発明のその他の側面は力効果を発生する装置を制御する方法を対象としている。この方法には、この方法には、以上に説明した力フィードバック装置の要素により実行される機能と一般に一致した工程を含んでいる。本発明の上述の側面およびこれに伴う利点の多くは、添付の図面との関係に於いて以下の詳細な説明を参照することにより理解の深まるにつれて、いっそう容易に評価されるようになるであろう。
【0020】
【発明の実施の形態】
触感ジョイスティックと力フィードバックシステムの概観
図1について説明する。図1には力フィードバック(触感)ジョイスティック11が示されているが、本発明の好ましい実施の形態の典型的な適用として、バーチャル環境中、即ちここで説明するゲームで、ユーザのタッチの感覚をシミュレートするために使用される。ジョイスティック11は、ユーザが手で握り、2次元(X軸およびY軸)で旋回することができ、またZ軸の回りを回転することができる制御ハンドル13を備えている。触感ジョイスティックは、トリガスイッチ15、複数の押しボタンスイッチ19、ハットスイッチ21および回転可能な制御ノブ23(典型的にはスロットル制御用に使用される)を有している。触感ジョイスティックに取付けられたその他のスイッチはこの図には示されていない、ユーザが開始した制御動作に関係した手触りの感覚および/またはフィードバックを達成するために、ジョイスティックの基盤17内に配置されている直流サーボモーターによって力が発生される。力(X軸とY軸のいずれかまたは両方に関係する)は制御ハンドルを介して伝達されて、ユーザはそれを感じ取る。
【0021】
図2には、ジョイスティック11を含む力フィードバックシステム31の概要が示されている。ホストコンピュータ33がプロセッサ35に接続されている。プロセッサ35は、好ましい実施の形態に於ける場合のようにマイクロコントロール装置(MCU)を有してもよく、またはMCU用に使用される単一の集積回路中に含まれている記憶装置、アナログ・デジタル変換器(ADC)等の付加的な離散的構成材を有するマイクロプロセッサまたは中央演算処理装置を有することもできる。ホストコンピュータからのコマンドおよびプロセッサからの応答は、通信リンク41を経て伝送される。ホストコンピュータ33は、力効果についてのパラメータを送信し、この通信リンクを通ってプロセッサ35によって. レンダリングされるべき効果を指示する。力効果をレンダリングするプロセッサから生じる駆動信号はプロセッサ35によって、ユーザに伝達するための触感力を発生するアクチュエータ39に供給される。位置検知器37がプロセッサ35に接続されており、ジョイスティック制御ハンドルの位置を示す出力信号がプロセッサに供給されるか、またはホストコンピュータに送信される。
【0022】
ホストコンピュータ33で実行するアプリケーションが力効果を使用するときには常に、ホストコンピュータは典型的には、アプリケーションによってサポートされる力効果用の力のプロファイル(データ構造とパラメータ)をプロセッサ35へダウンロードする。典型的には、ダウンロード操作は、アプリケーションを起動したときに完成される。力効果のプロファイルが触感ジョイスティックにダウンロードされると、プロセッサは識別番号を各力効果に結び付ける。1つの識別番号は、以下に詳細に説明するように、数個の力効果の組み合わせを表わすことも出来る。識別番号はプロセッサ35によってホストコンピュータ33に提供される。レンダリングをユーザが経験できるように力効果をレンダリングすることをアプリケーションが要求すると、ホストコンピュータ33は識別番号と、その識別番号によって識別された力効果のレンダリングに必要なパラメータの修正とをプロセッサ35に指示する。この方法では、ホストコンピュータ33とプロセッサ35との間の通信リンク41について要求される帯域幅は最小化され、また触感力効果を扱うためのホストコンピュータへの計算負荷も最小となる。好ましい実施の形態ではプロセッサ35は各力効果についての識別番号を発生し、それをその力効果についての特定のプロファイルデータと共にホストコンピュータ33に通信するが、別法として識別番号をホストコンピュータによって予め指定して、プロセッサに通信させるようにすることも出来る。第3の別法は、力効果のすべてに指定された同一の識別番号をホストコンピュータ33とプロセッサ35とがそれぞれ独立に判別するように、ホストコンピュータ33とプロセッサ35の両方によって実行される共有アルゴリズムを使用することである。いずれの場合にも、識別子を常に適用するように、各力効果はプロセッサ24とホストコンピュータ33との間で通信される時に、その力効果に関して常に使用される識別番号を割当て、その識別番号を一定して適用することが不可欠である。
【0023】
触感ジョイスティック回路の詳細
触感ジョイスティックを制御する場合に使用する回路100を図3に示す。この図について説明すると、電源12がMCU10(図2のプロセッサ35に対応する)のPWR出力に接続されている。ユーザがMCU10とその他のジョイスティック内部の関連電気部品を作動させることが出来るように、電源スイッチ14がMCU10の入力ポートIN2に接続されている。更に、電源用LED16がMCU10の入力ポートに接続されて、電源スイッチ14が入っている時に点灯する。ユーザがジョイスティックのハンドルを握っているときを検出するために、送信器(即ち光源)18と受信器(即ち光検知器)20とを有する光学的スイッチが設けられている。MCU10の出力ポートOUT4が送信器18に接続されており、またMCU10の入力ポートIN1が受信器20に接続されている。MCU10内に含まれている読み出し専用記憶素子(ROMは図示されていない)内に記憶されたプログラムは、発信器と受信器との間の光路を遮断するユーザの手によって生じる受信器からの出力信号の変化に応答して、ユーザがジョイスティックのハンドルを握っているか否かを判別する。
【0024】
Y軸の直流サーボモーター22とX軸の直流サーボモーター24とは、MCU10の出力ポート1と出力ポート2とに、それぞれ接続されている。回路100の構成部品を冷却して過熱を防止するために、ファンモーター26がMCU10の出力ポートOUT3に接続されている。ホストコンピュータ32はMCU10に接続されている。コード(図示されていない)が触感ジョイスティック11からゲームポートよびホストコンピュータの通信ポートCOM1に延びている。また、より新しいコンピュータのUSBポートを、ゲームポートとCOM1ポートの代わりに、ホストコンピュータとMCUの間の通信路用に使用することも出来る。
【0025】
ゲームポートはジョイスティック制御ハンドルの方位と回転位置、およびその他の状態を示すデジタル信号を、ホストコンピュータ32で操作するアプリケーションに伝送するためにMCU10により使用される。ゲームポートのボタン列がデジタルプロトコル中のデータ値とクロック値とを伝送するために使用される。通信ポートCOM1は2方向性で、コマンド応答を触感ジョイスティックからホストコンピュータに送るため、およびホストコンピュータからジョイスティックにコマンドを伝送するために使用される。例えば、力効果コマンドがホストコンピュータによって、通信ポートCOM1を介してMCU10に供給される。好ましい実施の形態では、通信ポートCOM1は最初にホストコンピュータ32と通信するために、楽器デジタルインタフェース(MIDI)を使用する。
【0026】
更に、MCU10はホストコンピュータに連結されて、ゲームポート上の特別な「ドングル(dongle)」信号状態を検知することが出来る。この特別な状態では、ホストコンピュータにデータを伝送するために、MIDIプロトコルの代わりに直列インタフェースプロトコルを通信ポートCOMIを使用すべきであることがMCU10に指示される。この特別の状態が検出されると、MCU10は自動的にCOM1ポートの機能性を、RSー232等の標準の直列インタフェースプロトコルの機能性に切り換える。ゲームポートとの通信中に、直列インタフェースプロトコルはデータを、通信ポートCOM1を通って毎秒約38.4キロビットの速度で2方向に伝送する。このようにして、ユーザはオペレーティングシステムまたは音響カードで触感ジョイスティックを楽しむことが出来るが、本発明の適正な操作に必要な方法ではMIDIプロトコルを支援しないようにすることも出来る。
【0027】
力効果は、典型的にはMCU10によって実行される機械語命令(ソフトウエアプログラム)に従ってスケジューリングされ、レンダリングされる。このプログラムはMCU内のROMに記憶される。効果データその他の変数は、同様にMCU内に含まれているランダムアクセス記憶装置(RAM)にロードされる。力効果は、その力効果のパラメータを定義する方程式またはその他のデータをY軸直流モーター22および/またはX軸直流モーター24に適用する駆動信号を発生するために用いられ、モーターはそれに対応する力を発生し、その力は触感ジョイスティックの制御ハンドルに加えられる。その結果、レンダリングされた効果がジョイスティックのユーザにより制御ハンドルを介してユーザの手に働く力として体験される。
【0028】
X軸位置LED34およびY軸位置LED36とがそれぞれMCU10の出力ポートOUT5と出力ポートOUT6に結合されている。更に、スロットルLED40がMCU10の出力ポートOUT7に結合されている。X軸位置LED、Y軸位置LEDおよびスロットルLEDによって放射される光は、時間多重化され、四分位置検出器40の表面に投射される。この位置検出器は4つの4分円内のこれらの各LEDから受けとった光に応答し、多重化され、またMCU10のIN4入力ポートに加えられる検知器位置信号を発生する。MCU10によって実行されるプログラムは、多重化位置信号を使用してジョイスティックハンドルとスロットルの正確な位置を決定する。ここで重要なのは、プログラムが2つのLEDのみを使用してジョイスティックのX軸、Y軸および回転位置を決定することである。
【0029】
先行技術のジョイスティックは典型的には、ユーザまたは力効果が制御ハンドルを変位させていない時に制御ハンドルを中心に位置させるためにスプリングまたは弾性のバンドを使用している。触感ジョイスティック11は、スプリングを使用する代わりに、X軸とY軸の直流サーボモーターを使用してセンタリング力を制御ハンドルに加える。四分位置検出器40が制御ハンドルの位置と制御ハンドルの中心位置に対する相対的変位とを検知する。次いでMCU10が制御ハンドルをセンタリングするために駆動信号を2つの直流サーボモーターに供給する。ここで明らかなことであるが、力効果が適用されているときに、直流サーボモーターによって適用される力は制御ハンドルを中心位置から変位させることが出来る。しかし更に典型的には、ユーザが制御ハンドルを握っている間に、ユーザによって制御ハンドルが中心位置から変位すると、MCUが直流サーボモーターにコマンドを送り、変位が生じた軸の1つまたは両軸にハンドルに作用する力を与え、この力は制御ハンドルを中心位置に戻すように作用する。ユーザにとっては、中心位置から離れるように制御ハンドルを動かすことは、典型的には制御ハンドルが再び中心位置に来るまでその運動に逆らうように加えられる力を生じることになる。復元力は力効果のレンダリングの結果であることがあり、従って従来のスプリング力、正または負の非線形力またはそれよりも複雑な力として現われることがある得る。その他の力がアプリケーションによって加えられていない時には、デフォルトは、直流サーボモーター22と24とによって加えられる力の代わりに、スプリングによってジョイスティックが中心に位置づけされているとした場合にユーザが期待するような効果に対応するセンタリングスプリング力効果である。センタリングスプリング力効果は。全ての制御ハンドル位置での最大力の動的範囲について無効化されることが出来る。
【0030】
好ましい実施の形態に於いて、PB1スイッチ28からPB13スイッチ30までの13のスイッチ/押しボタンがそれぞれMCU10のIN5からIN17までの入力ポートに接続されている。これらのスイッチは以下のように構成される。即ち、(a)1つのトリガースイッチがジョイスティックのハンドルに、即ち図1のトリガー15に配置され、(b)3つのスイッチがジョイスティックの制御ハンドルに取付けられて、(c)5つの押しボタン19がジョイスティックの基盤上に配置され、その内の1つがシフトキーの機能を持ち、また(d)ハットスイッチを含む4つのスイッチがあり、そのハットスイッチはジョイスティックの制御ハンドルに配置されている。好ましい実施の形態に於いて、MCU10は25MHz、16ビットのマイクロコントローラであって、48キロバイトのROM、2キロバイトのRAM、8つのアナログーデジタル(AーD)変換器入力ポートおよび複数の入力および出力ポートを有している。AーD変換器ポートは制御ハンドルの位置を決定し、電源によって供給される電力を検知し、デッドマン型のスイッチを備え、また制御ハンドルの位置をセンタリングし、また較正するために使用される。また出力ポートOUT1およびOUT2に生じる信号は、MCU10がX軸直流サーボモーター22とY軸直流サーボモーター24とによって発生する力を非常に正確に制御出来るようにパルス幅変調(PWM)されている。
【0031】
力効果をレンダリングするときに使用される論理
本発明の1つの重要な側面は、制御ハンドルを介してユーザに伝達される力効果のレンダリングを制御するために使用される技術である。本発明では力効果のレンダリングを制御するためにMCU10によりソフトウエアで実行されるスケジューラを使用する。ユーザに伝達される力効果の順序付けとタイミングをとるためにスケジューラによって使用される論理段階を図4に示す。スタートブロックから始まって、論理はブロック102に進み、そこでサーボクロックの現在値が取り出される。殆どの処理装置と同様に、MCU10は全てのタイミング機能について使用される時間基準を含んでいる。本発明では、力効果をレンダリングするときにサーボクロックの1目盛りを決定するために、時間基準を使用する。また現在のサーボクロック値は、MCU10の電源が入ったときに最初に記憶される。判断ブロック104では、現在のサーボクロック値と記憶されているサーボクロック値との間の差がそのサーボクロックの1目盛りより大きいかどうか、本発明の好ましい実施の形態では2ミリ秒より大きいかどうか、について判断が行なわれる。その差がこの時間間隔以下であるときには、手続きは判断ブロック104で肯定判断がなされるまでブロック102を通るループに継続する。サーボクロックの1目盛りが経過すると、論理はブロック104へ進み、そこでサーボクロックの現在値が記憶される。次にブロック106に於いて、制御ハンドルの位置値が記憶される。四分位置検出器40からの信号は多重化されて、制御ハンドルのX軸位置、Y軸位置および回転位置の指示を決定するために使用される。これらの値を記憶したのち、論理はブロック108に進み、2ミリ秒前に記憶した値に関係した記憶位置値の変化に基づく制御ハンドルに対する速度値を決定する。記憶した位置値と速度値とは、ノイズにより誘導される誤差を濾波される。更に濾波後の速度値は、2ミリ秒早く測定された、前の速度値に対する制御ハンドルの速度の変化を決定することによって、制御ハンドルの記憶されている加速値を決定するために使用される。
【0032】
濾波後の位置値、濾波後の速度値および加速度値が記憶されると、論理はブロック110へ進み、また押しボタンとジョイスティックに関係する種々のスイッチの状態が、活動状態表を用いたボタンリスト用に更新され、現在作動している押しボタンとスイッチとが示される。論理はブロック112に移動し、データパケットがホストコンピュータへの伝送用に構成される。データパケットは丁度記憶された位置値と押しボタンの状態とを含んでおり、またホストコンピュータがデータパケットを提供するようにMCU10に要求しなくとも各サーボクロックの1目盛りごとに形成される。
【0033】
論理はブロック114に進み、インターロック(デッドマン型の光学的スイッチ)の状態が記憶される。インターロックの状態は発信器18と受信器20との間の光学的経路がブロックされているか否かによって決まる。論理はブロック116へ進み、また待機中のホストコンピュータのコマンドと装置応答が解析される。ブロック116については図5および図6の説明中に詳記する。論理は次にブロック118に進み、そこでボタンリストの作動押しボタンまたはスイッチに関係した力効果がレンダリングされ、またレンダリングから生じた力効果が合計される。例えば、ユーザが「空中戦」シミュレーションゲーム・アプリケーション中のジェット戦闘機上の機銃を発射するようにトリガー15を作動したとすると、ボタンリスト中の機銃に関係したフィードバック力効果が、生じた力が制御ハンドルに加えられるようにレンダリングされる。論理がブロック120に進むと、そこで現在のサーボクロック目盛りについてスケジューリングされたプレーリスト上の力効果がレンダリングされ、合計される。
【0034】
次に判断ブロック122に於いて、ユーザがジョイスティックのハンドルを握っているかどうかについての判別が行なわれる。ユーザがハンドルを握っていると、光学経路が遮断されて、力効果の発生が可能となる。対照的に、光学経路がハンドルを握ったユーザによって遮断されていないときは、力効果の発生は不能となり、論理はブロック102に戻る。判断ブロック122での判断が正しいと、論理はブロック124に進む。ボタンリストとプレーリストの両方からのレンダリングと合計された力効果が互いに加算され、レンダリングされる力効果の全合計を作成し、X軸とY軸の直流サーボモーター用の駆動信号を発生する。最後に、論理ループはブロック102に戻り、次のサーボクロック目盛り中に生じる力効果の判別を開始する。
【0035】
ここで図5の説明に移る。図5は、ブロック118で実行される解析段階を詳細に示している。スタートブロックから進んで、論理は判断ブロック126に進み、ホストコンピュータからのコマンドを受け取るためのコマンド待ち行列が空いている否かについての判断が行なわれる。コマンド待ち行列は循環先入れ先出し(FIFO)データ構造を持っている。本発明の好ましい実施の形態に於いて、コマンド待ち行列は長さ8バイトで、サーボクロックの1目盛りごとに(2マイクロ秒ごとに)空になる。判断ブロック126の判別が真であると、論理は解析ルーチンからジャンプして図4の主論理流れ図に戻る。コマンド待ち行列が空いていない時には、論理はブロック128に進み、またコマンド待ち行列中の最初のデータ項目(バイト)はコマンドバッファ中に移動する。
【0036】
コマンドバッファは128バイトまでのデータ項目を保留することができ。従って非常に複雑なコマンドもホストコンピュータ32からMCU10に渡すことが出来る。しかし、大抵のホストコマンドは比較的長さが短い。正弦波形の力効果を生成するためのコマンドはコマンドバッファ中で30バイト程度を消費することがあるが、既にダウンロードされている正弦波力効果を修正または実行するためのその他のコマンドの中には僅かに3バイト程度を消費するに過ぎないものがある。従って、ホストコンピュータがまず力効果のプロファイル、即ちROMに記憶されていない力効果を定義するデータ構造とパラメータ、を最初にダウンロードした後に、ホストコンピュータと、力効果のレンダリングを制御するためのプロセッサとの間のコマンドがサーボクロックの1目盛り中に通常提供される。
【0037】
次にブロック129に於いて、コマンドバッファ書き込みポインタが増分される。各コマンドは、コマンドバッファに対する1対の読み取りポインタと書き込みポインタを持っている。書き込みコマンドバッファポインタは、データ項目がコマンドバッファに書き込まれる毎に増分される。読み取りコマンドバッファポインタは、各データ項目が実行用にコマンドバッファから読み取られる毎に増分される。このようにして、読み取りポインタと書き込みポインタの値が互いに等しく、ゼロよりも大きい時には、コマンドバッファ中に書き込まれたコマンドがまたそのバッファから確実に読み出されたことを確認する検査が行なわれる。
【0038】
判断ブロック130で、データ項目が新しいコマンドの演算コード(第1バイト)を含んでいるか否かについての判別が行なわれる。真であれば、論理はブロック132に移り、新しいコマンドフラグが真に設定される。そのループをブロック126へ戻って、コマンド待ち行列が空いているか否かについてもう一度判別が行なわれる。もしも判別が否定であると、論理は、コマンド待ち行列の次の最初のデータ項目がコマンドバッファ中に記憶されることを規定するブロック128に進む。判断ブロック130での判別が否定であると、論理は判断ブロック134に移り、コマンドバッファ中のコマンドが完全であるか否かについて、即ち現在のデータ項目がそのコマンドの最後のバイトであるか否かについて、判断するためにもう一度判別が行なわれる。もしも否定であると、論理は判断ブロック134に於ける判別が真になるまで判断ブロック126にループバックする。
コマンドバッファ中のコマンドが完全であると判断されると、論理は判断ブロック136に移り、そこでホストコンピュータとジョイスティックとの間でのデータ通信用に指定されているMIDIチャネルを通ってコマンドが伝送されているか否かについての判別が行なわれる。この判別はミュージックシンセサイザー・コマンド等の、MCU10用に意図されていない、MIDIコマンドを濾波して取り除くのに役立つ。判断ブロック136での判別が誤りであると、論理はブロック138に移り、そこでコマンドバッファ用の読み込みポインタと書き込みポインタとが、ゼロに設定される。次に、ブロック124に於いて、新しいコマンドフラグが誤りに設定される。論理の流れは再び判断ブロック126に戻り、プログラムはいずれかのコマンドがホストコマンド待ち行列中に残っているか否かを判別する。
【0039】
判断ブロック136での判別が肯定判断であると、プログラムは図5Bに示すようにブロック140に進む。コマンドの健全性が、そのコマンドの第1バイト中のコマンド演算コードをジョイスティックについての正しいコマンドのルックアップテーブルと比較することによってチェックされる。論理は判断ブロック142に進み、新しいコマンドのコマンド演算コードが妥当コマンドのルックアップテーブル中に見出されたか否かについて判別がなされる。否であると、論理はブロック148に移動し、否定確認(NACK)応答が装置(ジョイスティック)応答待ち行列に置かれ、その応答待ち行列は直ちにホストコンピュータに送信される。論理は図6に示したように、ブロック124へジャンプする。ブロック124では、新しいコマンドフラグが誤りに設定される。次に論理はブロック126に進み、論理のフローは図5に関して前に説明したように最初から再開される。
【0040】
判断ブロック142での判断が真であると、論理はブロック144に進む。コマンド中のデータの健全性が、コマンドについての検査合計を実行し、そのコマンドについての正確なバイト数がコマンドバッファ中に存在するか否かを判別することによって、評価される。判断ブロック146に於いて、論理はコマンドが健全であるか否か、即ちコマンドが両方のデータ健全性検査を通過したか否かを判別する。もし否であると、論理はブロック148に移り、否定確認(NACK)応答がホストコンピュータ32への伝送用の装置応答待ち行列中に置かれる。もしも判別が真であれば、論理はコマンドバッファ中のコマンドを実行することを規定したブロック150に進む。コマンドバッファ中の各データ項目が実行されると、読み取りコマンドバッファポインタが増分される。次に、論理は判断ブロック151に進み、コマンドが実行に失敗したか否かについて判別する。読み取りと書き込みのコマンドバッファポインタの値が比較されて、コマンドの実行中に正しいバイト数が読み取られたか否かが判別される。両方のポインタが同一の値を持っていないと、論理はブロック148に移動し、否定確認(NACK)応答がホストコンピュータ32への伝送用の装置応答待ち行列中に置かれる。しかし、読み取りおよび書き込みコマンドバッファポインタが同一の値を持つ時は、論理はブロック152に移動し、肯定確認(ACK)応答が装置応答待ち行列中に置かれる。肯定確認(ACK)応答がホストコンピュータ32に伝送されると、論理は(図6中の)ブロック24にジャンプする。新しいコマンドフラグが偽に設定され、論理の流れは判断ブロック126に移り、方法100の論理段階が再度新たに開始出来るようになる。
【0041】
装置応答待ち行列中の肯定確認(ACK)応答と否定確認(NACK)応答は、同一のMIDIチャネルのホストコンピュータに送られ、そこでコマンドがホストコマンド待ち行列用のMCU10によって受信される。装置応答待ち行列は、一度に2つの肯定確認(ACK)/否定確認(NACK)応答(6バイト)よりも僅かに多くを含むに十分な大きさ(8バイト)であるので、それらの応答はMCUによって各データ項目が判断された後にホストコンピュータに送られる。MIDIプロトコルは6.25バイトのデータを2ミリ秒毎にホストコンピュータに伝送することが出来る。またコマンドのサイズ、ACK/NACK応答および診断メッセージの長さは少なくとも3バイトである。従って、サーボ目盛り1目盛り当たりの装置応答待ち行列中に登録される応答は2応答以下である。これと対蹠的に、ホスト用に構成され、位置値とボタン/スイッチ状態値を含む各ゲームポート・データパケットはMCUによって要求毎にホストコンピュータに伝送されるだけである。
【0042】
触感ジョイスティックによる力効果のレンダリングが所定の時間長さ(好ましい実施の形態では40ミリ秒)を超えているいがどうかを判別するために、ウオッチドッグタイマが使用される。コマンドの実行時間が40ミリ秒を超えると判別されると、力効果のレンダリングと発生が失敗したと判別されたことになり、論理は直ちにプログラムの実行を中断し、また論理のフローがスケジューラの全工程の実行を再開できるように、MCU10中に含まれているプロセッサをリセットする。
【0043】
コマンドセットの例示
このこの好ましい実施の形態に於いては、複数のコマンドが図4、図5および図6の論理によって示されたプログラムにより実行されるが、有効なコマンドのリストの一部を下記の表に例示する。
【0044】
【表1】
Figure 0004750234
上の表1に示したコマンドリストは少なくとも5種類のコマンド、即ち効果、プレイバック、ユーティリティ、効果操作および生産が、明示されている。装置コマンドセットにより、本発明はホストコンピュータ32によりMCU10に伝送される非常に多様な力効果とシステムの処理手順を実現することが出来る。
【0045】
スケジューラと力効果の種別
スケジューラは、MCU10によって実行されるソフトウエアで実行されるが、主としてホストコンピュータにより要求された力効果を触感ジョイスティックがレンダリング出来るようにする役割を果たす。スケジューラは力効果のプレイバックを命令するプレイリストを実行するためのラウンドロビン待ち行列を持っている。力効果には5つのクラスがある。即ち挙動、合成、ウエーブテーブル、可変パラメータおよび処理リストの5クラスである。各クラスの効果は、ホストコンピュータにより変更可能な少なくとも1つのパラメータおよびその他の1つのクラスの力を他のクラスから識別する特徴を有している。挙動力効果は力効果を発生するために位置、速度および/または加速度の値を使用する力プロファイルを有している。これらの値は、ユーザが制御ハンドルを動かしたときに、そのハンドルの動きに応答してMCU10によって決定される。例えば摩擦力、制動力、慣性、スプリングおよび恒常力は全て触感ジョイスティックの制御ハンドルを動かすユーザに応答して発生する挙動効果である。従って、挙動効果は、バーチャルワールド内の仮想対象物の動きに関係した力効果をシミュレートするのに特に適している。
【0046】
合成効果は時間可変性である数式の関数として、MCU10によってレンダリングされる。これらの合成効果式は多項式、変換係数、正弦波形、余弦波形および三角波形を含んでいる。合成効果についてホストコンピュータによって修正可能なパラメータには、方向、周波数および包絡線(力効果の時間変更振幅)が含まれている。
【0047】
ウエーブテーブルの力効果は、MCU10のRAMまたはROM中のテーブルに記憶されている任意のプロファイルに基づいてそのMCUによりレンダリングされる。これらの力効果は合成された力効果に類似しており、相違点は力データが所定のサーボ目盛りについて得られる方法に於いてのみである。ホストコンピュータからダウンロードされたウエーブテーブルの力効果はいずれもRAMに記憶されるが、定義済みのウエーブフォーム力効果はMCU10内のROMに記憶される。押しボタンまたはスイッチは力効果のいずれのクラスにもマッピングされることが出来るので、RAMまたはROMのいずれかに記憶されているウエーブテーブル効果にマッピングすることも出来る。ROM中に記憶されたウエーブテーブルの部分的効果と、各力効果に割当てられたROMの識別番号と各力効果に適用されるパラメータ(出力速度、利得および存続期間)のリストの一部を下表2に示す。
【0048】
【表2】
Figure 0004750234
力効果の第4のクラス、即ち可変パラメータ、は上で説明した挙動、合成およびウエーブテーブルの各力効果の組み合わせを含んでいる。この組み合わせ力効果のパラメータは数式の関数として、またはジョイスティックの制御ハンドルの配置に従って、時間を切り換える変数であることが出来る。可変パラメータ力効果の例には、スプリングの振幅を変調するための正弦波と、ジョイスティック制御ハンドルを動かすときの速度が増加するにつれてより強くなるウエーブテーブル効果とを含んでいる。レンダリング中の力効果のパラメータを、ホストコンピュータの代わりにMCUによって変化出来るようにすることが著しく望まれる。ホストコンピュータに、リアルタイムでパラメータを変化させることと、プロセッサを連続的に更新することが要求されたとすれば、タスクはコンピュータ負荷を相当に増加することになると考えられる。
【0049】
注目すべきことは、スケジューラが、現在のサーボクロック目盛りについてスケジュールされているプレイリスト上の全ての力効果を重ね合わせ、従ってMCUだけで現在の目盛りに対するこれらの力効果の合計をレンダリングすることである。或る力効果と関係したスイッチまたは押しボタンがユーザが作動すると、その力効果についての識別番号がプレイリストに入力され、またMCUによってレンダリングされる。更に、力効果が加えられる時間間隔は通常スイッチ/押しボタンが作動したままとなっている時間に等しい。
【0050】
処理リスト、プレイリストおよびボタンリスト
処理リスト力効果は、最初の4つの力効果クラス、即ち挙動力効果、合成力効果、可変パラメータ力効果およびウエーブテーブル力効果、の組み合わせのレンダリングを規定する処理リストに基づいている。処理リストには、重ね合わせ、シーケンシャルおよび連結の3つの種類がある。重ね合わせ処理リスト中に含まれる力効果は全て同時に発生される。ここで重要なのは、重ね合わせ処理リストは各力効果の存続期間に従ってそのリスト上の各力効果を実行することである。このようにして、リスト上の力効果は、種々の時間で停止し、また開始することがあり、従って全ての力効果の重ね合わせは、リストされた力効果の全てが発生されているときに、処理リストの総括的存続期間のその部分に対してのみ生じる。処理リスト中に含まれるいずれの力効果も、そのパラメータに指定された力効果の期間が完了すると終了することができ、その他の力効果は生成され続けることが出来る。
【0051】
シーケンシャル処理リストは、そのリスト中にシーケンシャルに含まれる力効果のシーケンシャルなレンダリングと発生を規定し、従って連続する各力効果は直前の力効果が完了し後にのみ発生される。ここで重要なのは、各力効果がその力効果のパラメータ中に指定された振幅包絡線を保持することである。シーケンシャル処理リストは常に各力効果を別々に、その力効果の規定期間が完了するまで実行する。その後に於いてのみ、シーケンシャル処理リストの次の力効果がMCUによってレンダリングされて、発生される。
【0052】
連結処理リストは、そのリストの力効果が、リスト上に現われる順序で個別にレンダリングされ、また発生するので、シーケンシャル処理リストに類似している。しかし、連結処理リストではまた、そのリストに含まれている力効果の個別に定義された振幅包絡線に代わって総括的な振幅包絡線が呼び出される。従って、連結処理リスト中の個々の力効果は、総括的振幅包絡線下でシーケンシャル実施されるが、この総括的振幅包絡線によって各力効果についてプロファイルパラメータ中に示された振幅を有意に修正することができる。
【0053】
更に、処理リストは他の処理リストに対してネストされた基準を含むことが出来る。この方法で、複数の処理リストをネスト化して非常に複雑な力効果をレンダリングしまた発生するようにすることが出来る。処理リストは、力効果の複雑な組み合わせを、その組み合わせに指定されている単一のコマンド(識別番号)で呼び出すことが出来る点でサブルーチン呼び出しに似ている。プレイリスト上で使用可能な処理リストはサーボクロックの増分(目盛り)ごとにスケジューラによって実行されるが、処理リストはその処理リストの個々の力効果をレンダリングおよび発生した後に、それ自身の処理リストクロックを使用して個々の力効果をタイムアウトさせる。
【0054】
スケジューラによって実行されるプレイリストは、恐らく特別な場合の重ね合わせ処理リストとして最も良く理解することが出来る。プレイリストは、各サーボクロックの各目盛りごとにホストコンピュータにより指示された全ての力効果の識別子を入力順に順序付けしている。プレイリストは、サーボクロック目盛り毎に完全にトラバースされるので、MCUによってレンダリングされる実際の力効果は、その時間に示されるプレイリスト上の全ての効果の総和である。更に各力効果は関連する存続期間を持ち、また力効果に対する残りの時間はプレイリストのトラバース毎に計算される。力効果はMCUの記憶装置中に以後に使用するために記憶されたままであるが、タイムアウトしているプレイリスト上に初めから在った力効果は不活動とマークされて、そのリストから除去される。
【0055】
ホストコンピュータは発生中の力効果のパラメータを、その力効果についての新しいパラメータと識別番号とを含むコマンドをMCUに送ることによって、リアルタイムで変更することができる。しかし、力効果はレンダリング中はMCUによって変更されない。その代わりにレンダリング中の変更は、ホストコマンド解析ルーチンで同期的に実行される。また力効果は、ホストコンピュータがその力効果の識別番号と希望の動作とを示す時に開始し、また停止することが出来る。停止された力効果がその存続期間カウンタがタイムアウトする前に再開される時は常にその存続期間カウンタはその中断が発生する前に記憶されている初期値で再開される。
【0056】
上述したように、ボタンリストは作動したスイッチと押しボタンの状態を含んでおり、またプレイリストとは別個にMCUによって維持される。典型的には、ボタンリストは、1対1の対応で特定の押しボタンまたはスイッチにマッピングされている力効果の識別番号を含んでいる。しかし、複数の力効果に対応する複数の識別番号を単一のスイッチまたは1つの押しボタンにマッピングすることも出来る。ホストコンピュータはスイッチと押しボタンのマッピングを指示し、またはユーザが所望の力効果を特定の押しボタンまたはスイッチにマッピング出来るようにすることも可能である。1つの力効果にマッピングされた押しボタンまたはスイッチが入りの状態にあるときには、力効果がプレイリストに加えられ、その押しボタンまたはスイッチが解除されるまでリスト中に残る。従って、押しボタンまたはスイッチの状態(入り/解除の状態)に変化を生じると、マッピングされた効果はプレイリストに加えられ、またはプレイリストから除去される。
【0057】
力効果の対象の例
図7は力効果の対象168の一般概要図である。力効果の対象に適用される特別のデータ構造154は、ブロック256の力効果クラス、ブロック160の存続期間値およびデータポインタ158を含んでいる。ブロック156は力効果のクラス、即ち、挙動、ウエーブテーブル、合成、または可変パラメータを示すために使用される。データポインタ158は特定の力効果のパラメータを記憶するために使用されるデータ構造162の記憶装置内のアドレスを指示し、またデータ構造162はブロック164内の第1のパラメータからブロック166のn番目のパラメータまでを含んでいる。データ構造154およびデータ構造162が力効果の特定のクラスの力プロファイルを作成するために使用されると、力効果の対象168に識別番号が指定される。
【0058】
ホストコンピュータは、識別子を使用してMCU10によりレンダリングするための特定の力効果を指示するので、ホストコンピュータでは、特定の力効果を示するのに2つのデータ構造の識別を記憶するように実際のメモリを割り当てる必要はない。その代わりに、MCU10は、力効果をレンダリングできるように、力効果に適用するデータ構造についての対応する記憶位置に、力効果についての識別番号を変換するタスクを有している。この方法より、力効果のレンダリングを示すためにホストコンピュータに要求される演算オーバーヘッドは激減する。また、ホストコンピュータ32は、関連する力効果の識別番号を規定するコマンドを送るだけでデータ構造162内に含まれているパラメータの値を更新することができ、そのパラメータに新しい値を提供する。
【0059】
この好ましい実施の形態において、MCU10は、16の力効果プロファイルと16の識別番号についてRAM内に所定の記憶位置を有している。ホストコンピュータ32からMCU10にダウンロードされた力効果プロファイルは、特定の順番で供給され、MCUにより力効果プロファイルを記憶するために割り当てられたRAMの量を保存することができる。ホストコンピュータ32は、先ず初めに、全ての非処理リスト力効果についての力効果プロファイルをMCU10に供給し、ホストコンピュータは、そのプロファイルがMCUにダウンロードされた後に各力効果に指定された識別番号を受け取る。次に、ホストコンピュータ32は、MCU10により提供された識別番号を使用して、MCUにダウンロードされた処理リスト力効果についての力効果プロファイルを識別する。本発明の別の実施形態では、ホストコンピュータによりダウンロードされた力効果プロファイルの数とタイプを整合させるように、力効果プロファイル用に割り当てられたRAMの量の動的スケーリングを行なうようにすることもできる。
【0060】
処理リストの対象169の概要を図8に示す。処理リストは力効果の対象の特別の場合であるが、これは力効果リストに必要な存続期間値は処理リストの対象には適用されないからである。処理リストの対象169は、ブロック190およびデータポインタ192での処理としてクラスを識別する一般データ構造188を使用するが、ブロック194の存続期間値は含まれない。その代わりに、処理リストの対象の存続期間は、データポインタ192によって指示されるメモリアドレスの特定のデータ構造170内に含まれている値により決定される。注目すべきは、識別番号は、処理リストの対象169と関係付けて、ホストコンピュータ32があたかも単一の効果を表わしている力効果の対象であるかのように処理リストをMCUに示すことができることである。
【0061】
データ構造170は、ブロック172の処理タイプ、ブロック174の効果指標1からブロック182の効果指標nまでを含む複数の効果指標、およびにブロック176と184の関連存続期間値を含んでいる。存続期間のデフォルト値は、個々の効果データ構造について最初にダウンロードされた値である。しかし、存続期間値はホストコンピュータによってデフォルト値から修正することもできる。ブロック172の処理タイプは、リストにより識別された効果がプロセッサによりどのようにレンダリングさせられるか、例えば、重ね合わせか、連結か、またはシーケンシャルか、を示す。リストフラグの末端部186は、処理リストによって指標付けされた全ての効果が識別されたことを表わす。
【0062】
次に、図9について説明する。同図は典型的な処理リストの対象169’の拡大図である。一般的なデータ構造188はブロック190を含み、これはクラスをプロセスリストオブジェクトとして識別する。データポインタ192は処理リストの対象のための特定データ構造170’のメモリアドレスを指示し、またブロック172’は処理リストの対象がシーケンシャルであることを示している。ブロック174’の効果指標1は別の特定データ構造154’を示し、またその特定構造のブロック156’は力効果クラスがウエーブテーブルであることを規定している。ブロック160’の存続期間値(75)はデータ構造154’と関連しているが、ブロック176’の力効果存続期間が処理リストに対するウエーブテーブル効果の実際の存続期間(存続期間)を決定する。この実施形態においては、処理リスト存続期間値は75サーボ・クロック目盛りであり、ウエーブテーブル効果の存続期間値と同じである。しかし、これらの値が異なる場合には、ウエーブテーブル力効果が生成される処理リスト上の時間の長さの決定において、ブロック176’の力効果存続期間値がブロック160’の存続期間値に置き代わる。
【0063】
特定データ構造154’は、またウエーブテーブル力効果のパラメータを記憶するためのデータ構造162’を示すデータポインタ158’を含んでいる。データ構造162’はブロック164’のパラメータ1で始まりブロック166’のパラメータnで終了する。
【0064】
ブロック178’の力効果指標2は別の特定データ構造154”を示し、またブロック156”は力効果クラスがスプリングであることと定義する。存続期間値(60)はデータ構造154”のブロック160”に示されているが、ブロック180’の力効果存続期間値が処理リスト上のスプリング効果の実際の持続時間(存続期間)を決定する。この実施形態では、処理リスト存続期間はブロック180’の50サーボ・クロック目盛りに設定されている。したがって、ブロック180’の力効果存続期間はブロック160”で指示した存続期間値(60)に取って替わり、その結果処理リストに対するスプリング効果の実際の存続期間は短縮される。
【0065】
リストフラグ末端部186’は、処理リストが既にトラバースされており、プロセッサによるレンダリングについてリスト上には力効果は残っていないことを示している。したがって、ホストコンピュータが処理リストの対象169’についての識別番号をプロセッサに示すと、ウエーブテーブルの力効果とスプリング力効果はそれぞれ75と50のサーボ・クロック目盛り(計125目盛り)の間シーケンシャルにレンダリングされる。複数の力効果の対象を、単に最初の処理リストに指定された識別番号を参照するだけで、別の入れ子になっている処理リストを含む処理リストにより実施できることも想定される。
【0066】
次に、図10について説明する。同図はプレイリストの対象200の概要図である。プレイリストの対象の一般データ構造は複数の力効果指標と力効果時間を含んでいる。プレイリストの対象のデータ構造は、プレイリストの対象が処理タイプを含まないことを除き、処理リストの対象のデータ構造に類似している。その代わりに、プレイリストの対象200は重ね合わせ力効果のリストを含んでいる。プレイリスト(の対象)はサーボクロックの各増分(目盛り)ごとにトラバースされ、特定の目盛りについてスケジュールされた各力効果はレンダリングされ合計される。ブロック202の力効果指標1からスタートしてブロック210の力効果指標nで終了し、現在のサーボクロック目盛りについてスケジュールされた各力効果が識別される。ブロック204の力効果時間からブロック212の力効果時間nまでの値は、対応する力効果指標のスケジューリングを決定するために使用される。力効果時間は力効果についての存続期間値を含んでおり、また開始時を含んでいてもよい。リストフラグ末端部216は、サーボクロックの各目盛りごとにいつプレイリストが完全にトラバースされたかを判別するために使用される。サーボクロックの現在目盛りについて決定された全ての力効果が累計され、その結果、MCU10は現在目盛りについての力効果の合計のみをレンダリングする。
【0067】
ブロック202の力効果指標1は処理リストについての一般データ構造188を指し、ブロック204の最初の力効果時間(200)の値は、プレイリスト上で、データ構造188により定義された処理リストの実際の存続期間即ち持続時間を決定するために使用される。プレイリストの最初の力効果時間の値は、プロセスリストの力効果存続期間の合計時間よりも少ない場合も多い場合もあり得る。上記のデータ構造188についての説明はこの実施形態にも適用される。
【0068】
注目すべきことに、プレイリストの力効果時間が力効果をレンダリングするためにプロセッサにより示された時間の総量に置き代わることである。プレイリストの最初の力効果存続期間値(200)は、指標付けされた処理リスト力効果(125)の存続期間を超えるので、処理リストはプレイリスト存続期間値の終わりまでループする。
【0069】
ブロック206の力効果指標2は合成力効果に対する特定データ構造154´´´ を指す。データポインタ158´´´ は合成力効果についてのパラメータを含むデータ構造162´´´ を指す。合成力効果が適用される実際の時間の量は、ブロック208の値(50)によって決定されるが、この時間は、ブロック160´´´ の存続期間値の値(60)と異なる場合には常にこれに取って替わる。したがって、上記のように一般データ構造214は、サーボクロックの各目盛りごとにスケジューラにより完全にトラバースされるので、MCU10によりレンダリングされた力効果は、サーボクロックの現在目盛りについてスケジュールされた全ての力効果の累積として発生する。本発明について本発明の好ましい実施の形態との関連に於いて説明したが、本技術の当業者であれば本請求の範囲内で多く変更が可能であることを理解するであろう。したがって、本発明の範囲はいかなる場合においても上記の説明により制限されるものではなく、請求の範囲を参照して決定されるべきである。
【図面の簡単な説明】
【図1】本発明の好ましい実施の形態を具体化した触感ジョイスティックの側面図。
【図2】好ましい実施の形態の概要システムブロック図。
【図3】本発明の好ましい実施の形態の概要ブロック図。
【図4】好ましい実施の形態に於いて実施される論理を示す流れ図。
【図5】好ましい実施の形態に於いて実施される論理を示す流れ図。
【図6】好ましい実施の形態に於いて実施される論理を示す流れ図。
【図7】効果の対象についてのデータ構造を示すブロック図。
【図8】処理リストの効果の対象についてのデータ構造を示すブロック図。
【図9】処理リストの効果の対象についてのデータ構造の例を示すブロック図。
【図10】プレイリストについてのデータ構造を示すブロック図。
【符号の説明】
11 力フィードバック(触感)ジョイスティック
13 制御ハンドル
22 Y軸モータ
33 ホストコンピュータ
35 プロセッサ
36 Y軸位置表示LED
37 位置機検知器
38 スロットル位置表示LED
168 力効果の対象
169 処理リストの対象
200 プレイリストの対象

Claims (15)

  1. ホストコンピュータからの要求に応答してスケジュールされた力効果を生成する力フィードバック装置に於いて、
    (a)力フィードバック装置のユーザが握るようにしてなる構成材と、
    (b)前記構成材に結合された動力源であって、前記構成材に作用する力を発生する前記動力源と、
    (c)前記動力源に結合されたプロセッサであって、力効果をレンダリングして、前記動力源に結合される駆動信号を発生し、前記動力源にその力効果に対応する力を生成せしめるプロセッサと、
    (d)前記プロセッサによって実行されるスケジューラであって、ホストコンピュータによって要求される時間間隔中に力効果が生成されるように力効果をスケジュールするスケジューラと、
    (e)ホストコンピュータと前記プロセッサとを結合する通信リンクであって、
    力効果をレンダリングするためにホストコンピュータから前記プロセッサに前記要求を搬送して力効果をスケジュールするための通信リンクと、
    (f)前記ホストコンピュータから初期的に受け取った力効果のプロファイルおよび前記プロファイルに割り当てられている固有の識別子を記憶するメモリであって、ここで、前記スケジューラは複数の前記力効果をスケジュールするときに使用するために、前記ホストコンピュータによって要求される各力効果についての固有の識別子を受け取り、前記プロセッサは前記ホストコンピュータから複数の力効果のプロファイルを受け取り、前記複数の力効果のプロファイルは前記スケジューラによって単一の力効果に組み合わされ、該単一の力効果に対しては1つの識別子が割り当てられているメモリと
    し、各力効果が複数の異なるクラスの1つに属し、前記複数の異なるクラスが、力効果が前記構成材の動きに応じて発生する挙動効果である挙動クラスと、前記構成材の動きの速度が増加するにつれて力効果が増加するウエーブテーブルクラスと、力効果が時間可変性の関数として表される合成クラスと、前記ホストコンピュータにより力効果のパラメータを変更可能な可変パラメータクラスと、前記挙動クラス、前記ウェーブテーブルクラス、前記合成クラスおよび可変パラメータクラスの力効果の組み合わせを規定する処理リストクラスとを含んでおり、
    スケジューラが固有の前記識別子と、ホストコンピュータから記憶されたプロファイルのパラメータの変更とを受信し、前記プロセッサが力効果をレンダリングするときにそのパラメータの変更を使用することを特徴とする力フィードバック装置。
  2. 請求項1に記載の力フィードバック装置に於いて、要求中のホストコンピュータから受け取ったコマンドに応答して、力効果についての実行順序を前記スケジューラが確立することを特徴とする力フィードバック装置。
  3. 請求項1に記載の力フィードバック装置に於いて、ホストコンピュータから受け取ったコマンドに応答して、生成した各力効果についての開始時間と停止時間とを前記スケジューラが確立することを特徴とする力フィードバック装置。
  4. 請求項1に記載の力フィードバック装置に於いて、更に各時間間隔について持続時間を決定するために使用されるサーボクロックを有し、前記スケジューラが前記サーボクロックに応答して力効果の持続時間を制御することを特徴とする力フィードバック装置。
  5. 請求項1に記載の力フィードバック装置に於いて、複数の力効果を同時に実行することによって、複数の力効果を重ね合わせることを特徴とする力フィードバック装置。
  6. 請求項1に記載の力フィードバック装置に於いて、スケジューラによって結合されて単一の力効果となる複数の力効果プロファイルをプロセッサが受け取り、前記単一の力効果が固有の識別子を指定されていることを特徴とする力フィードバック装置。
  7. 請求項1に記載の力フィードバック装置に於いて、ゲームポートと楽器デジタルインタフェースポートとを通信リンクが有することを特徴とする力フィードバック装置。
  8. 請求項1に記載の力フィードバック装置に於いて、通信リンクが汎用シリアルバスポートを有することを特徴とする力フィードバック装置。
  9. 請求項1に記載の力フィードバック装置に於いて、通信リンクがゲームポートとシリアルポートとを有することを特徴とする力フィードバック装置。
  10. 請求項1に記載の力フィードバック装置に於いて、前記構成材に結合された複数の動力源を有し、少なくとも前記複数の動力源の1つが前記構成材に作用して各力効果を生成することを特徴とする力フィードバック装置。
  11. 請求項10に記載の力フィードバック装置に於いて、更に検知器を有し、前記構成材をユーザが握っているか否かを示す信号を前記検知器が発生し、前記プロセッサが検知器に結合されており、且つユーザがその構成材を握っていないときには前記動力源が力効果を生成しないようにすることによって前記プロセッサが信号に応答することを特徴とする力フィードバック装置。
  12. 請求項1に記載の力フィードバック装置に於いて、スケジューラに依って制御される複数のスケジュールされた力効果の中で、同時に実行される複数の力効果を重ね合わせられた力効果が含むことを特徴とする力フィードバック装置。
  13. 請求項1に記載の力フィードバック装置に於いて、シーケンシャル力効果が、スケジューラによって制御されるスケジュールされた複数の効果の中でシーケンシャルに実行される複数の力効果を備えることを特徴とする力フィードバック装置。
  14. 請求項1に記載の力フィードバック装置に於いて、スケジューラによって制御されたスケジュール済みの複数の力効果の中で、シーケンシャルに実行され且つ所定の包絡線を持つ複数の力効果を備え、シーケンシャルに実行される前記複数の力効果の振幅を制御することを特徴とする力フィードバック装置。
  15. ホストコンピュータからの要求に応答してスケジュールされた力効果を生成する力フィードバック装置に於いて、
    (a)力フィードバック装置のユーザが握るようにしてなる構成材と、
    (b)前記構成材に結合された動力源であって、前記構成材に作用する力を発生する前記動力源と、
    (c)前記動力源に結合されたプロセッサであって、力効果をレンダリングして、前記動力源に結合される駆動信号を発生し、前記動力源にその力効果に対応する力を生成せしめるプロセッサと、
    (d)前記プロセッサによって実行されるスケジューラであって、ホストコンピュータによって要求される時間間隔中に力効果が生成されるように力効果をスケジュールするスケジューラと、
    (e)ホストコンピュータと前記プロセッサとを結合する通信リンクであって、
    力効果をレンダリングするためにホストコンピュータから前記プロセッサに前記要求を搬送して力効果をスケジュールするための通信リンクと、
    (f)前記ホストコンピュータから初期的に受け取った力効果のプロファイルおよび前記プロファイルに割り当てられている固有の識別子を記憶するメモリであって、ここで、前記スケジューラは複数の前記力効果をスケジュールするときに使用するために、前記ホストコンピュータによって要求される各力効果についての固有の識別子を受け取り、前記プロセッサは前記ホストコンピュータから複数の力効果のプロファイルを受け取り、前記複数の力効果のプロファイルは前記スケジューラによって単一の力効果に組み合わされ、該単一の力効果に対しては1つの識別子が割り当てられているメモリと
    有し、プロセッサに結合されたスイッチを更に有し、前記スケジューラが力効果をスイッチにマッピングすることにより、スイッチが作動したときに前記力効果がプロセッサによってレンダリングされ
    スイッチにマッピングされる前記力効果を示すホストコンピュータからの要求をプロセッサが受け取り、
    スイッチが作動したときに、スイッチにマッピングされた力効果を直ちにスケジューラがレンダリングし、且つ発生せしめ、またスイッチが最早作動しない時に、直ちにスケジューラが前記力効果の発生を停止することを特徴とする力フィードバック装置。
JP08857398A 1997-04-25 1998-04-01 力フィードバック装置 Expired - Fee Related JP4750234B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/845,540 US6005551A (en) 1997-04-25 1997-04-25 Offline force effect rendering
US845540 2001-04-30

Publications (2)

Publication Number Publication Date
JPH117355A JPH117355A (ja) 1999-01-12
JP4750234B2 true JP4750234B2 (ja) 2011-08-17

Family

ID=25295463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08857398A Expired - Fee Related JP4750234B2 (ja) 1997-04-25 1998-04-01 力フィードバック装置

Country Status (5)

Country Link
US (1) US6005551A (ja)
EP (1) EP0875819B1 (ja)
JP (1) JP4750234B2 (ja)
AT (1) ATE225532T1 (ja)
DE (1) DE69808365T2 (ja)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6433771B1 (en) 1992-12-02 2002-08-13 Cybernet Haptic Systems Corporation Haptic device attribute control
US5739811A (en) 1993-07-16 1998-04-14 Immersion Human Interface Corporation Method and apparatus for controlling human-computer interface systems providing force feedback
US5691898A (en) 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
US6166723A (en) * 1995-11-17 2000-12-26 Immersion Corporation Mouse interface device providing force feedback
US5959613A (en) 1995-12-01 1999-09-28 Immersion Corporation Method and apparatus for shaping force signals for a force feedback device
US5999168A (en) 1995-09-27 1999-12-07 Immersion Corporation Haptic accelerator for force feedback computer peripherals
US6100874A (en) * 1995-11-17 2000-08-08 Immersion Corporation Force feedback mouse interface
US6169540B1 (en) 1995-12-01 2001-01-02 Immersion Corporation Method and apparatus for designing force sensations in force feedback applications
US6147674A (en) * 1995-12-01 2000-11-14 Immersion Corporation Method and apparatus for designing force sensations in force feedback computer applications
US6078308A (en) * 1995-12-13 2000-06-20 Immersion Corporation Graphical click surfaces for force feedback applications to provide user selection using cursor interaction with a trigger position within a boundary of a graphical object
US6161126A (en) 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US6300936B1 (en) * 1997-11-14 2001-10-09 Immersion Corporation Force feedback system including multi-tasking graphical host environment and interface device
US6374255B1 (en) 1996-05-21 2002-04-16 Immersion Corporation Haptic authoring
US6125385A (en) 1996-08-01 2000-09-26 Immersion Corporation Force feedback implementation in web pages
US6411276B1 (en) 1996-11-13 2002-06-25 Immersion Corporation Hybrid control of haptic feedback for host computer and interface device
US6020876A (en) 1997-04-14 2000-02-01 Immersion Corporation Force feedback interface with selective disturbance filter
US7091948B2 (en) * 1997-04-25 2006-08-15 Immersion Corporation Design of force sensations for haptic feedback computer interfaces
US6292170B1 (en) 1997-04-25 2001-09-18 Immersion Corporation Designing compound force sensations for computer applications
US6285351B1 (en) 1997-04-25 2001-09-04 Immersion Corporation Designing force sensations for computer applications including sounds
US6252579B1 (en) 1997-08-23 2001-06-26 Immersion Corporation Interface device and method for providing enhanced cursor control with force feedback
US6104382A (en) 1997-10-31 2000-08-15 Immersion Corporation Force feedback transmission mechanisms
US6252583B1 (en) * 1997-11-14 2001-06-26 Immersion Corporation Memory and force output management for a force feedback system
US8020095B2 (en) * 1997-11-14 2011-09-13 Immersion Corporation Force feedback system including multi-tasking graphical host environment
US6448977B1 (en) * 1997-11-14 2002-09-10 Immersion Corporation Textures and other spatial sensations for a relative haptic interface device
US6211861B1 (en) 1998-06-23 2001-04-03 Immersion Corporation Tactile mouse device
US6256011B1 (en) 1997-12-03 2001-07-03 Immersion Corporation Multi-function control device with force feedback
US6067077A (en) 1998-04-10 2000-05-23 Immersion Corporation Position sensing for force feedback devices
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6707443B2 (en) 1998-06-23 2004-03-16 Immersion Corporation Haptic trackball device
US6697043B1 (en) 1999-12-21 2004-02-24 Immersion Corporation Haptic interface device and actuator assembly providing linear haptic sensations
US6184868B1 (en) 1998-09-17 2001-02-06 Immersion Corp. Haptic feedback control devices
US6985133B1 (en) 1998-07-17 2006-01-10 Sensable Technologies, Inc. Force reflecting haptic interface
US6417638B1 (en) 1998-07-17 2002-07-09 Sensable Technologies, Inc. Force reflecting haptic interface
US7013456B1 (en) 1999-01-28 2006-03-14 Ati International Srl Profiling execution of computer programs
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US6763452B1 (en) 1999-01-28 2004-07-13 Ati International Srl Modifying program execution based on profiling
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6424356B2 (en) 1999-05-05 2002-07-23 Immersion Corporation Command of force sensations in a forceback system using force effect suites
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
US6525711B1 (en) * 1999-06-24 2003-02-25 Interval Research Corp. Haptic interface including clutch control
DE20080209U1 (de) 1999-09-28 2001-08-09 Immersion Corp Steuerung von haptischen Empfindungen für Schnittstellenvorrichtungen mit Vibrotaktiler Rückkopplung
US6693626B1 (en) 1999-12-07 2004-02-17 Immersion Corporation Haptic feedback using a keyboard device
US6822635B2 (en) 2000-01-19 2004-11-23 Immersion Corporation Haptic interface for laptop computers and other portable devices
US7965276B1 (en) * 2000-03-09 2011-06-21 Immersion Corporation Force output adjustment in force feedback devices based on user contact
US6710764B1 (en) 2000-05-09 2004-03-23 Logitech Europe S.A. Method and system for processing force feedback effects generated at a host for playback at a physical interaction device
US7027965B2 (en) * 2000-09-13 2006-04-11 The University Of Washington Time domain passivity control of haptic interfaces
US7084854B1 (en) * 2000-09-28 2006-08-01 Immersion Corporation Actuator for providing tactile sensations and device for directional tactile sensations
AU2001294852A1 (en) 2000-09-28 2002-04-08 Immersion Corporation Directional tactile feedback for haptic feedback interface devices
US7877243B2 (en) 2001-07-16 2011-01-25 Immersion Corporation Pivotable computer interface
JP3958944B2 (ja) * 2001-07-17 2007-08-15 アルプス電気株式会社 多機能入力装置
US7623114B2 (en) * 2001-10-09 2009-11-24 Immersion Corporation Haptic feedback sensations based on audio output from computer devices
US6703550B2 (en) 2001-10-10 2004-03-09 Immersion Corporation Sound data output and manipulation using haptic feedback
US6904823B2 (en) 2002-04-03 2005-06-14 Immersion Corporation Haptic shifting devices
US20040015556A1 (en) * 2002-05-10 2004-01-22 Renu Chopra Software-based process/issue management system
US20030214484A1 (en) * 2002-05-20 2003-11-20 Haywood Chad Christian Convertible mouse
US8917234B2 (en) 2002-10-15 2014-12-23 Immersion Corporation Products and processes for providing force sensations in a user interface
US8830161B2 (en) 2002-12-08 2014-09-09 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
US8059088B2 (en) 2002-12-08 2011-11-15 Immersion Corporation Methods and systems for providing haptic messaging to handheld communication devices
GB2414319A (en) 2002-12-08 2005-11-23 Immersion Corp Methods and systems for providing haptic messaging to handheld communication devices
JP4160843B2 (ja) * 2003-02-24 2008-10-08 アルプス電気株式会社 力覚付与型入力装置
JP4310127B2 (ja) * 2003-04-14 2009-08-05 アルプス電気株式会社 力覚付与型入力装置
US8992322B2 (en) 2003-06-09 2015-03-31 Immersion Corporation Interactive gaming systems with haptic feedback
GB0322489D0 (en) * 2003-09-25 2003-10-29 British Telecomm Haptics transmission systems
US7411576B2 (en) 2003-10-30 2008-08-12 Sensable Technologies, Inc. Force reflecting haptic interface
US7982711B2 (en) * 2003-12-19 2011-07-19 Immersion Corporation Haptic profiling system and method
US8629836B2 (en) 2004-04-30 2014-01-14 Hillcrest Laboratories, Inc. 3D pointing devices with orientation compensation and improved usability
KR100937572B1 (ko) 2004-04-30 2010-01-19 힐크레스트 래보래토리스, 인크. 3d 포인팅 장치 및 방법
JP2005332039A (ja) * 2004-05-18 2005-12-02 Alps Electric Co Ltd 力覚付与型入力装置
US7765333B2 (en) 2004-07-15 2010-07-27 Immersion Corporation System and method for ordering haptic effects
US8137195B2 (en) 2004-11-23 2012-03-20 Hillcrest Laboratories, Inc. Semantic gaming and application transformation
CN104656900A (zh) 2006-09-13 2015-05-27 意美森公司 用于游戏厅游戏触觉的系统和方法
US8098234B2 (en) 2007-02-20 2012-01-17 Immersion Corporation Haptic feedback system with stored effects
TWI353169B (en) * 2007-05-30 2011-11-21 Himax Tech Ltd Apparatus and method of controlling a consumer pro
US9486292B2 (en) 2008-02-14 2016-11-08 Immersion Corporation Systems and methods for real-time winding analysis for knot detection
US8477103B2 (en) * 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8690575B1 (en) 2008-11-03 2014-04-08 ACME Worldwide Enterprises, Inc. Apparatus and method for a weapon simulator
US9104791B2 (en) 2009-05-28 2015-08-11 Immersion Corporation Systems and methods for editing a model of a physical system for a simulation
US8542105B2 (en) 2009-11-24 2013-09-24 Immersion Corporation Handheld computer interface with haptic feedback
US8605053B2 (en) * 2009-12-02 2013-12-10 Analog Devices, Inc. Method and device for detecting user input
US20130085705A1 (en) * 2011-10-03 2013-04-04 Research In Motion Limited Method and apparatus pertaining to automatically performing an application function of an electronic device based upon detecting a change in physical configuration of the device
US9582178B2 (en) 2011-11-07 2017-02-28 Immersion Corporation Systems and methods for multi-pressure interaction on touch-sensitive surfaces
JP6286125B2 (ja) * 2013-01-28 2018-02-28 株式会社タイトー ゲーム装置、操作デバイス
US9323283B2 (en) * 2013-01-30 2016-04-26 Prince Industries, Inc. Operator controlled electrical output signal device with variable feel and hold feedback and automated calibration and learnable performance optimization
US9866924B2 (en) 2013-03-14 2018-01-09 Immersion Corporation Systems and methods for enhanced television interaction
US9164587B2 (en) 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
US9619029B2 (en) * 2013-11-14 2017-04-11 Immersion Corporation Haptic trigger control system
US9588586B2 (en) 2014-06-09 2017-03-07 Immersion Corporation Programmable haptic devices and methods for modifying haptic strength based on perspective and/or proximity
US9715279B2 (en) 2014-06-09 2017-07-25 Immersion Corporation Haptic devices and methods for providing haptic effects via audio tracks
US9174134B1 (en) 2014-11-12 2015-11-03 Immersion Corporation Peripheral device with haptic diminishment prevention component
US10185396B2 (en) * 2014-11-12 2019-01-22 Immersion Corporation Haptic trigger modification system
US9811066B1 (en) * 2015-12-14 2017-11-07 X Development Llc Throttle functionality of haptic controller
US10518172B2 (en) * 2016-03-07 2019-12-31 Htc Corporation Accessory management of virtual reality system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2152160B2 (de) * 1971-10-20 1973-07-19 Walther Buromaschinen GmbH, 7342 Gerstetten Elektronisch gesteuerte rechenanlage mit digitaler zeitanzeige
US5103404A (en) * 1985-12-06 1992-04-07 Tensor Development, Inc. Feedback for a manipulator
US5220260A (en) * 1991-10-24 1993-06-15 Lex Computer And Management Corporation Actuator having electronically controllable tactile responsiveness
JP3686686B2 (ja) * 1993-05-11 2005-08-24 松下電器産業株式会社 力覚呈示デバイス、データ入力装置、及びデータ入力デバイス装置
US5739811A (en) * 1993-07-16 1998-04-14 Immersion Human Interface Corporation Method and apparatus for controlling human-computer interface systems providing force feedback
US5734373A (en) * 1993-07-16 1998-03-31 Immersion Human Interface Corporation Method and apparatus for controlling force feedback interface systems utilizing a host computer
WO1995020787A1 (en) * 1994-01-27 1995-08-03 Exos, Inc. Multimode feedback display technology
US5691898A (en) * 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
US5589854A (en) * 1995-06-22 1996-12-31 Tsai; Ming-Chang Touching feedback device

Also Published As

Publication number Publication date
EP0875819A1 (en) 1998-11-04
JPH117355A (ja) 1999-01-12
US6005551A (en) 1999-12-21
DE69808365D1 (de) 2002-11-07
ATE225532T1 (de) 2002-10-15
EP0875819B1 (en) 2002-10-02
DE69808365T2 (de) 2003-06-12

Similar Documents

Publication Publication Date Title
JP4750234B2 (ja) 力フィードバック装置
US10416770B2 (en) Haptic trigger control system
EP1330811B1 (en) Directional tactile feedback for haptic feedback interface devices
CA2233136C (en) Method and apparatus for controlling force feedback interface systems utilizing a host computer
US7979797B2 (en) Device having selective directional tactile feedback capability
US6676520B2 (en) Video game system providing physical sensation
CA2271129C (en) Method and apparatus for shaping force signals for a force feedback device
EP1157339B1 (en) Hybrid control of haptic feedback for host computer and interface device
US6433771B1 (en) Haptic device attribute control
EP1019161B1 (en) Entertainment system, supply medium, and manual control input device
JP2001029658A (ja) コントローラ
WO1997012357A9 (en) Method and apparatus for controlling force feedback interface systems utilizing a host computer
CA2297514A1 (en) Designing force sensations for computer applications including sounds
JP3514925B2 (ja) コントローラパック
JP2002000945A (ja) コントローラ
EP3617848B1 (en) Haptic feedback music device comprising rotating user interface element
US20210141452A1 (en) Virtual and augmented reality glove and method
JP2003062329A (ja) ビデオゲーム装置の入力制御方法及びその方法を実行するためのコンピュータプログラム
JPH01134508A (ja) ロボットコントロールシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041126

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080129

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080430

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080528

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080710

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080725

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110519

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees