JPH11514469A - ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置 - Google Patents

ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置

Info

Publication number
JPH11514469A
JPH11514469A JP9513599A JP51359997A JPH11514469A JP H11514469 A JPH11514469 A JP H11514469A JP 9513599 A JP9513599 A JP 9513599A JP 51359997 A JP51359997 A JP 51359997A JP H11514469 A JPH11514469 A JP H11514469A
Authority
JP
Japan
Prior art keywords
force
command
user
host
microprocessor
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.)
Pending
Application number
JP9513599A
Other languages
English (en)
Inventor
ロゼンバーグ,ルイス,ビー.
ブラウン,アダム,シー.
レヴィン,マイク,ディー.
Original Assignee
イマージョン ヒューマン インターフェイス コーポレイション
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
Priority claimed from US08/534,791 external-priority patent/US5739811A/en
Application filed by イマージョン ヒューマン インターフェイス コーポレイション filed Critical イマージョン ヒューマン インターフェイス コーポレイション
Publication of JPH11514469A publication Critical patent/JPH11514469A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • 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/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • 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/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • 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
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/004Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points
    • G01B5/008Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points using coordinate measuring machines
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B7/00Measuring arrangements characterised by the use of electric or magnetic techniques
    • G01B7/004Measuring arrangements characterised by the use of electric or magnetic techniques for measuring coordinates of points
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the program is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/4202Recording and playback systems, i.e. in which the program is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine preparation of the program medium using a drawing, a model
    • G05B19/4207Recording and playback systems, i.e. in which the program is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine preparation of the program medium using a drawing, a model in which a model is traced or scanned and corresponding data recorded
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1006Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals having additional degrees of freedom
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1037Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted for converting control signals received from the game device into a haptic signal, e.g. using force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1043Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • G05G2009/04766Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks providing feel, e.g. indexing means, means to create counterforce
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • G05G2009/04777Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks with additional push or pull action on the handle
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/014Force feedback applied to GUI
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H3/00Mechanisms for operating contacts
    • H01H2003/008Mechanisms for operating contacts with a haptic or a tactile feedback controlled by electrical means, e.g. a motor or magnetofriction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 ユーザにより操作され、ホストコンピュータシステム(12)に接続されたインタフェース装置を用いて力フィードバックを制御および提供する装置(14)を提供する。インタフェース装置に対してローカルなマイクロプロセッサ(26)が設けられており、このマイクロプロセッサ(26)は、ユーザによって動かされるユーザオブジェクト、例えばジョイスティック、の位置を記述するセンサデータをセンサから読み取る。マイクロプロセッサは、アクチュエータ(30)を制御してユーザオブジェクトに力を与える。ホストコンピュータは高水準ホストコマンドをローカルマイクロプロセッサに送出し、マイクロセッサは高水準コマンドに基づいてローカル反射プロセスを独立に実施し、センサデータおよび他のパラメータを用いて力値をアクチュエータに与える。ホストコマンドプロトコルは、多様なタイプのホストコマンドおよび関連コマンドパラメータを有している。比較的小さな一組の高水準ホストコマンドを与えることにより、プロトコルは、ホストコンピュータからローカルマイクロプロセッサに計算の負担をさらにシフトさせる。

Description

【発明の詳細な説明】 ホストコンピュータを利用して力フィードバックインタフェースを 制御する方法および装置 背景技術 本発明は、全般として、人間とコンピュータとの間のインタフェース装置に関 し、特に、ユーザに対して力フィードバックを提供するコンピュータインタフェ ース装置に関する。 コンピュータシステムは、多くの異なる産業分野で、コンピュータ制御シミュ レーションやゲームやその他のアプリケーションプログラムを実施するため広く 用いられている。特に、このようなタイプのゲームやシミュレーションは、家庭 消費者の量販市場では非常に一般的である。コンピュータシステムは、通常、ユ ーザに対して表示画面またはその他の視覚出力装置上に視覚環境を表示する。ユ ーザは、表示された環境と対話して、ゲームを行い、シミュレーションまたは「 仮想現実(バーチャルリアリティ)」環境を体験することができ、あるいは画面 上に描かれた事象または画像に影響を与えることができる。このようなユーザイ ンタラクションは、表示された環境を制御するコンピュータシステムに接続され たジョイスティックや、「ジョイパッド」ボタン制御装置、マウス、トラックボ ール、スタイラスやタブレットなどのヒューマン−コンピュータインターフェー ス装置を用いて実施することができる。コンピュータは、ジョイスティックハン ドルやマウス等の物体(オブジェクト)のユーザによる操作に応じてシミュレー ションやゲームを更新し、表示画面、更に通常はオーデイオスピーカを用いてユ ーザに対するフィードバックを行う。 幾つかのインタフェース装置では、触覚(「ハプティック(haptic)」)フィ ードバックもユーザに与えられる。これは、より一般的には「力フィードバック 」として知られている。このようなタイプのインタフェース装置は、インタフェ ース装置のオブジェクトを操作するユーザに対して肉体的な感覚を与えることが できる。通常は、モータや他のアクチュエータがオブジェクトに結合され、制御 コンピュータシステムに接続される。コンピュータシステムは、アクチュエータ に 制御信号を送ることにより、シミュレーション/ゲームイベントに関係してオブ ジェクトに力を与えることができ、コンピュータシステムは、ユーザがインタフ ェース装置のオブジェクトを握ったり触ったりするときに他の供給フィードバッ クと関連してユーザに肉体的感覚を与えることができる。このようにして、力フ ィードバックインタフェース装置は、ヒューマン−コンピュータインタラクショ ンに対して全く新規な特徴を与えることができる。 従来技術の力フィードバック入出力(I/O)装置は、最大の触覚忠実度を与 えることに集中している。すなわち、触覚フィードバックのリアリズムが最適化 されることが望まれていた。これは、力フィードバック装置の殆どが、量販消費 者市場ではなく、極めて産業的な用途の特定のニーズに目標を定めているためで ある。このようなリアリズムを実現するために、小さなサイズと重量、複雑さが 少ないこと、プログラミングの互換性、低いコスト、安全性などといった量販市 場設計の関心事は、従来技術では犠牲にされている。その結果、通常の力フィー ドバックインタフェース装置は、精密部品と高価なアクチュエータを要求する複 雑なロボット機構を含んでいる。 力フィードバックインターフェース装置に対する重要な関心事は、制御コンピ ュータとインタフェース装置との間の通信帯域幅である。現実に近い力フィード バックを与えるために、従来技術の複雑な装置は、通常、制御コンピュータがイ ンタフェース装置への力フィードバック信号を迅速に更新することを可能にする 高速通信エレクトロニクスを用いる。制御コンピュータがより迅速にインタフェ ース装置に対して信号を送受することができる程、所望の力をより正確かつ現実 に近い状態でインターフェースオブジェクトに加えることができる。更に、高い 帯域幅の通信インタフェースを用いると、力フィードバックを、映像画面上の画 像などの他の供給フィードバックと、オブジェクトの移動、活性化ボタンなどの ユーザ入力と、に正確に調和させることができる。例えば、ユーザはシミュレー ションにおいて力フィードバックジョイスティックを握ると共に移動させて車の 画像を制御し、画面上に表示された仮想的な凹凸面の上を運転することができる 。制御コンピュータは、シミュレーションの設計者が意図した程度に現実に近い 凹凸にその表面が感じられるように、十分迅速にジョイスティックのアクチュエ ー タに制御信号を与えるべきである。制御信号が遅すぎるときは、現実に近い凹凸 感を与えることが困難になる。また、制御コンピュータは、供給された力を画面 上の視覚フィードバック、例えば車が最初に凹凸面に当たるときの画面上の動き 、に正確に調和させる高い帯域幅の通信インタフェースを必要とする。この高い 速度は、供給された力を、例えば特定の方向に車をステアリングするためのユー ザからの入力に正確に調和させる場合にも、同様に必要となる。 問題は、従来の力フィードバックインタフェース装置が量販消費者市場に供給 されるときに明らかとなる。殆どのホームコンピュータは、RS−232やRS −422インタフェースなどの組込み標準シリアル通信インタフェースを有して おり、これは、力フィードバックインタフェース装置などの周辺装置をホストコ ンピュータに接続するために便利に用いることができる。更に、製造業者は、こ れらのシリアルインタフェースを用いる周辺装置を提供することを好む。これは 、インタフェースカードなどの付加的なハードウェアをこのような周辺装置に取 り付ける必要がないからである。従って、周辺装置の製造コストはかなり減らす ことができる。しかし、これらの標準シリアル通信インタフェースは、通常、他 の通信インタフェースに比べて極めて遅い(すなわち、低い帯域幅を有する)。 このため、制御コンピュータシステムによって、現実に近い正確な力フィードバ ックを、このようなシリアルインタフェースを介して接続された従来のインタフ ェース装置に与えることは困難になる。例えば、J.Kramerによる米国特 許第5、184、319号は、ユーザの胴体部分に力を加える力フィードバック 装置を開示している。しかし、このKramerの装置は、ホストコンピュータ がアクチュエータを直接制御し、インタフェース装置からセンサデータを直接受 信するという点で従来技術の典型的なものである。このような装置は、現実に近 い力フィードバックを実現する低帯域幅通信インタフェースには適していない。 量販消費者市場における従来の力フィードバックインタフェースを用いた場合 の他の問題は、異なるコンピュータで用いられたり同じコンピュータで異なる時 刻に用いられる処理速度やコンピュータプラットフォームが多岐にわたることで ある。力フィードバックインタフェース装置によりユーザに与えられる力の感覚 は、これらの異なるコンピュータが異なる速度で稼働するので、異なるコンピュ ータプラットフォームやマイクロプロセッサ上のユーザには異なって感じられる 。例えば、100MHzコンピュータにより制御される力フィードバックは、こ れらの力が同じものを感じるようになされていても、制御信号を処理する速度が 異なることに起因して、60MHzコンピュータにより制御される力フィードバ ックとは全く異なる。更に、一つのマイクロプロセッサの実行処理速度は、所定 時間にわたって変動し、多数のユーザセッションにわたって一致しない力を与え る可能性がある。例えば、マルチタスク動作は、マイクロプロセッサ上で動作す る他のプログラムに依存して力フィードバック制御信号のマイクロプロセッサに よる管理を変化または遅延させることがある。 更に、力フィードバック装置と通信するための標準化された言語または通信プ ロトコルは存在しない。ソフトウェアアプリケーションにおいてインタフェース に力フィードバックを与えることを望むソフトウェアの開発者は、一般に、開発 者自身の特殊なコマンドおよび/または通信プロトコルを設定しなければならず 、また力フィードバック制御命令を低水準で実施しなければならない。これは、 力フィードバックインタフェース向けの特徴を含むソフトウェアアプリケーショ ンの開発において不要な時間と費用を要求する。 従って、力フィードバックインタフェースおよび力フィードバック制御パラダ イム(paradigm)に代わる、より現実に近く費用効果の大きいものが特定の用途 に関して要望されている。 発明の要約 本発明は、ヒューマンコンピュータインタフェース装置を操作するユーザに対 して力フィードバックを制御および提供することに関する。このインタフェース 装置は、制御用ホストコンピュータに接続されており、このインタフェース装置 に対してローカルな個別のマイクロプロセッサを有している。このローカルマイ クロプロセッサは、インタフェース装置に対する力の高速制御を可能にし、これ により、ホストコンピュータとの遅い通信インタフェースを介して与えられた力 のリアリズムと精度を高める。 より詳細に述べると、ユーザにより操作されるインタフェース装置を制御する 本発明のシステムおよび方法は、入力制御信号を受信し、ホスト出力制御信号を 供給するホストコンピュータシステムを含む。ホストコンピュータは、入力制御 信号に応じてシミュレーションやビデオゲームプロセスなどのホストアプリケー ションプロセスを更新する。インタフェース装置に対してローカルでホストコン ピュータから分離したマイクロプロセッサは、ホスト出力制御信号を受信すると 共にプロセッサ出力制御信号を供給する。アクチュエータは、プロセッサ出力制 御信号を受信し、プロセッサ出力制御信号に従ってアクチュエータに結合された ユーザ操作オブジェクトに対する自由度に沿って力を与える。センサは自由度に 沿ったオブジェクトの動きを検出し、このオブジェクトの位置と動きを表す情報 を含む入力制御信号を出力する。好ましくは、センサは、入力制御信号をローカ ルプロセッサに出力し、ローカルプロセッサは、ホストコンピュータに入力制御 信号を出力する。ユーザオブジェクトは、1以上の自由度でユーザが握って動か すものであることが好ましく、ジョイスティック、マウス、模擬医療器具、スタ イラス、または他のオブジェクトのような物品が含まれていてもよい。 あるホスト制御態様では、ホストコンピュータは、入力制御信号中のセンサ情 報を受信し、力の値を決定する。従って、ホスト出力制御信号は、マイクロプロ セッサを介して直接アクチュエータに中継される決定済直接力コマンドである。 第二の「反射(reflex)」態様では、ホストコンピュータは、監視モードでセン サ情報を受信し、力をユーザオブジェクトに印加する必要があるとき又は力を変 更する必要があるときは常に、高水準力コマンドをマイクロプロセッサに出力す る。マイクロプロセッサは、高水準ホストコマンドに従って、センサおよびタイ ミングデータを受信し、選択された反射プロセスに従ってアクチュエータに低水 準力コマンドを出力する。この反射プロセスは、力方程式を用いるステップ、所 定の力値の力プロファイルを記憶装置から読み取るステップ、またはその他のス テップを含んでいてもよく、またこの反射プロセスは、センサデータ、タイミン グデータ、ホストコマンドデータ、または他のデータに依存していてもよい。こ のようにして、プロセッサは、ホストコンピュータがユーザオブジェクトに印加 される力のタイプを変更するまでホストコンピュータとは無関係に力を制御する 「反射」を実施する。 アクチュエータにより与えられる力の大きさは、ホストコンピュータまたはロ ーカルマイクロプロセッサにより決定される。この大きさは、特定の自由度にお けるオブジェクトの位置、速度および/または加速を含むパラメータ、ならびに クロックからのタイミングデータにより決定することができる。このようにして 、この力は、バネの力、制動力、または慣性力などの異なるタイプの力をシミュ レートすることができる。 ホストコンピュータシステムにより更新されたアプリケーションプロセスは、 好ましくは、アプリケーションソフトウェアを含んでいる。このアプリケーショ ンソフトウェアは、シミュレーションソフトウェア、ゲームソフトウェア、科学 ソフトウェアなどであってもよい。ホストコンピュータシステムは、表示画面な どの視覚出力装置上に画像を表示し、画像および視覚事象を、オブジェクトを操 作するユーザから入力された位置と動き、並びにオブジェクトに加えられた力に 同期させることができる。また、ホストコンピュータは、好ましくは音声フィー ドバックのタイミングと大きさを力フィードバックに同期させることができる。 本発明は、多くのコンピュータに含まれる標準シリアルインタフェースを用いて ホストコンピュータシステムをローカルマイクロプロセッサとインタフェースす ることができる。あるいは、パラレルインタフェースを用いたり、ホストコンピ ュータ上の異なるインタフェース、例えばゲームポート、と共にシリアルインタ フェースを用いることもできる。クロックは、アクチュエータにより出力された 力を部分的に決定するためアクセスすることができるホストコンピュータシステ ムまたはローカルプロセッサに結合されることが好ましい。 本発明は更に、ホストコンピュータとローカルマイクロプロセッサとの間の力 コマンドに対するパラダイム(paradigm)を提供する。ホストコンピュータによ り与えられる高水準ホストコマンドは、レート制御および/または位置制御コマ ンドであってもよく、コマンドパラメータ形式の情報を含んでいてもよい。ひと そろいの力に翻訳される比較的小さな一組のコマンドおよびコマンドパラメータ を与えることにより、パラダイムは、演算の負担をホストコンピュータからロー カルマイクロプロセッサに更にシフトさせる。ホストコマンドは、復元力や、振 動力、質感力、障壁力、吸引/反発力の場、制動力、溝力、およびラケット−ボ ール力などの力をユーザオブジェクトに与えるコマンドを含んでいてもよい。通 常のコマンドパラメータは、アクチュエータにより出力された力を制御する大き さパラメータ、持続時間パラメータ、方向パラメータ、スタイルパラメータ、お よびボタンパラメータを含む。これは、ホストコンピュータシステム上で実施さ れる力フィードバックソフトウェアの開発者による効率の良い使用のための高水 準標準力フィードバックコマンドプロトコルを与える。 ローカルマイクロプロセッサの機能も、好適に実現される。コマンドプロセス は、ホストコンピュータからのホストコマンドを受信し、ホストコマンドおよび 任意の包含コマンドパラメータを処理する。力パラメータはホストコマンドおよ びパラメータから導出され、メモリに格納される。好ましくは、全てのホストコ マンドは、適当なホストコマンドが受信されたときに更新される一組の力パラメ ータを伴っている。状態更新プロセスは、ユーザオブジェクトの動きを記述する センサからのセンサデータを読み取り、適切であれば速度、加速度、または他の 時間関連値を計算することもできる。力出力プロセスは、力パラメータおよびセ ンサデータに従って選択された反射プロセスを用いて力値を計算する。ある場合 には、力値は、力パラメータの値およびセンサデータに依存する。力出力プロセ スは、計算した力値をアクチュエータに送出することによりユーザオブジェクト に作用する力を出力する。更に、報告プロセスは、適切な場合には、センサデー タをホストコンピュータシステムに報告する。好ましくは、複数個のホストコマ ンドを同時に有効にすることができ、ここで力値は、このような有効状態のホス トコマンドの各々に対応する反射プロセスから加算される。更に、パラメータセ ットのパラメータページは、異なる力環境を選択できるように都合よくメモリに 格納することができる。 本発明の制御システムおよび方法は、ホストコンピュータから分離されたイン タフェース装置に対してローカルな別個のマイクロプロセッサを含んでいると都 合がよい。このローカルマイクロプロセッサは、ホストコンピュータとは無関係 にセンサ信号および出力力コマンド信号を読み取り、処理し、これによりホスト コンピュータ上における膨大な処理時間を節約することができる。更に、低水準 力フィードバックコマンドを処理するローカルプロセッサを使用することにより 、ホストおよびインタフェース装置間にシリアル通信インタフェースまたは他の 比 較的狭い帯域幅の通信インタフェースを用いる場合に、より現実に近く正確な力 フィードバックをユーザが操作するオブジェクトに与えることができるようにな る。これは、このような低水準力信号は、通信インタフェースを介して送信する 必要はないためである。絶対的なタイミング情報の観点で力フィードバックコマ ンドを生成する場合にクロックを使用すると、異なるホストコンピュータプラッ トフォームにわたって、また同じホストコンピュータ上の異なるセッションにお いて、ユーザが一致した力感覚を体験することができるようになる。種々の力を 指令する特定の高水準ホストコマンドを使用すると、力フィードバックホストア プリケーションを容易に生成できるようになる。これらの改良を加えると、低コ ストの低帯域幅通信インタフェースを介して正確で現実に近い力フィードバック をコンピュータシステムが与えることができるようになり、従ってホームコンピ ュータシステムの量販市場に対して理想的である。 本発明の上記および他の利点は、本発明の以下の詳細な説明を読み、図面を参 照することによって、当業者にとって明らかになる。 図面の簡単な説明 図1は、ホストコンピュータから力フィードバックインタフェース装置を制御 する、本発明に係る制御システムのブロック図である。 図2は、本発明用の能動アクチュエータに制御信号を与えるアクチュエータイ ンタフェースの概略図である。 図3は、本発明用の受動アクチュエータに制御信号を与えるアクチュエータイ ンタフェースの概略図である。 図4は、力フィードバックインタフェース装置を制御する本発明の方法の第一 の実施形態を示す流れ図である。 図5は、力フィードバック装置を制御する本発明の方法の第二の実施形態の流 れ図である。 図6は、インタフェース装置のユーザオブジェクトに2自由度を与える閉ルー プファイブバーリンケージ機構の概略図である。 図7は、図6に示したリンケージ機構の好適な実施形態の斜視図である。 図8は、ユーザオブジェクトに対する機械的インタフェースのスロット付きヨ ークジョイスティックの斜視図である。 図9は、本発明のレート制御コマンドを要約する表である。 図10a〜cは、力プロファイルの復元を示す概略図である。 図11a〜cは、ばね力プロファイルの復元を示す概略図である。 図12は、ベクトル力を示す図である。 図13a〜bは、振動力プロファイルを示す図である。 図14は、本発明の位置制御コマンドを要約する表である。 図15は、溝力プロファイルを示す図である。 図16は、障壁力プロファイルを示す図である。 図17a〜17iは、本発明のラケットコマンドにより制御されるラケットボ ールインタラクションを示す図である。 図18は、力フィードバックインタフェース装置を力パラメータを含むホスト コマンドにより制御する本発明のローカルマイクロプロセッサの実施を示すブロ ック図である。 図19は、図18のホスト通信バックグラウンドプロセスを示す流れ図である 。 図20は、図18のコマンドプロセスを示す流れ図である。 図21は、図18の報告プロセスを示す流れ図である。 図22は、図18のアクチュエータ制御プロセスおよび力アルゴリズム計算を 示す流れ図である。 図23は、本発明で用いた力パラメータおよび一連の力コマンドを示す図であ る。 発明を実施する最良の態様 図1は、ホストコンピュータシステムにより制御されるインタフェース装置用 の本発明の一般的な制御システム10を示すブロック図である。制御システム1 0は、ホストコンピュータシステム12とインタフェース装置14を有する。 ホストコンピュータシステム12は、好ましくは、IBM互換パーソナルコン ピュータやMacintoshパーソナルコンピュータなどのパーソナルコンピ ュータ、またはSUNワークステーションやSilicon Graphics ワークステーションなどのワークステーションである。例えば、ホストコンピュ ータシステムは、IBM PC ATスタンダードに従うMS−DOSまたはW indows動作システムの下で動作するパーソナルコンピュータである。この 他に、ホストコンピュータ12は、テレビジョンセットに一般的に接続された種 々のホームビデオゲームシステム、例えばNintendo、Sega、Son yから市販されているシステム、の一つであってもよい。他の態様では、ホーム コンピュータシスム12は、例えばユーザにインタラクティブテレビテレビジョ ン機能を与えるために使用できる「セットトップボックス」であってもよい。 本実施形態では、ホストコンピュータシステム12は、周辺装置およびインタ フェース装置14を介して対話するホストアプリケーションプロセスを実施する 。ホストアプリケーションプログラムは、例えば、ビデオゲーム、医療用シミュ レーション、科学解析プログラム、もしくはオペレーティングシステム、または 力フィードバックを利用する他のアプリケーションプログラムである。通常、こ のホストアプリケーションは、以下に述べるように、表示出力装置に表示される 画像を提供し、および/または他のフィードバック、例えば音響信号、を提供す る。 ホストコンピュータシステム12は、好ましくは、ホストマイクロプロセッサ 16、ランダムアクセスメモリ(RAM)17、リードオンリーメモリ(ROM )19、クロック18、表示画面20、および音声出力装置21を有する。ホス トマイクロプロセッサ16は、Intel、Motorola、または他の製造 業者から市販されている一連のマイクロプロセッサを有する。マイクロプロセッ サ16は、単一のマイクロプロセッサチップであってもよく、あるいは複数のプ ライマリプロセッサおよび/またはコプロセッサを含んでいてもよい。好ましく は、マイクロプロセッサは、当業者には周知のように、RAM17およびROM 19から命令および他の必要なデータを取り出して格納する。本実施形態では、 ホストコンピュータシステム12は、インタフェース装置14からバス24を介 してセンサデータまたはセンサ信号を受信し、更に他の情報を受信する。マイク ロプロセッサ16は、マイクロプロセッサ16とバス24との間に設けられた標 準I/Oエレクトロニクスを用いてバス24からデータを受信し、更にI/Oエ レクトロニクスを用いて他の周辺装置を制御する。ホストコンピュータシステム 12は、更にバス24を介してインタフェース装置14に「力コマンド」を出力 して、 インタフェース装置に対する力フィードバックをもたらす。 クロック18は、マイクイロプロセッサ16およびコンピュータシステムの他 の構成要素により用いられる電気信号にタイミングを与えるためにホストコンピ ュータシステム12が使用する標準的なクロック水晶または等価な構成要素であ る。クロック18は、続いて以下に示すように、本発明の制御プロセスにおいて ホストコンピュータシステム12によりアクセスされる。 表示画面20は、適切なディスプレイドライバによりホストマイクロプロセッ サ16に結合され、ホストコンピュータシステム12または他のコンピュータシ ステムにより生成される画像を表示するために使用される。表示画面20は、標 準的な表示画面、またはCRT、3−Dゴーグル、もしくは他の視覚インタフェ ースとすることができる。本実施形態においては、表示画面20は、シミュレー ション環境またはゲーム環境の画像を表示する。他の実施形態においては、他の 画像が表示される。例えば、仮想バーチャルリアリティシミュレーションやゲー ムにおけるように、一人称的視野からの観点を記述する画像を表示することがで きる。或いは、オブジェクト、背景などの第三者的視野を表す画像を表示するこ ともできる。ホストコンピュータ12およびインタフェース装置14のユーザ2 2は、表示画面20を見ることにより視覚フィードバックを受けることができる 。 本明細書では、コンピュータ12は、コンピュータ「オブジェクト」または「 エンティティ」を表示させるものを指す場合がある。これらのコンピュータオブ ジェクトは、物理的なオブジェクトではなく、当業者には周知のように、表示画 面20上のコンピュータ12による画像として表示されるデータおよび/または 手順の論理ソフトウェアユニット集合である。例えば、カーソルや第三者的視界 の車は、画面を横切って移動できるプレーヤ制御コンピュータオブジェクトと考 えることができる。航空機の表示された模擬コックピットも「オブジェクト」と 考えることができ、あるいは模擬航空機をコンピュータ制御「エンティティ」と 考えることができる。 スピーカなどの音声出力装置21は、当業者には周知のように、増幅器、フィ ルタ、および他の回路を介してホストマイクロプロセッサ16に結合されている ことが好ましい。ホストプロセッサ16は、スピーカ21に信号を出力し、ホス トアプリケーションプログラムの実施の間に「音声事象」が生じるときユーザ2 2に音響出力を与える。また、他の種類の周辺装置は、記憶装置(ハードディス クドライブ、CD ROMドライブ、フロッピディスクドライブなど)、プリン タ、その他の入出力装置のようなホストプロセッサ16に結合されていてもよい 。 インタフェース装置14は、双方向バス24によりホストコンピュータシステ ム12に結合されている。双方向バスは、ホストコンピュータシステム12とイ ンタフェース装置との間のいずれかの方向に信号を送出する。本明細書では、用 語「バス」は、ホストコンピュータ12およびマイクロプロセッサ26間などの インタフェースであって、一つ以上の接続線または他の接続部材を通常含み、以 下に示すように多くの方法で実施することができるインタフェース、を一般的に 指すように意図されている。好適な実施形態においては、バス24は、シリアル 通信プロトコルに従ってデータを供給するシリアルインタフェースである。RS 232シリアルインタフェースポートなどのホストコンピュータシステム12の インタフェースポートは、バス24をホストコンピュータシステム12に接続す る。他の標準シリアル通信プロトコル、例えばRS−422、ユニバーサルシリ アルバス(USB)、MIDI、または当業者に周知の他のプロトコル、をシリ アルインタフェースおよびバス24で用いることも可能である。 例えば、USB規格は、高度のリアリズムを備える本発明において力フィード バック信号を供給することができる比較的高速のシリアルインタフェースを与え る。USBはまた、周辺装置を駆動するより多くの電力のソースとなることもで きる。USBにアクセスする各々の装置はホストコンピュータにより独自のUS Bアドレスを割り当てられるので、これにより複数の装置が同じバスを共有する ことが可能になる。更に、USB規格は、微分データと共に符号化されるタイミ ングデータを含んでいる。USBは、本明細書の全体を通じて説明するように、 本発明に対して有用な特徴を幾つか有している。 本発明の利点は、低帯域幅シリアル通信信号をインタフェース装置14とのイ ンタフェースに用いることができ、これにより、多くのコンピュータの標準組込 みシリアルインタフェースを直接使用することが可能になることである。この他 に、ホストコンピュータシステム12のパラレルポートは、パラレルバス24に 結合することができ、SCSIやPCパラレルプリンタバスなどの並列プロトコ ルを用いてインタフェース装置と通信を行うことができる。別の実施形態では、 バス24は、例えば、プラグインカードおよびスロットまたはコンピュータシス テム12の他のアクセスを用いてホストコンピュータシステム12のデータバス に直接接続することができる。例えば、IBM AT互換コンピュータでは、イ ンタフェースカードは、ISA、EISA、VESAローカルバス、PCI、ま たはコンピュータのマザーボードに差し込まれる他の周知の標準インタフェース カードとして実装することができ、このインタフェースカードは、コンピュータ の主データバスに接続された入力および出力ポートを提供することができる。 他の実施形態においては、ホストコンピュータシステム12とインタフェース 装置14の間を連絡する追加バス25が設けられる。通信信号に対する速度要求 は力フィードバック信号を出力するために比較的高いので、バス24と共に用い られる単一のシリアルインタフェースは、現実に近い力フィードバックが得られ るほど十分に高い速度で信号をインタフェース装置との間で送受することができ ない。このような実施形態では、バス24をホストコンピュータ12の標準シリ アルポートに結合し、追加バス25をホストコンピュータシステムの第2のポー トに結合することができる。例えば、多くのコンピュータシステムは、シリアル RS−232ポートの他に、ジョイスティックまたは同様のゲームコントローラ をコンピュータに接続するための「ゲーム」ポートを有している。2本のバス2 4および25を同時に用いてデータバス帯域幅を増加させることができる。例え ば、マイクロプロセッサ26は、センサ信号を単方向バス25とゲームポートを 介してホストコンピュータ12に送出することができ、一方ホストコンピュータ 12は、力フィードバック信号をシリアルポートから単方向バス24を介してマ イクロプロセッサ26に出力することができる。他の実施形態では、データフロ ー構成の他の組み合わせを実施することができる。 インタフェース装置14は、ローカルマイクロプロセッサ26、センサ28、 アクチュエータ30、ユーザオブジェクト34、任意選択センサインタフェース 36、任意選択アクチュエータインタフェース38、および他の任意選択入力装 置39を有する。インタフェース装置14は、バス24上で標準プロトコルを介 しての通信のために付加的な電子部品を有する。好適な実施形態では、多数のイ ンタフェース装置14がバス24(または多数のバス24)を介して単一のホス トコンピュータシステム12に結合されており、これにより多数のユーザがホス トアプリケーションプログラム(例えば、マルチプレーヤゲームやシミュレーシ ョンにおけるもの)と同時にインタフェースすることができる。更に、当業者に は周知のように、多数のプレーヤが、ネットワーク化ホストコンピュータ12を 用いてホストアプリケーションプログラムにおいて多数のインタフェース装置1 4と対話することができる。 ローカルマイクロプロセッサ26はバス24に結合されており、インタフェー ス装置の他の構成要素との迅速な通信が可能になるようにインタフェース装置1 4のハウジング内に含まれていることが好ましい。プロセッサ26はインタフェ ース装置14に対して「ローカル」と考えられる。本明細書では、「ローカル」 は、プロセッサ26がホストコンピュータシステム12における任意のプロセッ サから分離されたマイクロプロセッサであることを意味する。好ましくは「ロー カル」は、プロセッサ26がインタフェース装置14のセンサI/Oおよび力フ ィードバックに専用であり、インタフェース装置用のハウジング内やインタフェ ース装置14に密接に結合されたハウジング内のように、プロセッサ26がセン サ28およびアクチュエータ30に密接に結合されることも意味する。マイクロ プロセッサ26には、コンピュータホスト16からのコマンドまたはリクエスト を待機させ、コマンドまたはリクエストを復号し、更にコマンドまたはリクエス トに従って入力および出力信号を処理/制御するソフトウェア命令を与えること ができる。更にプロセッサ26は、センサ信号を読み取り、それらのセンサ信号 、時間信号、およびホストコマンドに従って選択された反射プロセス(本明細書 では「サブルーチン」または「力感覚プロセス」とも呼ばれる)から適切な力を 計算することにより、ホストコンピュータ16とは独立に動作する。ローカルマ イクロプロセッサ26としての使用に適したマイクロプロセッサとしては、例え ばMotorola製のMC68HC711E9やMicrochip製のPIC16C74がある。マイクロプロセッ サ26は、一つのマイクロプロセッサチップ、または複数のプロセッサチップお よび/またはコプロセッサチップを含んでいてもよい。他の実施形態においては 、 マイクロプロセッサ26はデジタル信号プロセッサ(DSP)チップを有してい てもよい。RAMおよび/またはROMなどのローカルメモリ27は、好ましく はインタフェース装置14内のマイクロプロセッサ26に結合され、マイクロプ ロセッサ26に対する命令を格納し、一時データおよび他のデータを格納する。 マイクロプロセッサ26は、センサ28から信号を受信し、バス24を介してホ ストコンピュータ12により与えられる命令に従ってインタフェース装置14の アクチュエータ30に信号を供給する。 更に、ローカルクロック29は、ホストコンピュータ12のシステムクロック 18と同様に、タイミングデータを供給するようにマイクロプロセッサ26に結 合されていてもよい。このタイミングデータは、例えばアクチュエータ30によ り出力される力(例えば、計算された速度または他の時間依存因子に依存する力 )を計算するために必要となる場合がある。USB通信インタフェースを用いた 他の実施形態では、マイクロプロセッサ26に対するタイミングデータをUSB 信号から取り出すことができる。USBは、使用可能なデータストリームによっ て符号化されるクロック信号を有している。この他に、USBのIsochronous( ストリーム)モードは、標準データ転送速度からタイミング信号を引き出すこと ができる。USBは、使用可能なSample Clock、Bus Clock、およびService Clo ckも有している。 例えば、ある実施形態では、ホストコンピュータ12は、バス24を介して低 水準力コマンドを供給することができる。これらのコマンドは、マイクロプロセ ッサ26がアクチュエータ30に直接供給する。この実施形態は、図4を参照し て更に詳細に説明する。異なる実施形態では、ホストコンピュータシステム12 は、バス24を介してマイクロプロセッサ26に高水準監視コマンドを供給する ことができ、マイクロプロセッサ26は、高水準コマンドに従ってセンサ28お よびアクチュエータ30に対する低水準力制御(「反射(reflex)」)ループを 管理する。この実施形態は、図5を参照して更に詳細に説明する。 マイクロプロセッサ26はまた、好ましくは、較正パラメータを格納する電気 的に消去可能なプログラマブルROM(EEPROM)または他の記憶装置27 へのアクセスを有している。この較正パラメータは、同じ製造プロセスから形成 された異なるインタフェース装置の部品の異なる物理的特性、例えば物理的寸法 、のわずかな製造ばらつきを補償することができる。この較正パラメータは、イ ンタフェース装置14が販売される前に製造業者により決定および格納され、あ るいは任意選択的にインタフェース装置のユーザがこれらのパラメータを決定す ることができる。これらの較正パラメータは、アクチュエータ30に対する入力 センサ信号および/または出力力値を修正して、多数の製造済インタフェース装 置14においてオブジェクト34にほぼ同じ範囲の力を与えるために、プロセッ サ26により用いられる。較正パラメータの実施例は、当業者には周知である。 マイクロプロセッサ26はまた、インタフェース装置14に含まれる他の入力 装置からコマンドを受信し、ホストコンピュータ12に適当な信号を与えて、入 力情報が受信されていることおよび任意の情報が入力情報に含まれていることを 示すことができる。例えば、インタフェース装置14上のボタン、スイッチ、ダ イアル、もしくは他の入力制御装置、またはユーザオブジェクト34は、マイク ロプロセッサ26に信号を供給することができる。 好適な実施形態では、センサ28、アクチュエータ30、およびマイクロプロ セッサ26、および他の関連する電子部品は、ユーザオブジェクト34が直接ま たは間接に結合されるインタフェース装置14用のハウジングに含まれている。 この他に、マイクロプロセッサ26および/またはインタフェース装置14の他 の電子部品は、ユーザオブジェクト34、センサ28、およびアクチュエータ3 0から分離されたハウジング内に設置してもよい。更に、オブジェクト34に所 望の自由度を与えるために、追加の機械構造がインタフェース装置14内に含ま れていてもよい。このような機構の幾つかの実施形態は、図7〜図12を参照し て説明する。 センサ28は、1以上の自由度に沿ってインタフェース装置14のユーザオブ ジェクト34の位置、動き、および/または他の特性を検出し、これらの特性を 表す情報を含む信号をマイクロプロセッサ26に与える。ユーザオブジェクトの 実施例および与えられた自由度内での動きの例は、図7および8を参照して後述 する。通常、センサ28は、オブジェクト34を動かすことのできる各自由度に 対して用意される。この他に、単一の複合センサを用いて多自由度における位置 または動きを検出することができる。ここに示した幾つかの実施形態に適したセ ンサの例は、回転軸のまわりのオブジェクトの位置の変化を検出し、位置の変化 を示すデジタル信号を供給するデジタル光学エンコーダである。このエンコーダ は、例えば、回転自由度において二つの位相関連信号を生成することによりシャ フトの回転に応答する。線形光学エンコーダは、直線自由度に沿うオブジェクト 34の位置の変化を同様に検出し、また直線自由度での直線シャフトの運動に応 じて二つの位相関連信号を生成することができる。相対的または絶対的センサの いずれかを用いることができる。例えば、相対的センサは単に相対的角度情報の みを与えるので、通常、相対的角度情報に対する基準位置を与える、ある形式の 較正ステップを必要とする。本明細書に示すセンサは、主として相対的センサで ある。従って、システムの電源投入の後に、暗示較正ステップ(implied calibr ation step)が存在する。このステップでは、センサシャフトがインタフェース 装置内の既知の位置に配置され、また、較正信号がシステムに供給されて上記の 基準位置が与えられる。これ以降、センサにより与えられる全ての角度は、その 基準位置を基準とするものである。この他に、基準位置を与えることができる既 知のインデックスパルスを相対的センサに供給することもできる。このような較 正方法は当業者には既知のものであり、従って本明細書では更に詳細な説明は行 わない。適切な光学エンコーダは、ワシントン州バンクーバのU.S.Digital製の “Softpot”である。 センサ28は、光学センサインタフェース36に電気信号を供給する。このイ ンタフェースは、マイクロプロセッサ26および/またはホストコンピュータシ ステム12により翻訳可能な信号にセンサ信号を変換するために用いることがで きる。例えば、センサインタフェース36は、センサ28から二つの位相関連信 号を受信し、二つの信号を、双方向二進カウンタを駆動する他のクロック信号ペ アに変換する。この二進カウンタの出力は符号化されたシャフトの角度位置を表 す二進数としてマイクロプロセッサ26により受信される。このような回路また は等価な回路は当業者には周知のものであり、例えばカリフォルニアのHewlettP ackard製のQuadrature Chip LS7166は、上記の機能を果たすものである。各々の センサ28には、自身のインタフェースが設けられていてもよく、或いは一つの センサインタフェースが、複数のセンサからのデータを処理してもよい。例えば 、センサインタフェースは、入力データを供給する各センサ28に専用の個別処 理チップを有していてもよい。この他に、マイクロプロセッサ26は、個別セン サインタフェース36を必要とすること無しにこれらのインタフェース機能を実 現することもできる。位置値信号は、マイクロプロセッサ26が用いることがで き、また、ホストコンピュータシステム12に送出される。ホストコンピュータ システム12は、ホストアプリケーションプログラムを更新し、力制御信号を適 切なものとして送出する。例えば、ユーザがステアリングホイールオブジェクト 34を動かすと、コンピュータシステム12は、この動きを示す位置信号および /または他の信号を受信し、表示されたユーザの視点を、あたかも車両の外を見 て車両の向きを変えているかのように移動させることができる。他のインタフェ ース機構も適当な信号をホストコンピュータシステム12に供給するために用い ることができる。他の実施形態では、センサ28からのセンサ信号をホストコン ピュータシステム12に直接供給して、マイクロプロセッサ26をバイパスする ことができる。また、センサインタフェース36は、インタフェースボードまた はカード上におけるように、ホストコンピュータシステム12内に含まれていて もよい。 この他に、センサ28の全てまたは幾つかについては、デジタルセンサの代わ りにアナログセンサを用いることができる。例えば、オブジェクトの位置ではな くオブジェクト34に作用する力を測定するひずみケージを接続することができ る。また、速度センサおよび/または加速度計を用いてオブジェクト34に加わ る速度および加速度を直接測定することができる。アナログセンサは特定の自由 度のユーザオブジェクトの位置/速度/加速度を表すアナログ信号を供給するこ とができる。アナログ−デジタル変換器(ADC)は、アナログ信号をデジタル 信号に変換することができ、このデジタル信号は、当業者には周知のように、マ イクロプロセッサ26および/またはホストコンピュータシステム12により受 信され、解読される。検出されたオブジェクト34の動きの分解能は、ADCの 分解能により制限される。しかしながら、ノイズがアナログセンサからのオブジ ェクト34の小さな動きをマスクする場合が多く、これにより、本発明の幾つか の実施形態(以下で説明する)にとって重要な遊びが潜在的にマスクされること がある。 他のタイプのインタフェース回路36も使用することができる。例えば、各々 のセンサに対して個別の処理チップを持つ電子インタフェースを用いることがで きる。このインタフェースは、マウスまたはスタイラスの位置を追跡することを 可能にし、センサおよびアクチュエータを用いてスタイラスに力フィードバック を与える。センサインタフェース36は、センサ28からの角度信号の読み取り 値をマイクロプロセッサ26に送出する前に前処理する角度決定チップを有する 。例えば、データバスにチップイネーブルラインを加えると、角度決定チップの いずれかがマイクロプロセッサと通信できるようになる。角度決定チップのない 構成に最適なのは、追加処理なしで角度を直接示す出力信号を有し、これにより マイクロプロセッサ26に対して要求する計算量を少なくし、従って前処理があ っても計算量の少ないてすむ絶対センサを有する実施形態である。センサ28が 、単に角度の変化のみを示し、角度の完全な決定のために追加の処理が必要とな る相対センサのときは、角度決定チップが最も適している。 アクチュエータ30は、マイクロプロセッサ26から受信された信号に応じて 、1以上の自由度に沿って一つ以上の方向にインタフェース装置内14のユーザ オブジェクト34に力を送る。通常、アクチュエータ30は、力の送出が望まれ る自由度の各々に対して用意される。アクチュエータ30は、能動アクチュエー タと受動アクチュエータの二種類からなる。 能動アクチュエータには、線形電流制御モータ、ステッパモータ、空気圧/油 圧能動アクチュエータ、および力を送ってオブジェクトを動かす他の種類のアク チュエータが含まれる。例えば、能動アクチュエータは、回転自由度において軸 のまわりに回転シャフトを駆動させることができ、あるいは直線自由度に沿って 直線シャフトを駆動させることができる。本発明の能動トランスジューサは、好 ましくは双方向であり、これは、これらのトランスジューサが自由度のいずれか の方向に沿って力を選択的に送ることができることを意味している。例えば、D Cサーボモータは、力制御信号を受信して、シャフト上に生成されるトルク(力 出力)と方向を制御することができる。これらのモータは、シャフトの回転が短 い時間帯の間に停止できるようにするブレーキを有していてもよい。印加電圧の パルス幅変調で制御されるステッパモータや、空気圧/油圧アクチュエータ、ト ルカ(torquer;角度範囲が制限されたモータ)、ボイスコイルアクチュエータ など、当業者に周知の他の種類の能動モータを用いることもできる。 アクチュエータ30については、受動アクチュエータも使用可能である。モー タの代わりに、あるいはモータの他に、磁気粒子ブレーキ、摩擦ブレーキ、また は空気圧/油圧受動アクチュエータを用いることができる。受動アクチュエータ のみを含む他の好適な実施形態は、モータを含むものほどリアルではないが、受 動アクチュエータは、ユーザが生成された力と争う必要がないことから、通常、 ユーザに対してより安全である。受動アクチュエータは、通常、動きの程度に対 して双方向の抵抗を与えることしかできない。インタフェース装置14に適切な 磁気粒子ブレーキが、カリフォルニア州サンタモニカのForce Limited,Inc.から 市販されている。 他の実施形態では、センサ28およびアクチュエータ30の全てまたは幾つか は、センサ/アクチュエータ対トランスジューサとして一体的に含まれていても よい。光学エンコーダおよび電流制御モータの双方を含む本発明に適したトラン スジューサは、Maxon製の20Wバスケット巻サーボモータである。 アクチュエータインタフェース38は、任意選択的にアクチュエータ30とマ イクロプロセッサ26との間に接続可能である。インタフェース38は、マイク ロプロセッサ26からの信号を、アクチュエータ30を駆動するのに適当な信号 に変換する。インタフェース38は、電力増幅器、スイッチ、デジタル−アナロ グコントローラ(DAC)、および他の構成要素を有していてもよい。能動アク チュエータ用のアクチュエータインタフェースの例は、図2を参照して説明する 。受動アクチュエータ用のアクチュエータインタフェースの例は、図3を参照し て説明する。他の実施形態では、インタフェース38回路は、マイクロプロセッ サ26内またはアクチュエータ30内に設けることができる。 他の入力装置39が任意選択的にインタフェース装置14に含まれていて、入 力信号をマイクロプロセッサ26に送出するようになっていてもよい。このよう な入力装置は、ボタン、ダイアル、スイッチ、または他の機構を含むことができ る。例えば、ユーザオブジェクト34がジョイスティックである実施形態では、 他の入力装置として、例えばジョイスティックハンドルまたはベース上に設けら れ、かつゲームまたはシミュレーションに対するユーザからの入力を補足するた めに用いられる一つ以上のボタンを挙げることができる。このような入力装置の 動作は、当業者には周知である。 電源40が任意選択的にアクチュエータインタフェース38および/またはア クチュエータ30に結合されていて、電力を供給するようになっていてもよい。 能動アクチュエータは、通常、個別の電源が駆動されることを要求する。電源4 0は、インタフェース装置14のハウジング内に含まれていてもよく、あるいは 例えば電源コードにより接続された別個の構成要素として設けることができる。 この他に、USBまたは類似のプロトコルを用いたときは、インタフェース装 置14は、USBから電力を引き出すことができ、従って電源40を必要とはし ない。この実施形態は、受動アクチュエータ30を有する装置14に最適である 。これは、受動アクチュエータが動作のための電源を殆ど必要としないからであ る。能動アクチュエータは、USBから得られるものよりも更に多くの電力を必 要とする傾向があるが、この制限は多くの方法で克服できる。一つの方法は、イ ンタフェース14がホストコンピュータ12に対する一つ以上の周辺装置に見え るようにインタフェース14を構成することである。例えば、ユーザオブジェク ト34の所与の自由度の各々は、異なる周辺装置として構成することができ、自 身の電力割当分を受け取ることができる。これは、ホスト12がインタフェース 装置14により多くのパワーを割り当てることを可能にする。この他に、USB からの電力は、インタフェース装置14によって貯蔵および調整することができ 、従ってアクチュエータ30を駆動するために必要なときに使用することができ る。例えば、電力は所定時間にわたって蓄積された後、直ちに散逸され、ユーザ オブジェクト34に対してジョルト力を与えることができる。例えば、コンデン サ回路がエネルギを蓄積し、十分な電力が蓄積されたときエネルギを散逸させる 。マイクロプロセッサは、力の出力を調整して、蓄積されるべき電力に対して許 容される時間を確保する必要がある。この電力蓄積態様は、インタフェース装置 14の非USB形態でも使用することができ、これにより、より小さな電源40 を使 用することができるようになる。 安全性のために、安全スイッチ41がインタフェース装置に含まれていて、ユ ーザがアクチュエータ30を無効にして停止することを可能にする機構や、ユー ザがアクチュエータ30を作動させなければならないようにする機構が設けられ ていることが好ましい。ある種のアクチュエータ、特にモータのような能動アク チュエータは、アクチュエータがユーザオブジェクト34を強い力で不意に移動 させるときは、ユーザに対して安全性の問題を与える。更に、制御システム10 に故障が生じると、ユーザはアクチュエータを素早く停止させてけがを避けよう とする。このような選択肢を与えるため、安全スイッチ41がアクチュエータ3 0に結合される。好適な実施形態では、ユーザは、アクチュエータ30を作動さ せるインタフェース装置14の動作中、安全スイッチ41を絶えず作動させ、あ るいは閉じていなければならない。任意の時点で、安全スイッチが停止すると( 開かれると)、電源40からの電力は、安全スイッチが停止している限りアクチ ュエータ30に対して遮断される(或いは、アクチュエータが停止状態にされる )。安全スイッチの好適な実施形態は、例えば、ユーザオブジェクト34(ジョ イスティックなど)の上、またはインタフェース装置14を収容するハウジング の都合のよい面上、に配置された光学スイッチである。ユーザが手または指で光 学スイッチをカバーすると、スイッチのセンサは周囲の光の検出を阻止され、ス イッチが閉じる。このため、アクチュエータ30は、ユーザがスイッチを覆って いる限り機能する。他の実施形態では、他の種類の安全スイッチ41を設置して もよい。例えば、静電接点スイッチを用いて接触を検出したり、ボタンやトリガ を押したり、異なる種類のセンサスイッチを使用することができる。 ユーザオブジェクト34は、ユーザが握ったり、或いはユーザが触ったり制御 することの可能な装置または物品であって、インタフェース装置14に結合され た装置または物品であることが好ましい。「握る」とは、ユーザがオブジェクト のグリップ部分を或る方法で、例えば手により、或いは障害者の場合は口を使っ て、開放自在にユーザの指先と係合させることを意味する。ユーザ22は、オブ ジェクトを所与の自由度に沿って操作および移動させて、ユーザが表示画面20 上で見ているホストアプリケーションプログラムとインタフェースすることがで きる。オブジェクト34は、ジョイスティック、マウス、トラックボール、スタ イラス、ステアリングホイール、医療機器(ラパロスコープ、カテーテルなど) 、プールキュー、ハンドグリップ、ノブ、ボタン、その他の物品とすることがで きる。 図2は、インタフェース装置14の能動アクチュエータ30用のアクチュエー タインタフェース38の例を示す概略図である。この例では、アクチュエータ3 0は、直線電流制御サーボモータである。アクチュエータインタフェース38は 、DAC回路44および電力増幅回路46を有する。 DAC回路44は、マイクロプロセッサ26に結合され、好ましくはマイクロ プロセッサ26から力値を表すデジタル信号を受信する。DAC48は、入力デ ジタル信号を電力増幅回路46に出力されるアナログ電圧に変換するのに適して いる。適切なDAC48は、National Semiconductor製のDAC1220などの 並列DACであり、これは外部の一般的なオペアンプ50と共に動作するように 設計されている。オペアンプ50は、例えば、その入力において、二進数に比例 する0から−5ボルトの信号を出力する。オペアンプ52は、出力電圧を対称バ イポーラ範囲に変換する反転加算増幅器である。オペアンプ52は、オペアンプ 50の出力を反転し、その出力から2.5ボルトを減算することにより−2.5 V〜+2.5Vの出力信号を生成する。この出力信号は、増幅回路46における 電力増幅に適している。例えば、R1=200kW、R2=400kWである。 勿論、DAC回路44は、デジタル信号を所望のアナログ信号に変換するために 用いることができる多くの可能な回路の一つの例として意図されている。 電力増幅回路46は、DAC回路44からアナログ低電力制御電圧を受け取り 、アクチュエータ30を制御する電圧を増幅する。アクチュエータ30は、高電 力電流制御サーボモータ30である。入力電圧は、増幅器54と幾つかの抵抗器 とからなるトランスコンダクタンス段を制御する。このトランスコンダクタンス 段は、モータ30を駆動する入力電圧に比例する出力電流を生成し、入力電圧源 から微小な電流を引き出す。増幅器56、抵抗器、およびコンデンサCを含む第 二の増幅段は、モータ30の第二端子57の電圧スイングを増強することにより 付加的な電流容量を与える。電力増幅回路46に対する値の例は、R=10kW 、 R2=500W、R3=9.75kW、およびR4=1Wである。勿論、回路4 6は、能動アクチュエータ30を駆動する電圧を増幅するために用いることがで きる多くの可能な回路の一例として意図されている。 図3は、受動アクチュエータと共に使用できるアクチュエータインタフェース 38′の例を示す概略図である。インタフェース38′は、アナログ電圧を用い て制御される受動アクチュエータ(ダンパ)、例えば流体制御受動ダンパと共に 使用できる可変ソレノイドや磁気粒子ブレーキ、と共に使用するのに適している 。インタフェース38′は、DAC回路44、増幅器60、トランジスタ62、 および電圧プロテクタ64を有する。DAC回路44は、マイクロプロセッサ2 6に結合されており、ユーザオブジェクト34に印加されるべき抵抗性力値を表 すデジタル信号をコンピュータシステムから受信する。DAC回路44は、この デジタル信号電圧をアナログ電圧に変換する。この電圧は、この後、増幅器60 に出力される。適切なDACは、Maxim製のMAX530ACNGや、図2を参照して上 記したDAC回路44である。増幅器60は、DAC44からのアナログ電圧を 正の端子で受け取り、この電圧信号をアクチュエータ30により使用可能な範囲 にスケーリングする。増幅器60は、演算増幅器などとして実施できる。トラン ジスタ62は、増幅器60の出力に結合され、好ましくは、増幅した出力電流を アクチュエータ30に供給する増幅器として動作する。抵抗器R1が増幅器60 とトランジスタ62との間に結合され、また抵抗器R2が増幅器60とグラウン ドとの間に結合される。例えば、抵抗器R1とR2はそれぞれ180kΩと12 0kΩの値を持ち、回路中に適切なバイアスを与える。電圧プロテクタ64はト ランジスタ62のエミッタに結合され、誘導性負荷を用いたとき電圧スパイクか らの保護を与える。この回路と共に用いられる適切な受動アクチュエータ30は 、可変ソレノイドまたは磁気粒子ブレーキを有する。インタフェース装置で実施 されるアクチュエータ30の各々に対して別個のDACと増幅器が用いられ、マ イクロプロセッサ26および/またはホストコンピュータシステム12は各々の 所与の自由度に対して個別に各々のアクチュエータを制御することができる。イ ンタフェース38′は、コンピュータシステムをアクチュエータにインタフェー スするために用いることができる多くの可能な回路の一例として意図されている 。 他の実施形態では、オン/オフ信号は、例えば流体制御アクチュエータのオン /オフ弁を駆動するソレノイドに対してしか必要とされない可能性がある。この ような実施形態では、例えばトランジスタが、そのベース端子においてマイクロ プロセッサ26に電気的に結合され、オン/オフアクチュエータ30におけるソ レノイドの作動を制御する電気スイッチとして動作する。TTL論理信号などの 力信号がトランジスタを制御するために送出され、電流がソレノイドを流れてソ レノイドを作動させオブジェクト43の自由な運動を可能にするか、あるいは電 流が流れないようにしてソレノイドを停止状態にし運動に抵抗を与えるようにす る。 図4は、本発明の力フィードバックインタフェース装置を制御する方法70の 第1の実施形態を示す流れ図である。方法70は、「ホスト制御」態様に対する ものである。この態様では、ホストコンピュータシステム12がマイクロプロセ ッサ26にダイレクト低水準力コマンドを与え、また、マイクロプロセッサがア クチュエータ30にこれらの力コマンドを直接与えてアクチュエータにより出力 された力を制御する。 例えば、このホスト制御モードは、USB通信インタフェースを用いた実施形 態に適している。データレートは十分高く、ホストが500Hz以上で通信する ことを可能にし、ユーザオブジェクト34に現実に近い力フィードバックを与え る。USBのUSB Isochronous Data Transferモードは、必要な高いデータレー トを与えるのに適している。 プロセスは72から始まる。ステップ74において、ホストコンピュータシス テム1およびとインタフェース装置14は、例えばユーザ作動式電源スイッチに よって電源投入される。ステップ74の後、プロセス70は二つの並列(同時) プロセスに分岐する。一方のプロセスはホストコンピュータシステム12上で実 施され、他方のプロセスはローカルマイクロプロセッサ26上で実施される。こ れらの二つのプロセスは、ステップ74から、この同時性を示す異なる方向に分 岐する。 ホストコンピュータシステムプロセスでは、ステップ76が先ず実施される。 ステップ76では、アプリケーションプログラムが処理され、更新される。この アプリケーションは、シミュレーション、ビデオゲーム、科学プログラム、また は他のプログラムとすることができる。画像がユーザのために出力表示画面20 に表示され、音声フィードバックなどの他のフィードバックが与えられるように なっていてもよい。 二つの分岐はステップ76を出て、ホストコンピュータシステム12で同時に 実行される二つのプロセスがあることを示している。一つのプロセスでは、ステ ップ78が実施される。このステップでは、センサデータがローカルマイクロプ ロセッサ26からホストコンピュータにより受信される。以下に示すように、マ イクロプロセッサプロセスでは、ローカルプロセッサ26はセンサ28から信号 を連続的に受信し、生データを処理し、処理したセンサデータをホストコンピュ ータ12に送出する。あるいは、ローカルプロセッサ26は、生データを直接ホ ストコンピュータシステム12に送出する。本明細書で用いる「センサデータ」 は、1以上の自由度でオブジェクト34の動きを検出するセンサ28から得られ た位置値、速度値、および/または加速度値を含んでいてもよい。更に、インタ フェース装置14上のボタンがユーザにより作動させられているということを示 す信号など、他の入力装置39から受信された他のデータもステップ78におい てセンサデータとしてホストコンピュータシステム12により受信される。最後 に、用語「センサデータ」は、以前に記録され、速度を計算するために保存され た位置値などの値の履歴を含んでいてもよい。 センサデータがステップ78で読み出された後、プロセスはステップ76に戻 る。ステップ76では、ホストコンピュータシステム12は、オブジェクト34 のユーザによる操作およびステップ78で受信された他のユーザ入力に応じてア プリケーションプログラムを更新し、力が並列プロセスでオブジェクト34に加 えられる必要があるかどうかを判断する。ステップ78は、ローカルプロセッサ 26からデータを読み取る連続ループで実施される。 ステップ76からの第二の分岐は、オブジェクト34を操作するユーザに力フ ィードバックを与える力コマンドを決定するホストコンピュータのプロセスに関 する。これらのコマンドは、本明細書では「低水準」力コマンドとして説明され 、図5の実施形態で説明される「高水準」コマンドまたは監視力コマンドと区別 さ れる。低水準力コマンドは、特定の大きさの力をアクチュエータが出力するよう に指令する。例えば、低水準コマンドは、通常、大きさ力値、例えばアクチュエ ータが所望の大きさ値の力を加えることを命令する等価な信号、を含んでいる。 低水準力コマンドはまた、アクチュエータが選択された方向に力を加えることが できる場合に力の方向を示し、および/またはアクチュエータにより要求される 他の低水準情報を示すことができる。 第二の分岐はステップ80で始まる。このステップでは、ホストコンピュータ システムが、ユーザオブジェクト34に加えられた力の変化が要求されているか どうかをチェックする。これは幾種類かの基準により判断される。これらの基準 のうちの最も重要なものは、ステップ78で読み取られたセンサデータ、タイミ ングデータ、およびステップ76で更新されたアプリケーションプログラムの実 施または「事象」である。ステップ78で読み取られたセンサデータは、ユーザ がアプリケーションプログラムと対話している方法をホストコンピュータ12に 通知する。ホストコンピュータシステム12は、所定時間にわたって検出された オブジェクト34の位置から、いつ力をオブジェクトに印加すべきかを決定する 。例えば、ホストコンピュータがビデオゲームアプリケーションを実施している 場合は、ゲーム内でのコンピュータ生成オブジェクトの位置によって、力フィー ドバックの変化が求められているかどうかを判断することができる。ユーザが模 擬レースカーを制御しているときは、ユーザオブジェクトジョイスティックの位 置によって、レースカーが壁の中を移動しているかどうかが判断され、これによ り、衝突力をジョイスティック上に生成すべきかどうかが判断される。更に、ユ ーザオブジェクトの速度および/または加速度は、オブジェクトに対する力の変 化が必要かどうかに影響を与える。ユーザがゲームにおいてテニスラケットを制 御しているときは、特定の自由度のユーザオブジェクトジョイスティックの速度 によって、テニスボールが打たれたどうかが判断され、これにより、適当な力を ジョイスティックに加えるべきかどうかが判断される。更に、インタフェース装 置14においてボタンまたは他の制御装置をユーザが作動させるなどといった他 の入力は、それらの制御装置が如何にプログラムされてアプリケーションプログ ラムに影響を与えるかに応じて、オブジェクト34に要求される力を変化させる こと ができる。 力の変化が必要かどうかを判断するための他の基準には、アプリケーションプ ログラム中の事象が含まれる。例えば、ゲームアプリケーションプログラムは、 ユーザオブジェクト34の位置データとは無関係に、ゲーム中の他のオブジェク トがユーザにより制御されたオブジェクトと衝突しようとしていることを(恐ら くランダムに)判断することができる。従って、力は、衝撃をシミュレートする この衝突事象に依存してユーザオブジェクトに加えられるべきである。力は、こ のような事象とステップ78で読み取られたセンサデータとの組み合わせに依存 して、ユーザオブジェクト上に要求されるようになっていてもよい。アプリケー ションプログラムにおける他のパラメータは、ホストコンピュータシステム12 に接続されてアプリケーションプログラムにデータを入力する他の入力装置やユ ーザインタフェース装置などのユーザオブジェクトに対する力の変化が必要かど うかを決定する(他のインタフェース装置は直接接続してもよいし、ネットワー クなどを介して遠隔的に接続してもよい)。 ステップ80において力の変化が現在のところ要求されていないときは、プロ セスはステップ76に戻ってホストアプリケーションを更新し、ステップ80に 戻って、力のこのような変化が要求されるまで再度チェックを行う。このような 変化が要求されると、ステップ82が実施される。このステップでは、ホストコ ンピュータ12は、インタフェース装置14のアクチュエータ30に送出される 適切な低水準力コマンドを決定する。この力コマンドは、選択された力感覚プロ セス、センサデータ、ホストアプリケーション、およびクロック18に依存する 。 この低水準力コマンドは、選択された力感覚プロセスから部分的に決定するこ とができる。本明細書で用いられる「反射プロセス(reflex process)」または 「力感覚プロセス(force sensation process)」(「サブルーチン」とも呼ば れる)は、ステップ78で読み出されたセンサデータやクロック18からのタイ ミングデータ等のような他のパラメータに依存する力コマンドを与える一組の命 令である。本実施形態では、力感覚プロセスは、幾つかの異なるタイプのステッ プおよび/または命令を含む。あるタイプの命令は、ホストコンピュータ12が センサおよびタイミングデータに基づいて力値を計算またはモデル化するために 使 用できる方程式を含む力アルゴリズムである。数タイプのアルゴリズムを用いる ことができる。例えば、力がオブジェクト34の位置と線形に(または非線形に )変化するアルゴリズムを用いて、ばねのような疑似力を与えることができる。 力がオブジェクト34の速度と共に線形に変化するアルゴリズムを用いて、疑似 制動力または他の力を与えることもできる。力がオブジェクト34の加速度と共 に線形に(または非線形に)変化するアルゴリズムを用いて、例えば、質量に関 する疑似慣性力を与えたり(線形変化の場合)、疑似重力引張力を与える(非線 形変化の場合)ことができる。このような力を計算するために用いられる数タイ プの疑似力およびアルゴリズムは、スタンフォード大学デザインリサーチセンタ ーのLouis B.Rosenbergによる「仮想剛性面接触の知覚設計(Perceptual Design of a Virtual Rigid surface contact)」(Report number AL/CF-TR-1995-002 9、1993年4月)に示されている。この文献は、参照文献として本明細書に組み込 まれる。 ユーザオブジェクト34の速度および加速度に依存する力値に対して、速度お よび加速度は多様な方法で与えることができる。ステップ78でホストコンピュ ータ12により読み取られたセンサデータは、位置データ、速度データ、および 加速度データを含んでいる。好適な実施形態では、速度および加速度データが予 めマイクロプロセッサ26により計算され、次にホストコンピュータ12に与え られる。かくして、ホストコンピュータは、力値を計算するアルゴリズムにおい て直接速度および加速度データを用いることができる。他の実施形態では、ステ ップ78で読み取られたセンサデータは、位置データを含み、速度または加速度 データは含まず、従ってホストコンピュータ12は位置データから速度および加 速度を計算する必要がある。これは、過去の位置値を多数記録し、このような位 置値の各々がシステムクロック18を用いて受信された時間を記録し、このよう なデータから速度および/または加速度を計算することによって実現される。 例えば、減衰定数を乗じたユーザオブジェクトの速度に基づいて力を計算する 運動方程式を用いて、ユーザオブジェクトに対する制動力を計算することができ る。この種の方程式は、流体や同様の材料を通過する1自由度に沿ったオブジェ クト34の運動をシミュレートすることができる。例えば、液体などの疑似材料 を通過して動くときにオブジェクト34が遭遇する抵抗の度合を示す減衰定数を 最初に選択することができる。ここで、大きな数ほど大きな抵抗を示す。例えば 、水は、オイルまたはシロップより低い減衰定数を有する。ホストコンピュータ は、ユーザオブジェクト34の(特定の自由度に沿った)前の位置を呼び戻し、 ユーザオブジェクトの現在の位置を調べ、更に位置の差を計算する。差の符号( 負または正)から、オブジェクト34の運動の方向も決定することができる。こ の後、位置の変化量を乗じた減衰定数に等しくなるように力が設定される。この アルゴリズムに基づいてアクチュエータを制御したコマンドが、ユーザオブジェ クトの動きに比例した力を生成して、流体を通過する運動をシミュレートする。 他の媒体における動き、例えば凹凸面や傾斜面の上での動きなどは、力を計算す る異なる方法を用いて同様にシミュレートする事ができる。 力コマンドの決定は、システムクロック18からアクセスされたタイミングデ ータにより影響を受けると好適である。例えば、上記の制動力の例では、ユーザ オブジェクト34の速度は、ユーザオブジェクトの位置の差を計算し、減衰定数 を乗じることにより決定される。この計算はデータ点の間に一定の時間間隔を想 定している。すなわち、オブジェクト34の位置データは、ホストコンピュータ 12によって規則的な所定の時間間隔で受信されると仮定されている。しかし、 このようなことは、異なるコンピュータプラットフォームの異なる処理速度や、 単一ホストマイクロプロセッサ16での処理変動、例えばマルチタスク、に起因 して、実際に生じることはない。従って、本発明では、ホストコンピュータは、 好ましくはクロック12にアクセスして、最後の位置データが受信されてからど れだけの時間が実際に経過したかを求める。制動力の例では、ホストコンピュー タは、位置の差を取得することができ、またそれをある時間尺度で除算してタイ ミングの差を考慮することができる。このように、ホストコンピュータは、ユー ザに対する力および力感覚の変調にクロックのタイミングデータを用いることが できる。タイミングデータは、本発明の力感覚プロセスや他のアルゴリズムで用 いることができ、プラットフォームの種類やホストコンピュータ12で利用可能 な処理時間にかかわらず、反復可能で一貫した力フィードバックを与えることが できる。 力感覚プロセスには、他の命令が含まれていてもよい。例えば、所望の方向に のみ力を与えたり、他の特定の状況でのみ力を与えるような条件が含まれていて もよい。例えば、壁などの仮想の障害をシミュレートするためには、力は一方向 (単方向)にのみ加えられるべきである。多くの受動アクチュエータの場合、双 方向の抵抗力しか加えることができない。単方向の抵抗をシミューレートするた めに、仮想障害力感覚プロセスに条件が含まれていてもよい。仮想障害力感覚プ ロセスにおけるこのような条件の例は、図12を参照して説明する。また、ホス トコンピュータ12(または図5の実施形態におけるマイクロプロセッサ26) が低水準コマンドまたは力値を出してユーザオブジェクト34に対してゼロ力を 与える(すなわち、全ての力を取り除く)ことを指示する「ヌル」反射プロセス も使用することができる。 他のタイプの力感覚プロセスは、力をモデル化するアルゴリズムを用いないが 、代わりに、予め計算され、またはサンプリングされ、更にメモリまたは他の記 憶装置にデジタル化「力プロファイル」として格納されている力値を用いる。こ れらの力値は、上述したように方程式またはアルゴリズムを用いて予め生成され 、あるいは力をサンプリングしてデジタル化することより与えられる。例えば、 ユーザに特定の力感覚を与えるため、ホストコンピュータ12は、力感覚プロセ スにより命令を受けて、RAM、ROM、ハードデイスクなどの特定の記憶装置 から連続した力値を取り出すことができる。これらの力値は低レベレコマンドで 直接アクチュエータに送られ、ホストコンピュータ12を必要とせずに特定の力 を与えることができる。更に、既に格納された力値を他のパラメータに対して出 力することができ、これにより、一組の格納力値から異なるタイプの力および力 感覚を与えることができる。例えば、システムクロック18を用いると、格納さ れた力値が、所望の力に依存して変化しうる特定の時間間隔に従って順次に出力 されるようにすることができる。或いは、取り出された異なる力値が、ユーザオ ブジェクト34の現在の位置に応じて出力されるようにすることができる。 ホストコンピュータ12は、新たに選択された反射プロセスまたは予め選択さ れた反射プロセスに従って、ステップ82において力コマンドを決定することが できる。例えば、これが2回目以降のステップ82の反復である場合、ホストア プリケーションプログラムによって決定されたように、パラメータ(オブジェク ト34の位置など)が許すのであれば、前回の反復におけるものと同じ反射プロ セスを再度実施することができる。 ステップ82で決定された力コマンドは、他のパラメータをチェックする命令 にも依存する。これらの命令は、上記の反射プロセス内に含まれていてもよいし 、反射プロセス外に含まれていてもよい。このようなパラメータの一つは、実施 されたホストアプリケーションプログラム(あったとして)により与えられる値 である。このアプリケーションプログラムは、特定の力コマンドを出力する必要 があること、あるいはこのアプリケーションプログラムまたは他の命令内で生じ る事象に基づいて反射プロセスを実施する必要があることを判断することができ る。力コマンドまたは力値は、センサデータとは独立にホストアプリケーション プログラムによって与えられる。また、ホストアプリケーションプログラムは、 自身の特定の位置データ、速度データ、および/または加速度データを選択反射 プロセスに与え、ユーザオブジェクト34の操作には基づかないがアプリケーシ ョンプログラム中の事象をシミュレートするために与えられる力を計算または提 供することができる。このような事象には、ユーザ制御コンピュータ画像が仮想 面または仮想構造に衝撃を与えるときに生じるような衝突事象が含まれる。更に 、ホストコンピュータ12に接続された他の入力装置は、事象に影響を与え、従 ってユーザオブジェクト34に加えられる力に影響を与える。例えば、単一のホ ストコンピュータに接続された複数のインタフェース装置14からのセンサデー タは、ホストアプリケーションプログラムのコンピュータ制御画像/オブジェク トおよび事象に影響を与えることにより、他の接続インタフェース装置で感じら れる力に影響を与えることができる。 また、ステップ82で決定された力コマンドは、ホストコンピュータ12への 他の入力、例えばインタフェース装置14中(またはその外部)のボタンや他の 入力装置の作動、に基づいていてもよい。例えば、特定のアプリケーションプロ グラムは、ユーザがジョイスティックのファイヤボタンを押すときは常にジョイ スティックに力が加わることを要求する。 上記の反射プロセスおよび他のパラメータを用い、ユーザオブジェクト34を 介してユーザに種々の触覚を与え、多様な触覚事象をシミュレートすることがで きる。例えば、一般的な触覚には、仮想的な減衰(上述したもの)、仮想障害、 仮想質感が含まれる。仮想障害は、シミューレーション、ゲームなどにおける壁 、障害、および他の単方向力をシミュレートするために与えられる。ユーザがコ ンピュータ画像をジョイスティックにより仮想障害に移動させると、ユーザは、 彼または彼女がその方向にジョイスティックを移動させ続けるとき物理的抵抗を 感じる。ユーザがオブジェクトを障害から離れるように動かすと、単方向力が除 去される。このようにして、画面上に表示された仮想障害が物理的性質を持つと いう説得力のある感覚がユーザに与えられる。同様に、仮想質感が用いられ、表 面状態や同様の質感をシミュレートすることができる。例えば、ユーザがジョイ スティックまたは軸に沿う他のユーザオブジェクトを動かすと、ホストコンピュ ータは、迅速な一連のコマンドを送り、反射プロセスのように、1)その軸に沿 って抵抗を加え、2)次に、その軸に沿った抵抗の印加を直ちに停止することを 繰り返す。この頻度はジョイスティックハンドルの移動に基づいており、従って 空間位置との相関を有している。このため、ユーザは、質感という物理的感覚を 感じることができる。この質感は、格子の上でスティックを引きずる感覚と説明 することができる。 次のステップ84では、ステップ82において決定された低水準力コマンドが バス24を介してマイクロプロセッサ26に出力される。この力コマンドは、通 常、上記のパラメータに従って決定された力値を有する。この力コマンドは、マ イクロプロセッサ26によって単にアクチュエータ30に中継される実際の力信 号として出力されてもよいし、あるいはアクチュエータ30に送出される前にマ イクロプロセッサ26によって適当な形式に変換されてもよい。更に、低水準力 コマンドは、どのアクチュエータがこの力値を受け取ることになっているかをマ イクロプロセッサ26に示す情報を含んでいることが好ましい(複数のアクチュ エータがインタフェース装置14に含まれている場合)。次に、本プロセスはス テップ76に戻り、ホストアプロケーションプロセスを処理/更新する。このプ ロセスはステップ80に続き、ステップ80では、ホストコンピュータは、異な る力コマンドを上記のパラメータにより決定されたものとして出力すべきかどう かをチェックする。もしそうなら、ステップ84で新しい力コマンドが決定され 、出力される。力の変化が要求されないときは、マイクロプロセッサ26が前回 の力コマンドをアクチュエータ30に出力し続けることができるので、ホストコ ンピュータ12は、他のコマンドを発することはない(この他に、ホストコンピ ュータ12は、力の変化が要求されてもコマンドを出力し続けるようになってい てもよい)。ステップ84における後続の力コマンド出力は、ステップ82のパ ラメータに応じて、同じ反射プロセスまたは異なる反射プロセスに従って決定す ることができる。 更に、ホストコンピュータ12は、好ましくは、任意の適切な視覚フィードバ ック、聴覚フィードバック、またはホストアプリケーションに関連する他のフィ ードバックを、ユーザオブジェクト34への力の印加に同期させる。例えば、ビ デオゲームアプリケーションでは、表示画面20上でユーザと衝突するオブジェ クトなどの視覚事象の立上りまたは開始は、これらの視覚事象に対応し、あるい はこれらの視覚事象を補足するユーザによって感じられる力の立上りまたは開始 に同期される必要がある。視覚事象および力事象の立上りは、互いり約30ミリ 秒(ms)以内に生じることが好ましい。この時間の長さは、同時のものとして 事象を知覚する人間の知覚能力の一般的な限界である。視覚事象および力事象が この範囲外で生じるときは、通常、事象間のタイムラグが知覚される。同様に、 ホストアプリケーションにおける聴覚事象の立上りに対応する聴覚信号の出力は 、これらの聴覚事象に対応/補足する出力力の立上りに同期して出力される。再 び、これらの事象の立上りは、互いの約30ms以内に生じることが好ましい。 例えば、ホストコンピュータシステム12は、スピーカ21からの爆発音を、シ ミュレーションにおけるその爆発からユーザによって感じられる力に時間的にで きるだけ近接して出力することができる。好ましくは、この音の大きさは、ユー ザオブジェクト34により印加された力の大きさに正比例(反比例とは逆)して いる。例えば、シミュレーションの間、遠い(仮想)距離における爆発の低い音 は、ユーザオブジェクト34に小さな力を生じさせ、大きな「近い」爆発によっ て大きな音がスピーカから出力され、対応する大きな力がオブジェクト34に出 力されるようになっていてもよい。 ローカルマイクロプロセッサ26は、ステップ74から分岐して上記のホスト コンピュータプロセスと並列にステップ86から開始するプロセスを実施する。 ステップ86では、インタフェース装置14が作動状態にされる。例えば、ホス トコンピュータ12とインタフェース装置14との間に信号を送出することで、 インタフェース装置が現在アクティブであることを知らせてもよい。ステップ8 6から、二つのプロセスが分岐して、ローカルプロセッサ26上で同時に実行さ れる(マルチタスクする)二つのプロセスが存在することを示す。一つのプロセ スでは、ステップ88が実施され、プロセッサ26がセンサ28から生データ( センサの読み取り値)を読み取る。このような生データは、好ましくは所与の自 由度に沿ってユーザオブジェクトの位置を記述する位置の値を含んでいる。好適 な実施形態では、センサ28は相対センサであり、この相対センサは、最後の位 置が読み取られてからの位置の変化を記述する位置値を与える。プロセッサ26 は指示された基準位置からの相対位置を測定することにより絶対位置を決定する ことができる。他の実施形態では、センサ28は、オブジェクト34の生の速度 値および加速度値を与える速度センサおよび加速度計を有していてもよい。ステ ップ88で読み出された生データは、インタフェース装置14の作動ボタンや他 の制御装置39からの入力など、他の入力を有していてもよい。 次のステップ90では、プロセッサ26は、適当であれば、受信された生デー タを処理してセンサデータにする。好適な実施形態では、この処理は二つのステ ップを含む。すなわち、生位置データからの速度値および/または加速度値を計 算するステップ(速度および/または加速度が力を計算するのに必要とされると き)と、計算された速度および加速度データを濾波するステップと、を含んでい る。速度値および加速度値は、ステップ88で受信された生位置データならびに 格納された位置値および時間値から計算される。好ましくは、プロセッサ26は 、一連の位置値と、位置値が受信された時点に対応する時間値と、を格納する。 プロセッサ26は、自身のシステムクロックまたはローカルシステムクロック( 図1には図示せず)を用いてタイミングデータを求める。速度と加速度は、当業 者には周知のように、格納された位置データとタイミングデータを用いて計算さ れる。次に、計算された速度値および/または加速度値を濾波して、データから ノ イズ、例えば速度計算においてオブジェクト34の位置の急速な変化から生じる ことのある大きなスパイク、を除去することができる。このように、本実施形態 におけるセンサデータは、位置、速度、加速度、およびその他の入力データを含 んでいる。他の実施形態では、プロセッサ26に電気的に結合されるがプロセッ サ26から分離した回路が生データを受信し、速度および加速度を決定すること ができる。例えば、特定用途集積回路(ASIC)やディスクリートな論理回路 は、カウンタなどを用いて速度と加速度を決定し、マイクロプロセッサ26上で の処理時間を節約することができる。 この他に、ステップ90を省略し、プロセッサ26が生位置データ(および他 の入力装置39からの他の入力データ)をホストコンピュータ12に供給するよ うになっていてもよい。これにより、ホストコンピュータ12が位置データから 速度および加速度を濾波して計算することが必要となる。このように、プロセッ サ26がこの処理を実行してホストコンピュータ12で行われる処理の量を減少 させことが好適である。他の実施形態では、濾波がホストコンピュータ12で行 われ、速度および加速度計算はプロセッサ26で行われる。更に、速度および/ または加速度センサを用いて生の速度および加速度データを与える実施形態では 、速度および/または加速度の計算は省略できる。ステップ90の後、ステップ 91が実施される。このステップでは、プロセッサ26は、処理されたセンサデ ータをバス24を介してホストコンピュータ12に送出する。次に、プロセスは ステップ88に戻り、生データを読み取る。ステップ88、90および91はこ のように連続して実施され、現在のセンサデータをホストコンピュータシステム 12に与える。 ステップ86からの第二の分岐は、アクチュエータ30を制御して、ホストコ ンピュータ12により計算された力をオブジェクト34に与えるプロセッサ26 に関係する。第二の分岐はステップ92から開始し、このステップでは、低水準 力コマンドがバス24を介してホストコンピュータ12から受信されたか否かを プロセッサ26がチェックする。受信されていない場合、プロセスはこのような 力コマンドを連続的にチェックする。力コマンドが受信された場合は、ステップ 94が実施される。このステップでは、プロセッサ26が低水準プロセッサ力コ マンドを指定されたアクチュエータに出力し、出力力を所望の大きさ、方向など に設定する。この力コマンドは、ホストコンピュータからの受信低水準コマンド と同等であってもよいし、あるいは、プロセッサ26が任意選択的に力コマンド をアクチュエータ30により使用可能な適当な形態に変換してもよい(あるいは 、アクチュエータインタフェース38がこのような変換を行ってもよい)。次に 、プロセスはステップ92に戻り、ホストコンピュータ12からの他の力コマン ドをチェックする。 図5は、本発明の力フィードバックインタフェース装置14を制御する方法1 00の第2の実施形態を示す流れ図である。方法100は「反射」形態に対する ものである。この形態では、ホストコンピュータシステム12は、マイクリプロ セッサ26に高水準監視力コマンド(「ホストコマンド」)しか与えず、マイク ロプロセッサ26は、独立した「反射」として低水準力コマンド(力値)をアク チュエータ30に与えて、アクチュエータによる力出力を制御する。 図5のプロセスは、標準RS−232シリアルインタフェースなどの低速通信 インタフェースに適している。しかしながら、図5の実施形態は、ローカルマイ クロプロセッサがホストプロセッサ16からの計算負荷を解放するので、USB などの高速通信インタフェースにも適している。更に、この実施形態は、直送コ マンドプロトコルを与えることができる。その例は図9および14を参照して説 明するが、これにより、ソフトウェア開発者がホストアプリケーションにおいて 容易に力フィードバックを与えることが可能になる。この実施形態では、例えば 、より遅いUSBの「割込みデータ転送」モードを用いることができる。 このプロセスは102から始まる。ステップ104では、ホストコンピュータ システム12とインタフェース装置14が、例えばユーザ作動電源スイッチによ って電源投入される。ステップ104の後、プロセス100は二つの並列プロセ スに分岐する。一方のプロセスはホストコンピュータシステム12で実施され、 他方のプロセスはローカルマイクロプロセッサ26で実施される。 ホストコンピュータシステムプロセスでは、ステップ106が初めに実施され 、そこでアプリケーションプログラムが処理される。このアプリケーションは、 シミュレーション、ビデオゲーム、科学プログラム、または他のプログラムであ っ てもよい。画像を出力表示画面20上に表示してもよく、また音声フィードバッ クなどの他のフィードバックを提供してもよい。 二つの分岐がステップ106を出て、ホストコンピュータシステム12上で同 時に走る(マルチタスクなど)二つのプロセスが存在することを示している。一 方のプロセスでは、ステップ108が実施される。このステップでは、ユーザオ ブジェクトからのセンサデータがローカルマイクロプロセッサ26からホストコ ンピュータによって受信される。図4のプロセスのステップ78と同様に、ホス トコンピュータシステム12は、生データ(例えば位置データであり、速度また は加速度データは含まない)か処理済センサデータ(位置、速度および/または 加速度データ)のいずれかをマイクロプロセッサ26から受信する。更に、他の 入力装置39から受信された任意の他のデータ、例えばインタフェース装置14 のボタンがユーザによって押されていることを示す信号、も、ステップ108に おいてマイクロプロセッサ26からホストコンピュータシステム12によって受 信することができる。 図4の前の実施形態とは異なり、ホストコンピュータは、ステップ108にお いて受信されたセンサデータから力値を計算することはない。代わりに、ホスト コンピュータ12は、センサデータを監視して、力のタイプの変更が必要となる 時点を決定する。これは以下で更に詳細に説明される。勿論、ホストコンピュー タ12は、ホストアプリケーションに対する入力としてセンサデータを用い、こ れに従ってホストアプリケーションを更新することも行う。 ステップ108でセンサデータが受信された後、プロセスはステップ106に 戻る。このステップでは、ホストコンピュータシステム12は、オブジェクト3 4のユーザの操作およびステップ108で受信された他のユーザ入力に応じてア プリケーションプログラムを更新することができる。次に、ローカルプロセッサ 26からセンサデータセットを受信する連続ループにおいてステップ108が再 び実施される。ホストコンピュータはセンサデータに基づいて直接アクチュエー タを制御する必要がないので、センサデータははるかに遅い速度で与えることが できる。例えば、ホストコンピュータは、センサデータに応じて表示画面20上 の画像とホストアプリケーションを更新するので、センサデータは、センサ信号 から低水準力フィードバック信号を現実的に供給するのに必要な約500〜10 00Hz(またはそれ以上)というはるかに高い速度に比べて、60〜70Hz (通常の表示画面のリフレッシュサイクル)で読み出すことしか必要としない。 また、ホストコンピュータ12は、図4を参照して上記したものと同様に、視覚 事象、音声事象および力事象に同期していることが好ましい。 ステップ106からの第二の分岐は、オブジェクト34を操作してユーザに力 フィードバックを与える高水準力コマンド(「ホストコマンド」)を決定するホ ストコンピュータのプロセスに関係する。この第二分岐はステップ110で開始 する。このステップでは、ホストコンピュータシステムが、ユーザオブジェクト 34に加えられる力のタイプの変更が必要かどうかをチェックする。力の「タイ プ」は、特定の反射プロセスにより生成された力感覚もしくはプロファイル、ま たはローカルマイクロプロセッサ26がホストコンピュータとは独立に実現する ことができる力値である。ホストコンピュータ12は、ステップ108において ホストコンピュータにより読み取られたセンサデータに依存し、またステップ1 06において更新されたアプリケーションプログラムの事象に依存して、力のタ イプの変更が必要がどうかを判断する。図4を参照して説明したように、センサ データは、オブジェクトの現在の位置、速度、および/または加速度に基づいて オブジェクトに力を加えるべき時点をホストコンピュータに通知する。ユーザに よるオブジェクト34の操作により、新しいタイプの力が必要となる場合がある 。例えば、ユーザがビデオゲームにおいて仮想の泥のプール内で仮想レースカー を操作している場合、レースカーが泥の中で走行している限りは減衰タイプの力 がオブジェクト34に印加されるべきである。このように、制動力がオブジェク トに連続的に印加される必要はあるが、力のタイプの変更は必要とされない。レ ースカーが泥のプールから抜けて移動すると、新しいタイプの力(すなわち、こ の場合では制動力の除去)が必要となる。アプリケーションプログラムの事象も 、印加される力のタイプの変更を要求する。例えば、ユーザの車が泥を通って移 動し、他の車がユーザの車に衝突するときは、新しいタイプの力(衝突力)がユ ーザオブジェクトに加えられるべきである。ステップ108で読み出されたセン サデータとアプリケーション事象との組み合わせに依存した力がユーザオブジェ ク トに必要とされる場合がある。また、他の入力、例えばインタフェース装置14 のボタンや他の入力装置39をユーザが作動させること、により、オブジェクト 34に対して必要とされる力のタイプを変えることがある。 力のタイプの変更がステップ110において現在必要でないときは、プロセス はステップ106に戻り、ホストアプリケーションを更新し、更にステップ11 0に戻って、このような力のタイプの変更が必要になるまでチェックを行う。こ のような変更が必要になると、ステップ112が実施される。このステップでは 、ホストコンピュータ12が、マイクロプロセッサ26に送出する適当なホスト コマンドを決定する。ホストコンピュータ12が利用可能なホストコマンドは、 マイクロプロセッサ26により実施される関連反射プロセスにそれぞれ対応する 。例えば、制動力、ばね力、重力引力、凹凸表面力、仮想障害力、および他の力 を与えるホストコマンドをホストコンピュータ12が利用できるようにしてもよ い。これらのホストコマンドは、オブジェクト34にこの所望の力を印加する特 定のアクチュエータ30や自由度の指定も含んでいてもよい。これらのホストコ マンドは、特定の反射プロセスにより生成される力を変える他のコマンドパラメ ータ情報を含んでいてもよい。例えば、所望の量の制動力を指示するホストコマ ンドに減衰定数が含まれていてもよい。また、ホストコマンドは、好ましくはプ ロセッサ26の反射動作を無効にし、低水準力値を有していてもよい。好適なコ マンドプロトコルおよび一組のホストコマンドは、図9および図14を参照して 詳細に説明される。次のステップ114では、ホストコンピュータは、バス24 を介してマイクロプロセッサ26にホストコマンドを送出する。次に、このプロ セスはステップ106に戻り、ホストアプリケーションを更新し、更にステップ 110に戻り、力の他の変化が必要かどうかをチェックする。 ローカルマイクロプロセッサ26は、ステップ104から分岐して上記ホスト コンピュータプロセスと並列にステップ116から開始するプロセスを実施する 。ステップ116では、インタフェース14が作動状態にされる。例えば、ホス トコンピュータ12とインタフェース装置14との間に信号を送ることで、イン タフェース装置が現在アクティブであり、ホストコンピュータ12により指令を 受けることができる状態になっていることを知らせてもよい。ステップ116か ら、 二つのプロセスが分岐して、ローカルプロセッサ26上で同時に実行される(マ ルチタスクする)二つのプロセスが存在することを示す。一つのプロセスでは、 ステップ118が実施され、プロセッサ26がセンサ28から生データを読み取 る。図4のステップ88で述べたように、プロセッサ26は、センサ28から位 置データを読み取り、速度または加速度データは読み取らないことが好ましい。 他の実施形態では、センサ28は、オブジェクト34の速度値および加速度値を 与える速度センサおよび加速度計を有していてもよい。ステップ118で読み出 されたセンサデータは、インタフェース装置14の作動ボタンや他の制御装置3 9からの入力など、他の入力を有していてもよい。 次のステップ120では、プロセッサ26は、受信された生データを処理して センサデータにする。図4のステップ90に示したように、この処理は、濾波さ れた位置データから速度および加速度データを計算するステップと、速度および 加速度データを濾波するステップと、からなる二つのステップを有していること が好ましい。プロセッサ26は、自身のローカルクロック21を使用して速度お よび加速度を計算するために必要なタイミングデータを求めることができる。更 に、前の記録値、例えば位置値や速度値、の履歴を用いてセンサデータを計算す ることもできる。速度および/または加速度センサが用いられる実施形態では、 速度および/または加速度の計算は省略される。次のステップ121では、プロ セッサ26が処理済センサデータをホストコンピュータ12に送出し、また、プ ロセッサ26の第二の分岐プロセスに示されるように、力を計算するためのデー タを格納する。次に、プロセスはステップ118に戻り、生データを読み取る。 こうして、ステップ118、120および121が連続的に実施され、プロセッ サ26およびホストコンピュータ12に現在のセンサデータが与えられる。 ステップ116からの第二の分岐は、「アクチュエータプロセス」に関する。 このプロセスでは、プロセッサ26がアクチュエータ30を制御して、オブジェ クト34に力を与える。第二の分岐はステップ122から開始する。このステッ プでは、プロセッサ26は、ホストコマンドがバス24を介してホストコンピュ ータ12から受信されているかどうかをチェックする。受信されている場合、プ ロセスはステップ124に続き、ホストコマンドに伴う反射プロセスが選択され る。このような反射プロセスは、、マイクロプロセッサ26に対してローカルに 、RAMやROMなど(あるいはEPROM、EEPROMなど)のメモリ27 内に格納される。このようにマイクロプロセッサは、この反射プロセスからの制 動力がオブジェクト34に加えられるべきことを高水準コマンドが示したときに 、減衰反射プロセスを選択することができる。使用可能な反射プロセスは、図4 を参照して上述したものと同様のものであることが好ましく、アルゴリズム、格 納された力プロファイルや値、条件などを含んでいてもよい。一部の実施形態で は、センサデータを読み取るステップ118、120、および121がマイクロ プロセッサ用の反射プロセスに組み込まれていて、反射プロセスが選択されると センサデータがの読み出しだけが行われるようになっていてもよい。また、ホス トコマンドは、幾つかの場合には、単にアクチュエータ30に送出されるべき力 値を与える低水準力コマンドであってもよく(例えば図4の実施形態)、この場 合、反射プロセスを選択する必要はない。 反射プロセスがステップ124で選択された後、或いは新しいホストコマンド がステップ122で受信されていない場合は、ステップ126が実施される。こ のステップでは、プロセッサ26は、プロセッサ低水準力コマンド(すなわち、 力値)を決定する。この力値は、反射プロセスおよび反射プロセスにより要求さ れる他の任意のデータ、ならびに関連ホストコマンドに含まれるコマンドパラメ ータから導出される。上記のように、必要なデータには、センサデータおよび/ またはローカルクロック29からのタイミングデータが含まれていてもよい。こ のように、ステップ122で新しい高水準コマンドが受信されなかったときは、 マイクロプロセッサ26は、ステップ126で前に使用していた同じ反射プロセ スに従って力コマンドを決定する。更に、ホストコマンドは力コマンドを決定す るのに必要な他のコマンドパラメータ情報を含んでいてもよい。例えば、ホスト コマンドは、自由度に沿った力の方向を示してもよい。 ステップ128では、プロセッサ26は、決定したプロセッサ力コマンドをア クチュエータ30に出力し、この出力力を所望のレベルに設定する。力コマンド を送出する前に、プロセッサ26は、力コマンドを、アクチュエータ30により 使用可能な適切な形態に任意選択的に変換することができ、あるいはアクチュエ ータインタフェース38がこのような変換を行うことができる。次に、プロセス はステップ122に戻り、他のホストコマンドがホストコンピュータ12から受 信されているかをチェックする。 このようにして、マイクロプロセッサ26のアクチュエータプロセスは(ステ ップ118、120、122、124、126、および128)は、選択された 反射プロセスおよび他のパラメータに従って、オブジェクト34に作用する力を ホストコンピュータ12とは独立に提供するように動作する。反射プロセスは、 マイクロプロセッサ26により読み取られた最近のセンサデータに基づいてプロ セッサ力コマンドを決定する方法を決める。反射プロセスは、ユーザオブジェク ト34の位置および他のパラメータに応じて力を印加する方法を示すので、プロ セッサは、低水準力コマンドを発行し、ホストコンピュータを解放してホストア プリケーションを処理し、新しいタイプの力を出力する必要がある時点のみを決 定することができる。これにより、ホストコンピュータ12とインタフェース装 置14との間の通信速度が改善される。 更に、ホストコンピュータ12は、マイクロプロセッサ26の反射動作を無効 にし、図4を参照して上述したように、計算された値や他の力値を直接与える能 力を有している。例えば、ホストコマンドは、アクチュエータ30に送出すべき 力値を単に示すことができる。このオーバライドモードは、反射プロセスとして も実施できる。例えば、マイクロプロセッサ26は、ホストコンピュータ12か ら受信された低水準力コマンドのアクチュエータ30への中継をマイクロプロセ ッサに命令する反射プロセスを選択することができる。 図6は、2以上の回転自由度をオブジェクト34に与えるジンバル機構140 に結合されたユーザオブジェクト34の例の概略図である。ジンバル機構140 は、インタフェース装置14に結合されていてもよく、あるいはインタフェース 装置14の他の構成要素から個別にセンサ28およびアクチュエータ30がジン バル機構140取り付けられていてもよい。 ジンバル機構140は、接地面142によって支持することができる。この面 は、例えばインタフェース装置14のハウジングの表面(部材144の一部とし て概略図示)とすることができる。ジンバル機構140は、接地部材144、延 長部材146aおよび146b、ならびに中心部材148aおよひ148bを含 む5部材リンケージである。接地部材144は、機構140に対して安定性を与 える面またはベースに結合される。ジンバル機構140の部材は、軸受またはピ ボットを用いて回転自在に相互に結合されている。ここで、延長部材146は、 回転自在に接地部材144に結合されていて軸線Aのまわりを回転することがで き、中心部材148aは、回転自在に延長部材146aに結合されていて浮動軸 線Dのまわりを回転することができ、延長部材146bは、回転自在に接地部材 144に結合されていて軸線Bのまわりを回転することができ、中心部材148 bは、延長部材146bに結合されていて浮動軸線Eのまわりを回転することが でき、中心部材148aは、軸線DとEとが交わる中心点Pで回転自在に中心部 材148bに結合されている。軸線DとEは、これらが軸線AやBのように一つ の位置に固定されないという意味で「浮動」である。軸線AおよびBは、実質的 に互いに直交している。 ジンバル機構140は、5個の部材の閉じた鎖として形成されている。一つの 部材の各々の端部は、他の部材の端部に結合されている。5部材リンケージは、 延長部材146a、中心部材148a、およひ中心部材148bが第1の自由度 において軸線Aのまわりを回転できるように配置されている。また、このリンケ ージは、延長部材146b、中心部材148b、および中心部材148aが第2 の自由度において軸線Bのまわりを回転できるように配置されている。 ユーザオブジェクト34は、直線状軸部材150に結合させることができる物 理的物体であり、或いは直線状軸部材150をオブジェクト34の一部として考 えることができる。直線状部材150は、軸線DとEの交差点Pにおいて中心部 材148aおよび中心部材148bに結合される。直線状軸部材150は、軸線 Dおよび軸線Eによって定められる面から延出するようにジンバル機構140に 結合される。直線状軸部材150は、矢印線151として示したように、第1の 回転自由度において延長部材146a、中心部材148a、および中心部材14 8bを回転させることにより軸線A(とE)のまわりを回転することができる。 部材150はまた、矢印線152により示されるように、第2の回転自由度にお いて延長部材50bおよび二つの中心部材を軸線Bを中心として回転させること により、軸線B(とD)のまわりを回転することができる。他の実施形態では、 直線状軸部材は、中心部材148aおよび148bの端部に並進自在に結合され 、これにより浮動軸線Cに沿って直線的に動かすことができ、矢印153により 示されるような第3の自由度を与える。勿論、軸線Cは、部材150がこれらの 軸線のまわりを回転するのに伴って、軸線AおよびBの一方または双方のまわり を回転することができる。更に、幾つかの実施形態における直線状部材150は 、矢印155により示されるように、軸線Cのまわりを回転して追加の自由度を 与えることができる。プロセッサ26/ホストコンピュータ12がオブジェクト 34の位置/運動を読み取り、上記の自由度で力を印加できるようにするために 、これらの追加自由度もセンサおよびアクチュエータを与えることができる。 センサ28およびアクチュエータ30は、装置の部材間のリンク点でジンバル 機構140に結合させることができ、上述のようにして入力および出力を与える 。例えば、センサおよびアクチュエータを延長部材146aおよび146bに結 合させることができる。 ユーザオブジェクト34は、機構140に結合される。ユーザオブジェクト4 4は、ジンバル機構140と直線状軸部材150により与えられる両自由度(ま たは、3または4の全自由度)で動かすことができる。オブジェクト34が軸線 Aのまわりを移動するのに伴って、浮動軸線がその位置を変え、オブジェクト3 4が軸線Bのまわりを移動するのに伴って、浮動軸線Eがその位置を変える。 図7は、ジンバル機構140およびインタフェース装置14の他の構成要素を 含み、機械的入力および出力をホストコンピュータシステム12に与える装置1 60の特定の実施形態の斜視図である。装置160は、ジンバル機構140、セ ンサ141およびアクチュエータ143を有している。ユーザオブジェクト34 は、この実施形態ではグリップ部162を有するジョイスティックとして示され ており、中心部材148aに結合されている。装置160は、図6を参照して説 明したジンバル機構140とほぼ同じ方式で動作する。 ジンバル機構140は、テーブル面や同様の面などの接地面142上に装置1 60を支持する。ジンバル機構140の部材および継手(「軸受」)は、好まし くはアルミニウムなどの軽量、剛性な金属で形成されるが、他の金属、プラステ イックなどの他の剛性材料から形成されていてもよい。ジンバル機構140は、 研磨部材144、キャプスタン駆動機構164、延長部材146aおよび146 b、中心駆動部材148a、および中心リンク部材148bを有する。研磨部材 144は、ベース部材166と垂直支持部材168を有する。ベース部材166 は、接地面142に結合されている。垂直支持部材168は、垂直部材168が 互いに対してほぼ90度をなすようにベース部材166の外面の各々に結合され る。 キャプスタン駆動機構164は、各垂直部材168に結合されていることが好 ましい。キャプスタン駆動機構164は、摩擦やバックラッシをシステムに導入 することなく機械的な利点を与えるために、ジンバル機構140内に含まれてい る。 延長部材146aは、キャプスタンドラム170にしっかりと結合され、キャ プスタンドラム170の回転に従って軸Aのまわりを回転する。同様に、延長部 材146bは、別のキャプスタンドラム170にしっかりと結合され、軸Bのま わりを回転できるようになっている。中心駆動部材148aは、延長部材146 aに回転自在に結合され、中心リンク部材148bは、延長部材146bの端部 に回転自在に結合されている。中心駆動部材148aおよび中心連結部材148 bは、軸線Aと軸線Bの交差点Pである、ジンバル機構の回転の中心において相 互に回転自在に結合されている。軸受172は、2つの中心部材148aおよび 148bを交差点Pで連結させる。 ジンバル機構140は、回転の中心点P、またはその付近に配置されたオブジ ェクト34に2自由度を与える。点Pに位置するオブジェクトまたは点Pに結合 されたオブジェクトは、軸線AおよびBのまわりを回転することができ、あるい はこれらの軸のまわりの回転運動の組合せを有することができる。他の実施形態 では、オブジェクト34を、他の自由度、例えば軸線Cに沿った線形自由度や軸 線Cのまわりの回転自由度、で回転させたり変換することができる。 装置160とマイクロプロセッサ26との間に入力信号および出力信号を提供 するため、センサ141およびアクチュエータ143は、ジンバル機構140に 結合されていることが好ましい。ここで説明する実施形態では、センサ141と アクチュエータ143とが、接地トランスジューサ174と同じハウジング内で 結合される。トランスジューサ174aおよび174bは、光学エンコーダセン サ141およびアクティブ直流サーボモータ143を備えた双方向トランスジュ ーサであることが好ましい。受動アクチュエータも使用することができる。各接 地トランスジューサ174aのハウジングは、垂直支持部材168に連結されて いることが好ましい。また、このハウジングは、力を付与するか、さもなければ 軸線Aのまわりの第1回転自由度に影響を与えるアクチュエータ143と、オブ ジェクト34の位置を測定するか、さもなければ軸線Aのまわりの第1自由度に よって影響を受けるセンサ141の双方を含んでいることが好ましい。アクチュ エータの回転軸174aは、キャプスタン駆動機構164の滑車に連結され、第 1自由度に沿って入出力を伝達する。接地トランスジューサ174bは、機能お よび動作が接地トランスジューサ174aと一致していることが好ましい。トラ ンスジューサ174bは、他の垂直支持部材168に結合され、軸線Bのまわり の第2回転自由度に影響を与えるアクチュエータか、軸線Bのまわりの第2回転 自由度より影響を受けるセンサとなる。 ここで説明する実施形態のトランスジューサ174aおよびトランスジューサ 174bは、ユーザが取り扱うオブジェクト34に非常に低い量の慣性を与える のに都合が良いように配置される。トランスジューサ174aおよびトランスジ ューサ174bは減結合され、これにより、これらのトランスジューサは両方と も、接地面142に結合された接地部材144に直接結合される。すなわち、こ の接地面は、ユーザが取り扱うオブジェクト34ではなく、トランスジューサの 重量を支えている。トランスジューサ174aおよびトランスジューサ174b の重量と慣性は、ユーザが取り扱って動かすオブジェクト34にとっては実質上 無視することができる。これにより、より現実に近いインタフェースが仮想現実 システムに提供される。これは、コンピュータがトランスジューサを制御するこ とで、これらの動きの程度内でユーザが感じる力の実質的にすべてを与えること ができるからである。装置160は高帯域幅力フィードバックシステムであり、 これにより、トランスジューサ174の制御のために高周波信号を使用すること ができ、これらの高周波信号が、高い精度、確度、信頼性でユーザオブジェクト に与えられるようになる。高い帯域幅のために、ユーザは、オブジェクト34を 扱うときにコンプライアンスまたは「ムッシネス(mushiness)」をほとんど感 じることがない。対照的に、典型的な従来の技術による多自由度インタフェース 装置では、あるアクチュエータが、リンクおよびアクチュエータのシリアルチェ ーンにおいて別のアクチュエータの上に「乗る」。この低帯域幅装置を使用する と、ユーザは、オブジェクトを操作するときに、結合されたアクチュエータの慣 性を感じることになる。 オブジェクト34は、図3では、ユーザが握るためのグリップ部分126を備 えるジョイスティックとして示されている。ユーザは、ジョイスティックを軸線 Aおよび軸線Bのまわりで動かすことができる。このような二つの自由度での動 きは、プロセッサ26およびホストコンピュータシステム12により検出される 。さまざまな触覚をシミュレートするためには、これらの二つ自由度で力を加え ることができるようになっていることが好ましい。前述のように、他のオブジェ クト34をジンバル機構140に任意選択的に結合することもできる。例えば、 医療処置をシミュレーションするために、腹腔鏡ツールやカテーテルなどの医療 機器を使用することができる。 図8は、インタフェース装置14と共に使用することができるオブジェクト3 4および支持機構180の異なる実施形態の斜視図である。機構180は、当業 者に周知のジョイスティックコントローラと共に使用するためのスロット付きヨ ーク構成を含んでいる。機構180は、スロット付きヨーク182a、スロット 付きヨーク182b、センサ184aおよび184b、軸受186aおよび18 6b、アクチュエータ188aおよび188b、ならびにジョイスティック34 を有している。スロット付きヨーク182aは、ヨークの一方の端部がこのヨー クを貫通して延びるシャフト189aにしっかりと結合されるとともに、センサ 184aにしっかりと結合されている。スロット付きヨーク182aは、ヨーク の他方の端部がシャフト189cにしっかりと結合されるとともに、軸受186 aにしっかりと結合されている。スロット付きヨーク182aは軸Lのまわりを 回転することができ、この動きはセンサ184aによって検出される。アクチュ エータ188aは、能動または受動アクチュエータとすることができる。他の実 施形態では、軸受186aは、センサ184aのような別のセンサとして実現さ れる。 同様に、スロット付きヨーク182bは、一方の端部がシャフト189bおよ びセンサ184bにしっかりと結合され、他方の端部がシャフト189dおよび 軸受186bにしっかりと結合されている。ヨーク182bは、軸線Mのまわり を回転することができ、この動きはセンサ184bにより検出することができる 。 オブジェクト34は、一方の端部192が接地面190に軸着されており、他 方の端部194が、2自由度内で面190の上を通常4つの90度方向(および 他の実施形態では更に別の方向)に動くことができるようになっている。ジョイ スティック34は、ヨーク182aおよび182b内のスロット196および1 98をそれぞれ貫通して延びている。このため、ジョイスティック34が任意の 方向で動かされるのに従って、ヨーク182aおよび182bはジョイスティッ クに追従し、軸線Lおよび軸線Mのまわりを回転する。センサ184a〜dはこ の回転を検出するので、ジョイスティック34の動きを追跡することができる。 アクチュエータ188aおよび188bを使用することにより、ユーザは、ジョ イスティック34を扱うときに力フィードバックを体験できるようになる。この 他に、他の種類のオブジェクト34をジョイスティックの代わりに使用したり、 追加オブジェクトをジョイスティックに結合させることも可能である。さらに別 の実施形態では、追加自由度をジョイスティック34に与えてもよい。例えば、 ジョイスティックには、矢印193によって示されるように、軸線Kのまわりで の回転自由度を与えることができる。このような追加自由度のためのセンサおよ び/またはアクチュエータが含まれていてもよい。 他の実施形態では、追加の力をジョイスティック34に与えるために、アクチ ュエータをシャフト189cおよび189dに結合させてもよい。アクチュエー タ188aおよびシャフト189cに結合されたアクチュエータは、マイクロプ ロセッサ26またはホストコンピュータ12により同時に制御することができ、 ベール182aに力をかけたり、ベイル182aから力を解放することができる 。同様に、アクチュエータ188bおよびシャフト189dに結合されたアクチ ュエータも、同時に制御することができる。 インタフェース機器やトランスジューサの他の実施形態をインタフェース装置 14内で用いて、ユーザオブジェクト34に機械的な入力/出力を与えることも できる。例えば、1〜3(または4以上の)の線形自由度をユーザオブジェクト 34に与えるインタフェース機器を使用することができる。さらに、異なるリフ レクトプロセスを実施するために、所定量の「遊び」を有する受動アクチュエー タを設けることもできる。 図9は、図5の実施形態で使用することができる多数の好適なホストコマンド を示す図表300である。図5の実施形態では、ホストコンピュータ12が、ロ ーカルマイクロプロセッサ26に高水準ホストコマンドを送る。このマイクロプ ロセッサは、ホストコマンドに従って、ローカルリフレクトプロセスまたはリフ レクトプロセスを実施する。前述したように、バス24での低い通信速度(図1 )によって、性能、具体的には力フィードバックの正確さやリアリズム、が妨げ られる場合がある。ローカルマイクロプロセッサは、ホストコンピュータとは関 係なくホストコマンドに基づいてリフレクトプロセスを実施できるため、バス2 4を介して伝達する必要のある信号が減少する。好ましくは、ホストプロセッサ 16からローカルプロセッサ26へのホストコマンドの転送のために、通信言語 、すなわち力フィードバックプロトコルを標準化する必要がある。理想的には、 図5を参照して説明したように、このフォーマットが、図5のステップ114の ように、高水準監督コマンド(ホストコマンド)のローカルプロセッサ26への 効率的な伝送を可能にする。ひとそろいの力に変換される比較的小さな一組のコ マンドおよびコマンドパラメータを与えることによって、このフォーマットは、 計算の負担をホストコンピュータからローカルマイクロプロセッサ26に更に移 行させる。さらに、ホストコンピュータ12用の力フィードバックアプリケーシ ョンソフトウェアのプログラマや開発者には、高水準で標準的、効率的な力フィ ードバックコマンドプロトコルが与えられる。 ある実施形態では、ホストコマンドは、アクチュエータ30を制御するために 、マイクロプロセッサ26によって実現される多様な力モデルに対して総称的な コマンドパラメータを含むことが許されている。例えば、力の大きさおよび力の 方向は、二つの総称コマンドパラメータである。力の持続期間、すなわち力モデ ル 適用時間は、別の総称コマンドパラメータである。ボタンなどの他の入力装置3 9に対してコマンドパラメータを更に定義することが有利である場合もある。ボ タンは、作動状態にされると、様々な力や力モデルをトリガすることができる。 好適な実施形態には、力フィードバックインタフェース装置14用の動作の二 つの主要なモードまたは「制御パラダイム」が含まれる。すなわち、レート制御 および位置制御が含まれている。これらのモードは、コマンドパラメータによっ てパラメータ化されるホストコマンド用の分類体系を暗黙に定義している。ユー ザがアプリケーションと対話している間のレート制御と位置制御との差は、一般 に、ユーザにとってわずかなものであるが、力フィードバック情報を表すときに は差が大きくなる可能性がある。ある種の力フィードバックエンティティは両方 の制御モードで実現することができるが、力フィードバックコマンドを2つのセ ットに分類することがプログラマ間の混乱を回避するために役立つ場合がある。 これらのコマンドの一部は、レート制御コマンドまたは位置制御コマンドのどち らかとして使用することができる。 本発明に係る好適な力フィードバックコマンドを以下に説明する。レート制御 力フィードバックコマンドをまず最初に説明し、その後に位置制御コマンドを説 明する。もちろん、それ以外の力フィードバックコマンドも、以下のサンプル力 フィードバックコマンドに加えて、または以下のサンプル力フィードバックコマ ンドの代わりに、構築することが可能である。 レート制御とは、1以上の与えられた自由度に沿ったユーザオブジェクト34 の変位が、制御下のコンピュータシミュレートエンティティ、例えば、飛行機、 レーシングカー、または他のシミュレート「プレーヤ」もしくはプレーヤ制御制 御グラフィカルオブジェクト、の動きに抽象的にマップされるユーザオブジェク トマッピングを指す。オブジェクトの動きとシミュレートコンピュータエンティ ティの指令された動きとの間に直接的で物理的なマッピングが存在しないため、 レート制御は、力フィードバックをより直感的でないものにする抽象作用である 。それにもかかわらず、多くの興味深い力フィードバック感覚をレート制御パラ ダイム内で実現することができる。対照的に、位置制御は、ジョイスティックハ ンドルまたはユーザが操作可能な他のオブジェクトの変位がシミュレートコンピ ュ ータエンティティの変位を直接示すことにより、ジョイスティックの変位とコン ピュータの変位との間に基本的な関係が存在するようなユーザオブジェクトマッ ピングを指す。このように、大部分のレート制御パラダイムは、ユーザオブジェ クト(ジョイスティック)を指定された位置に安定に保持できる一方で、制御下 のシミュレートエンティティは指令された所与の速度で動くのに対し、位置制御 パラダイムは、ユーザオブジェクトが動いている場合に制御下のエンティティが 動くことしか許さないという点で、両者は根本的に異なる。位置制御ホストコマ ンドは、図14を参照して以下で詳細に説明するが、レート制御コマンドは、図 9を参照して現在説明されている。 例えば、一般的な形式のレート制御は、速度導出抽象化である。この抽象化で は、ジョイスティックハンドルのようなユーザオブジェクトの変位が、シミュレ ーション環境において、シミュレートコンピュータエンティティ、例えば表示画 面20に表示される乗り物やその他のグラフィカルオブジェクト、の速度を表す 。ジョイスティックハンドルの元の位置からの移動が大きいほど、操縦される乗 り物またはプレーヤ制御グラフィカルオブジェクトの速度も速くなる。このよう なパラダイムは、宇宙船やレーシングカーの速度がジョイスティックの変位によ り表されるコンピュータゲームでは極めて一般的である。大部分のレート制御パ ラダイムと同様に、速度制御は、ジョイスティックを指定された位置に安定して 保持する一方で、制御下のエンティティが指令された所与の速度で動くことを可 能にする。コンピュータゲームで使用される一般的な他のレート制御パラダイム は、加速制御である。加速制御されたパラダイムは、当業者に「スラスト」制御 と呼ばれる。速度制御は制御下のエンティティの速度を指示するが、スラスト制 御は速度の変化率を指示する。スラスト制御下では、ジョイスティックを静止さ せ、ゼロ変位で中心に配置することができるが、指令を受けるコンピュータエン ティティはそれでも動くことができる。 力フィードバック機構では、レート制御力フィードバックコマンドは、力フィ ードバックインタフェース装置14を介してシミュレート環境により制御される 乗り物または他のシミュレートエンティティに作用する力にほぼ一致する。この ような力は、乗り物中心力と呼ばれる。例えば、スラスト制御パラダイムでは、 ユーザのシミュレートスピードボートが濃厚な泥の中に進入する場合があるが、 ユーザは直接的に泥を感じることはないだろう。しかしながら、ユーザは、スピ ードボートのエンジンがボートの動きに抵抗する力に逆らって最大限に稼働して いることは感じるであろう。これらの対抗力は、インタフェース装置14を介し てユーザに伝えられる。シミュレート環境における他のシミュレート特性やオブ ジェクトは、プレーヤ制御シミュレートエンティティに影響を与えて、ユーザに 出力される力に影響を及ぼす場合がある。 本明細書では、レート制御コマンドは「条件(condition)」および「オーバ レイ(overlay)」に分けられる。但し、他の実施形態では、他の分類が使用さ れる場合がある。条件は、シミュレート剛性、シミュレート制動、シミュレート 慣性、シミュレート力が減少するデッドバンド、および物理モデルの機能を決め る方向の制約を含むユーザオブジェクトについての基本的な物理モデルまたはバ ックグラウンド感覚を設定する。条件力を効率良く重ね合わせるために、複数の 条件を単一のコマンド中で指定することができる。対照的に、オーバレイは、バ ックグラウンドでの条件に加えて付与される力である。条件力に加えて任意の数 のオーバレイを提供できることが好ましい。一つの条件は、一つの条件コマンド または複数の条件コマンドによって指定することができる。 以下では、図表300に示されるような数タイプの力302について説明する 。これらの力は、ホストコマンドに基づいてマイクロプロセッサ26により実現 することができる。これらの力には、復元力(restoring force)、ばね復元(r estoring spring)、ベクトル力(vector force)、振動(vibration)、緩慢粘 着(sluggish stick)、ウォッブル(wobble)、不安定(unstable)、ボタン反 射ジョルト(button reflex jolt)、およびラチェット力(ratchet force)が 含まれる。復元力、ばね復元力、緩慢粘着力、および不安定力は、条件力と考え られる。ベクトル力、振動、ウォッブル、ボタン反射ジョルト、およびラチェッ ト力は、オーバレイ力と考えられる。 図表300に示される力302は、ホストコンピュータ12によってマイクロ プロセッサ26に与えられるホストコマンドを用いて実現することができる。図 表300に示されるホストコマンドおよびその構文の例304が、各種の力30 2に対して示されている。ここで説明する実施形態では、ホストコマンド304 が、コマンド部分306および複数のコマンドパラメータ308を含んでいるこ とが好ましい。コマンド304は、ホストコンピュータ12がプロセッサ26に 実現するように指示する力のタイプを示す。このコマンド部分は、プロセッサ2 6がメモリ27から検索して実施することの可能な対応反射プロセスを有してい てもよい。このプロセスについては、以下に詳細に説明する。コマンド部分30 6は、他の実施形態では、事実上任意の形式で指定することができる。図表30 0では、コマンドは、コマンドが実現する力のタイプをプログラマまたはソフト ウェア開発者が容易に認識できるように、通常、英語に近い高水準形式で与えら れる。 コマンドパラメータ304は、ホストコンピュータ12によって与えられ、コ マンド部分304により示される力のタイプをカスタマイズおよび/または修正 する値またはインジケータである。これらのコマンドの多くは、大きさ、持続時 間、または方向コマンドパラメータを使用する。頻繁に力の方向を修正するスタ イルパラメータを含むコマンドもある。以下に詳細に説明されるように、他の特 殊なコマンドパラメータは、特定の力に与えられる。 以下の好適なレート制御実施形態では、コマンドパラメータの大部分が同じ方 法で異なる力を制御する。大きさパラメータ(magnitude parameter)は、アク チュエータ30により出力可能な最大の力に対応する最大の大きさのパーセンテ ージである。持続時間パラメータ(duration parameter)は、通常、特定の力モ デルを印加するための時間間隔に一致する。しかしながら、これは、力モデルの 印加時間を無限に伸ばすために、0や−1のような所定値に設定されることがあ る。このため、力モデルは、ホストコンピュータ12が新しいホストコマンドに 新しい力を与えるか、クリアコマンドを送るまで、有効なままとなる。スタイル パラメータ(style parameter)は、力モデルを印加する方向および/または力 モデルを印加する自由度を選択することができる。例えば、有効な方向は、通常 、一般的なジョイスティックの2本の軸線のうちの1本、またはこの2本の組み 合わせとして指定される1本の対角線を含んでいる。言うまでもなく、スタイル パラメータは、任意の自由度または自由度の組み合わせに沿って力の印加を指定 するこ とができる。この他に、別個の力コマンドが各自由度または力コマンドに使用さ れる場合もある。スタイルパラメータは、以下に説明されるように、指令された 特定の力モデルに応じて変化することができる。 図9には列挙されていないが、ここに記載される全てのタイプの力302は、 追加のパラメータを有していたり、列挙されたパラメータに他の特性を組み込ん でもよい。「デッドバンド(deadband)」パラメータは、力が小さいかあるいは ゼロとなる領域のサイズを指定できる。力がある自由度に沿って双方向なのか単 方向なのかを示すパラメータが含まれていてもよい。単方向の力は、正または負 の向きのいずれを持つことができる。いくつかのホストコマンドでは、デッドバ ンドおよび双方向/単方向パラメータが、スタイルパラメータに含まれていても よい。 サブクラス310は、力302のタイプの分類を示している。力302は、前 述のように、条件またはオーバレイのどちらかとして示される。オーバレイコマ ンドの前に、条件コマンドを以下で説明する。 図10a〜cは、復元力に関して力対変位のプロファイルを示すグラフである 。図10aのグラフ312における力は双方向であり、この場合、垂直軸の右側 の力は、ある自由度に沿ってある方向に印可され、垂直軸の左側の力は、その自 由度に沿って反対方向で印加される。図10bのグラフ314に示される力は、 単方向である。好ましくは、力が単方向であるか双方向であるかは、例えば図8 の図表300に示されるコマンド306のスタイルパラメータ308(および、 単方向の場合、特定の方向を示すための正または負の向き)で指定される。さら に、復元力が印加される所望の自由度も、スタイルパラメータで指定されるのが 好ましい。例えば、“X”パラメータは“X”自由度を示すが、“XY”パラメ ータは、XおよびY自由度の双方に沿った復元力(例えば、斜め復元力)を示す ことができる。 ユーザオブジェクト34に印加される復元力34は、ある自由度に沿ってユー ザオブジェクトの原点位置O(つまり「中立位置」)に向かって常に後ろを向い ている。例えば、図7および図8に示されるように、ジョイスティックの原点位 置が、ジョイスティックの中心位置となる場合がある。大きさコマンドパラメー タによって指定される復元力の大きさは、ユーザオブジェクトの自由度に沿った 範囲316では、いずれの方向でもほぼ一定のままとなる。最大の力の大きさF は、ジョルトや振動を復元感覚の上にオーバレイできるように(以下に説明)、 選択された自由度での最大可能出力力の約75%に制限されていることが好まし い。オブジェクトは原点位置Oに向かって移動するので、印可される力は、ユー ザオブジェクトが原点位置のまわりの局所領域R内に移動するまでは一定である 。ユーザオブジェクトが局所領域Rにある場合、印可される力はゼロまたは小さ な値に急速に低下する。このように、復元力プロファイルは、オブジェクトが範 囲316内にあるときにユーザオブジェクトを原点位置に押し戻す一定の「復元 感覚」を与える。その後、復元力は、オブジェクトが原点位置に近づき、原点位 置に到達するに従って減少または消滅する。復元力の方向は、ローカルマイクロ プロセッサ26によって自動的に制御することができる。 図10cでは、印可される力が原点位置のまわりの拡大された領域318内で ほぼゼロである点を除いて、復元力が図10aの力と同様に示されている。領域 318は「デッドバンド」として知られており、力が印加される前に原点のまわ りの短い距離だけオブジェクト34を動かす自由をユーザが持つことができるよ うにする。印加される復元力のためのデッドバンド318の指定は、例えば、別 個のデッドバンドコマンドパラメータとして含まれる値、あるいは復元力ホスト コマンドのスタイルパラメータ308の一部として含まれる値とすることができ る。 復元力感覚は、レート制御パラダイムで、シミュレート車両をコントロールす る間に壁やその他の障害物に衝突する状況に極めて好適に当てはめることができ る。復元力は、動き方向の速度を指令することに対する抵抗を示している。ユー ザオブジェクトが原点位置に戻されると、ユーザは動き方向の速度を指令しなく なるため、この力は低下する。逆方向に障害物がない場合には、復元力は単方向 となる。 図11a〜11cは、ばね復元力についての力対変位のプロファイルを示すグ ラフである。図10a〜10cの復元力によって与えられるように一定の大きさ をその正または負の変位にわたって維持するのではなく、ばね復元力は、ユーザ オブジェクトの変位の感知可能な部分にわたって線形に変化し、オブジェクト3 4の原点位置Oからの距離に比例する。ユーザオブジェクトに加えられるばね復 元力は、ある自由度に沿って中立位置に向かって常に後ろを向いている。図11 a〜11cでは、ばね復元力は、オブジェクト34の原点位置Oからの最大変位 においてその最大値に達する。図11aのグラフ320は双方向のケースを示し 、図11bのグラフ322は単方向のケースを示している。デッドバンドパラメ ータにより指定されるデッドバンドは、図11cのグラフ324に示されるよう に、原点位置のまわりに与えられる。 ばね復元力に関するパラメータは、例えば、前述の復元力に関するパラメータ とほぼ同様であってもよい。あるいは、ばね復元力は、大きさパラメータの代わ りに、オブジェクト34の所望の「剛性」を記述するばね定数パラメータ(spri ng coefficient parameter)を有していてもよい。ばね定数パラメータは、ユー ザオブジェクトに作用する力を計算するための周知の方程式で使用することがで きる。この定数パラメータか大きさパラメータのいずれかを使用することができ る。 緩慢力は、ユーザオブジェクト34に対する制動力であって、ユーザによって 動かされるときのユーザオブジェクトの速度に比例する大きさを有する力を生じ させる。このタイプの制動力の例は、図4のステップ82を参照して前述した。 緩慢力の「粘度」の度合いは、ホストコマンドにコマンドパラメータとして含ま れる粘性減衰定数によって指定できる。緩慢粘着力は直接速度に依存するため、 定数コマンドパラメータ(coefficient command parameter)は最大減衰定数の パーセンテージで表すことができ、前述のホストコマンドの大きさパラメータに 代わる。緩慢ホストコマンドのスタイルコマンドパラメータは、単方向または双 方向の表示だけではなく、緩慢力を加えるための指定自由度を含む場合がある。 緩慢粘着力は、例えば、ユーザオブジェクトの動きに不完全に反応する非常に重 い乗り物の制御をシミュレートするためのレート制御アプリケーションに特に適 している。 不安定力は、倒立振り子スタイルの不安定性を生じさせる。この他に、不安定 力は、負のばね定数(不安定または発散性のばね)を有するばねにモデル化され る。力は、オブジェクトの原点位置から離れる方向でユーザオブジェクトに印加 され、ユーザオブジェクトが原点位置からさらに遠く離れていくのに従って増加 する。これにより、ユーザがオブジェクトを原点位置に運ぶことを困難にする力 が生じる。不安定ホストコマンドのコマンドパラメータは、前述の復元力に類似 したパラメータを含んでいてもよい。例えば、最大の「不安定性」度のパーセン テージを示すコマンドパラメータを与えることができる。ここで、不安定性は、 最大出力力によって定義することができる。この力は、別の乗り物関連の感覚と して使用することが可能であり、例えば、シミュレート乗り物誘導制御装置が損 傷を受ける場合に、ばね復元力の代わりに用いられることがある。通常、不安定 性によって、コンピュータゲームは非常にプレーが難しくなる。 他の実施形態では、条件力の特性を制御するための多数のパラメータとともに ただ1つのホストコマンドを使用することで、前述の条件力を指令することがで きる。例えば、以下のようなホストコマンド COND-X(K+,K-,DB,B+,B-,N-Offset,Sat+,Sat-,m) を、ホストコンピュータ12からマイクロプロセッサ26に送ることができる。 このコマンドは、ユーザオブジェクトのモデルの特定の物理的なパラメータを一 つの自由度内で指定する。Kパラメータは、ある自由度に沿った二つの方向にお けるユーザオブジェクトの変位の比例剛性を示す。DBパラメータは、最大許容 デッドバンド距離のパーセンテージでデッドバンド範囲を示す。Bパラメータは 、ある自由度に沿った二つの方向おけるユーザオブジェクトの速度に対する速度 比例制動を示す。N_Offsetパラメータは、(Kパラメータにより定義さ れる)ばねのモデル化中立位置からのオフセットとして指定することができる。 Satパラメータは、例えば、最大可能力のパーセンテージで表される、ユーザ オブジェクトの変位の最大(飽和)許容力値を示す。mパラメータは、例えばユ ーザオブジェクトの重力または慣性力を計算するための物理モデルで利用するこ とができるユーザオブジェクトのシミュレート質量を示す。上記の条件コマンド は、ユーザオブジェクト34の所与の自由度の各々に対して使用することができ る。 例えば、COND_Xは、x軸のまわりの自由度における条件力を提供すること ができる。このコマンドは、復元力、ばね復元力、緩慢力、および不安定力を、 さまざまなコマンドパラメータを調整することにより実現することができる。 条件コマンドは、条件力に加えて又は条件力に「かぶせて」オーバレイコマン ドが適用される間に、バックグラウンドで提供することができる。例えば、緩慢 な制動力をユーザオブジェクトに対するバッグラウンド力として提供し、「ジョ ルト」オーバレイ力を緩慢力にかぶせて指令して、数秒間にわたってユーザオブ ジェクトに素早く断続的な動きを与えることができる。言うまでもなく、オーバ レイ力は、他の力が印加されていないときに独占的に印加することも可能である し、望む場合には、オーバレイ力が、過去に指令された他の力を取り消すことも できる。図9に示される例のオーバレイ力については、後述する。 図12は、ベクトル力モデルを示すグラフ326である。ベクトル力はオーバ レイコマンドであるため、前述の条件力に加えて印加することができる。これは 、方向コマンドパラメータ(direction command parameter)によって指定され る指定方向でジョイスティックに印加される一般的な力である。方向コマンドパ ラメータは、例えば、2自由度インタフェース機器のXY平面内の角度として与 えることができる。条件力コマンドの多くに関しては、ベクトル力の大きさは、 大きさの最大値のパーセンテージで指定できる。図12は、2自由度を持つユー ザオブジェクトのXY平面内の例示方向におけるベクトル力の2次元表現を示し ている。 図13a〜13bは、振動力に関する力対時間のプロファイルを示すグラフで ある。図13aは、双方向の振動力を示すグラフ328であるが、図13bは単 方向の振動力を示すグラフ330である。図9に示される振動コマンドは、大き さ、周波数(frequency)、スタイル、方向、および持続時間コマンドパラメー タを受け入れる。周波数パラメータは、最大周波数のパーセンテージとして実現 でき、ある期間の時間間隔Tpに反比例している。方向コマンドパラメータは、 図12を参照して前述したように、角度として実現することができる。スタイル パラメータは、振動力が単方向であるのか、双方向であるのかを示すことができ る。さらに、デューティーサイクルパラメータは、他の実施形態で提供すること がで き、振動力が印加される期間のパーセンテージを示す。また、コマンドパラメー タは、振動波形の「形状」またはプロファイルを時間軸で指定するために含まれ ていてもよく、この場合、所定の数の形状のなかから一つを選択することができ る。例えば、この力は、正弦波力、鋸歯形力、方形波形力などとして指定するこ とかできる。 ウォッブル力パラダイムは、ホストコンピュータ12によって指令することが できる別のオーバレイ力である。この力は、ランダムな(あるいは、ユーザにと ってランダムに見える)オフバランス力感覚をユーザオブジェクト上に生じさせ る。例えば、この力は、損傷を受けた乗り物のふらついた操縦をシミュレートで きる。大きさ、持続時間、およびスタイルコマンドパラメータは、前述のホスト コマンドのパラメータと同様のものとすることができる。また、スタイルパラメ ータが、様々なタイプを含む所定のリストからウォッブル力のタイプを指定する こともできる。ウォッブル力は、さまざまな方法を用いて実現できる。例えば、 事前にプログラムされメモリに格納された「力プロファイル」は、ランダムに見 える力感覚を生じさせるように実現することができる。あるいは、正弦波または 他の関数に基づいて、あるいはランダムな結果に基づいて力を計算するために、 方程式を使用することができる。 ジョルト力は、通常、ユーザオブジェクト上に出力される短く大きな力であり 、例えば、ユーザにコンピュータ環境内のイベントやシミュレートオブジェクト を知らせるために使用することができる。ジョルト力は、有効なあらゆる条件力 に加えて感じることができるオーバレイ力として使用することができる。典型的 なパラメータは、ジョルト力の大きさ、ジョルトの持続時間、およびジョルトが 加えられる方向または自由度(これは、角度または特定の自由度として指定する ことができる)を含んでいる。大きさコマンドパラメータは、(前述の)任意の 他の条件力またはオーバレイ力の大きさに加えて、衝撃力の大きさを指定するこ とが好ましい。つまり、この大きさは、定常状態の力を「超えた」差分大きさで ある。したがって、アクチュエータ30によって出力される実際の大きさは、衝 撃力の大きさより大きくなることがある。 ボタン力は、実際の力ではないが、入力装置39がユーザにより作動されると きに、他の力をトリガするためのコマンドとして使用されることがある。例えば 、多くのゲーム状況では、ホストコンピュータ12で押されたボタンを処理した 後にホストコマンドから力を生成するより、インタフェース機器14上のボタン または他の入力装置39を押すことに対する直接的な反応として力をトリガする 方が有利な場合がある。ボタンを押すことによりトリガされる他の力は、ボタン コマンドのコマンドパラメータとして指定できる。この他に、各種の力に対して 特殊なボタンコマンドを与えることができる。 例えば、ボタンコマンドと共に使用する共通の力は、ジョルト力である。指定 されたボタンが押されるたびにジョルト力が生じるように、BUTTON_JO LTなどの特定のコマンドを与えることができる。このコマンドには、ボタンコ マンドパラメータおよびジョルトコマンドパラメータ(jolt command parameter )が含まれる。この他に、JOLTコマンドパラメータを有するボタンコマンド を実現することもできる。ボタンジョルトコマンドがマイクロプロセッサによっ て受信されると、マイクロプロセッサは、ボタンバックグラウンドプロセスを終 了するように指令されるまでバックグラウンドプロセスとしてボタンチェックを 実行することができる。このため、マイクロプロセッサ26が、ユーザがボタン を押したことをセンサデータから判断すると、出力される既存の力にジョルト力 を重ねることができる。 ボタンコマンドは、その他の入力装置39が作動状態にされているときに力を 出力するようにマイクロプロセッサ26をセットアップする。ボタンコマンドは (ボタンが押されたときに出力される所望の力に固有の任意のコマンドパラメー タに加えて)、例えば、ボタンパラメータやオートファイア頻度パラメータを含 む多くのコマンドパラメータを受け入れることができる。ボタンパラメータ(bu tton parameter)は、ユーザが作動させたことをマイクロプロセッサ26がチェ ックする特定のボタンであって所望の力を与える特定のボタンを選択する。例え ば、ジョイスティックが複数のボタンを備える場合があり、ソフトウェア開発者 は、それらのボタンのなかのある特定のボタンが押されたときにだけ力を与える ことを希望する場合がある。持続時間パラメータは、ボタンが押された後どのく らいの時間にわたってジョルトが持続するのかを決定することができる。「オー トファイア」頻度パラメータ(autofire frequency parameter)は、ユーザがボ タンを押し続ける場合に力を繰り返す頻度を指定する。例えば、ユーザがある特 定のボタンを押し続ける場合、マイクロプロセッサは、ユーザが最初にボタンを 押してから所定の時間間隔が経過すると、自動的にジョルト力を反復することが できる。オートファイアパラメータは、オプションとして、特定のボタンに対し てオートファイア機能が使用されているかどうか、および反復力が印加される前 の希望の時間間隔、を指定することもできる。 図9の図表に示されていない他のレート制御コマンドも実現することができる 。例えば、アクチュエータ30が受動アクチュエータである場合、ラチェットコ マンドおよび適切なコマンドパラメータを送ることにより、「ラチェット」力を 与えることができる。このコマンドは、例えば、ユーザが操縦する乗り物を所与 の自由度に引っ張る障害物をシミュレートすることができる。このため、ユーザ がジョイスティックをある方向で動かすときには力が印加され、それからユーザ が反対方向にジョイスティックを動かすときには力が印加されず、ジョイスティ ックが最初の方向で動かされるときには再度、力が印加される。これは、ラチェ ット力など、任意の引戻し点における障害力をシミュレートする。このようなコ マンドのスタイルパラメータは、固定された障害物またはラチェットスタイルの 障害物を表すことができる。 以上で、レート制御コマンドおよび力モデルの説明を終わりにする。 図14は、図5の実施形態で使用できる多くの好ましい位置制御ホストコマン ドを示す図表332である。ここで、「位置制御」とは、ジョイスティックハン ドルまたは他のユーザオブジェクトの変位がコンピュータシミュレートエンティ ティまたはオブジェクトの変位を直接表すようなユーザオブジェクトのマッピン グを指す。マッピングは、任意の縮尺率を有していたり、非線形であってもよい が、ユーザオブジェクト変位とコンピュータオブジェクトまたはコンピュータエ ンティティの変位との間の基本的な関係は存在しなければならない。位置制御マ ッピングの下では、コンピュータ制御エンティティは、ユーザオブジェクトが動 いていなければ動かない。つまり、静的なユーザオブジェクトが、静的なコマン ドをホストコンピュータ12からマイクロプロセッサ26に指示する。 位置制御は、従来のコンピュータには一般的なマッピングではないが、医療処 置シミュレーションまたはグラフィカルユーザインタフェースのような他のアプ リケーションでは使用されることがある。位置制御は、抽象的な制御パラダイム というよりはむしろ直接的で物理的なマッピングであるため、力フィードバック インタラクションの直感的かつ効果的な比喩である。言い換えれば、ユーザオブ ジェクトは、コンピュータ内で制御されているエンティティと同じ物理的な操作 を経験するため、位置制御を使用すると、物理的なコンピュータシミュレーショ ンを現実的な力フィードバック感覚作用として直接的に反映させることが可能に なるのである。コンピュータ環境での位置制御の例としては、ピンポンゲームで のラケットの制御や、ウィンドウデスクトップ環境でのカーソルの制御を挙げる ことができる。 レート制御の乗り物中心の力とは対照的に、位置制御力フィードバックは、ユ ーザによって直接的に知覚される力にほぼ対応する。これが「ユーザ中心」の力 である。例えば、表示画面20に表示され、ユーザによって直接制御されるラケ ットが、シミュレートされた濃厚な泥を通って動く場合がある。力フィードバッ クインタフェース装置14を介して、ユーザは、粘性溶液を通過する動きに結び ついた変化する力を知覚するだろう。現実の物理的な状況に対応して、力はジョ イスティック(および表示されたラケット)の動きの速度およびラケット面の向 きに応じて変化する。 以下では、図表332に示される数タイプの位置制御力334を説明する。こ れらの力は、ホストコマンドに基づいてマイクロプロセッサ26により実現する ことができる。これらの力には、ベクトル(vector)、溝(groove)、ディボッ ト(divot)、質感(texture)、障壁(barrier)、フィールド(field)、ラケ ット(paddle)、およびボタン反射ジョルト(button reflex jolt)が含まれる 。これらの力に対応するホストコマンドの例336の多くは、レート制御パラダ イムに関して説明されたように、大きさパラメータおよびスタイルパラメータを 使用する。レート制御コマンドでの場合と同様に、同じ名称のコマンドパラメー タは、一般的に異なるホストコマンドに対して同じプロパティを持つ。ただし、 位置制御力の持続時間は通常ユーザオブジェクトの現在位置に応じて適用される た め、持続時間パラメータは、通常、レート制御コマンドの場合ほどには位置制御 コマンドには使用されない。したがって、一般的には、位置制御力モデルは、ホ ストコンピュータ12が新しいホスト力コマンドまたはクリアコマンドを発行す るまで有効のままである。他の実施形態では、持続時間パラメータを使用しても よい。 ここで説明する位置制御コマンド用の好ましいパラメータ決定は、図14にま とめられている。以下に列挙される全ての力は、デッドバンドパラメータのよう な補助的なコマンドパラメータを含むことができ、あるいは図14に列挙される パラメータに他のプロパティを組み込むことができる。図9に示されるホストコ マンドと同様に、ホストコマンド336は、コマンド部分338および多数のコ マンドパラメータ340を含むことが好ましい。コマンド336は、ホストコン ピュータ12がプロセッサ26に実現するように指示する力のタイプを示す。こ のコマンド部分は、プロセッサ26がメモリ27から検索して実施することがで きる対応リフレクトプロセスを含んでいてもよい。コマンド部分338は、他の 実施形態では、事実上任意の形式で指定できる。 ベクトル力とは、大きさと方向を有する一般的な力である。ベクトル力の極表 示については、図12を参照されたい。ほとんどの位置制御感覚は、ベクトル力 コマンドおよび適切な命令およびプログラミング構造を使用して、プログラマ/ 開発者によって生成される。ホスト12またはマイクロプロセッサ26は、時間 ではなくユーザオブジェクトの動きに基づいて力を終了または修正できるため、 通常、持続時間パラメータは必要でない。 図15は、本発明の溝力に関する力対変位の関係を示すグラフ342である。 溝力は、傾斜344によって示されるように、所与の自由度に沿った線形戻り止 め感覚を与える。ユーザオブジェクトは、「溝」の中の粘着力を維持するための 自由度に沿った復元力が存在する「溝」に捕らえられているように感じられる。 この復元力溝は、ホストコマンドが受信されたときのユーザオブジェクトの現在 位置に位置する中心溝位置Cを中心としている。この他に、中心溝位置の位置は 、1以上の自由度に沿ったコマンドパラメータから指定できる。したがって、ユ ーザがユーザオブジェクトを溝の外に動かそうとすると、抵抗力が印加される。 大きさ(剛性)パラメータは、印加される力または抵抗の量を指定する。オプ ションとして、ユーザオブジェクトが距離Sで示される所与のスナップアウト距 離だけ溝から逸れると溝力が止まる溝反射プロセス内では、「スナップアウト」 機能を実現することができる。このため、マイクロプロセッサ26は、スナップ 距離大きさを有する溝コマンドを受信する。マイクロプロセッサは、このスナッ プ距離外に移動するユーザオブジェクトを検出すると、溝力を止める。このスナ ップアウト機能は、力を止めるためにクリアコマンドを送るホストコンピュータ 12によっても同様に好適に実現することができる。また、ユーザオブジェクト がデッドバンドコマンドパラメータで指定される中心溝位置C近くで自由に動く ことができるようにするために、デッドバンドDBを設定することもできる。ス タイルコマンドパラメータは、1以上の自由度に沿った溝の向き(例えば、水平 、垂直、斜め)を示す。例えば、水平溝および垂直溝は、ウィンドウ内のスクロ ールバーに力を与える場合に有用である。グラフィカルユーザインタフェースで カーソルを動かすユーザは、カーソルおよびユーザオブジェクトをスクロールバ ーの中心に向かって動かす溝力を感じることができる。デッドバンドは、ユーザ に、スクロールバー領域内でカーソルを動かすための空間を与える。スナップア ウト距離は、カーソルがスクロールバー領域の外に移動した場合にカーソル/ユ ーザオブジェクトを力から解放するために使用することができる。 ディボットは、本質的には、2以上の自由度で復元力を与える二つ(または三 つ以上)の直交溝である。これは、所与の自由度に沿って点戻り止めの感覚を与 える。例えば、ディボットが2自由度で与えられる場合、ユーザオブジェクトは 円形の窪みの中に捕えられたように感じられる。ユーザオブジェクトは、ユーザ オブジェクトを保持するために双方の軸線に沿った復元力が存在する点に捕捉さ れている。溝力のスナップアウト機能は、ディボットに関しても実現することが できる。さらに、溝のデッドバンド機能もディボットコマンドに提供することが できる。 質感力は、図4を参照して前述したように、表面の特性をシミュレートする。 質感とは、例えば棒を格子上で動かすときに感じられる力をシミュレートする( 振動、時間変化力とは反対の)空間変化力である。その他のタイプの質感もシ ミュレートすることができる。ユーザオブジェクトは、質感力を感じるように動 かされなければならない。つまり、格子の各「こぶ」は、その自由度において特 定の位置を持つ。質感力は、ホストコマンドおよびコマンドパラメータを用いて プログラマ/開発者によって指定される複数の特性を備えている。これらのコマ ンドパラメータには、大きさ、グリット、およびスタイルが含まれることが好ま しい。大きさは、格子の「こぶ」ごとにユーザオブジェクトに印加される力の量 を指定する。グリットとは、基本的には、格子のこぶの各々の間の間隔である。 スタイルコマンドパラメータは、質感の向きを指定することができる。例えば、 スタイルは、水平格子、垂直格子、または斜行格子(またはこれらの格子の重ね 合わせ)を指定することができる。さらに、スタイルパラメータは、質感がある 自由度に沿って双方向または単方向のどちらで感じられるのかを指定することが できる。この他に、質感力の「こぶ」の位置を制御するために補助的なコマンド パラメータを与えることもできる。例えば、こぶ間の距離がある距離にわたって 指数的に変化、あるいは指定された公式に従って変化するようにこぶ感の距離を 指示する情報が含まれていてもよい。この他に、質感間隔はランダムに変化して もよい。他の実施形態では、コマンドパラメータは、マイクロプロセッサ26が メモリから取り出すことができる複数の使用可能な標準質感パターンのなかの一 つを指定することができる。 障壁力は、指令が出されると、ユーザオブジェクト空間内の任意の場所に配置 される壁または他の障害物をシミュレートする。この障壁力については、図4を 参照して上述した。ホストコマンドは、障壁の硬さ(印加される力の大きさ)、 自由度に沿った障壁の位置(location)、および障壁のスナップ距離(snap dis tance)または厚さを指定することができる。希望する場合には、水平障壁と垂 直障壁を別個のホストコマンドとして提供することができる。図16のグラフ3 46に示されるように、障壁力だけが有限の厚さを持っている。力は、ユーザオ ブジェクトが(B点を通り過ぎて)障壁に近づいてくるに従って、急激に大きく なる。スナップ貫通距離は、障壁がユーザによって感じられる領域のサイズを限 定する。ユーザオブジェクトが障壁の中に入り込んでから、障壁の厚さを通り抜 けると、障壁力は止められる。障壁力は、マイクロプロセッサがユーザオブジェ ク ト34に最大の力を提供する硬い障害物として、または(大きさコマンドパラメ ータによって指定されるように)より小さな力の大きさが印加されるこぶや比較 的柔らかい障壁として動作してもよい。障壁は、取り除かれるか、新しい位置に 移動されない限り、長い時間にわたって残っていてもよい。また、自由度に沿っ て連続して複数の障壁を設けることもできる。 この他に、障壁力は、2つのコマンドパラメータ、すなわち硬さおよび位置、 のみを有するホストコマンドを送ることによって与えることもできる。硬さパラ メータは、抵抗力の高さまたは傾斜を指定できる。図16のグラフ348に示さ れるように、ユーザオブジェクトは、距離軸に沿って左から右に移動できる。ユ ーザオブジェクトは、B点で障壁に衝突すると抵抗力を感じる。ユーザオブジェ クトがS点(スナップ距離)に移動すると、ユーザオブジェクトに対して力が反 対方向に印加される(負の大きさの力)。この力は、ユーザオブジェクトが同じ 方向で移動するのに伴って減少する。これは、ユーザオブジェクトがこぶの上に 移動するまで力が抵抗的であり、なおかつオブジェクトがこぶの他方の側面を降 りていくに従って力が補助力になるようなこぶや丘をシミュレートする。 力場(force field)タイプの力は、特定の位置を基準としてユーザオブジェ クトを引き寄せ、あるいは跳ね返す。この力は、フィールドの大きさや力場の印 加の基準となる特定のフィールド原点位置(origin position)などのコマンド パラメータによって定義することができる。引力場または斥力場を示すために、 向き(sense)パラメータが含まれていてもよい。例えば、力場は、フィールド 原点位置とユーザによって制御されるカーソルやグラフィックオブジェクトとの 間の重力をシミュレートするための引力場となることがある。フィールド原点位 置は重力質量または電荷と考えることができるが、引力は、特定の位置からの変 位の逆2乗に依存する必要はない。例えば、力は変位の逆数に依存していてもよ い。また、引力場は、ユーザオブジェクトがフィールド原点位置に移動されると 、その位置にユーザオブジェクトを維持しようと努める。斥力場は、特定のフィ ールド原点位置からユーザオブジェクトを押し出すという点を除いて、同様に動 作する。さらに、フィールド原点位置のまわりの特定の距離範囲に対する力場の 効果を制限するために、追加のコマンドパラメータとして範囲を指定してもよい 。 図17a〜17iは、「ボール」コンピュータオブジェクトまたは同様のオブ ジェクト352と相互作用する「ラケット(paddle)」コンピュータオブジェク ト350の図である。これらのコンピュータオブジェクトは、ホストコンピュー タ16によって表示画面20上に表示することができる。ボールとラケットとの 間の力の相互作用は、後述のように、ホストコマンドを使用してソフトウェア開 発者によって制御することができる。ここで説明する例では、ラケットオブジェ クト350は、ラケットオブジェクト350の動きがユーザオブジェクト34の 動きに直接マッピングされるように、位置制御パラダイムによってプレーヤによ り制御される。他の実施形態では、ボールオブジェクト352または両オブジェ クトがプレーヤによって制御されていてもよい。 図17a〜17hは、ボールオブジェクト352がラケットオブジェクトと衝 突するときに、ラケットオブジェクト350が移動するボールオブジェクト35 2とどのように相互作用するのかを示している。図17aでは、まず、ボール3 52がラケット350と衝突する。最初の力は、適切な方向でユーザオブジェク ト34に印加されることが好ましい。図17bおよび図17cでは、ボール35 2が、コンプライアンスのあるラケットまたは「スリング」に入り込んでいる。 ボールのシミュレート速度、ラケットのシミュレートコンプライアンス、および シミュレート重力の強度/方向に適したユーザオブジェクト34を介してボール 352のシミュレート質量がユーザによって感じられることが好ましい。これら のパラメータは、適切なパラメータを有するホストコマンドを使用して設定でき るようになっていることが好ましい。例えば、以下のホストコマンドを使用する ことができる。 PADDLE(B-mass,B-vel-x,B-vel-y,Gravity,Sense,Compliance-X,Compliance-Y) ここで、コマンドパラメータB_massはボールのシミュレート質量を示し、 B_vel_xとB_vel_yはボールの速度であり、gravityは重力 の強さであり、senseは重力の方向であり、Compliance_XとC ompliance_Yはラケットオブジェクト34のシミュレートコンプライ アンスまたは剛性である。コンピュータ環境やオブジェクトの相互作用の他の物 理的な側面を制御するために、他のパラメータが含まれていてもよい。 図17dでは、ボールは、ラケット34の最大たわみ点に到達し、同じ方向に 動くことはできなくなっている。図17e〜図17gに示されるように、ボール は、ラケットのコンプライアンスのために反対方向に押される。さらに、ユーザ がユーザオブジェクト34に力を加えて、ボールを特定の方向に向かせ、ボール の動きをさらに加速させることが好ましい。これにより、ユーザは、精密な制御 度を得ることができ、希望の方向にボールを向かわせる上で重要な技能を利用す ることが可能になる。このように、力フィードバックラケットは、ピンポンタイ プや他の同様のビデオゲームの優れた構成要素である。さらに、ラケット350 は、オプションとして、図17hに示されるように反対方向にたわむこともでき る。 ボール352とラケット350との間で相互作用する力の概略モデルは、図1 7iに示されている。ばね定数Kによって示されるばね力は、ラケットの弾力性 を示すために自由度XおよびYの双方に与えられる。ここで、gは重力の方向で ある。さらに、ボールがラケット350と接触すると、ボール352の速度を落 とすように、減衰定数Bによって示される制動力が与えられる。ばね力および制 動力は、1自由度で印加することもできる。 ラケット制御アルゴリズムとは、ボールがラケットを圧縮し、その後ラケット から離れる間の相互作用力をマイクロプロセッサ26が計算する動的アルゴリズ ムである。ラケットコマンドは、ボールがラケットに接触すると、ホストコンピ ュータ12により送られる。ラケットコマンドは、ホストが相互作用期間中に表 示画面20上に表示されるグラフィックスを更新できるように、ホストコンピュ ータにボール位置を報告する。現在の好適な実施形態では、更新は、ホストに対 して約60hZで行いさえすればよい。これは、大部分のディスプレイ20がそ の速度でしか表示を行えないからである。しかし、相互作用に現実に近い「感覚 」を与えるためには、力は約500Hzまたはそれ以上で計算され、出力される 必要がある。したがって、ローカルマイクロプロセッサは、迅速に力を計算する 一方で、ときおりラケットのセンサ読取り値をより低い速度でホストに報告する こ とができる。他のタイプのビデオゲームまたはシミュレーション相互作用も、高 水準ホストコマンドで同様に指令することができる。以上で、位置制御パラダイ ムの説明を終わりにする。 さらに、ホストコンピュータがクリアコマンドを使用できるようになっている と好適である。このコマンドは、特定の自由度を指定するパラメータを含むこと ができ、指定された自由度における全ての力をホストコンピュータが削除できる ようにする。これにより、プログラマが力を重畳することを望まない場合には、 他の力が印加される前に力を除去できるようになる。 また、構成ホストコマンドが与えられていてもよい。このコマンドは、インタ フェース装置14を最初にセットアップして、特定の通信パラメータを受信し、 どの入力および出力が特定のアプリケーションに使用されるのかを指定すること ができる。例えば、ホストコンピュータは、ローカルマイクロプロセッサ26に 命令を与えて特定の情報をホストコンピュータに報告させるとともに、情報を報 告する頻度を指示することができる。例えば、ホストコンピュータ12は、マイ クロプロセッサ26に命令を与えて、特定の自由度からの位置値、インタフェー ス装置14の特定のボタンからのボタン状態を報告させるとともに、ホストコン ピュータに発生するエラーをどの程度まで報告するのかを指示することができる 。製造時にインタフェース装置14に記憶された情報、例えばシリアル番号、型 式番号、スタイル情報、較正パラメータおよび較正情報、センサデータの分解能 、力制御の分解能、所与の自由度に沿った動きの範囲、を受信するために、ホス トコンピュータ12によってインタフェース装置14に「リクエスト情報」コマ ンドを送ることもできる。この情報は、ホストコンピュータがローカルプロセッ サ26に出力するコマンドを特定のタイプのインタフェース装置14に対して調 整およびカスタマイズできるようにするために、ホストコンピュータにとって必 要となる場合がある。USB通信インタフェースが使用される場合、ベンダ識別 、装置クラス、電力管理情報など、そのインタフェースに必要なその他の情報が 、リクエストコマンドに応じてホストに提供される。 さらに述べると、前述の力を重ね合わせることも可能である。ホストコンピユ ータは、過去のホストコマンドが依然として有効な間に新規のホストコマンドを 送ることができる。これにより、ユーザオブジェクトに印加される力を、異なる 制御コマンドに基づいて組み合わせることができる。マイクロプロセッサ26ま たはホストコンピュータは、相反する効果をもたらす一定のコマンド(例えば、 復元力とばね復元力)が重ね合わされることを防ぐことができる。例えば、最新 の送出済ホストコマンドは、過去のコマンドを、それらの過去のコマンドが新規 コマンドと対立する場合に無視することができる。あるいは、対立するコマンド に優先順位を割り当てて、最高の優先順位を有するコマンドが他の対立するコマ ンドにオーバライドするようにしてもよい。 前述の高水準コマンドおよびコマンドパラメータは、本発明の力を実現するた めの例にすぎない。例えば、別個に説明されたコマンドパラメータを、異なる部 分を持つ一つのパラメータにまとめることができる。また、複数のレート制御条 件力を提供する条件コマンドの例で述べたように、本明細書に示される個々のコ マンドをさまざまな方法で組み合わせたり、分離したりすることができる。 標準ジョイスティックのような1または2の直交自由度または球自由度を持つ 一般的なインタフェース装置に加えて、他のインタフェース装置が3または4以 上の自由度を備えていてもよい。第3の自由度がスティック自体に沿った軸のま わりである場合、当業者はそれを「スピン」または「ねじり」と呼ぶ。ユーザオ ブジェクトの各自由度は、自身に専用の高水準ホストコマンドを持つことができ る。高水準ホストコマンドを各自由度に独立して関連づけることにより、考えら れる多くの位置制御、レート制御およびその他の抽象マッピングの組み合わせを 、インタフェース装置で実現することができる。 例えば、2自由度を有する一般的なジョイスティックの場合、コンピュータゲ ームは、ジョイスティックが宇宙船の飛行の制御できるようにすることができる 。ジョイスティックハンドルの前後の動きは、宇宙船の加速を指示するスラスト 制御を実施する。ジョイスティックの左右の動きは、宇宙船の軌道の角速度を指 示するスラスト制御を実施する。この特定のスラスト方向パラダイムは、現在の ゲームでは特に人気があるが、多くのばらつきがある。例えば、フライトシミュ レータでは、ジョイスティックの前後の動きが飛行機のピッチを制御し、左右の 動きが飛行機のロールを制御する場合がある。ドライビングゲームでは、スティ ッ クの前後の動きが車の加速に対するレート制御マッピングであり、左右の動きが 道路の幅方向における車の位置に対する位置制御マッピングである場合がある。 また、複数の制御パラダイムを単一の自由度に混合することもできる。例えば 、ジョイスティックが、ある自由度での原点からの小さな偏差に対する位置制御 と同じ自由度での原点からの大きな偏差に対するレート制御とを備える場合があ る。このような混合制御パラダイムを、ローカル位置/グローバルレート制御パ ラダイムと呼ぶことがある。 図18は、ホストコマンドおよびコマンドパラメータを処理してユーザオブジ ェクト34に力を出力する本発明の機能マイクロプロセッサ26のインプリメン テーション380の例を示すブロック図である。インプリメンテーション380 は、メモリ27に格納された命令を使用するマイクロプロセッサ26上に設けら れることが好ましい。マイクロプロセッサ上で操作を実行するプログラム命令の 使用は、当業者にとっては周知であり、「コンピュータ読取り可能媒体」に記憶 することができる。本明細書では、このような媒体には、一例として、RAMや ROMなどのメモリ27、磁気ディスク、磁気テープ、CD ROMのような光 学読取り可能媒体、PCMCIAカードのような半導体メモリなどが含まれてい る。各々のケースで、媒体は、小型ディスク、ディスケット、カセットなどの携 帯物の形を取ることもあれば、ハードディスクドライブのような比較的大きい、 あるいは動かすことのできない物品の形を取ることもある。種々のサブプロセス 382、384、386、387、および388は、力フィードバックインタフ ェース装置14の応答性を最適化するためにマイクロプロセッサ26上で並列で 実行することが好ましい。これらのプロセスも、本明細書では「プロセッサ」と 呼ぶ。好適な実施形態では、さまざまなパラメータおよびデータが、インプリメ ンテーション380のサブプロセスによって共用される。 インプリメンテーション380の以下の説明において、パラメータセットまた はパラメータページは、力の計算および印加の速度を高めるために記憶されてい てもよい。本明細書では、パラメータセットは、パラメータページと同義である と考えられる。コマンドが受信されるとすぐにホストコマンドおよびコマンドパ ラメータ(および/または他のパラメータ)を読み取り、記憶し、適用するので はなく、力環境を定義するコマンドおよびパラメータの全部または一部を記憶し 、メモリ27に記憶されたパラメータページに分類することができる。この力環 境は、パラメータページから迅速に読み取られる特定の力を記述することができ る。適切な力環境がホストコンピュータによって必要とされる場合、マイクロプ ロセッサは、メモリからパラメータページを検索することができる。この後、映 像表示システムにおけるページスワッピングと同様に、インプリメンテーション 380は、現在の力環境に対してアクティブページを使用し、構築中のコマンド /パラメータセットに対して「隠し」ページを使用することができる。さらに、 予め設定または定義された力環境を検索することもできる。これらの環境は、イ ンタフェース装置14に与えられる標準化された力環境であるか、あるいはホス トコンピュータからインタフェース装置14にロードできる環境である。好まし い実施形態では、記憶されるパラメータページは、力パラメータおよび報告パラ メータを含むことになる。これらのパラメータは、ホストコマンドおよびコマン ドパラメータから引き出される内部マイクロプロセッサパラメータである。これ らのパラメータについては、後述する。 ホスト通信・バックグラウンドプロセス382は、マイクロプロセッサ26と ホストコンピュータ12との間の通信を維持する。ホスト通信・バックグラウン ドプロセス382は、高水準ホストコマンドおよびコマンドパラメータをホスト 12から受信し、このデータをコマンドプロセス384に送る。プロセス382 は、後述される報告プロセス387からもセンサデータを受信する。プロセス3 82は、プロセス387から受信した情報をホスト12に中継する。本質的に、 プロセス382は、マイクロプロセッサ26とホストコンピュータ12との間の 通信「交換機」として動作する。プロセス382(またはプロセス384)は、 マイクロプロセッサ26上の入力バッファを管理する。この入力バッファは、ホ ストコンピュータ12からの入コマンドおよびデータをバッファするために使用 される。この入力バッファは、高い通信速度を有するUSBインタフェースやそ の他のインタフェースを含む実施形態で特に有用である。 コマンドプロセス384は、ホスト通信・バックグラウンドプロセス382を 介して伝送されたホスト12からの入力高水準ホストコマンドおよびコマンドパ ラメータを処理する。この入力コマンドに基づいて、コマンドプロセス384は 、報告パラメータおよび力フィードバック制御パラメータを処理する。このよう なタイプのパラメータは、マイクロプロセッサ26の内部パラメータであり、ホ ストにより送られる高水準ホストコマンド内に含まれるコマンドパラメータ30 8と区別されなければならない。内部パラメータは、コマンドパラメータから引 き出され、一部の例では、後述するようにコマンドパラメータと同一である場合 がある。 報告パラメータは、ホストコンピュータ12に報告するデータおよび報告の速 度をマイクロプロセッサ26に対して指定する内部パラメータである。報告パラ メータは、例えば、特定の自由度に関してユーザオブジェクト34の位置または 速度を報告すべきかどうかや、通信速度や、エラーを報告する方法を指定する。 報告パラメータは、ホストコンピュータ12から受信された構成コマンドから引 き出され、ステータス更新プロセス386および報告プロセス387に提供され る。これにより、プロセス387は、どの情報をホストコンピュータ12に報告 するのかを、ホスト通信・バックグラウンドプロセス382を介して知ることに なる。 力フィードバック制御パラメータ(「力パラメータ」)は、コマンドプロセス 384によって提供または更新され、力アルゴリズム計算・アクチュエータ制御 プロセス388によって使用される内部パラメータである。この力パラメータは 、受信済ホストコマンドに含まれるコマンドパラメータ308から引き出される 。コマンドプロセス384は、他のプロセス388および386が最も最近の力 パラメータにアクセスできるように、コマンドパラメータを調べ、内部力パラメ ータを更新する。このプロセス384により実現される力パラメータの提供/更 新のプロセスは、図19を参照し後述する。 ステータス更新プロセス386は、コマンドプロセス384から報告パラメー タを受信する。受信されたパラメータに基づいて、プロセス386は、センサ2 8およびクロック29を読み取り、センサ読取り履歴およびタイミング履歴を記 憶する。プロセス386は、センサ位置データ、センサデータ履歴、タイミング データ、またはこのデータの組み合わせから導出される値、例えば速度値や加速 値、を計算することもできる。本明細書では、用語「センサデータ」は、センサ から直接受信されるデータ(センサ読取り値)および/またはセンサ読取り値か ら導出される値を指しており、センサデータの履歴も含んでいる。「タイミング データ」または「時間データ」は、ある期間を表す特定の値を指しており、タイ ミングデータの履歴も含んでいる。報告プロセス387は、プロセス386によ り提供され記憶されたデータを定期的に読み取る(あるいは、プロセス386が プロセス387に直接データを送出してもよい)。センサデータおよびタイミン グデータは、アルゴリズム計算・アクチュエータ制御プロセス388にも「送出 」される。本明細書中の用語「送出される(送られる)」または「受信される」 は、別のプロセスが最終的に受信するデータを供給する一つのプロセスを指して いる。プロセス間でデータを送受するための実際のインプリメンテーションは、 異なる環境では変化することがある。例えば、送出プロセスが算出データをメモ リに記憶し、受信プロセスが独自の速度でメモリからデータを取り出してもよい 。 報告プロセス387は、ステータス更新プロセス386からセンサデータを受 信し、適切な時点に、あるいはホスト12からバックグラウンドプロセス382 を介してリクエストを受信した時点で、このデータをホストコンピュータ12に 報告する。この報告パラメータは、コマンドプロセス384によりプロセス38 7に送られる。さらに、一般的なステータスおよびエラー情報が、力計算プロセ ス388から報告プロセス387に送られる。報告プロセス387により実施さ れるプロセスは、図21を参照してさらに詳細に説明する。他の実施形態では、 報告プロセス387は、例えば(「ストリーム」モードで)ホストにデータを通 例の速度で報告する場合には、バックグラウンドプロセス382とマージされる ようになっていてもよい。 力アルゴリズム計算・アクチュエータ制御プロセス388は、コマンドプロセ ス384およびステータス更新プロセス386からの力パラメータおよびセンサ データを使用して、ユーザオブジェクト34に印加される力を計算する。力パラ メータは、詳細に上述したように、さまざまな力モデルを特徴付けるコマンドパ ラメータから導出される。プロセス388は、有効な全ての力モデルの影響を組 み合わせることにより、アクチュエータ30に印加される合成力を計算する。 図18中のインプリメンテーション380内のプロセス382、384、38 6、387、および388は、マルチタスク環境を使用することなどによって、 マイクロプロセッサ26上で並列に実行されることが好ましい。これらの全ての プロセスを順次に実行するのでは、ユーザオブジェクト34のユーザ操作に対す る力フィードバック応答が極めて遅くなってしまう。 図18に示されるインプリメンテーション380は、マイクロプロセッサ26 のさまざまなサブプロセスを理論的な区分に分割する方法の一例に過ぎない。他 の実施形態では、他のさまざまなインプリメンテーションを設けて、ここで説明 したマイクロプロセッサ26の機能の一部または全部を結合させたり、分離させ ることができる。 図19は、図18のコマンドプロセス382を詳細に示す流れ図である。この プロセスは、390から開始する。最初に、ホストコンピュータは、ステップ3 91でインタフェース装置14との通信リンクを確立する。これは、インタフェ ース装置が受信を待っている所定の信号または情報を送ることによって達成でき る。この後、インタフェース装置は、コマンドを受信する準備が完了しているこ とを示す応答信号を送ることができる。USB通信インタフェースが使用されて いる場合には、コマンドプロセス382は、USBアドレスをホストから要求す ることが好ましい。このUSBアドレスは、この後、プロセッサ382が受信し て記憶する。この後データパケットがいつホストから送られても、コマンドプロ セッサ384は、データパケットのアドレスをチェックし、そのアドレスを記憶 されたアドレスと比較して、そのパケットがマイクロプロセッサ26用であるか どうかを判断することができる。 さらに、USBが実装されている場合、コマンドプロセッサ384は、USB 通信プロトコル内でデータをチェックすることができ、報告プロセッサ387は 、このプロトコル内でデータを送出することができる。このプロトコルは、当業 者にとっては周知であるように、トークンパケットを含んでいる。トークンパケ ットの後にはデータパケットが続き、データパケットの後にはハンドシェークパ ケットが続く。ホストコマンドは、データパケット内で暗号化することができる 。 次のステップ392では、特定のインタフェース装置に適した適切な力フィー ドバックコマンドがホストコンピュータによって与えられるように、ホストコン ピュータ12が、インタフェース装置14の特徴を必要とする場合がある。これ らの特徴としては、例えば、シリアル番号、型式番号、スタイル、ユーザオブジ ェクトの所与の自由度の数、較正パラメータ、およびインタフェース装置の報告 速度を挙げることができる。ホストコンピュータ12からのこのような情報を求 めるリクエスト、例えば「リクエスト情報」コマンド、を受信すると、マイクロ プロセッサ26は、ステップ392でホストコンピュータ12に情報を送る。ホ ストコンピュータは、通常、電源投入時または力フィードバックの実施開始時に しか、これらの特徴を要求しない。 次のステップ394では、マイクロプロセッサ26は、ホストコンピュータ1 2から構成コマンドを受信し、適切な報告パラメータを設定する。前述のように 、この報告パラメータは、センサ読取り値、センサ読取り値から計算された値、 および/またはセンサ「履歴」(つまり、以前に記録または計算された多数のセ ンサ値)を含むセンサデータやクロック時間値のような情報が、ステータス更新 プロセス386からホストコンピュータ12に送られるかどうかを判断すること ができる。このセンサデータには、センサエラーデータ、どのボタンがインタフ ェース装置上で押されたのかを記述するデータの履歴、ユーザオブジェクトの位 置、速度、および/または加速度、どの自由度からのデータがホストコンピュー タに報告されるのか、データは照会モードまたはストリームモードのどちらでホ ストコンピュータに報告されるのか、が含まれていてもよい。このような構成の 選択肢により、プログラマは、ホストコンピュータがローカルマイクロプロセッ サからどのデータを受信するのかを設定できるようになる。例えば、アプリケー ションが、二つの所与の自由度のうちの一つだけでユーザオブジェクト位置デー タを必要とする場合には、マイクロプロセッサが未使用の自由度の情報をホスト コンピュータに送るのは処理時間の無駄である。プログラマはホストコンピュー タに必要なデータだけを送るように、構成コマンドを用いて報告パラメータを設 定することができる。 次のステップ396では、プロセスは、ホストコマンドが受信されたかどうか をチェックする。受信されていない場合、ステップ396は、ホストコマンドが 受信されるまで連続的にループする。この後、ステップ398が実施される。こ のステップでは、受信されたコマンドが構成コマンドであるかどうかをプロセス が判断する。構成コマンドは、前述のように、報告パラメータを設定する。コマ ンドが構成コマンドである場合は、ステップ400で、適切な報告パラメータが 設定し、および/または報告パラメータをリセットして、インタフェース装置の 動作中に新しい構成を与える。受信コマンドが構成コマンドではないとステップ 398で判断された場合は、ステップ398は、インタフェース装置14の力フ ィードバック機能を制御する力コマンドを検出する。力コマンドには、上記のホ ストコマンド(例えば、図9や図14に示されるホストコマンド)が含まれる。 これらのホストコマンドは、内部力パラメータに影響を与えるコマンドパラメー タを提供する。 ステップ402では、力コマンドおよびコマンドパラメータが、力パラメータ 、例えば力コマンドにより指定される特定の力パラダイムまたはモデルの実現に 関連する力パラメータ、を設定する。プロセス388は、メモリ内のこのような 力パラメータにアクセスし、図22を参照して説明するようにアクチュエータ3 0を用いて力を印加する。一例を挙げると、力コマンドおよび力パラメータは、 インタフェース装置14上の特定のボタンを指定し、ジョルト力モデルを指定さ れたボタンの各々に割り当てる。この後、ユーザが指定されたボタンを押すと、 押されたボタンに割り当てられたジョルトが、現在メモリ内にあるあらゆる力パ ラメータを用いて起動される。力パラメータの例は、図23を参照して後述する 。力パラメータを設定した後、ステップ402では、別のホストコマンドの受信 を待つために、制御がステップ396に戻る。 さらに、好ましい実施形態では、プロセス384は、ホストコンピュータ12 からの「心拍」信号を所定の時間間隔の後に定期的にチェック/受信している。 この信号は、ホストコンピュータが依然としてインタフェース装置14に接続さ れていること、およびホストが「OK」ステータスであること、を示すための安 全性チェックとなる。心拍信号が時間間隔内に受信されない場合、インタフェー ス装置14は停止状態になって、ホストからの初期化コマンドを待機することが できる。この「心拍」信号は、通常信号またはホストコマンドであってもよいし 、 他の信号が時間間隔内に送られない場合にホストコンピュータが送ることができ る心拍信号として特に使用される信号であってもよい。信号がステップ396で 受信された後、信号が特定の記憶場所で受信された時間をプロセス384が記憶 するようになっていると好適である。プロセス388は、この時間を調べること で、時間間隔を超えたかどうかを判断することができる(これについては、後述 する)。 図20は、図18のステータス更新プロセス386を説明する流れ図である。 このプロセスは、ステップ410から開始する。ステップ412では、プロセス 386は、コマンドプロセス384によって設定された報告パラメータおよび力 パラメータを調べる。プロセス386は、コマンドプロセス384によって更新 されたメモリ17内の報告パラメータおよび状態パラメータを調べる。報告パラ メータと力パラメータの両方から、ステップ414は、どのセンサが読み取られ るのかを決定する。力パラメータは、力を計算するためにプロセス388に必要 なのはどのセンサデータであるかを判断する。例えば、力パラメータが、y軸の まわりではなくx軸のまわりで力を計算する必要があると判断する場合は、y軸 センサからのセンサデータは力の計算には必要ない。報告パラメータは、どのセ ンサデータをホストコンピュータに報告するのかを決定した。したがって、報告 パラメータは、y軸センサデータをホストコンピュータに送る必要がないことも 指定することができる。これは、ホストコンピュータがその特定データを無視し ているからである。このように、y軸データは力を計算するために使用されず、 ホスト12によっても必要とされないため、マイクロプロセッサ26は、ステッ プ414で、y軸センサを読み取らないことを決定する。 ステップ416は、速度および/または加速度を常に計算するのかどうかを決 定する。このステップの結果は、実現される実施形態に依存する。一部の実施形 態では、速度/加速度データが力を計算するために必要なのかどうかや、速度/ 加速度データをホスト12に送る必要があるかどうかにかかわらず速度データお よび/または加速度データを常に計算するようになっていると、ステップがより 単純になり、あまり処理時間を必要としなくなる場合がある。他の実施形態では 、速度データ/加速データは、このようなデータが力値の計算に必要な場合や、 ホ スト12がこれらの値を必要とする場合にだけ計算してもよい。さらに別の実施 形態では、特定のアプリケーションや他の判断要素に応じて、モード(「常に計 算」または「必要なときだけ計算」)を設定してもよい。 速度および加速度を常に計算する実施形態では、ステップ418が実施される 。このステップでは、センサ読取り値およびタイミングデータを用いて速度値お よび/または加速度値が計算される。例えば、記録された位置値および関連する 時間間隔の履歴を用いて速度を計算することができる。次に、プロセスはステッ プ422に続く。このような実施形態を用いない場合は、ステップ420が、速 度値および/または加速度値を適切な場合に計算する。プロセス386は、ステ ップ414と同様に、力パラメータおよび報告パラメータを調べて、速度値およ び/または加速度値を計算する必要があるかどうかを判断することができる。 ステップ418または420の後、ステップ422が実行される。このステッ プでは、センサ28、クロック29から読み出され、ステップ418または42 0で計算されたセンサデータおよびタイミングデータを、プロセス386がメモ リ27内に格納する。このセンサデータおよびタイミングデータは、他の入力装 置39に関するデータを含んでいてもよい。このようなデータとしては、例えば 、ボタンが押されたかどうかに関するもの(センサデータの場合)や、ボタン反 復またはボタン保持(「オートファイア」)機能が適切なときに作動できるよう に、インタフェース装置14上のボタンがどのくらいの時間押されていたのかに 関するもの(タイミングデータの場合)を挙げることができる。上記のように、 複数のプロセスが並列に実行(マルチタスキンダ)されているため、プロセス3 86は、マイクロプロセッサ26の処理時間を共用していることが好ましい。こ の場合、プロセス386は、マイクロプロセッサ26が利用可能になるまでステ ップ424で待機するか、あるいは故意に別の待機プロセスがマイクロプロセッ サ26を使用できるようにしなければならないことがある。さらに、この待機ス テップは、一致した時刻またはより遅い時刻に出力データをメモリ27に書き込 んで、力計算プロセス388にメモリから出力データを読み取る上でより大きな 柔軟性を与えるようにしなければならない場合がある。 図21は、データをホストコンピュータに報告する図18の報告プロセス38 7を説明する流れ図である。このプロセスは、ステップ430から始まる。ステ ップ432は、報告を照会モードで行うのか、あるいはストリームモードで行う のかを、コマンドプロセス384によって設定された報告パラメータによって指 定されるように決定する。この説明では、照会モードは、ホストコンピュータか らの情報を求めるリクエストに基づいた非同期報告方法を使用し、ストリームモ ードは、所定の時間間隔に基づいた同期報告方法を使用する。 照会報告モードでは、ステップ434が、報告を求めるリクエストがホストコ ンピュータ12から受信されたかどうかを判断する。リクエストは、報告プロセ ス387が直接受信してもよいし、あるいは、リクエストをコマンドプロセス3 84を介して報告プロセス387に中継してもよい。リクエストが受信されると 、ステップ436は、図20のステップ422で記憶されるセンサデータおよび タイミングデータ、ならびにプロセス388からのエラー情報および力値をホス トに報告(すなわち送出)する。送出されるデータは、構成コマンドにより指定 される報告パラメータおよびホストから受信されるリクエストに依存する。例え ば、ホスト12が特定の情報を要求することができる実施形態もある。その場合 、プロセスは、ステップ432に戻り、照会モードまたはストリームモードが使 用されているかどうかを判断する。このように、ここで説明する実施形態では、 データ転送中の任意の時点でモードを切り替えることができる。他の実施形態で は、一つの特定の報告モードが唯一の利用可能な選択枝である場合もある。この 他に、両方のモードを使用することもできるが、インタフェース装置14の動作 の開始時に一つモードが一度選択されてしまうと、そのモードを切り替えること はできない。 ストリーム報告モードでは、ステップ438は、報告期間が満了したかどうか を判断する。標準報告期間は、インタフェース装置およびホストコンピュータ1 2が最初にセットアップされるときに設定されるのが好ましい。期間が満了する と、ステップ440は、報告パラメータに従って、図20のステップ422で記 憶されたデータを報告する。期間が満了していない場合は、プロセスはステップ 432に戻って、再び報告モードを決定する。 図22は、図18の力アルゴリズム計算・アクチュエータ制御プロセス388 を説明する流れ図である。このプロセスは、ステップ450から始まる。各自由 度における全ての力は、ステップ450の前の電源投入時、またはホストコンピ ュータ12からのクリアコマンドの受信時にゼロに初期化される。この後、プロ セス388は、ステップ450で開始し、ステップ452に進む。ステップ45 2では、力を印加しなければならない軸、すなわち自由度が選択される。本明細 書では、「軸」は、インタフェース装置14によって与えられる自由度と同義で ある。2本の軸が印可される力を必要としている場合、ステップ452では、現 在の反復で力が印加されなかった軸が選択されることが好ましい。例えば、力が x軸およびy軸のまわりで必要とされる場合であって、ループの前回の反復では x軸の力が計算されて印加された場合は、y軸が選択されることが好ましい。さ らに、選択された軸における合計力は、ステップ452でゼロに初期化される。 ステップ456は、力パラメータに従って選択された次の反射プロセスに応じ て選択された軸における力を計算する。このステップには、適切な反射プロセス の選択、必要なセンサデータ、タイミングデータ、および他のデータの検索、な らびに選択された反射プロセスおよび検索されたデータを使用した力値の計算が 含まれていることが好ましい。反射プロセスは、力パラメータを調べることによ って選択される。力パラメータの現在の値は、現在有効なホストコマンドを反映 する。複数のホストコマンド(反射プロセス)が同時に有効となる場合があるの で、力を計算するために実行すべき反射プロセスの一つを決定するために、プロ セス388によって力パラメータが調べられる。このように、プロセス388は 、力パラメータを調べることにより、ホストコンピュータによってどのコマンド が送られたのかを判定し、どの反射プロセスをそれらのコマンドに従って実行す べきかを決定することができる。図5を参照して前述したように、反射プロセス には、プロセスステップや、方程式や、力プロファイルや、センサデータ、タイ ミングデータ、コマンドパラメータ、入力装置39からの他の入力データ、およ び/または他の関連情報から力を計算する命令のその他の組み合わせ、が含まれ ていてもよい。コマンドパラメータは、力パラメータ値に反映されている。した がって、プロセス388は、必要なセンサデータ、タイミングデータ、力パラメ ータ、および/または力値を計算するために選択された反射プロセスによって必 要 とされる他のデータを検索する。 ステップ458では、プロセス388は、ステップ456で計算された力値を ステップ452で初期化された軸に対する合計力に加算する。他の実施形態では 、プロセス388が、合計力値またはステップ458で計算される合計力の一部 を制限することがある。例えば、プロセス388が、どの力値が条件力であり、 どの力値がオーバレイ力であるかの軌跡を維持している場合、プロセス388は 、条件力の総合計を、最大アクチュエータ力出力の所定のパーセンテージ、例え ば最大出力の70%、に制限することができる。これにより、使用可能な力範囲 の一部を、条件力の上に加えられることがあるオーバレイ力、例えばボタンジョ ルトや振動、に使用できるようになる。オーバレイ力を全ての条件力の合計の上 に加えることができるように、この制限は、有効な全ての条件力が計算された後 に実行されることが好ましい。他の実施形態では、他の力を制限してもよい。 次のステップ460では、プロセス388が、現在選択されている軸に関して 別の反射プロセスを実行する必要があるかどうかを判断する。別の反射プロセス を実行する必要があるのは、力がまだ計算されず合計力に加算されていない追加 ホストコマンドが有効な場合である。この場合、プロセスはステップ456に戻 り、力パラメータをチェックし、別の反射プロセスを実行して力を計算し、その 力を合計力に加算する。ステップ460で、選択された軸に関してそれ以上実行 しなければならない反射プロセスがない場合は、合計力は、選択された軸上で有 効な全ての力を表す。この後、選択された軸に関する合計力は、ステップ462 でメモリ27に格納される。 ステップ464では、プロセス388が、別の軸(自由度)について合計力値 を計算する必要があるかどうかを判断する。必要な場合は、他の軸に関して合計 力が計算および記憶されるまで、ステップ452、456、458、460およ び462が他の軸に関して繰り返される。 ステップ464が、力を計算する必要のある軸(自由度)がないと判断すると 、ステップ466は、各軸の合計力を制限することができる。上記で計算された 軸の合計力は、インタフェース装置のハードウェア仕様、例えばアクチュエータ 力出力、を上回ることがあるため、ステップ466は、合計力をハードウェアの 設 計範囲内になるように設定する。ステップ466は、前記で計算された合計力が 、エラーフラグによって示されるように、ユーザにとって安全でない可能性があ る場合に、その合計力を修正することもできる。例えば、好ましい実施形態では 、以下のステップ468〜472で説明されるように、安全条件が違反されると エラーフラグがセットされるようになっていてもよい。これにより、出力値はゼ ロになる。好ましい実施形態では、プロセス388は、このような安全条件の後 に、滑らかに増大する力をユーザオブジェクト34に加える。これは、安全条件 の前のレベルで力出力に突然ジャンプすると、ユーザにとって危険な場合がある ためである。ステップ466では、プロセス388は、エラータイミング情報を 調べることにより、どのくらい前にエラーフラグがセットされたのかチェックす ることができ、増大する力の滑らかなランプ関数に従って合計力を求めることが できる。 次のステップ468は、ステップ466の結果として生じる各軸での合計力に 安全条件を適用する。安全条件は、例えば、図1に示されるような安全スイッチ 41が作動するときや、ホストコンピュータ12によって特定のコマンドが送ら れたときに違反されることがある。安全条件が違反されると、アクチュエータ3 0に加わる力は、ステップ470でゼロに送られる。この後、ステップ472で 違反を示すエラーフラグがセットされ、エラーが発生した時点に関するタイミン グ情報が書き込まれる。この後、プロセス388は、図20のステップ424と 同様に、マイクロプロセッサ26が再び処理を行うための準備が完了するまで、 ステップ474で待機する。 さらなる安全機能として、プロセス388は、メモリ27を調べ、ホストの「 心拍」信号が要求された時間間隔内で受信されたかどうかを判断することが好ま しい。最後の信号が許容される時間間隔の外で受信されたとプロセス388が判 断した場合、プロセス388は、ホストが切断されたかエラーを起こしたと想定 する。したがって、適切な初期化コマンドがホストから受信されるまで、アクチ ュエータ30への全ての電力は、安全対策として遮断される。 安全条件がステップ468で違反されない場合、各軸に関する合計力が適切な アクチュエータ30に信号で知らされ、対応する力がユーザオブジェクト34の それらの軸に印可される。さらに、プロセス388は、あらゆるエラー情報およ び力値を報告プロセス387に送ることができる(エラー情報は、安全条件に関 係なくプロセス387に送られる)。この報告プロセスは、上述のように、ホス トにこれらのデータを送るかどうかを判断する。プロセス388は、この情報を メモリに書き込むことが好ましい。報告プロセス387は、このメモリからその 情報を取り出すことができる。その後、プロセス388は、マイクロプロセッサ 26が準備完了になるまでステップ474で待機する。ステップ474の後、プ ロセスはステップ452に戻り、力の計算および印加の新しい反復のなかで別の 軸を選択する。 次に、インプリメンテーション380の応用例を図23を参照して説明する。 この例では、SLUGGISHホストコマンドを送るホストコンピュータ12に よって、緩慢力(sluggish force)がユーザオブジェクト34に加えられる。こ の後、SPRINGホストコマンドを使用するばね復元力が指令される。緩慢力 モデルおよびばね復元力モデルの双方は、レート制御パラダイムのところで前述 しており、図9にも列挙されている。 図23の力パラメータ480および482は、SLUGGISHコマンドおよ びSPRINGコマンドの力パラメータを記憶するために使用されたメモリ27 中の記憶場所を表す。マイクロプロセッサ26により実現される各コマンドにつ いての力パラメータを記憶するために一組の記憶場所が同じように割り当てられ ることが好ましい。ホストコンピュータ12により送られる各ホストコマンド4 84から生じる力パラメータが示されている。緩慢力パラメータの記憶場所は、 正負のXおよびY方向の速度成分に対する減衰定数(B)によりラベル付けされ ている。同様に、ばねテーブルの記憶場所は、正負のXおよびY軸のばね定数( K)およびXおよびY軸のデッドバンドサイズによりラベル付けされている。 3個のホストコマンド484が、図23に順次に示されている。すなわち、 SLUGGISH(50,X bi) SLUGGISH(90,X(+)uni) SPRING(65,X bi,85) である。 2個のSLUGGISHコマンドパラメータ308は、減衰定数およびスタイ ルである。この定数は、最大減衰定数のパーセンテージであり、50%および9 0%となっている。第1のSLUGGISHコマンドのスタイルコマンドパラメ ータは、X軸上の双方向(bi-directional)の力を示す。第2のSLUGGIS Hコマンドのスタイルパラメータは、X軸の正の方向におけるX軸上の単方向( uni-directional)の力を示す。 3個のSPRTNG力フィードバックパラメータは、ばね定数、スタイル、お よびデッドバンドである。ばね定数パラメータは、最大ばね定数の65%を示し ている。スタイルパラメータは、力がX軸上で双方向であることを示す。デッド バンドは、最大デッドバンドサイズの85%である。 図9に示されるように、コマンドが有効である時間の長さを設定するために、 持続時間コマンドパラメータがホストコマンド484の各々に含まれていてもよ い。ただし、この例では、コマンドが無限の持続時間を有するものと仮定されて いるため、持続時間コマンドパラメータは示されていない。コマンドは、例えば 、ホストからのクリアコマンドにより取り消すことができる。この他に、図示の ように、コマンドは、同じタイプの別のコマンドによって取消または変更するこ とができる。 要求されたインタフェース装置情報が図19のステップ392でホスト12に 送られると、ホスト通信・バックグラウンドプロセス382が、ステップ394 またはステップ398のどちらかで構成コマンドを受信する。これらの構成コマ ンドにより適切な報告パラメータが設定される。これらの報告パラメータは、例 えば、各許容自由度、他の入力装置39、位置/速度、照会/ストリームモード などに応じたフラグとして、上記の装置からホストにデータを報告(および、適 切な場合にはモードを選択)するかどうかを示すように実現されていてもよい。 最大の効率を得るため、報告パラメータは、X軸に関してしかフラグがセットさ れない。これは、Y軸データが必要ないためである。ただし、Y軸センサデータ は、他の理由でホストコンピュータによって必要とされることがあるため、Y軸 センサデータは、依然としてフラグがセットされて、ホストに報告される場合が ある。 この後、力パラメータ480および482は、図23に示されるように、SL UGGISHおよびSPRINGホストコマンドならびにこれらが含むコマンド パラメータに基づいて、図19のステップ402で設定される。コマンドSLU GGISH(50,Xbi)によりステップ402は、x軸定数Bx(+)およ びBx(−)に対応する力パラメータ記憶場所486に「50」を書き込む。最 初の緩慢コマンドが電源投入後インタフェース装置14によって受信される最初 のコマンドであると想定されるため、他の全ての力パラメータの残りの記憶場所 は全てゼロである。 他のプロセス386および388は、力パラメータ480および482(なら びに、他の反射プロセスに対する他の力パラメータ)を調べ、図20および図2 2に示されるように実施される。このように、状態更新プロセス386は、図2 0のステップ414でどのセンサが読み取られるのかを判断すると、力パラメー タ480および482を調べ、どのコマンドが有効であるのかを判断する。ばね 復元力の復元力パラメータ482のすべてがゼロであるため、ばね復元コマンド は有効ではない(プロセス386および388は、力パラメータのサブセットを 見てコマンドが有効であるかどうかを判断することしか実際には必要でない)。 しかしながら、力パラメータ480は、二つの値(“50”)を含むため有効で ある。したがって、x軸センサしか読み取る必要がない(ここでは、報告パラメ ータによって示されるように、ホストはy軸情報を必要としていないと想定して いる)。ステップ420(実施されている場合)では、プロセス386が、セン サ読取り値(および/またはセンサ読取り値の履歴)およびタイミングデータを 計算する。これは、緩慢コマンドが、力を計算するために速度値を必要とするか らである(この例では、加速度は関係ない)。 プロセス388は、図22のステップ456で力パラメータ480および48 2をチェックする。X軸は、ステップ452で選択する唯一の関連軸である。力 パラメータ482はすべてゼロであるため、プロセス388は、ばね復元反射プ ロセスを実行しないことを知っている。力パラメータ480が非ゼロ値を含んで いるため、緩慢反射プロセスは、実行される必要がある。ある例では、反射プロ セスは、等式F=BVを含んでいる。ここで、Bは、記憶場所486aおよび4 86bに記憶された定数であり、Vは、状態更新プロセス386により計算され る速度である。Fは、軸を中心としてアクチュエータ30により出力される合計 力である。全ての使用可能なホストコマンドが力パラメータを有していることが 好ましい。プロセス386および388は、この力パラメータを同じようにチェ ックして、どのコマンドが有効であるかを判断する。 図23に戻ると、第2コマンドSLUGGISH(90,X+ UNI)は、 第1の緩慢コマンドの後にホストコンピュータ12によって送られる。この第2 SLUGGISHコマンドは正のx軸において単方向であるため、Bx(+)力 パラメータ用の第1記憶場所486aだけが、以前の値に上書きされた新しい定 数「90」を有する。ばね復元力パラメータは、SLUGGISHコマンドによ って変更されない。第1SLUGGISHコマンドを取り消す一つの方法は、全 てのコマンドパラメータをゼロにする第2SLUGGISHコマンドを送ること である。 ステータス更新プロセス386は、第1SLUGGISHコマンドに対する場 合と同様に、第2SLUGGISHコマンドに対しても動作する。力アルゴリズ ム計算・アクチュエータ制御プロセス388も、図22のステップ456で選択 された緩慢反射プロセスが(50という定数に基づいた)負のx方向ではなく( 90という定数に基づいた)正のx方向における速度に関して異なる緩慢力を計 算するという点を除いて、同様に動作する。プロセス388は、ステータス更新 プロセス386からのセンサ情報を使用して、ユーザがどの方向にユーザオブジ ェクトを動かしているのかを判断し、適切な定数を使用する。 図23に戻ると、ホスト12によって送られる第3のコマンドは、SPRIN GコマンドSPRING(65,X BI,85)である。このため、図19の ステップ402は、Kx(+)およびKx(−)に65を書き込み、DBxに85 を書き込むことによって、ばね復元力パラメータ482を変更する。SLUGG IS H力パラメータはSPRINGコマンドによる影響を受けないため、SLUGG ISH力パラメータは、以前の値とともに有効のままでいる。プロセス388は 、緩慢反射プロセスを実行し、力を計算してから、ばね復元反射プロセスを実行 し、力を計算する。ばね復元反射プロセスは、例えば、等式F=kxにより実施 することができる。ここで、kは、ばね定数であり、xは、原点位置を基準とす るユーザオブジェクトの位置である。緩慢反射プロセスおよびばね反射プロセス からの二つの力は、ステップ458で加算されて一つになる。したがって、緩慢 力モデルおよび復元力モデルは、図23のSPRINGコマンドの後に、ユーザ オブジェクト34上で重ね合わされる。これにより、ユーザオブジェクト34上 に粘性の感覚が生じ、同時にユーザオブジェクトの原点位置に向かって力が印加 される。 より一般的に述べると、図23に示されない他のコマンドシーケンスのために 、任意の数の力モデルを重ね合わせることが可能である。例えば、第1のSLU GGISHコマンドのすぐ後にSPRINGコマンドが続く場合、二つの力を重 ね合わせることができる。 この他に、図23に示される三つのコマンドが、マイクロプロセッサ26によ って受信され、SPRINGコマンドの後に示される全ての力パラメータがメモ リ内のパラメータページとして記憶され、「力環境」を形成してもよい。この力 環境がユーザオブジェクト34に適用されることが望まれる場合、力パラメータ および報告パラメータのページがプロセス386および388によって検索され 、処理される。これは、多数の異なるコマンドを同時に適用することが望まれる ときに有効な場合がある。マイクロプロセッサは、各ホストコマンドが受信され たときにそのコマンドを適用することはないが、力環境に関する全ての所望の力 パラメータを一度にメモリからロードする。 以上、幾つかの好適な実施形態の観点から本発明を説明してきたが、その変更 、変形および置換は、明細書を読み、図面を参照すれば当業者にとって明らかと なる。例えば、多くの種類のアクチュエータおよびセンサを本発明に使用するこ とができる。また、オブジェクト34に1以上の自由度を与えるために、多くの 種類の機構を含めることができる。さらに、ローカルマイクロプロセッサにホス ト コンピュータを接続するために、種々のインタフェースを使用することができる 。本発明によって、さまざまなタイプの力をユーザオブジェクトに伝達すること ができる。マイクロコンピュータ上で実行される多くの個々のプロセスで多様な タイプの力モデルを実現することができるが、本明細書には、そのなかの一部の みを記載した。さらに、ローカルマイクロプロセッサ上における反射プロセスの 適用は、さまざまな方法で実現することができる。さらにまた、記載を明確にす るために特定の専門用語を使用したが、これらの用語は本発明を限定するもので はない。したがって、請求の範囲は、本発明の真の趣旨および範囲内に含まれる 全ての変更、変形および置換を含むように意図されている。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),CA,CN,JP,K R,MX (72)発明者 レヴィン,マイク,ディー. アメリカ合衆国 カリフォルニア州 サニ ーヴェイル イースト エル カミノ リ アル 870 ナンバー506 【要約の続き】 る。

Claims (1)

  1. 【特許請求の範囲】 1. グラフィック環境をディスプレイするホストコンピュータで使用するイ ンタフェース装置であって、前記ホストコンピュータが、前記インタフェース装 置のユーザ操作に応じて前記グラフィック環境を更新し、かつ前記操作に応じて 前記インタフェース装置を使用し、かつ前記グラフィック環境内の事象と一致す る力フィードバック感覚を指令するものにおいて、 ユーザによって握られるユーザ操作可能なオブジェクトと、 前記ユーザ操作可能なオブジェクトを起点に対して支持すると同時に前 記起点に対する前記ユーザ操作可能なオブジェクトの動きにおいて複数の自由度 を可能にする支持機構と、 前記ユーザ操作可能なオブジェクトに結合され、前記自由度の中の少な くとも1つに沿って前記ユーザ操作可能なオブジェクトの動きに対する力抵抗力 を与えるアクチュエータであって、前記動きに対する力抵抗力が、前記ホストコ ンピュータからのコマンドに応じて、かつ前記グラフィック環境と同等に発生さ れること、 少なくとも前記自由度に沿って前記抵抗力が与えられた前記ユーザ操作 可能なオブジェクトの操作に応答し、かつ対応する位置信号を出力するセンサと 、その状態を示す状態信号を出力するユーザ調整可能なスイッチと、 前記ホストコンピュータから離れ、通信インタフェースによって前記ホ ストコンピュータに結合され、かつ前記アクチュエータ、前記センサおよび前記 ユーザ調整可能なスイッチに結合されたローカルマイクロプロセッサであって、 前記ローカルマイクロプロセッサが、前記グラフィック環境のホスト実行と並列 にローカルプロセスを実行し、前記ローカルプロセスが複数のローカルルーチン の実行を含み、前記ローカルマイクロプロセッサによって実行された前記ローカ ルプロセスが前記ローカルマイクロプロセッサに結合されたローカルメモリに記 憶され、前記ローカルプロセスが、 前記インタフェース装置と前記ホストコンピュータとの間の通信を 可能にし、 前記通信インタフェースを介して前記インタフェース装置に前記ホ ストコンピュータによって送られたコマンドを復号化し、 前記ホストコンピュータから受け取られた少なくとも1つの復号化 されたコマンドに応じて前記アクチュエータを制御し、前記アクチュエータの制 御が前記グラフィック環境の前記並列ホストコンピュータの実行で生じる事象と 同等にされ、それによって、前記グラフィック環境内の関連のディスプレイされ た事象と対応する触感感覚を局部的に形成し、 前記位置信号の指示を前記ホストコンピュータに報告し、前記ホス トコンピュータが前記位置信号の指示に応じて前記グラフィック環境の前記並列 実行を更新し、かつ 前記状態信号の指示を前記ホストコンピュータに報告し、前記ホス トコンピュータが前記スイッチ状態に応じて前記グラフィック環境の前記並列実 行を更新し、 複数のホストコマンドが前記通信インタフェースを介して前記ローカルマイク ロプロセッサによって受け取られ、前記ホストコマンドが、力フィードバックコ マンドプロトコルを使用して前記ローカルマイクロプロセッサに転送され、前記 力フィードバックコマンドプロトコルが、その各々がコマンド識別子を含み、か つその少なくとも1つが少なくとも1つのコマンドパラメータを含んでいる複数 の別個のホストコマンドで構成されること、 前記マイクロプロセッサの一部のメモリに記憶された複数のコマンドとを備え 、前記コマンドルーチンの中の特定のルーチンが前記受け取られたホストコマン ドの中の特定のコマンドに応じて実行され、前記ホストコマンドの中の少なくと も1つが前記ローカルマイクロプロセッサから前記ホストコンピュータにデータ を報告するコマンドルーチンを実行し、前記ホストコマンドの中の少なくとも1 つが受け取られたホストコマンドの前記コマンド識別子および前記コマンドパラ メータに従って選択された複数の力ルーチンの中の1つを実行し、前記力ルーチ ンが前記アクチュエータに前記力ルーチンに従って前記自由度の中の少なくとも 1つに沿って前記ユーザオブジェクトの動きに対する抵抗力を生じさせるコマン ドルーチンであり、前記アクチュエータの制御が、ある時間中前記ホストコンピ ュ ータからの他のコマンドとは無関係であり、それによって前記ホストコンピュー タに自由に他のタスクを実行させることを特徴とするインタフェース装置。 2. 前記ホストコマンドの中の少なくとも1つが、前記自由度の中の少なく とも1つに沿って前記ユーザオブジェクトの動きに対する抵抗力を前記アクチュ エータに取り除かせる力ルーチンを実行する請求項1に記載のインタフェース装 置。 3. 前記少なくとも1つのコマンドパラメータが前記アクチュエータによっ て出力されるように前記力の大きさを決定する大きさパラメータを含んでいるこ とを特徴とする請求項1に記載のインタフェース装置。 4. 前記アクチュエータの制御が前記位置信号に従って実行されることを特 徴とする請求項1に記載のインタフェース装置。 5. 前記少なくとも1つのコマンドパラメータが、前記アクチュエータによ る前記力出力がどのくらい長く有効であるかを決定する持続期間パラメータを含 んでいることを特徴とする請求項4に記載のインタフェース装置。 6. 前記少なくとも1つのコマンドパラメータが、前記アクチュエータによ る前記力出力の方向および自由度を決定する持続期間パラメータを含んでいるこ とを特徴とする請求項1に記載のインタフェース装置。 7. 前記少なくとも1つのコマンドパラメータが、前記プロセッサに結合さ れたボタンを示し、かつ前記ボタンが前記ユーザによって押された時に前記アク チュエータによる力出力の大きさ、方向、および持続期間を決定するボタンパラ メータを含んでいることを特徴とする請求項4に記載のインタフェース装置。 8. 前記ホストコンピュータおよび前記プロセッサが直列インタフェースに よって一緒に結合されていることを特徴とする請求項1に記載のインタフェース 装置。 9. 前記直列インタフェースが汎用直列バスインタフェースを含んでいるこ とを特徴とする請求項8に記載のインタフェース装置。 10. 前記マイクロプロセッサにアクセスでき、前記ローカルプロセスで使用 されるタイミング信号を前記マイクロプロセッサに供給するローカルクロックを さらに含み、前記アクチュエータの制御が前記ローカルクロックから得られたタ イミングデータに従って実行されることを特徴とする請求項1に記載のインタフ ェース装置。 11. 少なくとも1つのコマンドパラメータが、前記ユーザオブジェクトの動 きの範囲内のデッドバンドを規定し、特定の力ルーチンの実行から得られる力が 、前記ユーザオブジェクトが前記デッドバンド領域内にある場合、ほぼゼロまで 減少されるべきであることを特徴とする請求項1に記載のインタフェース装置。 12. 少なくとも1つのコマンドパラメータが、特定の力ルーチンに従って前 記アクチュエータによる力出力を変調するために使用される周期信号の周波数を 規定することを特徴とする請求項10に記載のインタフェース装置。 13. 特定の力ルーチンを使うべき前記コマンドパラメータの少なくとも1つ が少なくとも1つの自由度を規定することを特徴とする請求項1に記載のインタ フェース装置。 14. 複数の力ルーチンが前記マイクロプロセッサの多重タスキングを使用す る複数のホストコマンドに応じて同時に実行されることを特徴とする請求項1に 記載のインタフェース装置。 15. 前記インタフェース装置を作動するために使用される電力の少なくとも 一部が前記汎用直列バスから引き出されることを特徴とする請求項9に記載のイ ンタフェース装置。 16. 前記アクチュエータを制御するために引き出された全ての電力が前記汎 用直列バスから引き出されることを特徴とする請求項17に記載のインタフェー ス装置。 17. 前記大きさパラメータが前記インタフェース装置の最大力の可能出力の パーセントとして示されることを特徴とする請求項3に記載のインタフェース装 置。 18. ゼロあるいは負である持続期間パラメータが、マイクロプロセッサがそ の後のホストコマンドによって停止することを示すまで不定時間、前記力ルーチ ンを実行すべきであることを示すフラグとして使用されることを特徴とする請求 項5に記載のインタフェース装置。 19. 所与の力感覚が前記自由度で一方向あるいは両方向に出力されるべきで あるかどうかを規定することを特徴とする請求項1に記載のインタフェース装置 。 20. 前記ホストコマンドが、バックグラウンド状態およびオーバーライド効 果を含む少なくとも2つのコマンド群に備えられ、前記状態が前記インタフェー ス装置によって発生された1つの力感覚のクラスに関連し、かつ前記効果が前記 インタフェース装置によって発生された異なる力感覚のクラスに関連しているこ とを特徴とする請求項1に記載のインタフェース装置。 21. バックグラウンド状態が、前記ユーザが前記ユーザ操作可能なオブジェ クトを移動させるときのスチフネスおよび制動力出力を含む前記インタフェース 装置の物理的力特性を指示していることを特徴とする請求項20に記載のインタ フェース装置。 22. 前記オーバーライド効果が時変感覚を指示し、前記時変感覚が振動を含 んでいることを特徴とする請求項21に記載のインタフェース装置。 23. 前記力ルーチンがバックグラウンド状態ルーチンおよびオーバーライド 効果ルーチンを含む少なくとも2つの力ルーチンの群に備えられ、前記バックグ ラウンド状態ルーチンが前記位置の信号の関数として前記アクチュエータを制御 し、かつ前記効果ルーチンが時間の関数として前記アクチュエータを制御するこ とを特徴とする請求項1に記載のインタフェース装置。 24. 少なくとも1つのコマンドパラメータが、前記ユーザ操作可能なオブジ ェクトが特定の自由度に沿って第1の方向に移動されるときに前記ユーザによっ て触感されたシミュレートされたばね抵抗力のスチフネスを規定し、かつ他のコ マンドパラメータが、前記ユーザ操作可能なオブジェクトが前記特定の自由度に 沿って前記第1の方向と反対の第2の方向に移動されるときに前記ユーザによっ て触感されたシミュレートされたばね抵抗力のスチフネスを規定することを特徴 とする請求項1に記載のインタフェース装置。 25. 少なくとも1つのコマンドパラメータが、前記ユーザ操作可能なオブジ ェクトが自由度に沿って正の速度で移動されるときに前記アクチュエータによっ て出力された抗力抵抗力の制動を規定し、かつ他のコマンドパラメータが、前記 ユーザ操作可能なオブジェクトが前記自由度に沿って負の速度で移動されるとき に前記アクチュエータによって出力された抗力抵抗力の制動を規定することを特 徴とする請求項1に記載のインタフェース装置。 26. 前記制動パラメータが前記インタフェース装置の最大制動可能出力のパ ーセントとして示されることを特徴とする請求項25に記載のインタフェース装 置。 27. 前記スチフネスパラメータが前記インタフェース装置の最大スチフネス 可能出力のパーセントとして示されることを特徴とする請求項26に記載のイン タフェース装置。 28. ホストコマンドが、正の制動、負の制動、正のスチフネス、および負の スチフネスに対する関連コマンドパラメータを含んでいることを特徴とする請求 項1に記載のインタフェース装置。 29. 前記ホストコマンドが、デッドバンド領域を規定する少なくとも1つの 関連コマンドパラメータを含んでいることを特徴とする請求項28に記載のイン タフェース装置。 30. 前記ホストコマンドが、前記ホストコマンドに対する飽和レベルを規定 する少なくとも1つの関連コマンドパラメータを含んでいることを特徴とする請 求項29に記載のインタフェース装置。 31. 前記単一ホストコマンドが、前記ホストコマンドによって規定された起 点位置に対するオフセットを規定する少なくとも1つの関連コマンドパラメータ を含んでいることを特徴とする請求項30に記載のインタフェース装置。 32. 前記アクチュエータが、第1のアクチュエータであり、かつ第2のアク チュエータをさらに備え、前記アクチュエータの各々が、別個の自由度で力を供 給し、かつ前記方向パラメータが前記2つの自由度によって規定された2次元平 面内にある角度を示していることを特徴とする請求項9に記載のインタフェース 装置。 33. 前記マイクロプロセッサが、前記角度に基づいて前記2つのアクチュエ ータの中に指令された力を分配することを特徴とする請求項32に記載のインタ フェース装置。 34. 少なくとも1つのコマンドパラメータが前記周期信号の形状を規定する ことを特徴とする請求項12に記載のインタフェース装置。 35. 前記形状が、次の波形のタイプ、すなわち方形波、正弦波および三角波 の中の1つから選択されることを特徴とする請求項34に記載のインタフェース 装置。 36. 前記コマンドプロトコルが前記マイクロプロセッサによって使用される クリアパラメータ対するホストコマンドを含んでいることを特徴とする請求項1 に記載のインタフェース装置。 37. 一連のコマンドパラメータが前記マイクロプロセッサに供給され、前記 コマンドパラメータがディジタル化力プロフィールをひとまとめに示し、前記一 連のコマンドパラメータの各値が所与の時間前記アクチュエータに加えられる力 レベルを示していることを特徴とする請求項1に記載のインタフェース装置。 38. 前記力プロフィールが、前記マイクロプロセッサの一部の前記メモリに 記憶され、かつ前記スイッチによって供給される前記状態信号に応じて前記マイ クロプロセッサによって前記アクチュエータに加えられることを特徴とする請求 項37に記載のインタフェース装置。 39. ホストコンピュータシステムでユーザによって操作される力フィードバ ックインタフェース装置をインタフェースする方法において、 前記力フィードバックインタフェース装置に含まれるユーザ操作可能な オブジェクトを供給することであって、前記オブジェクトが自由度を有すること 、 前記自由度に沿って前記ユーザ操作可能なオブジェクトをセンサで検出 し、かつそれから電気センサ信号を発生し、 前記位置信号に従って前記ホストコンピュータによって実行されたゲー ムソフトウェアあるいはシミュレーションソフトウェアを更新し、 前記ユーザ操作可能なオブジェクトの一部のマイクロプロセッサを使用 して、前記電気センサ信号を前記ホストコンピュータシステムに供給し、かつホ ストコマンドを前記ホストコンピュータシステムから受け取るように前記ホスト コンピュータシステムと通信することであって、前記ホストコマンドが、指定さ れたボタンからの入力を読み取り、かつ前記ユーザによって作動される前記指定 されたボタンに応じて力を発生するように前記マイクロプロセッサに命令するボ タンパラメータを含むこと、 前記ホストコマンドに従って前記マイクロプロセッサによってルーチン を選択することと、前記ルーチン信号および前記電気センサ信号を使用して前記 マイクロプロセッサからのプロセッサ力コマンドを前記アクチュエータに出力す ることを含む、前記ユーザ操作可能なオブジェクトに結合されたアクチュエータ に制御するように前記マイクロプロセッサおよび前記ホストコマンドを独立して 使用する前記自由度に沿って前記オブジェクトに力を形成することからなること を特徴とするインタフェースする方法。 40.前記コマンドパラメータが前記アクチュエータによる前記力出力の大きさ を制御する大きさパラメータであることを特徴とする請求項39に記載の方法。 41.前記コマンドパラメータが前記ユーザ操作可能なオブジェクトに加えられ た前記力の時間持続期間を制御する持続期間パラメータであることを特徴とする 請求項43に記載の方法。 42.前記ホストコマンドが、前記ユーザオブジェクトの起点位置の周りのデッ ドバンド領域のサイズを示すデッドバンドパラメータであるコマンドパラメータ をさらに含み、前記力が前記デッドバンド領域内の前記ユーザオブジェクトに加 えられることを特徴とする請求項44に記載の方法。 43.グラフィック環境をディスプレイし、かつ前記インタフェース装置のユー ザ操作に応じて前記グラフィック環境を更新するホストコンピュータで使用する インタフェース装置であって、前記ホストコンピュータが、前記操作に応じて、 かつ前記グラフィック環境内の事象と一致する力フィードバック感覚を指令する ものにおいて、 ユーザによって握られ、かつ前記ユーザ操作可能なオブジェクトを起点 に対して支持すると同時に前記起点に対する前記ユーザ操作可能なオブジェクト の動きにおいて複数の自由度を可能にする支持機構によって支持されたユーザ操 作可能なオブジェクトと、 前記ユーザ操作可能なオブジェクトに結合され、前記自由度の中の少な くとも1つに沿って前記ユーザ操作可能なオブジェクトに力を与えるアクチュエ ータであって、前記力が、前記ホストコンピュータからのコマンドに応じて、か つ前記グラフィック環境内のディスプレイされたオブジェクトの間の対話と同等 に発生されること、 前記力が与えられる前記自由度に沿って前記ユーザ操作可能なオブジェ クトの操作に応答し、かつ対応する位置信号を供給するセンサと、 その状態を示す状態信号を供給するユーザ調整可能なスイッチと、 前記ホストコンピュータから離れ、通信インタフェースによって前記ホ ストコンピュータに結合され、かつ前記アクチュエータ、前記センサおよび前記 ユーザ調整可能なスイッチに結合された装置マイクロプロセッサであって、前記 ローカルプロセッサが、前記グラフィック環境のホスト実行と並列にローカルプ ロセスを実行し、前記ローカルマイクロプロセッサによって実行された前記ロー カルプロセスが前記ローカルマイクロプロセッサに結合されたローカルメモリに 記憶され、前記ローカルプロセスが、 複数の別個のホストコマンドを含む力フィードバックコマンドプロ トコルを使用して前記インタフェース装置と前記ホストコンピュータとの間の両 方向通信を可能にし、 前記通信インタフェースを介して前記インタフェース装置に前記ホ ストコンピュータによって送られたコマンドを受け取り、 前記ホストコンピュータから受け取られた少なくとも1つの復号化 されたコマンドに応じて前記アクチュエータを制御し、前記アクチュエータの制 御が前記グラフィック環境の前記並列ホストコンピュータの実行で生じる事象と 同等にされ、それによって、前記グラフィック環境内の関連のディスプレイされ た事象と対応する触感感覚を局部的に形成し、 前記位置信号の指示を前記ホストコンピュータに報告し、前記ホス トコンピュータが前記位置信号の指示に応じて前記グラフィック環境の前記並列 実行を更新し、かつ 前記状態信号の指示を前記ホストコンピュータに報告し、前記ホス トコンピュータが前記スイッチ状態に応じて前記グラフィック環境の前記並列実 行を更新すること、 を備えていることを特徴とするインタフェース装置。 44. 前記複数の別個のホストコマンドの各々がコマンド識別子を含み、かつ 前記別個のホストコマンドの少なくとも1つが少なくとも1つのコマンドパラメ ータを含んでいることを特徴とする請求項43に記載の装置。 45. 前記ローカルプロセスがボタン反射プロセスを含み、前記装置マイクロ プロセッサが前記状態信号の変化によって示されるような前記ユーザ調整可能な スイッチの前記状態を前記ユーザが手動で変えることに応じて前記アクチュエー タからの前記力出力を制御することを特徴とする請求項44に記載の装置。 46. 前記ボタン反射プロセスによって、前記スイッチの状態が変えられた後 の時間、前記アクチュエータは前記ユーザオブジェクトに力を加え、前記時間が 前記受け取られたホストコマンドの中の少なくとも1つによって指定されること を特徴とする請求項45に記載の装置。 47. 前記力が前記受け取られたホストコマンドの中の少なくとも1つによっ て指定された大きさおよび期間の周期的力であることを特徴とする請求項46に 記載の装置。 48. 前記力が時間とともに変わる大きさを有し、前記力が前記装置マイクロ プロセッサにアクセス可能なメモリに記憶されたディジタル化力プロファイルか ら得られる請求項46に記載の装置。 49. 前記ボタン反射プロセスが前記ボタン反射プロセスに関連されたホスト コマンドに応じて確定され、前記ホストコマンドが、前記インタフェース装置に 結合された複数のボタンの中のどれが前記ボタン反射プロセスに関連した前記力 をトリガするために使用されるべきかを示す少なくとも1つのコマンドパラメー タを含むことを特徴とする請求項45に記載の装置。 50. 前記グラフィック環境がビデオゲームであり、かつ前記スイッチの前記 状態の変化によって、前記ホストコンピュータは、前記ビデオゲーム内の模擬武 器を発射させることを特徴とする請求項45に記載の装置。 51. 前記ボタン反射プロセスによって発生された前記力が前記ビデオゲーム 内の前記武器の発射に関連した反動力感覚を出力するために使用されることを特 徴とする請求項50に記載の装置。 52. 少なくとも1つの付加的ユーザ調整可能なスイッチをさらに備え、前記 マイクロプロセッサがユーザ調整可能な第1のスイッチに応じて第1のプロセス により前記アクチュエータからの力出力を制御し、かつ前記マイクロプロセッサ が前記ユーザ調整可能な第2のスイッチに応じて前記アクチュエータからの力出 力を制御するように前記ローカルプロセスが多重ボタン反射プロセスを含むこと を特徴とする請求項45に記載の装置。 53. 前記スイッチおよび関連マイクロプロセッサの中の各々との間の所定の 関係が前記マイクロプロセッサの一部のメモリに記憶された前記ホストコマンド から得られることを特徴とする請求項52に記載の装置。 54. 前記スイッチが、前記力を出力した後の特定の時間間隔、前記ユーザに よって特定の状態に保持されていることを特徴とする請求項45に記載の装置。 55. 前記時間間隔が、前記ホストコンピュータによって実行されたビデオゲ ーム内の模擬自動武器の発射速度と相関付けることを目的としている自動発射速 度であることを特徴とする請求項54に記載の装置。 56. 前記ローカルプロセスが前記位置の信号からのユーザ可能なオブジェク トの位置座標を計算し、前記位置座標が前記通信インタフェースを介して前記ホ ストコンピュータに報告されることを特徴とする請求項43に記載の装置。 57. 前記ローカルプロセスが、前記ユーザオブジェクトが模擬溝内に置かれ るように前記ローカルマイクロプロセッサによって制御され、前記溝プロセスに よって前記アクチュエータによる前記力出力は、前記ユーザオブジェクトに前記 溝の境界の外側に移動させるユーザ操作に抵抗することを特徴とする請求項4に 記載の装置。 58. 前記溝プロセスが前記模擬溝の寸法を指定するコマンドパラメータを含 むホストコマンドと関連していることを特徴とする請求項57に記載の装置。 59. 前記溝プロセスが少なくともスナップアウト距離に対するコマンドパラ メータを含んでいることをホストコマンドと関連し、前記スナップアウトプロセ スが、前記スナップアウト距離を前記ユーザオブジェクトが超える場合、前記溝 プロセスによって、前記アクチュエータによる前記力出力は減少され、それによ って前記ユーザオブジェクトは、前記境界を過ぎてより少ない抵抗で移動でき、 かつ前記模擬溝の外側に移動するための触感感覚を前記ユーザのために形成する ことを特徴とする請求項57に記載の装置。 60. 前記溝プロセスが前記グラフィック環境のホストコンピュータ発生と同 等にされ、前記グラフィック環境が、グラフィック環境と対話するカーソルを含 み、前記グラフィック環境内の前記カーソルの位置が前記ユーザ操作可能なオブ ジェクトの前記ユーザ操作によって制御され、前記ローカル溝プロセスと前記ホ ストグラフィックディスプレイとの間の対等関係が、前記溝プロセスから得られ る前記ユーザ操作可能なオブジェクトの動きの制限はユーザがディスプレイされ たグラフィック領域の外側に前記カーソルを自由に移動させることを防止するよ うなものであることを特徴とする請求項57に記載の装置。 61. 前記ローカルプロセスが、前記アクチュエータが前記ユーザオブジェク トを規定された前記障壁の位置を通り過ぎて移動させる前記ユーザオブジェクト の力の反対方向のユーザの操作を出力するように前記装置マイクロプロセッサに よって制御される障壁プロセスを含むことを特徴とする請求項44に記載の装置 。 62. 前記障壁プロセスが、前記障壁の硬度の大きさおよび前記グラフィック 環境内の前記障壁の位置を指定するコマンドパラメータを含んでいるホストコマ ンドに関連していることを特徴とする請求項61に記載の装置。 63. 前記障壁プロセスが貫通距離を指定するコマンドパラメータを含んでい るホストコマンドに関連し、前記貫通距離が前記障壁の位置を通り過ぎた距離を 示しているので、前記距離を前記ユーザオブジェクトが超える場合、前記障壁プ ロセスが前記アクチュエータによる力出力を減らし、それによって前記ユーザオ ブジェクトがより少ない抵抗で前記障壁を通り過ぎて移動することができ、前記 シミュレートされた障壁を突破する触感感覚を前記ユーザのために形成すること を特徴とする請求項61に記載の装置。 64. 前記障壁プロセスが、前記グラフィック環境のホストコンピュータ発生 と同等にされ、前記グラフィック環境が、グラフィック環境と対話するカーソル を含み、前記グラフィック環境内の前記カーソルの位置が前記ユーザ操作可能な オブジェクトの前記ユーザ操作によって制御され、前記障壁プロセスと前記ホス トグラフィックディスプレイとの間の対等関係が、前記障壁プロセスから得られ る前記ユーザ操作可能なオブジェクトの動きの制限はユーザがディスプレイされ たグラフィック領域の外側に前記カーソルを自由に移動させることを防止するよ うなものであることを特徴とする請求項61に記載の装置。 65. 前記ローカルプロセスが、前記アクチュエータが前記ユーザ操作可能な オブジェクトが空間で移動されるとき空間的に変わる触感感覚を形成するように 前記ローカルマイクロプロセッサによって制御される質感プロセスを含むことを 特徴とする請求項44に記載の装置。 66. 前記質感プロセスが、前記質感の力の大きさおよび前記質感の空間周波 数を指定するコマンドパラメータを含むホストコマンドに関連していることを特 徴とする請求項65に記載の装置。 67. 前記ローカルプロセスが、前記アクチュエータが前記グラフィック環境 に置かれた指定フィールド起点の方への前記ユーザ操作可能なオブジェクトの力 の斥力の動きを出力するように前記ローカルマイクロプロセッサによって制御さ れる斥力場プロセスを含むことを特徴とする請求項44に記載の装置。 68. 前記斥力場プロセスが、前記斥力の大きさの少なくとも1つおよび前記 フィールド起点の位置を指定する少なくとも1つのコマンドパラメータを含むホ ストコマンドと関連していることを特徴とする請求項67に記載の装置。 69. 前記ローカルプロセスが、前記アクチュエータが前記グラフィック環境 に置かれた指定フィールド起点の方への前記ユーザ操作可能なオブジェクトの力 の引力の動きを出力するように前記ローカルマイクロプロセッサによって制御さ れる引力場プロセスを含むことを特徴とする請求項44に記載の装置。 70. 前記引力場プロセスが、前記フィールドの大きさおよびフィールド起点 の位置を指定する少なくとも1つのコマンドパラメータを含むホストコマンドに 関連していることを特徴とする請求項69に記載の装置。 71. 前記ローカルプロセスが、前記アクチュエータが前記ユーザ操作可能な オブジェクトによって制御される位置を有する入射オブジェクトと迎合的なオブ ジェクトと間の衝突の触感をシミュレートするように前記ローカルマイクロプロ セッサによって制御されるオブジェクト衝突プロセスを含むことを特徴とする請 求項41に記載の装置。 72. 前記衝突プロセスが、前記入射オブジェクトの質量の少なくとも1つお よび前記入射オブジェクトの入射速度を示すコマンドパラメータを含むホストコ マンドに関連していることを特徴とする請求項81に記載の装置。 73. 前記衝突プロセスがラケットプロセスであり、前記入射オブジェクトが ボールオブジェクトであり、かつ前記迎合的なオブジェクトが曲げやすいラケッ トオブジェクトであり、前記アクチュエータが、前記入射ボールオブジェクトと 前記ユーザ制御曲げやすいラケットオブジェクトとの間のダイナミック相互作用 の触感をシミュレートするように前記ローカルマイクロプロセッサによって制御 されることを特徴とする請求項71に記載の装置。 74. 前記ラケットプロセスが、前記曲げやすいラケットオブジェクトのコン プライアンスの少なくとも1つおよび前記ボールオブジェクトの質量を示す少な くとも1つのコマンドパラメータを含むホストコマンドに関連することを特徴と する請求項73に記載の装置。 75. 前記衝突プロセスの完了で、前記ローカルプロセスが、前記衝突から得 られる前記入射オブジェクトの速度を示す前記ホストコンピュータに最終値を報 告することを特徴とする請求項71に記載の装置。 76. 前記ローカルメモリが、不揮発性メモリを含み、モデルの少なくとも1 つおよび前記インタフェース装置の機能並びに前記ユーザオブジェクトが移動す ることができる多数の自由度を識別する前記データが前記不揮発性メモリに記憶 されていることを特徴とする請求項43に記載の装置。 77. 前記通信インタフェースが複数の装置によって共有されるバスであり、 かつ前記バスを横切って前記ホストから前記ローカルマイクロプロセッサに送ら れるデータがデータパケットで暗号化することを特徴とする請求項43に記載の 装置。 78. 前記インタフェース装置が、固有な識別子を要求し、かつ前記ホストか らの固有な識別子を受信し、かつ前記ローカルメモリに前記識別子を記憶するの で、データパケットが前記ホストから受け取られる場合、前記ローカルプロセス が、前記パケットが前記識別子を含んでいるかどうかをチェックでき、かつそれ によって前記データパケットが前記装置のために意図され、かつ前記バスを共有 する異なる装置のために意図されないことを確実にすることを特徴とする請求項 77に記載の装置。 79. 前記装置が、前記ユーザ操作可能なオブジェクトが前記ユーザによって 手動で係合されない場合、前記アクチュエータから使用可能な電力を切断するデ ッドマン安全スイッチをさらに含み、前記安全切断が、ハードウェアで実行され 、かつ前記ローカルマイクロプロセッサによる任意のソフトウェアの実行に左右 されないことを特徴とする請求項46に記載のインタフェース装置。 80. 前記ホストコマンドが、前記マイクロプロセッサに命令し、前記ユーザ オブジェクトの起点位置の方への方向に前記ユーザオブジェクトに復元力を与え るように復元力反射プロセスを選択することを特徴とする請求項43に記載の力 フィードバックインタフェース装置。 81. 前記ユーザオブジェクトが前記ユーザオブジェクトの起点位置近くの領 域の外側に置かれた場合、前記復元力が大きさが一定であり、かつ前記復元力が 前記起点位置の近くの前記領域内でゼロに近いことを特徴とする請求項80に記 載の力フィードバックインタフェース装置。 82. 前記ホストコマンドが、前記マイクロプロセッサに命令し、前記ユーザ オブジェクトに振動力を与えるように振動反射プロセスを選択し、前記ホストコ マンドが前記振動力の周波数および大きさを制御するコマンドパラメータを含ん でいることを特徴とする請求項43に記載の力フィードバックインタフェース装 置。 83. グラフィックシミュレーションをディスプレイするホストコンピュータ で使用するインタフェース装置であって、前記ホストコンピュータが、前記イン タフェース装置のユーザ操作に応じて前記グラフィックシミュレーションを更新 し、かつ前記操作に応じて、かつ前記グラフィックシミュレーション内の事象で 同等の力フィードバック感覚を指令するものにおいて、 ユーザによって握られるユーザ操作可能なオブジェクトと、 前記ユーザ操作可能なオブジェクトを起点に対して支持すると同時に前 記起点に対する前記ユーザ操作可能なオブジェクトの動きで複数の自由度を可能 にする支持機構と、 前記ユーザ操作可能なオブジェクトに結合され、前記起点に対する前記 自由度の少なくとも1つの前記ユーザ操作可能な物理オブジェクトの動きに対す る抵抗力を供給するアクチュエータであって、前記動きに対する抵抗力が、前記 ホストコンピュータからのホストコマンドに応じて、かつディスプレイされたグ ラフィックシミュレーションと同等に発生されること、 前記ホストコンピュータから離れているローカルマイクロプロセッサで あって、前記ローカルマイクロプロセッサが前記グラフィックシミュレーション のホスト実行と並列にローカルプロセスを実行し、前記ローカルプロセスが複数 のローカルルーチンの実行を含むこと、 前記ローカルマイクロプロセッサを前記ホストコンピュータに結合する 通信インタフェースであって、PCゲームポートが前記ホストコンピュータと前 記マイクロプロセッサとの間の前記通信インタフェースの一部として含まれるこ と、 前記装置マイクロプロセッサに結合されるセンサ装置であって、前記セ ンサ装置が、前記装置マイクロプロセッサに、前記抵抗力が与えられる少なくと も前記自由度の前記ユーザ操作可能なオブジェクトの操作に応答し、かつ対応す る位置信号を供給すること、 前記装置マイクロプロセッサに電気的に結合されたセンサ調整可能なス イッチ装置であって、前記スイッチ装置が前記スイッチの状態を示す状態信号を 前記装置マイクロプロセッサに供給すること、を備え、 前記ローカルマイクロプロセッサに結合されたローカルメモリに記憶さ れた前記ローカルプロセスが前記装置マイクロプロセッサによって実行され、前 記ローカルプロセスが、 前記インタフェース装置と前記ホストコンピュータとの間の通信を可能 にし、 前記通信インタフェースを介して前記インタフェース装置に前記ホスト コンピュータによって送られたホストコマンドを受け取り、前記ホストコマンド が力フィードバックコマンドプロトコルを使用して前記ローカルマイクロプロセ ッサに転送され、前記力フィードバックコマンドプロトコルが、その各々がコマ ンド識別子を含み、かつその少なくとも1つのが1つあるいはそれ以上のコマン ドパラメータを含んでいる複数の別個のホストコマンドで構成され、 前記ホストコンピュータから受け取られた前記複合化されたコマンドの 中の少なくとも1つに応じて前記アクチュエータを制御し、前記アクチュエータ の制御が前記グラフィックシミュレーションの並列ホストコンピュータ実行で生 じる事象と同等にされ、 前記位置信号の指示を前記ホストコンピュータに報告し、 前記状態信号の指示を前記ホストコンピュータに報告することを特徴と するインタフェース装置。 84. 前記マイクロプロセッサが、前記コマンド識別子および受け取られたホ ストコマンドに関連した前記コマンドパラメータに従って選択された複数の力ル ーチンの中の1つを実行し、前記マイクロプロセッサが、前記アクチュエータを 調整することによって前記力ルーチンに従って力フィードバック感覚を生じ、前 記アクチュエータの前記ローカル調整が、前記受け取られたホストコマンドに応 じて開始され、かつある時間中前記ホストコンピュータからの他の対話とは無関 係に前記マイクロプロセッサによって実行され、それによって前記ホストが自由 に他のタスクを実行させることを特徴とする請求項83に記載のインタフェース 装置。 85. 前記インタフェース通信インタフェースが汎用直列バスインタフェース を含んでいることを特徴とする請求項83に記載のインタフェース装置。 86. 前記インタフェース装置を作動するために使用される電力が前記汎用直 列バスから引き出されることを特徴とする請求項85に記載のインタフェース装 置。 87. 前記コマンドパラメータの少なくとも1つが、前記ユーザ操作可能なオ ブジェクトが前記ユーザ操作可能なオブジェクトの起点位置に対して移動される とき、前記ユーザによって触感される模擬されたばね抵抗力のスチフネスを規定 することを特徴とする請求項83に記載のインタフェース装置。 88. 前記ローカルプロセスがボタン反射プロセスを含み、前記マイクロプロ セッサが前記ユーザ調整可能なスイッチの前記状態を前記ユーザが手動で変える ことに応じて前記アクチュエータの出力の力を制御することを特徴とする請求項 83に記載の装置。 89. 前記ボタン反射プロセスによって前記アクチュエータがある時間間隔前 記ユーザオブジェクトに力を加える、前記時間間隔が前記ホストコマンドの中の 一つによって指定されることを特徴とする請求項88に記載の装置。 90. 前記ボタン反射プロセスが前記ボタン反射プロセスに関連したホストコ マンドに応じて確定され、前記コマンドが、複数のボタンの中のどれが前記ボタ ン反射プロセスに関連した前記力をトリガするために使用されるべきであるかを 示す少なくとも1つのコマンドパラメータを含むことを特徴とする請求項89に 記載の装置。 91. ユーザによって操作される電気機械インタフェース装置を制御するシス テムにおいて、 入力制御信号を受け取り、かつホスト出力制御信号を供給するホストコ ンピュータシステムであって、前記ホストコンピュータシステムが前記入力制御 信号に応じてディスプレイされたグラフィック環境を更新すること、 前記インタフェース装置の一部であり、かつ前記ホストコンピュータシ ステムから離れ、前記ホスト出力制御信号を前記ホストコンピュータシステムか ら受け取り、力を決定し、前記力を示すプロセッサ出力制御信号を供給するマイ クロプロセッサと、 前記プロセッサ出力制御信号を受け取り、かつ自由度に沿って前記力を 前記アクチュエータに結合されたユーザ操作可能なオブジェクトに前記プロセッ サ出力制御信号に従って供給するアクチュエータであって、前記オブジェクトが 前記ユーザによって握られ、かつ移動され、前記力が前記ホストコンピュータシ ステムによって前記ディスプレイされたグラフィック環境の更新と並列によって 与えられこと、 前記マイクロプロセッサに結合されたクロックであって、前記マイクロ プロセッサが前記クロックにアクセスし、前記アクチュエータによって供給され た前記力を少なくとも一部決定すること、 前記自由度に沿って前記操作可能なオブジェクトの動きを検出し、かつ 前記オブジェクトの位置および動きを示す情報を含む前記入力制御信号を出力す るセンサとを備えていることを特徴とするシステム。 92. 前記センサが、前記入力制御信号を前記マイクロプロセッサに出力し、 かつ前記マイクロプロセッサが前記入力制御信号を前記ホストコンピュータに供 給することを特徴とする請求項91に記載のシステム。 93. 前記マイクロプロセッサが、反射プロセスで作動し、前記ホスト出力制 御信号とは無関係に前記オブジェクトの前記位置および動きに応じて前記マイク ロプロセッサ出力の制御信号を前記アクチュエータに供給することを特徴とする 請求項92に記載のシステム。 94. 前記ホスト出力信号が前記ホストコンピュータシステムからの高水準コ マンドであり、かつ前記マイクロプロセッサが、前記反射プロセスを実行するよ うに前記高水準コマンドに従って選択された複数のローカルプロセスの1つを実 行することを特徴とする請求項93に記載のシステム。 95. 前記ホストコンピュータが、前記ホスト出力信号が前記マイクロプロセ ッサによって前記アクチュエータに直接に中継される力コマンドを含むように前 記反射プロセスをオーバーライドできることを特徴とする請求項94に記載のシ ステム。 96. 前記オブジェクトがジョイスティックを含むことを特徴とする請求項9 2に記載のシステム。 97. 前記ホストコンピュータシステムから前記ホスト出力制御信号を出力し 、前記ホストコンピュータシステムへの前記入力制御信号を受け取る直列インタ フェースをさらに備えていることを特徴とする前記95に記載のシステム。 98. 前記ホストコンピュータシステムのゲームポートを通して前記入力信号 を前記ホストコンピュータシステムに供給する付加インタフェースをさらに備え ていることを特徴とする請求項97に記載のシステム。 99. 前記アクチュエータがサーボモータあるいはボイスコイルであることを 特徴とする請求項92に記載のシステム。 100.前記ホストコンピュータシステムによって更新された前記プロセスがゲ ームソフトウェアを含み、前記ホストコンピュータシステムが、前記ゲームソフ トウェアによって実行されたビデオゲームの画像を前記ユーザにディスプレイす るディスプレイ装置を含み、前記ユーザが前記オブジェクトを操作することによ って前記ビデオゲームと対話することができることを特徴とする請求項92に記 載のシステム。 101.ユーザによって操作される力フィードバックインタフェース装置を制御 する方法において、 高水準ホストコマンドを、前記力フィードバックインタフェース装置の 一部であり、前記ホストコンピュータシステムから離れるマイクロプロセッサに 出力するステップであって、前記高水準ホストコマンドが前記プロセッサに命令 し、前記マイクロプロセッサに使用可能な複数の力感覚プロセスの中の1つを選 択すること、 前記力フィードバックインタフェース装置に含まれたセンサから前記マ イクロプロセッサに位置信号を入力するステップであって、前記位置信号が、前 記ユーザによって握られた前記インタフェース装置のオブジェクトの位置および 動きを示す情報を含み、前記位置信号が、前記ホストコンピュータシステムとは 無関係に前記力感覚プロセスにより前記マイクロプロセッサによって前記センサ から読み出され、かつ前記マイクロプロセッサから前記ホストコンピュータシス テムに送られること、 前記マイクロプロセッサからアクチュエータにマイクロプロセッサ力コ マンドを出力するステップであって、前記マイクロプロセッサ力が前記ホストコ ンピュータシステムとは無関係に前記力感覚プロセスにより出力されること、 前記アクチュエータからの力を前記ユーザによって握られた前記オブジ ェクトに供給するステップであって、前記力の方向および大きさが前記マイクロ プロセッサの力コマンドによるものであり、かつ前記力感覚プロセスが前記アク チュエータによって供給される前記力の大きさを決定すること、 前記位置信号に従って前記ホストコンピュータシステムによって実行さ れたホストソフトウェアを更新し、かつ可視出力装置に画像をディスプレイし、 かつ前記位置信号に従っておよび前記アクチュエータによる力出力とともに前記 画像を操作するステップと、 適切であるとき、前記マイクロプロセッサによって前記アクチュエータ に直接中継された力コマンドを含む高水準ホストコマンドを前記ホストコンピュ ータシステムによって出力することによってオーバーライドするステップとから なることを特徴とするユーザによって操作される力フィードバックインタフェー ス装置を制御する方法。 102.前記オブジェクトへの前記力のタイプの変化が必要であるとき、高水準 ホスト力コマンドが前記ホストコンピュータシステムによって出力され、前記変 化が少なくとも一部前記ホストコンピュータシステムによって実行されるソフト ウェアプロセスに基づいていることを特徴とする請求項101に方法。 103.前記変化が、さらに前記電気センサ信号および前記マイクロプロセッサ に結合されたクロックによって供給されたタイミング情報に基づいていることを 特徴とする請求項102に記載の方法。 104.前記力のタイプが、ばね力、制動力および慣性力からなるグループの1 つを含むことを特徴とする請求項103に記載の方法。 105.オーディオ事象がホストアプリケーションシステムで生じるときオーデ ィオフィードバックを前記ユーザに出力する前記ホストコンピュータシステムの ステップをさらに含み、前記オーディオフィードバックが、前記力が前記事象に 対応するように望まれときに約30ミリ秒の許容範囲内の前記力の前記出力と同期 して出力されることを特徴とする請求項101に記載の方法。 106.前記オーディオフィードバックの開始が、前記対応する力の開始の約30 ミリ秒内で生じ、かつ前記オーディオフィードバックが前記力の大きさに正比例 する振幅を有することを特徴とする請求項105に記載の方法。 107.前記ホストコンピュータシステムがホストアプリケーションプログラム の可視事象により可視画像をディスプレイスクリーン上に出力し、前記可視事象 が、前記力が前記可視画像に対応するように望まれるときに約30ミリ秒の許容範 囲内の前記力の前記出力と同期していることを特徴とする請求項101に記載の 方法。 108.前記オブジェクトが少なくとも2つの自由度で前記ユーザによって移動 することができるジョイスティックを含んでいることを特徴とする請求項101 に記載の方法。 109.前記ホストコンピュータシステムが直列インタフェースを使用して前記 位置信号を受け取り、かつ前記ホスト力コマンド信号を出力することを特徴とす る請求項101に記載の方法。 110.前記直列インタフェースが汎用直列バス(USB)インタフェースであ ることを特徴とする請求項109に記載の方法。 111.前記力の大きさが前記自由度に沿って前記オブジェクトの位置から少な くとも一部決定されることを特徴とする請求項101に記載の方法。 112.前記力の大きさが前記自由度に沿って移動する前記オブジェクトの位置 および速度から少なくとも一部決定されることを特徴とする請求項101に記載 の方法。 113.前記力の大きさが前記自由度に沿って前記オブジェクトの加速度から少 なくとも一部決定されることを特徴とする請求項101に記載の方法。 114.前記力の大きさが前記力コマンドに対するタイミング情報を供給するク ロックから少なくとも一部決定されることを特徴とする請求項101に記載の方 法。 115.前記力の大きさが前記力フィードバックインタフェース装置に含まれる ボタン入力装置によって供給された入力データから少なくとも一部決定されるこ とを特徴とする請求項101に記載の方法。 116.メモリ装置に記憶され、製造工程から生じる物理的特性のばらつきを有 する複数の他の力フィードバックインタフェース装置の出力の力で一貫して調整 する校正パラメータを使用するステップをさらに含むことを特徴とする請求項1 09に記載の方法。 117.ユーザによって操作され、ホストアプリケーションプログラムを実行す るホストコンピュータシステムと通信する力フィードバックインタフェース装置 であって、前記ホストコンピュータシステムが入力信号に応じて前記ホストアプ リケーションプログラムを更新するものにおいて、 ユーザによって自由度で移動可能であり、かつ前記ユーザによって物理 的に接触されているユーザオブジェクトと、 前記ホストコンピュータシステムからの力コマンドに従って自由度に沿 って力を前記ユーザオブジェクトに加えるアクチュエータであって、前記力コマ ンドが第1の直列インタフェースを介して前記力フィードバックインタフェース 装置によって受け取ること、 前記自由度に沿って前記ユーザオブジェクトの位置を検出し、かつ前記 第1の力インタフェースから離れ、かつ前記ホストコンピュータシステムのゲー ムポートに結合された第2の直列インタフェースを介して前記入力信号を前記ホ ストコンピュータシステムに出力するセンサであって、前記入力信号が前記ユー ザオブジェクトの前記位置を示す情報を含むこと、 を備えていることを特徴とする力フィードバックインタフェース装置。 118.前記ホストコンピュータシステムから離れ、前記ホストコンピュータシ ステムから前記力コマンドを受け取ることによって前記第1および第2の直列イ ンタフェースを介して前記ホストコンピュータシステムと通信するマイクロプロ セッサをさらに備え、前記アクチュエータが、前記マイクロプロセッサに結合さ れ、前記マイクロプロセッサからのマイクロプロセッサ力コマンドに従って自由 度に沿って力を前記ユーザオブジェクトに加え、前記マイクロプロセッサ力コマ ンドが前記ホスト力コマンドから得られ、かつ前記センサが前記マイクロプロセ ッサに電気的結合され、かつ前記マイクロプロセッサが前記入力信号を前記ホス トコンピュータシステムに送ることを特徴とする請求項117に記載の力フィー ドバックインタフェース装置。 119.前記力コマンドが、前記マイクロプロセッサに使用可能である複数の力 サブルーチンの1つを選択するように前記マイクロプロセッサに命令する高水準 コマンドであり、前記サブルーチンの各々が、力コマンドを前記アクチュエータ に出力し、かつ前記ホストコンピュータシステムとは無関係に前記センサから位 置信号を入力するように前記マイクロプロセッサに命令することを特徴とする請 求項118に記載の力フィードバックインタフェース装置。 120.前記ユーザオブジェクトに結合され、前記自由度を与えるジンバル機構 をさらに備え、前記ジンバル機構が閉ループの5つの部材結合を含んでいること を特徴とする請求項118に記載の力フィードバックインタフェース装置。 121.オブジェクトの動きとホストコンピュータシステムとをインタフェース させる方法において、 自由度を有するオブジェクトを与えるステップと、 前記自由度に沿って前記オブジェクトの位置をセンサで検出し、そこか ら電気センサ信号を生じるステップと、 前記オブジェクトに結合されたアクチュエータを制御することによって 前記自由度に沿って前記オブジェクトに力を形成し、メモリ装置からの複数の記 憶されたディジタル力値を含む力プロフィールを取り出し、前記オブジェクトに 対応する力を出力するために前記取り出された力値を前記アクチュエータに出力 するステップとからなることを特徴とするオブジェクトの動きとホストコンピュ ータシステムとをインタフェースさせる方法。 122.前記オブジェクトに力を形成するステップが、前記ホストコンピュータ システムから離れ、前記ホストコンピュータシステムと通信し、前記電気センサ 信号を前記ホストコンピュータシステムを供給し、ホスト力コマンドを前記ホス トコンピュータシステムから受け取り、力コマンドを前記アクチュエータに出力 するマイクロプロセッサを使用することを含んでいることを特徴とする請求項1 21に記載の方法。 123.前記マイクロプロセッサが、前記力プロフィールを取り出し、かつ前記 取り出された力値を前記アクチュエータに出力することを特徴とする請求項12 2に記載の方法。 124.前記ホストコンピュータが前記複数の記憶されたディジタル力値を取り 出し、かつ前記取り出された力値を前記アクチュエータに出力することを特徴と する請求項121に記載の方法。 125.前記記憶されたディジタル力値がシステムクロックによって供給された タイミング情報に基づいて前記アクチュエータに出力されることを特徴とする請 求項121に記載の方法。 126.前記記憶されたディジタル力値が前記電気センサ信号に基づいて前記ア クチュエータに出力されることを特徴とする請求項121に記載の方法。
JP9513599A 1995-09-27 1996-09-25 ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置 Pending JPH11514469A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US08/534,791 US5739811A (en) 1993-07-16 1995-09-27 Method and apparatus for controlling human-computer interface systems providing force feedback
US08/534,791 1995-09-27
US08/566,282 US5734373A (en) 1993-07-16 1995-12-01 Method and apparatus for controlling force feedback interface systems utilizing a host computer
US08/566,282 1995-12-01
PCT/US1996/015373 WO1997012357A1 (en) 1995-09-27 1996-09-25 Method and apparatus for controlling force feedback interface systems utilizing a host computer

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009207107A Division JP4689747B2 (ja) 1995-09-27 2009-09-08 ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置

Publications (1)

Publication Number Publication Date
JPH11514469A true JPH11514469A (ja) 1999-12-07

Family

ID=27064587

Family Applications (3)

Application Number Title Priority Date Filing Date
JP9513599A Pending JPH11514469A (ja) 1995-09-27 1996-09-25 ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置
JP2009207107A Expired - Lifetime JP4689747B2 (ja) 1995-09-27 2009-09-08 ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置
JP2010263969A Expired - Lifetime JP4929394B2 (ja) 1995-09-27 2010-11-26 ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2009207107A Expired - Lifetime JP4689747B2 (ja) 1995-09-27 2009-09-08 ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置
JP2010263969A Expired - Lifetime JP4929394B2 (ja) 1995-09-27 2010-11-26 ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置

Country Status (6)

Country Link
US (5) US5734373A (ja)
EP (1) EP0852789B1 (ja)
JP (3) JPH11514469A (ja)
CA (1) CA2233136C (ja)
DE (1) DE69636703T2 (ja)
WO (1) WO1997012357A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006192264A (ja) * 2004-12-22 2006-07-27 Delphi Technologies Inc 2次元画像検出機能を備えたジョイスティックセンサー
JP2007510232A (ja) * 2003-10-30 2007-04-19 センサブル テクノロジーズ インコーポレイテッド 反力提示型力覚インタフェース
JP2010225155A (ja) * 2009-03-24 2010-10-07 Immersion Corp 触覚フィードバックを有する携帯コンピュータインタフェース
JP2013505470A (ja) * 2009-09-17 2013-02-14 セントレ・ナショナル・デ・ラ・レシェルシェ・サイエンティフィーク 触覚フィードバックにより特有の動きを模擬する方法および該方法を実行する装置
JP2013069350A (ja) * 2005-09-15 2013-04-18 Apple Inc トラックパッドデバイスの未加工データを処理するシステム及び方法
JP2014099203A (ja) * 2001-07-31 2014-05-29 Immersion Corp 触覚フィードバックを有する操作ホイール及びハンドルシステム
JPWO2018020778A1 (ja) * 2016-07-26 2018-12-13 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、操作デバイス、及び操作デバイスの制御方法
US10850192B2 (en) 2016-03-04 2020-12-01 Sony Interactive Entertainment Inc. Control apparatus and control program
US10881953B2 (en) 2016-07-21 2021-01-05 Sony Interactive Entertainment Inc. Operating device and control system
JP2021041325A (ja) * 2019-09-10 2021-03-18 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
WO2021049080A1 (ja) * 2019-09-10 2021-03-18 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
US10967253B2 (en) 2016-07-26 2021-04-06 Sony Interactive Entertainment Inc. Operation device and method for controlling the same
US11173393B2 (en) 2017-09-29 2021-11-16 Sony Interactive Entertainment Inc. Operation device and control apparatus therefor
US11511185B2 (en) 2017-10-27 2022-11-29 Sony Interactive Entertainment Inc. Operation device
WO2023233624A1 (ja) * 2022-06-02 2023-12-07 株式会社ソニー・インタラクティブエンタテインメント 操作部材を駆動させる情報処理装置
WO2023242962A1 (ja) * 2022-06-14 2023-12-21 株式会社ソニー・インタラクティブエンタテインメント 操作デバイス、その制御方法、情報処理装置、及びプログラム

Families Citing this family (550)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889670A (en) * 1991-10-24 1999-03-30 Immersion Corporation Method and apparatus for tactilely responsive user interface
US5790108A (en) 1992-10-23 1998-08-04 University Of British Columbia Controller
US6131097A (en) * 1992-12-02 2000-10-10 Immersion Corporation Haptic authoring
US6801008B1 (en) 1992-12-02 2004-10-05 Immersion Corporation Force feedback system and actuator power management
US6433771B1 (en) * 1992-12-02 2002-08-13 Cybernet Haptic Systems Corporation Haptic device attribute control
US5629594A (en) 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
US7345672B2 (en) * 1992-12-02 2008-03-18 Immersion Corporation Force feedback system and actuator power management
US5805140A (en) 1993-07-16 1998-09-08 Immersion Corporation High bandwidth force feedback interface using voice coils and flexures
US5721566A (en) 1995-01-18 1998-02-24 Immersion Human Interface Corp. Method and apparatus for providing damping force feedback
US6057828A (en) * 1993-07-16 2000-05-02 Immersion Corporation Method and apparatus for providing force sensations in virtual environments in accordance with host software
US5731804A (en) 1995-01-18 1998-03-24 Immersion Human Interface Corp. Method and apparatus for providing high bandwidth, low noise mechanical I/O for computer systems
WO1995002801A1 (en) * 1993-07-16 1995-01-26 Immersion Human Interface Three-dimensional mechanical mouse
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
US6437771B1 (en) * 1995-01-18 2002-08-20 Immersion Corporation Force feedback device including flexure member between actuator and user object
US5625576A (en) 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
US5623582A (en) 1994-07-14 1997-04-22 Immersion Human Interface Corporation Computer interface or control input device for laparoscopic surgical instrument and other elongated mechanical objects
CN1135480C (zh) * 1994-07-19 2004-01-21 旭化成株式会社 假想现实感和远程现实感系统
ATE189539T1 (de) * 1994-08-18 2000-02-15 Interval Research Corp Eingabevorrichtung für video mit taktilem feedback, das von dem inhalt des videos abhängt
US6422941B1 (en) * 1994-09-21 2002-07-23 Craig Thorner Universal tactile feedback system for computer video games and simulations
US20030040361A1 (en) * 1994-09-21 2003-02-27 Craig Thorner Method and apparatus for generating tactile feedback via relatively low-burden and/or zero burden telemetry
US5642469A (en) * 1994-11-03 1997-06-24 University Of Washington Direct-drive manipulator for pen-based force display
US5666138A (en) 1994-11-22 1997-09-09 Culver; Craig F. Interface control
US6850222B1 (en) 1995-01-18 2005-02-01 Immersion Corporation Passive force feedback for computer interface devices
US6241611B1 (en) 1995-05-10 2001-06-05 Nintendo Co., Ltd. Function expansion device and operating device using the function expansion device
AU731164B2 (en) 1995-05-10 2001-03-22 Nintendo Co., Ltd. Operating device with analog joystick
WO1996035985A1 (en) * 1995-05-10 1996-11-14 Nintendo Co., Ltd. Image processing system using analog joystick
US7137107B1 (en) 2003-04-29 2006-11-14 Roy-G-Biv Corporation Motion control systems and methods
US6859671B1 (en) 1995-05-30 2005-02-22 Roy-G-Biv Corporation Application programs for motion control devices including access limitations
US7024666B1 (en) 2002-01-28 2006-04-04 Roy-G-Biv Corporation Motion control systems and methods
US20060206219A1 (en) * 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
US5691897A (en) * 1995-05-30 1997-11-25 Roy-G-Biv Corporation Motion control systems
US6941543B1 (en) 1995-05-30 2005-09-06 Roy-G-Biv Corporation Motion control system and method
US20100131081A1 (en) * 1995-05-30 2010-05-27 Brown David W Systems and methods for motion control
US7139843B1 (en) 1995-05-30 2006-11-21 Roy-G-Biv Corporation System and methods for generating and communicating motion data through a distributed network
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
US7113166B1 (en) 1995-06-09 2006-09-26 Immersion Corporation Force feedback devices using fluid braking
US6940486B2 (en) * 1995-08-03 2005-09-06 Vulcan Patents Llc Computerized interactor systems and methods for providing same
JP2667656B2 (ja) * 1995-09-12 1997-10-27 コナミ株式会社 ドライビングゲーム機
US5999168A (en) * 1995-09-27 1999-12-07 Immersion Corporation Haptic accelerator for force feedback computer peripherals
US5959613A (en) 1995-12-01 1999-09-28 Immersion Corporation Method and apparatus for shaping force signals for a force feedback device
US6283857B1 (en) 1996-09-24 2001-09-04 Nintendo Co., Ltd. Three-dimensional image processing apparatus with enhanced automatic and user point of view control
JPH09167050A (ja) 1995-10-09 1997-06-24 Nintendo Co Ltd 操作装置およびそれを用いる画像処理システム
JP3544268B2 (ja) * 1995-10-09 2004-07-21 任天堂株式会社 三次元画像処理装置およびそれを用いた画像処理方法
JP3524247B2 (ja) 1995-10-09 2004-05-10 任天堂株式会社 ゲーム機およびそれを用いたゲーム機システム
AU734018B2 (en) 1995-10-09 2001-05-31 Nintendo Co., Ltd. Three-dimension image processing system
US6007428A (en) 1995-10-09 1999-12-28 Nintendo Co., Ltd. Operation controlling device and video processing system used therewith
US5754023A (en) 1995-10-26 1998-05-19 Cybernet Systems Corporation Gyro-stabilized platforms for force-feedback applications
DE19681169B3 (de) 1995-11-10 2012-03-01 Nintendo Co., Ltd. Steuerhebeleinrichtung
US5825308A (en) * 1996-11-26 1998-10-20 Immersion Human Interface Corporation Force feedback interface having isotonic and isometric functionality
US6639581B1 (en) 1995-11-17 2003-10-28 Immersion Corporation Flexure mechanism for interface device
US6704001B1 (en) 1995-11-17 2004-03-09 Immersion Corporation Force feedback device including actuator with moving magnet
US6100874A (en) 1995-11-17 2000-08-08 Immersion Corporation Force feedback mouse interface
US6139433A (en) 1995-11-22 2000-10-31 Nintendo Co., Ltd. Video game system and method with enhanced three-dimensional character and background control due to environmental conditions
US6267673B1 (en) 1996-09-20 2001-07-31 Nintendo Co., Ltd. Video game system with state of next world dependent upon manner of entry from previous world via a portal
US6022274A (en) * 1995-11-22 2000-02-08 Nintendo Co., Ltd. Video game system using memory module
US6155926A (en) 1995-11-22 2000-12-05 Nintendo Co., Ltd. Video game system and method with enhanced three-dimensional character and background control
US6061004A (en) * 1995-11-26 2000-05-09 Immersion Corporation Providing force feedback using an interface device including an indexing function
WO1997020305A1 (en) 1995-11-30 1997-06-05 Virtual Technologies, Inc. Tactile feedback man-machine interface device
US5956484A (en) * 1995-12-13 1999-09-21 Immersion Corporation Method and apparatus for providing force feedback over a computer network
US6169540B1 (en) 1995-12-01 2001-01-02 Immersion Corporation Method and apparatus for designing force sensations in force feedback applications
US8508469B1 (en) 1995-12-01 2013-08-13 Immersion Corporation Networked applications including haptic feedback
US6028593A (en) 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
US6219032B1 (en) 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
US7027032B2 (en) * 1995-12-01 2006-04-11 Immersion Corporation Designing force sensations for force feedback computer applications
US6147674A (en) 1995-12-01 2000-11-14 Immersion Corporation Method and apparatus for designing force sensations in force feedback computer applications
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
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
US6859819B1 (en) 1995-12-13 2005-02-22 Immersion Corporation Force feedback enabled over a computer network
SE519661C2 (sv) * 1996-02-23 2003-03-25 Immersion Corp Pekdon och förfarande för markering av grafiska detaljer på en display med sensorisk återkoppling vid påträffande av nämnda detalj
US6050718A (en) * 1996-03-28 2000-04-18 Immersion Corporation Method and apparatus for providing high bandwidth force feedback with improved actuator feel
US7225404B1 (en) 1996-04-04 2007-05-29 Massachusetts Institute Of Technology Method and apparatus for determining forces to be applied to a user through a haptic interface
US6111577A (en) * 1996-04-04 2000-08-29 Massachusetts Institute Of Technology Method and apparatus for determining forces to be applied to a user through a haptic interface
US6374255B1 (en) 1996-05-21 2002-04-16 Immersion Corporation Haptic authoring
JP2828953B2 (ja) * 1996-05-31 1998-11-25 コナミ株式会社 遊技機の手動操作装置
US5921780A (en) * 1996-06-28 1999-07-13 Myers; Nicole J. Racecar simulator and driver training system and method
US6125385A (en) * 1996-08-01 2000-09-26 Immersion Corporation Force feedback implementation in web pages
US6084587A (en) * 1996-08-02 2000-07-04 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with a haptic virtual reality environment
AU734153B2 (en) * 1996-08-09 2001-06-07 Konami Digital Entertainment Co., Ltd. A driving game machine and a storage medium for storing a driving game program
US7815436B2 (en) 1996-09-04 2010-10-19 Immersion Corporation Surgical simulation interface device and method
AU4249597A (en) * 1996-09-04 1998-03-26 Ht Medical Systems, Inc. Interventional radiology interface apparatus and method
US6929481B1 (en) 1996-09-04 2005-08-16 Immersion Medical, Inc. Interface device and method for interfacing instruments to medical procedure simulation systems
US6024576A (en) * 1996-09-06 2000-02-15 Immersion Corporation Hemispherical, high bandwidth mechanical interface for computer systems
US6241610B1 (en) 1996-09-20 2001-06-05 Nintendo Co., Ltd. Three-dimensional image processing system having dynamically changing character polygon number
US6244959B1 (en) 1996-09-24 2001-06-12 Nintendo Co., Ltd. Three-dimensional image processing system with enhanced character control
US6139434A (en) 1996-09-24 2000-10-31 Nintendo Co., Ltd. Three-dimensional image processing apparatus with enhanced automatic and user point of view control
AU737919B2 (en) 1996-10-11 2001-09-06 Sony Computer Entertainment Inc. Operating device for game machine
US5828197A (en) 1996-10-25 1998-10-27 Immersion Human Interface Corporation Mechanical interface having multiple grounded actuators
US6411276B1 (en) * 1996-11-13 2002-06-25 Immersion Corporation Hybrid control of haptic feedback for host computer and interface device
US8944909B2 (en) * 1996-11-14 2015-02-03 Bally Gaming, Inc. Gaming system having a plurality of players and randomly incremented progressive prize
US6758755B2 (en) 1996-11-14 2004-07-06 Arcade Planet, Inc. Prize redemption system for games executed over a wide area network
US8235821B2 (en) 1996-11-14 2012-08-07 Bally Gaming, Inc. Progressive controller and TCP/IP in gaming system
US6686911B1 (en) * 1996-11-26 2004-02-03 Immersion Corporation Control knob with control modes and force feedback
US6636197B1 (en) 1996-11-26 2003-10-21 Immersion Corporation Haptic feedback effects for control, knobs and other interface devices
US6154201A (en) * 1996-11-26 2000-11-28 Immersion Corporation Control knob with multiple degrees of freedom and force feedback
US6956558B1 (en) 1998-03-26 2005-10-18 Immersion Corporation Rotary force feedback wheels for remote control devices
US7489309B2 (en) * 1996-11-26 2009-02-10 Immersion Corporation Control knob with multiple degrees of freedom and force feedback
US6128006A (en) 1998-03-26 2000-10-03 Immersion Corporation Force feedback mouse wheel and other control wheels
CA2278726C (en) * 1997-01-27 2004-08-31 Immersion Corporation Method and apparatus for providing high bandwidth, realistic force feedback including an improved actuator
US6996096B2 (en) * 1997-02-14 2006-02-07 Canon Kabushiki Kaisha Communication apparatus and a method of controlling a communication apparatus
US6954899B1 (en) 1997-04-14 2005-10-11 Novint Technologies, Inc. Human-computer interface including haptically controlled interactions
US20060053371A1 (en) * 1997-04-14 2006-03-09 Anderson Thomas G Navigation and viewing in a multidimensional space
US6020876A (en) 1997-04-14 2000-02-01 Immersion Corporation Force feedback interface with selective disturbance filter
US6262712B1 (en) * 1997-04-24 2001-07-17 Microsoft Corporation Handle sensor with fade-in
US6641479B1 (en) 1997-04-24 2003-11-04 Sony Computer Entertainment, Inc. Control unit and system utilizing the control unit
JPH10295937A (ja) * 1997-04-24 1998-11-10 Sony Computer Entertainment:Kk ゲーム機用操作装置
US6292170B1 (en) 1997-04-25 2001-09-18 Immersion Corporation Designing compound force sensations for computer applications
US6005551A (en) * 1997-04-25 1999-12-21 Microsoft Corporation Offline force effect rendering
US6285351B1 (en) 1997-04-25 2001-09-04 Immersion Corporation Designing force sensations for computer applications including sounds
US6281868B1 (en) * 1997-05-30 2001-08-28 Ngk Insulators, Ltd. Display
US6256047B1 (en) * 1997-06-04 2001-07-03 Konami Co., Ltd. Method of judging hits and computer-readable storage medium storing game data
JP3167963B2 (ja) * 1997-07-07 2001-05-21 コナミ株式会社 手動操作装置およびゲーム装置
GB2363584B (en) * 1997-07-17 2002-02-20 Nintendo Co Ltd Video game system
JP3655438B2 (ja) * 1997-07-17 2005-06-02 任天堂株式会社 ビデオゲームシステム
US5958027A (en) * 1997-08-05 1999-09-28 Advanced Micro Devices, Inc. Method and system for optimizing the flow of isochronous data and clock rate information
US6252579B1 (en) 1997-08-23 2001-06-26 Immersion Corporation Interface device and method for providing enhanced cursor control with force feedback
US6292174B1 (en) * 1997-08-23 2001-09-18 Immersion Corporation Enhanced cursor control using limited-workspace force feedback devices
TW389918B (en) * 1997-08-24 2000-05-11 Sony Computer Entertainment Inc Game apparatus, game machine manipulation device, game system and interactive communication method for game apparatus
US20010032278A1 (en) * 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
US6104382A (en) 1997-10-31 2000-08-15 Immersion Corporation Force feedback transmission mechanisms
US6020875A (en) * 1997-10-31 2000-02-01 Immersion Corporation High fidelity mechanical transmission system and interface device
US6281651B1 (en) 1997-11-03 2001-08-28 Immersion Corporation Haptic pointing devices
US6243078B1 (en) 1998-06-23 2001-06-05 Immersion Corporation Pointing device with forced feedback button
US6448977B1 (en) 1997-11-14 2002-09-10 Immersion Corporation Textures and other spatial sensations for a relative haptic interface device
US6252583B1 (en) 1997-11-14 2001-06-26 Immersion Corporation Memory and force output management for a force feedback system
US6088019A (en) * 1998-06-23 2000-07-11 Immersion Corporation Low cost force feedback device with actuator for non-primary axis
US6211861B1 (en) 1998-06-23 2001-04-03 Immersion Corporation Tactile mouse device
US8020095B2 (en) 1997-11-14 2011-09-13 Immersion Corporation Force feedback system including multi-tasking graphical host environment
US6256011B1 (en) 1997-12-03 2001-07-03 Immersion Corporation Multi-function control device with force feedback
US6191796B1 (en) 1998-01-21 2001-02-20 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with rigid and deformable surfaces in a haptic virtual reality environment
IL123073A0 (en) 1998-01-26 1998-09-24 Simbionix Ltd Endoscopic tutorial system
US6437770B1 (en) 1998-01-26 2002-08-20 University Of Washington Flat-coil actuator having coil embedded in linkage
AU2242099A (en) * 1998-01-28 1999-08-16 Ht Medical Systems, Inc. Interface device and method for interfacing instruments to medical procedure simulation system
GB2349731B (en) * 1998-01-28 2003-06-04 Ht Medical Systems Inc Interface device and method for interfacing instruments to vascular access simulation systems
US6304091B1 (en) 1998-02-10 2001-10-16 Immersion Corporation Absolute position sensing by phase shift detection using a variable capacitor
US6878066B2 (en) * 1998-02-13 2005-04-12 Freedom Wave Llc Wireless game control units
JPH11239674A (ja) * 1998-02-26 1999-09-07 Namco Ltd ゲーム機用コントローラ
US7491232B2 (en) 1998-09-18 2009-02-17 Aptus Endosystems, Inc. Catheter-based fastener implantation apparatus and methods with implantation force resolution
US8075570B2 (en) * 2001-11-28 2011-12-13 Aptus Endosystems, Inc. Intraluminal prosthesis attachment systems and methods
US20080055241A1 (en) * 1998-03-26 2008-03-06 Immersion Corporation Systems and Methods for Haptic Feedback Effects for Control Knobs
US6067077A (en) * 1998-04-10 2000-05-23 Immersion Corporation Position sensing for force feedback devices
US6300938B1 (en) 1998-04-13 2001-10-09 Immersion Corporation Multiple-cylinder control device for computers and other electronic apparatus
GB2336433B (en) * 1998-04-14 2002-02-06 Mitutoyo Corp Touch signal probe
US6704683B1 (en) 1998-04-28 2004-03-09 Immersion Corporation Direct velocity estimation for encoders using nonlinear period measurement
CA2300899A1 (en) * 1998-06-23 1999-12-29 Immersion Corporation Low cost force feedback devices
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
US6707443B2 (en) * 1998-06-23 2004-03-16 Immersion Corporation Haptic trackball device
US6717573B1 (en) 1998-06-23 2004-04-06 Immersion Corporation Low-cost haptic mouse implementations
US6429846B2 (en) * 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6417638B1 (en) 1998-07-17 2002-07-09 Sensable Technologies, Inc. Force reflecting haptic interface
US6421048B1 (en) * 1998-07-17 2002-07-16 Sensable Technologies, Inc. Systems and methods for interacting with virtual objects in a haptic virtual reality environment
US6985133B1 (en) 1998-07-17 2006-01-10 Sensable Technologies, Inc. Force reflecting haptic interface
US6552722B1 (en) 1998-07-17 2003-04-22 Sensable Technologies, Inc. Systems and methods for sculpting virtual objects in a haptic virtual reality environment
US7038667B1 (en) * 1998-10-26 2006-05-02 Immersion Corporation Mechanisms for control knobs and other interface devices
WO2000026891A1 (en) * 1998-11-04 2000-05-11 Immersion Corporation Force feedback device including actuator with moving magnet
US6339419B1 (en) * 1998-11-10 2002-01-15 Lord Corporation Magnetically-controllable, semi-active haptic interface system and apparatus
US6317119B1 (en) * 1998-11-13 2001-11-13 Creative Technology Ltd Speed-compensated joystick
US6650338B1 (en) 1998-11-24 2003-11-18 Interval Research Corporation Haptic interaction with video and image data
US6664666B2 (en) * 1998-12-23 2003-12-16 Engineering Matters, Inc. Motor assembly allowing output in multiple degrees of freedom
US6320284B1 (en) 1998-12-23 2001-11-20 Engineering Matters, Inc. Motor assembly allowing output in multiple degrees of freedom
WO2000041155A1 (en) * 1999-01-08 2000-07-13 Meritor Light Vehicle Systems (Uk) Limited Apparatus for the simulation and measurement of one or more operation characteristics of a device
US6781569B1 (en) 1999-06-11 2004-08-24 Immersion Corporation Hand controller
US7749089B1 (en) 1999-02-26 2010-07-06 Creative Kingdoms, Llc Multi-media interactive play system
US6404417B1 (en) * 1999-03-22 2002-06-11 Logitech Europe S.A. Direct drive rotational sensor adapted to withstand off-axis loading
US6999955B1 (en) * 1999-04-20 2006-02-14 Microsoft Corporation Systems and methods for estimating and integrating measures of human cognitive load into the behavior of computational applications and services
US7046229B1 (en) 1999-04-20 2006-05-16 Microsoft Corporation Computer input device providing absolute and relative positional information
US6424356B2 (en) * 1999-05-05 2002-07-23 Immersion Corporation Command of force sensations in a forceback system using force effect suites
US6762745B1 (en) * 1999-05-10 2004-07-13 Immersion Corporation Actuator control providing linear and continuous force output
US6903721B2 (en) * 1999-05-11 2005-06-07 Immersion Corporation Method and apparatus for compensating for position slip in interface devices
US7106888B1 (en) * 1999-05-25 2006-09-12 Silverbrook Research Pty Ltd Signature capture via interface surface
US7561142B2 (en) * 1999-07-01 2009-07-14 Immersion Corporation Vibrotactile haptic feedback devices
US6693622B1 (en) 1999-07-01 2004-02-17 Immersion Corporation Vibrotactile haptic feedback devices
DE20022244U1 (de) * 1999-07-01 2001-11-08 Immersion Corp Steuerung vibrotaktiler Empfindungen für Haptische Rückkopplungsvorrichtungen
US8169402B2 (en) * 1999-07-01 2012-05-01 Immersion Corporation Vibrotactile haptic feedback devices
US6337678B1 (en) 1999-07-21 2002-01-08 Tactiva Incorporated Force feedback computer input and output device with coordinated haptic elements
US6564168B1 (en) 1999-09-14 2003-05-13 Immersion Corporation High-resolution optical encoder with phased-array photodetectors
DE20080209U1 (de) * 1999-09-28 2001-08-09 Immersion Corp Steuerung von haptischen Empfindungen für Schnittstellenvorrichtungen mit Vibrotaktiler Rückkopplung
US6375572B1 (en) 1999-10-04 2002-04-23 Nintendo Co., Ltd. Portable game apparatus with acceleration sensor and information storage medium storing a game progam
JP3847058B2 (ja) 1999-10-04 2006-11-15 任天堂株式会社 ゲームシステム及びそれに用いられるゲーム情報記憶媒体
US6885898B1 (en) 2001-05-18 2005-04-26 Roy-G-Biv Corporation Event driven motion systems
US20100131078A1 (en) * 1999-10-27 2010-05-27 Brown David W Event driven motion systems
US8032605B2 (en) * 1999-10-27 2011-10-04 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
US6743104B1 (en) 1999-11-18 2004-06-01 Nintendo Co., Ltd. Portable game machine
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
US7878905B2 (en) 2000-02-22 2011-02-01 Creative Kingdoms, Llc Multi-layered interactive play experience
US7445550B2 (en) 2000-02-22 2008-11-04 Creative Kingdoms, Llc Magical wand and interactive play experience
US6761637B2 (en) 2000-02-22 2004-07-13 Creative Kingdoms, Llc Method of game play using RFID tracking device
US7965276B1 (en) * 2000-03-09 2011-06-21 Immersion Corporation Force output adjustment in force feedback devices based on user contact
US6616613B1 (en) * 2000-04-27 2003-09-09 Vitalsines International, Inc. Physiological signal monitoring system
DE10021369B4 (de) * 2000-05-02 2005-03-31 Mitterauer, Bernhard, Prof. Dr. Rechensystem, insbesondere zur Simulation der menschlichen Wahrnehmung durch Sinnesorgane
US6724400B1 (en) 2000-05-06 2004-04-20 Novint Technologies, Inc. Human-computer interface incorporating personal and application domains
US6833826B1 (en) 2000-05-06 2004-12-21 Novint Technologies, Inc. Human-computer interface
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
WO2001091100A1 (en) 2000-05-24 2001-11-29 Immersion Corporation Haptic devices using electroactive polymers
US7159008B1 (en) 2000-06-30 2007-01-02 Immersion Corporation Chat interface with haptic feedback functionality
US6906697B2 (en) 2000-08-11 2005-06-14 Immersion Corporation Haptic sensations for tactile feedback interface devices
US7117136B1 (en) * 2000-08-18 2006-10-03 Linden Research, Inc. Input and feedback system
US6995744B1 (en) 2000-09-28 2006-02-07 Immersion Corporation Device and assembly for providing linear tactile sensations
WO2002027705A1 (en) * 2000-09-28 2002-04-04 Immersion Corporation Directional tactile feedback for haptic feedback interface devices
US7182691B1 (en) 2000-09-28 2007-02-27 Immersion Corporation Directional inertial tactile feedback using rotating masses
US7084854B1 (en) * 2000-09-28 2006-08-01 Immersion Corporation Actuator for providing tactile sensations and device for directional tactile sensations
US6727924B1 (en) 2000-10-17 2004-04-27 Novint Technologies, Inc. Human-computer interface including efficient three-dimensional controls
US7066781B2 (en) 2000-10-20 2006-06-27 Denise Chapman Weston Children's toy with wireless tag/transponder
US7499021B2 (en) 2000-10-27 2009-03-03 Makex Limited Haptic input devices
US6867770B2 (en) 2000-12-14 2005-03-15 Sensable Technologies, Inc. Systems and methods for voxel warping
WO2002054184A2 (en) * 2001-01-04 2002-07-11 Roy-G-Biv Corporation Systems and methods for transmitting motion control data
US6958752B2 (en) 2001-01-08 2005-10-25 Sensable Technologies, Inc. Systems and methods for three-dimensional modeling
US6641480B2 (en) * 2001-01-29 2003-11-04 Microsoft Corporation Force feedback mechanism for gamepad device
US7904194B2 (en) 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
WO2002071241A1 (en) * 2001-02-09 2002-09-12 Roy-G-Biv Corporation Event management systems and methods for the distribution of motion control commands
US9625905B2 (en) * 2001-03-30 2017-04-18 Immersion Corporation Haptic remote control for toys
US7202851B2 (en) * 2001-05-04 2007-04-10 Immersion Medical Inc. Haptic interface for palpation simulation
US20020171675A1 (en) * 2001-05-15 2002-11-21 International Business Machines Corporation Method and system for graphical user interface (GUI) widget having user-selectable mass
US6937033B2 (en) * 2001-06-27 2005-08-30 Immersion Corporation Position sensor with resistive element
US7056123B2 (en) * 2001-07-16 2006-06-06 Immersion Corporation Interface apparatus with cable-driven force feedback and grounded actuators
JP3958944B2 (ja) * 2001-07-17 2007-08-15 アルプス電気株式会社 多機能入力装置
US6728601B2 (en) * 2001-07-19 2004-04-27 International Business Machines Corporation Multiple host power control system and method
DE10138537B4 (de) * 2001-08-06 2006-07-06 Siemens Ag Taktiles Feedback zur Darstellung von Gewebeelastizität
US20030069998A1 (en) * 2001-08-31 2003-04-10 Brown David W. Motion services protocol accessible through uniform resource locator (URL)
FR2829338B1 (fr) * 2001-09-03 2003-10-31 Schneider Automation Equipement d'automatisme equipe d'une liaison de type usb
EP1293950A1 (en) * 2001-09-18 2003-03-19 BRITISH TELECOMMUNICATIONS public limited company Haptic interface
US7225115B2 (en) * 2001-10-04 2007-05-29 Novint Technologies, Inc. Coordinating haptics with visual images in a human-computer interface
JP3920618B2 (ja) * 2001-10-18 2007-05-30 アルプス電気株式会社 力覚付与入力装置
AU2002364690A1 (en) 2001-10-30 2003-06-23 Immersion Corporation Methods and apparatus for providing haptic feedback in interacting with virtual pets
US20030210259A1 (en) * 2001-11-14 2003-11-13 Liu Alan V. Multi-tactile display haptic interface device
US7162306B2 (en) * 2001-11-19 2007-01-09 Medtronic Physio - Control Corp. Internal medical device communication bus
US20030095151A1 (en) * 2001-11-20 2003-05-22 Shackleford J. Barry Real-time interactive adjustment of control parameters for a genetic algorithm computer
US8231639B2 (en) * 2001-11-28 2012-07-31 Aptus Endosystems, Inc. Systems and methods for attaching a prosthesis within a body lumen or hollow organ
US20070073389A1 (en) 2001-11-28 2007-03-29 Aptus Endosystems, Inc. Endovascular aneurysm devices, systems, and methods
US20050177180A1 (en) 2001-11-28 2005-08-11 Aptus Endosystems, Inc. Devices, systems, and methods for supporting tissue and/or structures within a hollow body organ
US9320503B2 (en) 2001-11-28 2016-04-26 Medtronic Vascular, Inc. Devices, system, and methods for guiding an operative tool into an interior body region
US20110087320A1 (en) * 2001-11-28 2011-04-14 Aptus Endosystems, Inc. Devices, Systems, and Methods for Prosthesis Delivery and Implantation, Including a Prosthesis Assembly
CN100479786C (zh) 2001-11-28 2009-04-22 阿普特斯内系统公司 血管内动脉瘤修复系统
JP4785320B2 (ja) * 2002-01-31 2011-10-05 キヤノン株式会社 記憶装置
US6876248B2 (en) * 2002-02-14 2005-04-05 Rambus Inc. Signaling accommodation
US7333785B1 (en) 2002-02-20 2008-02-19 Logitech Europe S.A. Power management for wireless peripheral device with force feedback
JP4263870B2 (ja) * 2002-03-11 2009-05-13 アルプス電気株式会社 ハプティックコントローラ
JP4061105B2 (ja) * 2002-03-29 2008-03-12 アルプス電気株式会社 力覚付与装置
US6904823B2 (en) 2002-04-03 2005-06-14 Immersion Corporation Haptic shifting devices
US20070066396A1 (en) 2002-04-05 2007-03-22 Denise Chapman Weston Retail methods for providing an interactive product to a consumer
US6967566B2 (en) 2002-04-05 2005-11-22 Creative Kingdoms, Llc Live-action interactive adventure game
US7161580B2 (en) * 2002-04-25 2007-01-09 Immersion Corporation Haptic feedback using rotary harmonic moving mass
US7369115B2 (en) * 2002-04-25 2008-05-06 Immersion Corporation Haptic devices having multiple operational modes including at least one resonant mode
US6671651B2 (en) * 2002-04-26 2003-12-30 Sensable Technologies, Inc. 3-D selection and manipulation with a multiple dimension haptic interface
US7028415B2 (en) * 2002-04-30 2006-04-18 Alan Heinzen Canted manually loaded produce dryer
JP2003325972A (ja) 2002-05-17 2003-11-18 Nintendo Co Ltd 傾き操作に関連して音と画像を変化させるゲーム装置およびそのゲームプログラム
EP1376316A1 (en) * 2002-06-26 2004-01-02 BRITISH TELECOMMUNICATIONS public limited company Haptic communications
US6948948B2 (en) * 2002-07-30 2005-09-27 D&C Technology Co., Ltd. PC cartridge having enhanced front connecting structure
US7674184B2 (en) 2002-08-01 2010-03-09 Creative Kingdoms, Llc Interactive water attraction and quest game
US6990435B2 (en) * 2002-10-10 2006-01-24 Harmonic Drive Systems Inc. Tactile sensing method and system
JP2004139845A (ja) * 2002-10-17 2004-05-13 Alps Electric Co Ltd 力覚付与型入力装置
JP4314810B2 (ja) * 2002-11-18 2009-08-19 富士ゼロックス株式会社 触覚インタフェース装置
US20040113931A1 (en) * 2002-12-05 2004-06-17 Anderson Thomas G. Human-computer interfaces incorporating haptics and path-based interaction
US20060136630A1 (en) * 2002-12-08 2006-06-22 Immersion Corporation, A Delaware 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
US8830161B2 (en) * 2002-12-08 2014-09-09 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
US7779166B2 (en) * 2002-12-08 2010-08-17 Immersion Corporation Using haptic effects to enhance information content in communications
US8059088B2 (en) * 2002-12-08 2011-11-15 Immersion Corporation Methods and systems for providing haptic messaging to handheld communication devices
US20060136631A1 (en) * 2002-12-08 2006-06-22 Immersion Corporation, A Delaware Corporation Methods and systems for providing haptic messaging to handheld communication devices
GB2397024A (en) * 2003-01-08 2004-07-14 Encer Inc A massage device powered by a USB connection
US7522155B2 (en) 2003-01-16 2009-04-21 Panasonic Corporation Trackball device and vehicle incorporating the same
JP3579041B2 (ja) * 2003-03-13 2004-10-20 コナミ株式会社 ゲームシステム、ゲーム装置、ゲーム制御方法、ならびに、プログラム
US9446319B2 (en) 2003-03-25 2016-09-20 Mq Gaming, Llc Interactive gaming toy
FR2855282B1 (fr) * 2003-05-22 2006-01-27 Univ Lille Sciences Tech Dispositif et procede de commande d'un retour de force a appliquer a au moins une manette d'une interface motorisee
US20050001823A1 (en) * 2003-06-04 2005-01-06 Dort David Bogart Real motion detection sampling and recording for writing instruments and small tracking instruments using electrically active material with viscosity
WO2004111819A1 (en) * 2003-06-09 2004-12-23 Immersion Corporation Interactive gaming systems with haptic feedback
EP1632428A4 (en) * 2003-06-12 2010-08-25 Toyota Motor Co Ltd COAXIAL MOTORCYCLE
US7036639B2 (en) 2003-08-29 2006-05-02 Drs Systems And Electronics Electronically programmable actively damped sensor mount
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
GB0322489D0 (en) * 2003-09-25 2003-10-29 British Telecomm Haptics transmission systems
US20070022194A1 (en) * 2003-09-25 2007-01-25 Brown David W Database event driven motion systems
US20060064503A1 (en) * 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
GB0322875D0 (en) * 2003-09-30 2003-10-29 British Telecomm Haptics transmission systems
US7132928B2 (en) * 2003-10-01 2006-11-07 Perricone Nicholas V Threat detection system interface
JP4446712B2 (ja) * 2003-10-23 2010-04-07 アルプス電気株式会社 力覚付与型入力装置
US7095418B2 (en) * 2003-10-30 2006-08-22 Sensable Technologies, Inc. Apparatus and methods for texture mapping
US7096852B2 (en) 2003-10-30 2006-08-29 Immersion Corporation Haptic throttle devices and methods
US7382378B2 (en) 2003-10-30 2008-06-03 Sensable Technologies, Inc. Apparatus and methods for stenciling an image
DE10350903A1 (de) * 2003-10-31 2005-06-09 Siemens Ag Intuitive und sichere Steuerung von Bedieneingaben in Softwarekomponenten
EP1690173A4 (en) * 2003-11-17 2010-04-21 Roy G Biv Corp COMMAND PROCESSING SYSTEMS AND METHODS
FR2862942B1 (fr) * 2003-12-01 2006-03-03 Messier Bugatti Procede de gestion d'une architecture de systeme de freinage pour aeronef equipe de freins a actionneurs electromecaniques, et architecture faisant application
US7348968B2 (en) * 2003-12-02 2008-03-25 Sony Corporation Wireless force feedback input device
FI118149B (fi) * 2003-12-05 2007-07-31 Elisa Oyj Menetelmä, järjestelmä, mittauslaite ja vastaanottolaite palautteen antamiseksi
KR20050054731A (ko) * 2003-12-05 2005-06-10 한국전자통신연구원 햅틱 시뮬레이션 시스템 및 그 시스템에서의 실시간 촉감지원 방법
US20060066569A1 (en) * 2003-12-08 2006-03-30 Immersion Corporation, A Delaware Corporation Methods and systems for providing haptic messaging to handheld communication devices
US7889209B2 (en) * 2003-12-10 2011-02-15 Sensable Technologies, Inc. Apparatus and methods for wrapping texture onto the surface of a virtual object
US7626589B2 (en) * 2003-12-10 2009-12-01 Sensable Technologies, Inc. Haptic graphical user interface for adjusting mapped texture
US7742036B2 (en) * 2003-12-22 2010-06-22 Immersion Corporation System and method for controlling haptic devices having multiple operational modes
US7149596B2 (en) * 2004-01-13 2006-12-12 Sensable Technologies, Inc. Apparatus and methods for modifying a model of an object to enforce compliance with a manufacturing constraint
US7283120B2 (en) 2004-01-16 2007-10-16 Immersion Corporation Method and apparatus for providing haptic feedback having a position-based component and a predetermined time-based component
US20050162402A1 (en) * 2004-01-27 2005-07-28 Watanachote Susornpol J. Methods of interacting with a computer using a finger(s) touch sensing input device with visual feedback
US20050174337A1 (en) * 2004-02-11 2005-08-11 Nielsen Paul S. Electronic handheld drawing and gaming system using television monitor
JP4408045B2 (ja) * 2004-02-17 2010-02-03 富士通コンポーネント株式会社 アクチュエータ
US7867141B2 (en) * 2004-07-21 2011-01-11 Panasonic Electric Works Co., Ltd. Physical activity measuring system
JP4473685B2 (ja) 2004-09-01 2010-06-02 任天堂株式会社 ゲーム装置およびゲームプログラム
US20060073455A1 (en) * 2004-09-30 2006-04-06 Cardiac Pacemakers, Inc. Virtual reality based prototyping system for medical devices
WO2006042309A1 (en) * 2004-10-08 2006-04-20 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
US7139621B2 (en) * 2004-12-16 2006-11-21 Caterpillar Inc Floating deadband control
US7978173B2 (en) * 2005-01-14 2011-07-12 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Pointing device including a moveable puck with mechanical detents
US20060161621A1 (en) * 2005-01-15 2006-07-20 Outland Research, Llc System, method and computer program product for collaboration and synchronization of media content on a plurality of media players
US7489979B2 (en) 2005-01-27 2009-02-10 Outland Research, Llc System, method and computer program product for rejecting or deferring the playing of a media file retrieved by an automated process
US20060229058A1 (en) * 2005-10-29 2006-10-12 Outland Research Real-time person-to-person communication using geospatial addressing
US20070189544A1 (en) 2005-01-15 2007-08-16 Outland Research, Llc Ambient sound responsive media player
US7542816B2 (en) * 2005-01-27 2009-06-02 Outland Research, Llc System, method and computer program product for automatically selecting, suggesting and playing music media files
US20070156676A1 (en) * 2005-09-09 2007-07-05 Outland Research, Llc System, Method and Computer Program Product for Intelligent Groupwise Media Selection
US20060184800A1 (en) * 2005-02-16 2006-08-17 Outland Research, Llc Method and apparatus for using age and/or gender recognition techniques to customize a user interface
US20070276870A1 (en) * 2005-01-27 2007-11-29 Outland Research, Llc Method and apparatus for intelligent media selection using age and/or gender
US20070061314A1 (en) * 2005-02-01 2007-03-15 Outland Research, Llc Verbal web search with improved organization of documents based upon vocal gender analysis
US20080007517A9 (en) * 2005-02-23 2008-01-10 Northwestern University Electrical damping system
US20060206379A1 (en) * 2005-03-14 2006-09-14 Outland Research, Llc Methods and apparatus for improving the matching of relevant advertisements with particular users over the internet
US20060223637A1 (en) * 2005-03-31 2006-10-05 Outland Research, Llc Video game system combining gaming simulation with remote robot control and remote robot feedback
US20060256008A1 (en) * 2005-05-13 2006-11-16 Outland Research, Llc Pointing interface for person-to-person information exchange
US20060223635A1 (en) * 2005-04-04 2006-10-05 Outland Research method and apparatus for an on-screen/off-screen first person gaming experience
US20060236120A1 (en) * 2005-04-14 2006-10-19 Ibm Corporation Method and apparatus employing stress detection for highly secure communication
US20060236121A1 (en) * 2005-04-14 2006-10-19 Ibm Corporation Method and apparatus for highly secure communication
US20060241864A1 (en) * 2005-04-22 2006-10-26 Outland Research, Llc Method and apparatus for point-and-send data transfer within an ubiquitous computing environment
US20060277466A1 (en) * 2005-05-13 2006-12-07 Anderson Thomas G Bimodal user interaction with a simulated object
US20070150188A1 (en) * 2005-05-27 2007-06-28 Outland Research, Llc First-person video-based travel planning system
US7618413B2 (en) 2005-06-22 2009-11-17 Boston Scientific Scimed, Inc. Medical device control system
US20070027668A1 (en) * 2005-07-18 2007-02-01 Kenny Chen Signal simulator for generating a string of user input signals to stimulate redundant operation of a user input device of a computerized apparatus
US7519537B2 (en) 2005-07-19 2009-04-14 Outland Research, Llc Method and apparatus for a verbo-manual gesture interface
US8313379B2 (en) * 2005-08-22 2012-11-20 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
US7927216B2 (en) 2005-09-15 2011-04-19 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
JP4805633B2 (ja) 2005-08-22 2011-11-02 任天堂株式会社 ゲーム用操作装置
US8870655B2 (en) 2005-08-24 2014-10-28 Nintendo Co., Ltd. Wireless game controllers
JP4262726B2 (ja) * 2005-08-24 2009-05-13 任天堂株式会社 ゲームコントローラおよびゲームシステム
US8308563B2 (en) 2005-08-30 2012-11-13 Nintendo Co., Ltd. Game system and storage medium having game program stored thereon
JP4899685B2 (ja) * 2005-09-02 2012-03-21 株式会社デンソー 手動操作システム
US8157651B2 (en) 2005-09-12 2012-04-17 Nintendo Co., Ltd. Information processing program
US8176101B2 (en) 2006-02-07 2012-05-08 Google Inc. Collaborative rejection of media for physical establishments
US7917148B2 (en) * 2005-09-23 2011-03-29 Outland Research, Llc Social musical media rating system and method for localized establishments
US7518745B2 (en) * 2005-09-28 2009-04-14 Xerox Corporation Imaging system with haptic interface
US7577522B2 (en) 2005-12-05 2009-08-18 Outland Research, Llc Spatially associated personal reminder system and method
US7586032B2 (en) 2005-10-07 2009-09-08 Outland Research, Llc Shake responsive portable media player
CN101466316B (zh) 2005-10-20 2012-06-27 阿普特斯内系统公司 包括使用固定件工具的用于修复物递送和植入的装置、系统和方法
WO2007047986A1 (en) * 2005-10-21 2007-04-26 Wisconsin Alumni Research Foundation Method and system for delivering nucleic acid into a target cell
US20070103437A1 (en) * 2005-10-26 2007-05-10 Outland Research, Llc Haptic metering for minimally invasive medical procedures
US20070135264A1 (en) * 2005-12-09 2007-06-14 Outland Research, Llc Portable exercise scripting and monitoring device
US20070145680A1 (en) * 2005-12-15 2007-06-28 Outland Research, Llc Shake Responsive Portable Computing Device for Simulating a Randomization Object Used In a Game Of Chance
US20070075127A1 (en) * 2005-12-21 2007-04-05 Outland Research, Llc Orientation-based power conservation for portable media devices
JP5204381B2 (ja) 2006-05-01 2013-06-05 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム及びゲーム処理方法
US20070188453A1 (en) * 2006-02-15 2007-08-16 Logitech Europe S.A. Input device roller with hybrid magnetic ratchet system
US20070188454A1 (en) * 2006-02-15 2007-08-16 Logitech Europe S.A. Magnetic ratchet for input device roller
WO2007098391A2 (en) * 2006-02-17 2007-08-30 Oceaneering International, Inc. A multi-mode manipulator arm and drive system
JP4151982B2 (ja) 2006-03-10 2008-09-17 任天堂株式会社 動き判別装置および動き判別プログラム
WO2007111909A2 (en) 2006-03-24 2007-10-04 Northwestern University Haptic device with indirect haptic feedback
US8780053B2 (en) * 2007-03-21 2014-07-15 Northwestern University Vibrating substrate for haptic interface
US8525778B2 (en) * 2007-03-21 2013-09-03 Northwestern University Haptic device with controlled traction forces
US7760184B2 (en) * 2006-04-03 2010-07-20 Nokia Corporation Dual mode input device
US7603228B2 (en) * 2006-05-25 2009-10-13 Ford Global Technologies, Llc Haptic apparatus and coaching method for improving vehicle fuel economy
FI120133B (fi) * 2006-05-29 2009-07-15 Polar Electro Oy Rannelaite ja menetelmä liikeinformaation määrittämiseksi
DE102007016083A1 (de) * 2006-05-31 2007-12-06 Mizukawa, Suehiro, Settsu Verfahren und Vorrichtung zum Biegen eines Messerelements
JP5030482B2 (ja) 2006-06-20 2012-09-19 任天堂株式会社 ゲームプログラムおよびゲーム装置
KR100827150B1 (ko) 2006-07-10 2008-05-02 삼성전자주식회사 터치패드를 구비한 휴대 단말기의 구동 장치
US20080027694A1 (en) * 2006-07-12 2008-01-31 Yury Michael Gitman Heartbeat Simulation Method And Apparatus
US20080032870A1 (en) * 2006-08-02 2008-02-07 Shen Yi Wu Method and apparatus of counting steps for treadmill
GB2440753A (en) * 2006-08-04 2008-02-13 Univ Sussex Force sensor and programmable spring emulator
EP1898280B1 (de) * 2006-09-06 2011-07-06 Rotzler GmbH + Co. KG Steuerungsvorrichtung mit einem Bus zum Betrieb einer Maschine
US7759894B2 (en) * 2006-10-26 2010-07-20 Honeywell International Inc. Cogless motor driven active user interface haptic feedback system
US7750593B2 (en) * 2006-10-26 2010-07-06 Honeywell International Inc. Active human-machine interface system without a force sensor
US7624836B2 (en) * 2006-10-30 2009-12-01 Caterpillar Inc. Steering system having multiple strategies and variable deadzone
EP1930800A1 (en) * 2006-12-05 2008-06-11 Electronics and Telecommunications Research Institute Tactile and visual display device
US20080146416A1 (en) * 2006-12-13 2008-06-19 Motorola, Inc. Generation of user activity feedback
JP4690299B2 (ja) * 2006-12-14 2011-06-01 株式会社東海理化電機製作所 遠隔操作式入力装置
US8020441B2 (en) * 2008-02-05 2011-09-20 Invensense, Inc. Dual mode sensing for vibratory gyroscope
US7796872B2 (en) * 2007-01-05 2010-09-14 Invensense, Inc. Method and apparatus for producing a sharp image from a handheld device containing a gyroscope
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
US20090262074A1 (en) * 2007-01-05 2009-10-22 Invensense Inc. Controlling and accessing content using motion processing on mobile devices
US20100071467A1 (en) * 2008-09-24 2010-03-25 Invensense Integrated multiaxis motion sensor
US8508039B1 (en) 2008-05-08 2013-08-13 Invensense, Inc. Wafer scale chip scale packaging of vertically integrated MEMS sensors with electronics
US8047075B2 (en) 2007-06-21 2011-11-01 Invensense, Inc. Vertically integrated 3-axis MEMS accelerometer with electronics
US8250921B2 (en) 2007-07-06 2012-08-28 Invensense, Inc. Integrated motion processing unit (MPU) with MEMS inertial sensing and embedded digital electronics
US20090265671A1 (en) * 2008-04-21 2009-10-22 Invensense Mobile devices with motion gesture recognition
US7934423B2 (en) * 2007-12-10 2011-05-03 Invensense, Inc. Vertically integrated 3-axis MEMS angular accelerometer with integrated electronics
US8141424B2 (en) * 2008-09-12 2012-03-27 Invensense, Inc. Low inertia frame for detecting coriolis acceleration
US8952832B2 (en) * 2008-01-18 2015-02-10 Invensense, Inc. Interfacing application programs and motion sensors of a device
JP5127242B2 (ja) 2007-01-19 2013-01-23 任天堂株式会社 加速度データ処理プログラムおよびゲームプログラム
US8144036B2 (en) 2007-02-08 2012-03-27 Lear Corporation Switch system
EP2132650A4 (en) * 2007-03-01 2010-10-27 Sony Comp Entertainment Us SYSTEM AND METHOD FOR COMMUNICATING WITH A VIRTUAL WORLD
US20080215994A1 (en) * 2007-03-01 2008-09-04 Phil Harrison Virtual world avatar control, interactivity and communication interactive messaging
US8315652B2 (en) 2007-05-18 2012-11-20 Immersion Corporation Haptically enabled messaging
US8108136B2 (en) * 2007-08-09 2012-01-31 Ford Global Technologies, Llc. Driver advisory system for fuel economy improvement of a hybrid electric vehicle
CN101821149A (zh) * 2007-09-06 2010-09-01 高田-彼得里公开股份有限公司 用于机动车辆的方向盘组件
US9726088B2 (en) * 2007-10-30 2017-08-08 Ford Global Technologies, Llc System and method for obtaining an adjustable accelerator pedal response in a vehicle powertrain
US20090156307A1 (en) * 2007-11-13 2009-06-18 Jorge Cristian Donoso Aguirre Video game controller with a fan
US7486273B1 (en) * 2008-02-12 2009-02-03 Novint Technologies, Inc. Communications in a system comprising a computer and a haptic interface device
TW200937260A (en) * 2008-02-25 2009-09-01 J Touch Corp Capacitive stylus pen
US20090221196A1 (en) * 2008-02-29 2009-09-03 Blair Charles S Torsional control boat throttle system
CN101518690A (zh) * 2008-02-29 2009-09-02 鸿富锦精密工业(深圳)有限公司 力回馈装置
US9274601B2 (en) * 2008-04-24 2016-03-01 Blackberry Limited System and method for generating a feedback signal in response to an input signal provided to an electronic device
DE602008005110D1 (de) 2008-04-24 2011-04-07 Research In Motion Ltd System und Verfahren zur Erzeugung eines Rückmeldungssignals als Antwort auf ein Eingangssignal an eine elektronische Vorrichtung
US20090295739A1 (en) * 2008-05-27 2009-12-03 Wes Albert Nagara Haptic tactile precision selection
US20100013613A1 (en) * 2008-07-08 2010-01-21 Jonathan Samuel Weston Haptic feedback projection system
US8159455B2 (en) * 2008-07-18 2012-04-17 Apple Inc. Methods and apparatus for processing combinations of kinematical inputs
EP2328659A1 (en) * 2008-08-12 2011-06-08 Koninklijke Philips Electronics N.V. Motion detection system
US9196169B2 (en) 2008-08-21 2015-11-24 Lincoln Global, Inc. Importing and analyzing external data using a virtual reality welding system
CA2740867C (en) 2008-10-16 2018-06-12 Aptus Endosystems, Inc. Devices, systems, and methods for endovascular staple and/or prosthesis delivery and implantation
US20100146395A1 (en) * 2008-12-08 2010-06-10 Gustavo De Los Reyes Method and System for Exploiting Interactions Via A Virtual Environment
US20100167820A1 (en) * 2008-12-29 2010-07-01 Houssam Barakat Human interface device
GB0900878D0 (en) 2009-01-20 2009-03-04 Renishaw Plc Method for optimising a measurement cycle
WO2010095372A1 (ja) * 2009-02-17 2010-08-26 日本電気株式会社 触力覚提示装置、触力覚提示装置が適用された電子機器端末及び触力覚提示方法
US10564721B2 (en) * 2009-03-12 2020-02-18 Immersion Corporation Systems and methods for using multiple actuators to realize textures
US10007340B2 (en) * 2009-03-12 2018-06-26 Immersion Corporation Systems and methods for interfaces featuring surface-based haptic effects
US9696803B2 (en) 2009-03-12 2017-07-04 Immersion Corporation Systems and methods for friction displays and additional haptic effects
US9874935B2 (en) 2009-03-12 2018-01-23 Immersion Corporation Systems and methods for a texture engine
US9746923B2 (en) * 2009-03-12 2017-08-29 Immersion Corporation Systems and methods for providing features in a friction display wherein a haptic effect is configured to vary the coefficient of friction
US9927873B2 (en) 2009-03-12 2018-03-27 Immersion Corporation Systems and methods for using textures in graphical user interface widgets
US20100306825A1 (en) * 2009-05-27 2010-12-02 Lucid Ventures, Inc. System and method for facilitating user interaction with a simulated object associated with a physical location
US20100302017A1 (en) * 2009-06-01 2010-12-02 Econtrols, Inc. Tactile Feedback for Joystick Position/Speed Controls
US9568939B2 (en) 2009-06-01 2017-02-14 Enovation Controls, Llc Tactile feedback for joystick position/speed controls
US20110006047A1 (en) * 2009-07-08 2011-01-13 Victor Matthew Penrod Method and system for monitoring and characterizing the creation of a manual weld
US9221117B2 (en) 2009-07-08 2015-12-29 Lincoln Global, Inc. System for characterizing manual welding operations
US9773429B2 (en) 2009-07-08 2017-09-26 Lincoln Global, Inc. System and method for manual welder training
US9230449B2 (en) * 2009-07-08 2016-01-05 Lincoln Global, Inc. Welding training system
US8487759B2 (en) 2009-09-30 2013-07-16 Apple Inc. Self adapting haptic device
US8279052B2 (en) 2009-11-04 2012-10-02 Immersion Corporation Systems and methods for haptic confirmation of commands
EP2502215B1 (en) * 2009-11-17 2020-06-03 Immersion Corporation Systems and methods for increasing haptic bandwidth in an electronic device
JP5587596B2 (ja) * 2009-12-14 2014-09-10 京セラ株式会社 触感呈示装置
US10180572B2 (en) 2010-02-28 2019-01-15 Microsoft Technology Licensing, Llc AR glasses with event and user action control of external applications
US20120249797A1 (en) 2010-02-28 2012-10-04 Osterhout Group, Inc. Head-worn adaptive display
US9759917B2 (en) 2010-02-28 2017-09-12 Microsoft Technology Licensing, Llc AR glasses with event and sensor triggered AR eyepiece interface to external devices
US20150309316A1 (en) 2011-04-06 2015-10-29 Microsoft Technology Licensing, Llc Ar glasses with predictive control of external device based on event input
US20120194553A1 (en) * 2010-02-28 2012-08-02 Osterhout Group, Inc. Ar glasses with sensor and user action based control of external devices with feedback
AU2011220382A1 (en) 2010-02-28 2012-10-18 Microsoft Corporation Local advertising content on an interactive head-mounted eyepiece
KR101640043B1 (ko) * 2010-04-14 2016-07-15 삼성전자주식회사 가상 세계 처리 장치 및 방법
US9132352B1 (en) 2010-06-24 2015-09-15 Gregory S. Rabin Interactive system and method for rendering an object
JP5841713B2 (ja) * 2010-07-27 2016-01-13 京セラ株式会社 触感呈示装置及び触感呈示装置の制御方法
JP5841714B2 (ja) * 2010-07-27 2016-01-13 京セラ株式会社 触感呈示装置及び触感呈示装置の制御方法
WO2012029227A1 (ja) 2010-08-31 2012-03-08 パナソニック株式会社 マスタースレーブロボットの制御装置及び制御方法、マスタースレーブロボット、制御プログラム、並びに、集積電子回路
US10013058B2 (en) 2010-09-21 2018-07-03 Apple Inc. Touch-based user interface with haptic feedback
EP2453428A1 (en) * 2010-11-12 2012-05-16 EADS Construcciones Aeronauticas, S.A. Simulation methods and systems for the control panels of complex systems
US10120446B2 (en) * 2010-11-19 2018-11-06 Apple Inc. Haptic input device
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
JP5281194B2 (ja) 2011-03-24 2013-09-04 アイシン高丘株式会社 車輌用衝突補強材
US8892162B2 (en) * 2011-04-25 2014-11-18 Apple Inc. Vibration sensing system and method for categorizing portable device context and modifying device operation
US8850261B2 (en) * 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
US8811720B2 (en) 2011-07-12 2014-08-19 Raytheon Company 3D visualization of light detection and ranging data
US9614465B2 (en) * 2011-07-26 2017-04-04 Moog Inc. Electric motor clamping system
US9802364B2 (en) 2011-10-18 2017-10-31 3D Systems, Inc. Systems and methods for construction of an instruction set for three-dimensional printing of a user-customizableimage of a three-dimensional structure
US9582178B2 (en) 2011-11-07 2017-02-28 Immersion Corporation Systems and methods for multi-pressure interaction on touch-sensitive surfaces
US8894491B2 (en) * 2011-12-09 2014-11-25 Microsoft Corporation Multi-stage variable resistance trigger
US9389681B2 (en) * 2011-12-19 2016-07-12 Microsoft Technology Licensing, Llc Sensor fusion interface for multiple sensor input
JP2013222399A (ja) * 2012-04-18 2013-10-28 Sony Corp 操作方法、制御装置及びプログラム
WO2013170099A1 (en) * 2012-05-09 2013-11-14 Yknots Industries Llc Calibration of haptic feedback systems for input devices
CN203324713U (zh) * 2012-05-09 2013-12-04 布里斯托尔D/B/A远程自动化解决方案公司 通过过程控制设备显示信息的装置
WO2013188307A2 (en) 2012-06-12 2013-12-19 Yknots Industries Llc Haptic electromagnetic actuator
US20160093233A1 (en) 2012-07-06 2016-03-31 Lincoln Global, Inc. System for characterizing manual welding operations on pipe and other curved structures
US9245428B2 (en) 2012-08-02 2016-01-26 Immersion Corporation Systems and methods for haptic remote control gaming
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
KR102668586B1 (ko) 2012-08-03 2024-05-28 스트리커 코포레이션 로봇 수술을 위한 시스템 및 방법
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
US9056244B2 (en) 2012-09-12 2015-06-16 Wms Gaming Inc. Gaming apparatus incorporating targeted haptic feedback
US20160164976A1 (en) * 2012-09-24 2016-06-09 Suitable Technologies, Inc. Systems and methods for remote presence
US9178509B2 (en) 2012-09-28 2015-11-03 Apple Inc. Ultra low travel keyboard
TWI467467B (zh) * 2012-10-29 2015-01-01 Pixart Imaging Inc 畫面物件移動控制方法及裝置
US9330544B2 (en) * 2012-11-20 2016-05-03 Immersion Corporation System and method for simulated physical interactions with haptic effects
DE102012223007A1 (de) * 2012-12-13 2014-06-18 Hilti Aktiengesellschaft Handgeführtes oder halbstationäres Werkzeuggerät und Verfahren zum Betreiben eines derartigen Werkzeuggeräts
WO2014120984A2 (en) 2013-01-30 2014-08-07 David Paul Smith Operator controlled electrical output signal device with variable feel and hold feedback and automated calibration and learnable performance optimization
KR20140115648A (ko) 2013-03-21 2014-10-01 삼성전자주식회사 햅틱 엔진을 이용하여 햅틱 효과를 제공하는 단말 장치 및 그 제어 방법
ITMI20130495A1 (it) * 2013-03-29 2014-09-30 Atlas Copco Blm Srl Dispositivo elettronico di controllo e comando per sensori
US10168766B2 (en) 2013-04-17 2019-01-01 Nokia Technologies Oy Method and apparatus for a textural representation of a guidance
WO2014190293A2 (en) * 2013-05-24 2014-11-27 New York University Haptic force-feedback for computing interfaces
US10120447B2 (en) 2013-06-24 2018-11-06 Northwestern University Haptic display with simultaneous sensing and actuation
WO2015020663A1 (en) 2013-08-08 2015-02-12 Honessa Development Laboratories Llc Sculpted waveforms with no or reduced unforced response
CN103433921B (zh) * 2013-09-11 2015-07-08 北京邮电大学 三自由度平动力反馈手控器
US20150072323A1 (en) 2013-09-11 2015-03-12 Lincoln Global, Inc. Learning management system for a real-time simulated virtual reality welding training environment
US9779592B1 (en) 2013-09-26 2017-10-03 Apple Inc. Geared haptic feedback element
CN105579928A (zh) 2013-09-27 2016-05-11 苹果公司 具有触觉致动器的带体
WO2015047343A1 (en) 2013-09-27 2015-04-02 Honessa Development Laboratories Llc Polarized magnetic actuators for haptic response
WO2015047364A1 (en) 2013-09-29 2015-04-02 Pearl Capital Developments Llc Devices and methods for creating haptic effects
US10236760B2 (en) 2013-09-30 2019-03-19 Apple Inc. Magnetic actuators for haptic response
US9317118B2 (en) 2013-10-22 2016-04-19 Apple Inc. Touch surface for simulating materials
US10083627B2 (en) 2013-11-05 2018-09-25 Lincoln Global, Inc. Virtual reality and real welding training system and method
US10276001B2 (en) 2013-12-10 2019-04-30 Apple Inc. Band attachment mechanism with haptic response
US20150242037A1 (en) 2014-01-13 2015-08-27 Apple Inc. Transparent force sensor with strain relief
US9501912B1 (en) 2014-01-27 2016-11-22 Apple Inc. Haptic feedback device with a rotating mass of variable eccentricity
US9836987B2 (en) 2014-02-14 2017-12-05 Lincoln Global, Inc. Virtual reality pipe welding simulator and setup
JP6201824B2 (ja) * 2014-03-05 2017-09-27 株式会社デンソー 操作装置
US10394326B2 (en) 2014-03-31 2019-08-27 Sony Corporation Tactile sense presentation apparatus, signal generation device, tactile sense presentation system, and tactile sense presentation method
DE112014006608B4 (de) 2014-04-21 2024-01-25 Apple Inc. Verfahren, Systeme und elektronische Vorrichtungen zum Bestimmen der Kräfteaufteilung für Multi-Touch-Eingabevorrichtungen elektronischer Vorrichtungen
CN106233358A (zh) 2014-06-02 2016-12-14 林肯环球股份有限公司 用于人工焊工培训的系统和方法
DE102015209639A1 (de) 2014-06-03 2015-12-03 Apple Inc. Linearer Aktuator
US10316492B2 (en) * 2014-07-31 2019-06-11 Cnh Industrial America Llc Active force/vibration feedback control method and apparatus for a movable machine
US9838009B2 (en) 2014-08-27 2017-12-05 Continental Automotive Systems, Inc. Switch with user feedback
US10297119B1 (en) 2014-09-02 2019-05-21 Apple Inc. Feedback device in an electronic device
US9830782B2 (en) 2014-09-02 2017-11-28 Apple Inc. Haptic notifications
EP3212070B1 (en) 2014-10-27 2020-02-05 Vitalsines International Inc. System and method for monitoring aortic pulse wave velocity and blood pressure
US9798409B1 (en) 2015-03-04 2017-10-24 Apple Inc. Multi-force input device
US10353467B2 (en) * 2015-03-06 2019-07-16 Apple Inc. Calibration of haptic devices
US10613629B2 (en) 2015-03-27 2020-04-07 Chad Laurendeau System and method for force feedback interface devices
DE102015104927A1 (de) * 2015-03-31 2016-10-06 Inventus Engineering Gmbh Dämpfer zur Dämpfung einer Relativbewegung
AU2016100399B4 (en) 2015-04-17 2017-02-02 Apple Inc. Contracting and elongating materials for providing input and output for an electronic device
US9535501B1 (en) * 2015-06-29 2017-01-03 Apple Inc. Input with haptic feedback
US9921652B2 (en) * 2015-06-29 2018-03-20 Apple Inc. Input with haptic feedback
WO2017044618A1 (en) 2015-09-08 2017-03-16 Apple Inc. Linear actuators for use in electronic devices
CA2999413C (en) * 2015-09-23 2022-07-19 Universite Catholique De Louvain Rehabilitation system and method
US9971407B2 (en) 2015-09-30 2018-05-15 Apple Inc. Haptic feedback for rotary inputs
US10324530B2 (en) * 2015-12-14 2019-06-18 Facebook Technologies, Llc Haptic devices that simulate rigidity of virtual objects
US10039080B2 (en) 2016-03-04 2018-07-31 Apple Inc. Situationally-aware alerts
US10503258B2 (en) 2016-03-04 2019-12-10 Apple Inc. Input mechanism with force and rotation inputs and haptic feedback
US10268272B2 (en) 2016-03-31 2019-04-23 Apple Inc. Dampening mechanical modes of a haptic actuator using a delay
CN109313418A (zh) * 2016-06-23 2019-02-05 深圳市大疆创新科技有限公司 用于控制可移动物体行为的系统和方法
EP3319066A1 (en) 2016-11-04 2018-05-09 Lincoln Global, Inc. Magnetic frequency selection for electromagnetic position tracking
WO2018112025A1 (en) 2016-12-16 2018-06-21 Mako Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
US10275032B2 (en) 2016-12-22 2019-04-30 Immersion Corporation Pressure-sensitive suspension system for a haptic device
JP6837921B2 (ja) 2017-06-02 2021-03-03 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、情報処理方法
JP6613267B2 (ja) * 2017-06-02 2019-11-27 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および、情報処理方法
JP6653293B2 (ja) 2017-06-05 2020-02-26 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および、情報処理方法
JP6701132B2 (ja) * 2017-07-12 2020-05-27 任天堂株式会社 ゲームシステム、ゲームプログラム、ゲーム装置、およびゲーム処理方法
US10622538B2 (en) 2017-07-18 2020-04-14 Apple Inc. Techniques for providing a haptic output and sensing a haptic input using a piezoelectric body
US11314332B2 (en) 2017-11-30 2022-04-26 Sony Interactive Entertainment Inc. Information processing apparatus, information processing method, and program
US10583359B2 (en) 2017-12-28 2020-03-10 Immersion Corporation Systems and methods for providing haptic effects related to touching and grasping a virtual object
US11523839B2 (en) * 2018-04-03 2022-12-13 Intuitive Surgical Operations, Inc. Systems and methods for grasp adjustment based on grasp properties
US11475792B2 (en) 2018-04-19 2022-10-18 Lincoln Global, Inc. Welding simulator with dual-user configuration
US11557223B2 (en) 2018-04-19 2023-01-17 Lincoln Global, Inc. Modular and reconfigurable chassis for simulated welding training
US20190324536A1 (en) 2018-04-20 2019-10-24 Immersion Corporation Haptic ring
US10579146B2 (en) * 2018-06-15 2020-03-03 Immersion Corporation Systems and methods for multi-level closed loop control of haptic effects
US10691211B2 (en) 2018-09-28 2020-06-23 Apple Inc. Button providing force sensing and/or haptic output
US10599223B1 (en) 2018-09-28 2020-03-24 Apple Inc. Button providing force sensing and/or haptic output
EP3996991B1 (en) 2019-07-11 2024-02-28 BAE SYSTEMS plc Inceptor and method
WO2021005328A1 (en) * 2019-07-11 2021-01-14 Bae Systems Plc Force compensation method and device
JP2021018546A (ja) * 2019-07-18 2021-02-15 トヨタ自動車株式会社 車両用コミュニケーション装置および車両用コミュニケーションシステム
US11380470B2 (en) 2019-09-24 2022-07-05 Apple Inc. Methods to control force in reluctance actuators based on flux related parameters
WO2021090102A1 (en) * 2019-11-04 2021-05-14 Indian Institute Of Science System for operating joystick
US11960651B2 (en) * 2020-03-30 2024-04-16 Snap Inc. Gesture-based shared AR session creation
US12266170B2 (en) * 2020-04-17 2025-04-01 Apple Inc. Computer-generated supplemental content for video
CN113760107B (zh) * 2020-06-04 2023-10-13 宏碁股份有限公司 触控笔、触控电子装置与触控系统
US11544343B1 (en) * 2020-10-16 2023-01-03 Splunk Inc. Codeless anchor generation for detectable features in an environment
FR3117224B1 (fr) * 2020-12-04 2023-05-05 Safran Electronics & Defense Procédé de commande d’un moteur d’une commande d’un aéronef, dispositif de commande et aéronef
CN112757273A (zh) * 2020-12-28 2021-05-07 广州一康医疗设备实业有限公司 一种机械臂轨迹编辑可视化方法、系统、装置及存储介质
US11771991B2 (en) * 2021-02-15 2023-10-03 Nintendo Co., Ltd. Non-transitory computer-readable storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method
US11977683B2 (en) 2021-03-12 2024-05-07 Apple Inc. Modular systems configured to provide localized haptic feedback using inertial actuators
WO2022230594A1 (ja) * 2021-04-26 2022-11-03 学校法人慶應義塾 機能管理システム、機能管理方法、及びプログラム
US11814947B2 (en) 2021-07-01 2023-11-14 Halliburton Energy Services, Inc. Distributed diagnostics and control of a multi-unit pumping operation
US11809631B2 (en) 2021-09-21 2023-11-07 Apple Inc. Reluctance haptic engine for an electronic device
CN114117987B (zh) * 2021-11-29 2025-07-25 上海华力微电子有限公司 一种全局工艺角模型的建模方法
CN114179080B (zh) * 2021-12-01 2024-12-17 上海瑾盛通信科技有限公司 运动控制方法、装置、机械臂、交互系统及存储介质
WO2023105706A1 (ja) * 2021-12-09 2023-06-15 日本電信電話株式会社 触覚提示デバイスおよび制御方法
CN118434378A (zh) * 2021-12-17 2024-08-02 直观外科手术操作公司 由计算机辅助医疗系统显示的虚拟对象的基于力的控制
US12299824B2 (en) * 2022-05-27 2025-05-13 Giraffe360 Limited Autoplay sessions for virtual tours
GB2624179A (en) * 2022-11-08 2024-05-15 Sony Interactive Entertainment Inc Methods and systems for providing in-game navigation
KR20240109848A (ko) * 2023-01-05 2024-07-12 삼성전자주식회사 디스플레이 구동 회로
US12589884B2 (en) * 2023-09-07 2026-03-31 The Boeing Company Aircraft control system failure event search
EP4624326A1 (en) * 2024-03-28 2025-10-01 Ratier-Figeac SAS Control system

Family Cites Families (257)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2906179A (en) * 1957-01-28 1959-09-29 North American Aviation Inc Vector gage
US3157853A (en) 1957-12-06 1964-11-17 Hirsch Joseph Tactile communication system
GB958325A (en) 1962-07-08 1964-05-21 Communications Patents Ltd Improvements in or relating to ground-based flight training or simulating apparatus
US3157553A (en) 1962-10-31 1964-11-17 Bartmann & Bixer Inc Apparatus for cutting lengths of heatfusible fabric and sealing the cut edges thereof
US3490059A (en) * 1966-06-06 1970-01-13 Martin Marietta Corp Three axis mounting and torque sensing apparatus
US3497668A (en) 1966-08-25 1970-02-24 Joseph Hirsch Tactile control system
US3517446A (en) 1967-04-19 1970-06-30 Singer General Precision Vehicle trainer controls and control loading
US3531868A (en) * 1968-04-18 1970-10-06 Ford Motor Co Surface scanner for measuring the coordinates of points on a three-dimensional surface
US3903614A (en) 1970-03-27 1975-09-09 Singer Co Apparatus for simulating aircraft control loading
US3919691A (en) 1971-05-26 1975-11-11 Bell Telephone Labor Inc Tactile man-machine communication system
US3875488A (en) * 1973-02-15 1975-04-01 Raytheon Co Inertially stabilized gimbal platform
US3902687A (en) 1973-06-25 1975-09-02 Robert E Hightower Aircraft indicator system
US3890958A (en) * 1974-04-08 1975-06-24 Moog Automotive Inc Physiological diagnostic apparatus
US3944798A (en) * 1974-04-18 1976-03-16 Eaton-Leonard Corporation Method and apparatus for measuring direction
US4034894A (en) * 1975-02-28 1977-07-12 Agfa-Gevaert Aktiengesellschaft Film-sheet cassette
US4125800A (en) * 1975-09-02 1978-11-14 Contraves Gorez Corporation Power controller with a modular power output
US4131033A (en) 1977-02-18 1978-12-26 Rockwell International Corporation Push-pull and rotating knob
US4148014A (en) * 1977-04-06 1979-04-03 Texas Instruments Incorporated System with joystick to control velocity vector of a display cursor
US4160508A (en) 1977-08-19 1979-07-10 Nasa Controller arm for a remotely related slave arm
US4216467A (en) * 1977-12-22 1980-08-05 Westinghouse Electric Corp. Hand controller
US4236325A (en) 1978-12-26 1980-12-02 The Singer Company Simulator control loading inertia compensator
US4638798A (en) * 1980-09-10 1987-01-27 Shelden C Hunter Stereotactic method and apparatus for locating and treating or removing lesions
NL8006091A (nl) * 1980-11-07 1982-06-01 Fokker Bv Vluchtnabootser.
JPS57169643A (en) * 1981-04-13 1982-10-19 Yamato Scale Co Ltd Load cell for multiple components of force
US4599070A (en) 1981-07-29 1986-07-08 Control Interface Company Limited Aircraft simulator and simulated control system therefor
DE3380420D1 (en) 1982-01-22 1989-09-21 British Aerospace Control apparatus
US4477973A (en) * 1982-07-14 1984-10-23 Micro Control Systems, Inc. Three dimensional graphics tablet
US4593470A (en) * 1982-07-14 1986-06-10 Micro Control Systems, Inc. Portable three dimensional graphics tablet
US4560983A (en) 1982-09-17 1985-12-24 Ampex Corporation Dynamically interactive responsive control device and system
US4477043A (en) * 1982-12-15 1984-10-16 The United States Of America As Represented By The Secretary Of The Air Force Biodynamic resistant control stick
US4538035A (en) 1983-02-11 1985-08-27 Pool Danny J Joystick occlusion gate control for video games
FR2545606B1 (fr) * 1983-05-06 1985-09-13 Hispano Suiza Sa Capteur de torseur de forces
US4604016A (en) 1983-08-03 1986-08-05 Joyce Stephen A Multi-dimensional force-torque hand controller having force feedback
GB2146776B (en) * 1983-09-16 1986-07-30 Ferranti Plc Accelerometer systems
US4550221A (en) * 1983-10-07 1985-10-29 Scott Mabusth Touch sensitive control device
JPS60170709A (ja) * 1984-02-16 1985-09-04 Toshiba Corp 形状測定装置
US4571834A (en) * 1984-02-17 1986-02-25 Orthotronics Limited Partnership Knee laxity evaluator and motion module/digitizer arrangement
US4581491A (en) 1984-05-04 1986-04-08 Research Corporation Wearable tactile sensory aid providing information on voice pitch and intonation patterns
US4688983A (en) * 1984-05-21 1987-08-25 Unimation Inc. Low cost robot
US4603284A (en) 1984-06-05 1986-07-29 Unimation, Inc. Control system for manipulator apparatus with resolved compliant motion control
US4676002A (en) * 1984-06-25 1987-06-30 Slocum Alexander H Mechanisms to determine position and orientation in space
JPS61100570A (ja) 1984-10-19 1986-05-19 Nissan Chem Ind Ltd ピラゾ−ル誘導体の製法
JPS61105411A (ja) * 1984-10-29 1986-05-23 Mitsutoyo Mfg Co Ltd 多次元測定機の測定方法
US4654648A (en) * 1984-12-17 1987-03-31 Herrington Richard A Wireless cursor control system
US4782327A (en) 1985-01-02 1988-11-01 Victor B. Kley Computer control
US4632341A (en) * 1985-02-06 1986-12-30 The United States Of America As Represented By The Secretary Of The Air Force Stabilizing force feedback in bio-actuated control systems
JPH0537531Y2 (ja) 1985-06-11 1993-09-22
US5078152A (en) 1985-06-23 1992-01-07 Loredan Biomedical, Inc. Method for diagnosis and/or training of proprioceptor feedback capabilities in a muscle and joint system of a human patient
DE3523188A1 (de) * 1985-06-28 1987-01-08 Zeiss Carl Fa Steuerung fuer koordinatenmessgeraete
US4704909A (en) * 1985-07-22 1987-11-10 Grahn Allen R Multicomponent force-torque sensor
US4679331A (en) * 1985-08-26 1987-07-14 Ppg Industries, Inc. Apparatus and method for determining contour characteristics of a contoured article
US4713007A (en) 1985-10-11 1987-12-15 Alban Eugene P Aircraft controls simulator
US5275174B1 (en) 1985-10-30 1998-08-04 Jonathan A Cook Repetitive strain injury assessment
NL8503096A (nl) 1985-11-11 1987-06-01 Fokker Bv Simulator van mechanische eigenschappen van een besturingssysteem.
US5103404A (en) * 1985-12-06 1992-04-07 Tensor Development, Inc. Feedback for a manipulator
US4934694A (en) 1985-12-06 1990-06-19 Mcintosh James L Computer controlled exercise system
US4891764A (en) 1985-12-06 1990-01-02 Tensor Development Inc. Program controlled force measurement and control system
US5591924A (en) 1985-12-18 1997-01-07 Spacetec Imc Corporation Force and torque converter
US4811608A (en) * 1985-12-18 1989-03-14 Spatial Systems Pty Limited Force and torque converter
JPH085018B2 (ja) 1986-02-26 1996-01-24 株式会社日立製作所 遠隔マニピユレ−シヨン方法及び装置
US4787051A (en) * 1986-05-16 1988-11-22 Tektronix, Inc. Inertial mouse system
JPS62194389U (ja) 1986-05-31 1987-12-10
US4803413A (en) * 1986-07-15 1989-02-07 Honeywell Inc. Magnetic isolating and pointing gimbal apparatus
US4791934A (en) * 1986-08-07 1988-12-20 Picker International, Inc. Computer tomography assisted stereotactic surgery system and method
US4945305A (en) * 1986-10-09 1990-07-31 Ascension Technology Corporation Device for quantitatively measuring the relative position and orientation of two bodies in the presence of metals utilizing direct current magnetic fields
US4849692A (en) * 1986-10-09 1989-07-18 Ascension Technology Corporation Device for quantitatively measuring the relative position and orientation of two bodies in the presence of metals utilizing direct current magnetic fields
NL8602624A (nl) 1986-10-20 1988-05-16 Oce Nederland Bv Invoerinrichting met taktiele terugkoppeling.
NL8602697A (nl) * 1986-10-27 1988-05-16 Huka Bv Developments Joystick.
US4795296A (en) 1986-11-17 1989-01-03 California Institute Of Technology Hand-held robot end effector controller having movement and force control
US4750487A (en) * 1986-11-24 1988-06-14 Zanetti Paul H Stereotactic frame
CA1299362C (en) * 1986-12-10 1992-04-28 Gregory James Mcdonald Coordinate measuring system
JPH0829509B2 (ja) 1986-12-12 1996-03-27 株式会社日立製作所 マニピユレ−タの制御装置
US4819195A (en) * 1987-01-20 1989-04-04 The Warner & Swasey Company Method for calibrating a coordinate measuring machine and the like and system therefor
US4945501A (en) * 1987-01-20 1990-07-31 The Warner & Swasey Company Method for determining position within the measuring volume of a coordinate measuring machine and the like and system therefor
US4800721A (en) * 1987-02-13 1989-01-31 Caterpillar Inc. Force feedback lever
US4839838A (en) * 1987-03-30 1989-06-13 Labiche Mitchell Spatial input apparatus
GB2204131B (en) * 1987-04-28 1991-04-17 Ibm Graphics input tablet
US4961138A (en) * 1987-05-01 1990-10-02 General Datacomm, Inc. System and apparatus for providing three dimensions of input into a host processor
IT1214292B (it) * 1987-05-05 1990-01-10 Garda Impianti Srl Apparecchiatura per la misura e/o il controllo della posizione edella orientazione di punti o zone caratteristiche di strutture, in particolare di scocche di autoveicoli.
US4868549A (en) 1987-05-18 1989-09-19 International Business Machines Corporation Feedback mouse
DE3717459A1 (de) * 1987-05-23 1988-12-01 Zeiss Carl Fa Handgefuehrtes koordinatenmessgeraet
US4896554A (en) 1987-11-03 1990-01-30 Culver Craig F Multifunction tactile manipulatable control
DE3740070A1 (de) * 1987-11-26 1989-06-08 Zeiss Carl Fa Dreh-schwenk-einrichtung fuer tastkoepfe von koordinatenmessgeraeten
GB8729638D0 (en) * 1987-12-19 1988-02-03 Renishaw Plc Mounting for surface sensing device
US4891784A (en) * 1988-01-08 1990-01-02 Hewlett-Packard Company High capacity tape drive transparently writes and reads large packets of blocked data between interblock gaps
JP2720970B2 (ja) * 1988-01-29 1998-03-04 日本ヒューレット・パッカード株式会社 測定器
US5251127A (en) * 1988-02-01 1993-10-05 Faro Medical Technologies Inc. Computer-aided surgery apparatus
GB8803847D0 (en) * 1988-02-18 1988-03-16 Renishaw Plc Mounting for surface-sensing device
SE461548B (sv) * 1988-02-18 1990-02-26 Johansson Ab C E Foerfarande och anordning foer bestaemning av och korrigering foer laegesfel vid maetning av en punkts laege eller vid positionering till en punkt med ett bestaemt laege
US4925312A (en) 1988-03-21 1990-05-15 Staubli International Ag Robot control system having adaptive feedforward torque control for improved accuracy
US5038089A (en) 1988-03-23 1991-08-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronized computational architecture for generalized bilateral control of robot arms
US4907970A (en) * 1988-03-30 1990-03-13 Grumman Aerospace Corporation Sidestick-type thrust control simulator
US4942545A (en) * 1988-06-06 1990-07-17 Combustion Engineering, Inc. Calibration of eddy current profilometry
NL8801653A (nl) 1988-06-29 1990-01-16 Stork Kwant Bv Besturingsstelsel.
US5050608A (en) * 1988-07-12 1991-09-24 Medirand, Inc. System for indicating a position to be operated in a patient's body
US5116180A (en) 1988-07-18 1992-05-26 Spar Aerospace Limited Human-in-the-loop machine control loop
US4962448A (en) 1988-09-30 1990-10-09 Demaio Joseph Virtual pivot handcontroller
EP0362626B1 (de) * 1988-10-03 1993-02-10 Firma Carl Zeiss Prüfkörper für Koordinatenmessgeräte
FR2638010B1 (fr) 1988-10-13 1991-01-18 Acroe Clavier retroactif modulaire et actionneur modulaire plat
US5007085A (en) * 1988-10-28 1991-04-09 International Business Machines Corporation Remotely sensed personal stylus
US4907973A (en) * 1988-11-14 1990-03-13 Hon David C Expert system simulator for modeling realistic internal environments and performance
US4930770A (en) 1988-12-01 1990-06-05 Baker Norman A Eccentrically loaded computerized positive/negative exercise machine
US5189806A (en) * 1988-12-19 1993-03-02 Renishaw Plc Method of and apparatus for scanning the surface of a workpiece
US4949119A (en) 1989-01-12 1990-08-14 Atari Games Corporation Gearshift for a vehicle simulator using computer controlled realistic real world forces
US5116051A (en) * 1989-01-12 1992-05-26 Atari Games Corporation Strain gauge pressure-sensitive video game control
US5044956A (en) * 1989-01-12 1991-09-03 Atari Games Corporation Control device such as a steering wheel for video vehicle simulator with realistic feedback forces
US5186695A (en) 1989-02-03 1993-02-16 Loredan Biomedical, Inc. Apparatus for controlled exercise and diagnosis of human performance
US5019761A (en) 1989-02-21 1991-05-28 Kraft Brett W Force feedback control for backhoe
JPH02220106A (ja) * 1989-02-22 1990-09-03 Okuma Mach Works Ltd 計測機能を有するデジタイズ制御装置
GB8904955D0 (en) * 1989-03-03 1989-04-12 Atomic Energy Authority Uk Multi-axis hand controller
US4983901A (en) 1989-04-21 1991-01-08 Allergan, Inc. Digital electronic foot control for medical apparatus and the like
JPH02290506A (ja) * 1989-04-28 1990-11-30 Mitsutoyo Corp 三次元測定機
US5184306A (en) * 1989-06-09 1993-02-02 Regents Of The University Of Minnesota Automated high-precision fabrication of objects of complex and unique geometry
US5076517A (en) 1989-08-14 1991-12-31 United Technologies Corporation Programmable, linear collective control system for a helicopter
JPH07104146B2 (ja) * 1989-08-29 1995-11-13 株式会社ミツトヨ 座標測定用プローブの回転テーブル倣い制御方法
US5139261A (en) * 1989-09-15 1992-08-18 Openiano Renato M Foot-actuated computer game controller serving as a joystick
US5182557A (en) * 1989-09-20 1993-01-26 Semborg Recrob, Corp. Motorized joystick
US4961038A (en) 1989-10-16 1990-10-02 General Electric Company Torque estimator for switched reluctance machines
US5209131A (en) * 1989-11-03 1993-05-11 Rank Taylor Hobson Metrology
US5126948A (en) * 1989-11-08 1992-06-30 Ltv Aerospace And Defense Company Digital position encoder and data optimizer
US5107080A (en) * 1989-12-01 1992-04-21 Massachusetts Institute Of Technology Multiple degree of freedom damped hand controls
US4983786A (en) * 1990-01-17 1991-01-08 The University Of British Columbia XY velocity controller
US5022407A (en) 1990-01-24 1991-06-11 Topical Testing, Inc. Apparatus for automated tactile testing
US5259894A (en) * 1990-01-26 1993-11-09 Sampson Richard K Method for solvent bonding non-porous materials to automatically create variable bond characteristics
US5072361A (en) * 1990-02-01 1991-12-10 Sarcos Group Force-reflective teleoperation control system
US5184319A (en) * 1990-02-02 1993-02-02 Kramer James F Force feedback and textures simulating interface device
US5113179A (en) 1990-03-16 1992-05-12 Advanced Gravis Computer Technology Ltd. Switch joystick
US5132672A (en) * 1990-03-27 1992-07-21 Apple Computer, Inc. Three degree of freedom graphic object controller
US5095303A (en) * 1990-03-27 1992-03-10 Apple Computer, Inc. Six degree of freedom graphic object controller
US5128671A (en) * 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
US5035242A (en) 1990-04-16 1991-07-30 David Franklin Method and apparatus for sound responsive tactile stimulation of deaf individuals
JPH0438507A (ja) * 1990-06-05 1992-02-07 Mitsui Eng & Shipbuild Co Ltd ジョイスティックコントロール装置
GB9014130D0 (en) 1990-06-25 1990-08-15 Hewlett Packard Co User interface
US5547382A (en) 1990-06-28 1996-08-20 Honda Giken Kogyo Kabushiki Kaisha Riding simulation system for motorcycles
US5197003A (en) 1990-08-01 1993-03-23 Atari Games Corporation Gearshift for a vehicle simulator having a solenoid for imposing a resistance force
JPH0492691A (ja) 1990-08-07 1992-03-25 Taito Corp ステアリング操作装置
US5251156A (en) * 1990-08-25 1993-10-05 Carl-Zeiss-Stiftung, Heidenheim/Brenz Method and apparatus for non-contact measurement of object surfaces
US5181181A (en) * 1990-09-27 1993-01-19 Triton Technologies, Inc. Computer apparatus input device for three-dimensional information
WO1992007350A1 (en) * 1990-10-15 1992-04-30 National Biomedical Research Foundation Three-dimensional cursor control device
US5142506A (en) * 1990-10-22 1992-08-25 Logitech, Inc. Ultrasonic position locating method and apparatus therefor
US5209661A (en) 1990-10-29 1993-05-11 Systems Control Technology, Inc. Motor control desired dynamic load of a simulating system and method
US5193963A (en) 1990-10-31 1993-03-16 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Force reflecting hand controller
JPH04195322A (ja) * 1990-11-28 1992-07-15 Mitsubishi Electric Corp マウス入力装置
NL194053C (nl) 1990-12-05 2001-05-03 Koninkl Philips Electronics Nv Inrichting met een rotatiesymmetrisch lichaam.
US5223776A (en) * 1990-12-31 1993-06-29 Honeywell Inc. Six-degree virtual pivot controller
US5204600A (en) 1991-02-06 1993-04-20 Hewlett-Packard Company Mechanical detent simulating system
US5098437A (en) 1991-02-13 1992-03-24 Pfizer Hospital Products Group, Inc. Acetabular cup positioning insert
US5142931A (en) * 1991-02-14 1992-09-01 Honeywell Inc. 3 degree of freedom hand controller
US5212473A (en) 1991-02-21 1993-05-18 Typeright Keyboard Corp. Membrane keyboard and method of using same
US5334027A (en) 1991-02-25 1994-08-02 Terry Wherlock Big game fish training and exercise device and method
US5143505A (en) * 1991-02-26 1992-09-01 Rutgers University Actuator system for providing force feedback to a dextrous master glove
US5354162A (en) * 1991-02-26 1994-10-11 Rutgers University Actuator system for providing force feedback to portable master support
US5240417A (en) 1991-03-14 1993-08-31 Atari Games Corporation System and method for bicycle riding simulation
ATE140331T1 (de) 1991-03-21 1996-07-15 Atari Games Corp Fahrtsimulator mit überkreuzter netzwerkrückkoppelung
US5203563A (en) 1991-03-21 1993-04-20 Atari Games Corporation Shaker control device
US5131844A (en) * 1991-04-08 1992-07-21 Foster-Miller, Inc. Contact digitizer, particularly for dental applications
GB9108497D0 (en) 1991-04-20 1991-06-05 Ind Limited W Human/computer interface
JPH06508222A (ja) * 1991-05-23 1994-09-14 アタリ ゲームズ コーポレーション モジュール式表示シミュレーター
US5146566A (en) 1991-05-29 1992-09-08 Ibm Corporation Input/output system for computer user interface using magnetic levitation
US5178012A (en) * 1991-05-31 1993-01-12 Rockwell International Corporation Twisting actuator accelerometer
US5279309A (en) 1991-06-13 1994-01-18 International Business Machines Corporation Signaling device and method for monitoring positions in a surgical operation
US5388992A (en) 1991-06-19 1995-02-14 Audiological Engineering Corporation Method and apparatus for tactile transduction of acoustic signals from television receivers
JP2514490B2 (ja) * 1991-07-05 1996-07-10 株式会社ダイヘン 産業用ロボットの連動手動操作による教示制御方法
US5185561A (en) * 1991-07-23 1993-02-09 Digital Equipment Corporation Torque motor as a tactile feedback device in a computer system
DE69207983T2 (de) * 1991-07-27 1996-06-05 Renishaw Transducer Syst Kalibrier- und Messgerät
US5186629A (en) * 1991-08-22 1993-02-16 International Business Machines Corporation Virtual graphics display capable of presenting icons and windows to the blind computer user and method
US5235868A (en) 1991-10-02 1993-08-17 Culver Craig F Mechanism for generating control signals
US5262777A (en) * 1991-11-16 1993-11-16 Sri International Device for generating multidimensional input signals to a computer
US5889670A (en) 1991-10-24 1999-03-30 Immersion Corporation Method and apparatus for tactilely responsive user interface
US5220260A (en) 1991-10-24 1993-06-15 Lex Computer And Management Corporation Actuator having electronically controllable tactile responsiveness
US5271290A (en) 1991-10-29 1993-12-21 United Kingdom Atomic Energy Authority Actuator assembly
US5488213A (en) * 1991-11-21 1996-01-30 Cherry Mikroschalter Gmbh Low-profile keyboard key
US5228356A (en) * 1991-11-25 1993-07-20 Chuang Keh Shih K Variable effort joystick
US5309140A (en) 1991-11-26 1994-05-03 The United States Of America As Represented By The Secretary Of The Navy Feedback system for remotely operated vehicles
US5230623A (en) * 1991-12-10 1993-07-27 Radionics, Inc. Operating pointer with interactive computergraphics
GB9201214D0 (en) 1992-01-21 1992-03-11 Mcmahon Michael J Surgical retractors
DE4205875A1 (de) 1992-02-26 1993-09-02 Vdo Schindling Bedienvorrichtung
US5559432A (en) 1992-02-27 1996-09-24 Logue; Delmar L. Joystick generating a polar coordinates signal utilizing a rotating magnetic field within a hollow toroid core
CA2062147C (en) * 1992-03-02 1995-07-25 Kenji Hara Multi-axial joy stick device
US5589828A (en) 1992-03-05 1996-12-31 Armstrong; Brad A. 6 Degrees of freedom controller with capability of tactile feedback
JP3199130B2 (ja) 1992-03-31 2001-08-13 パイオニア株式会社 3次元座標入力装置
US5189355A (en) 1992-04-10 1993-02-23 Ampex Corporation Interactive rotary controller system with tactile feedback
JP2677315B2 (ja) 1992-04-27 1997-11-17 株式会社トミー 運転玩具
US5273418A (en) * 1992-04-29 1993-12-28 Nok Corporation Molding machine
US5368484A (en) 1992-05-22 1994-11-29 Atari Games Corp. Vehicle simulator with realistic operating feedback
US5366376A (en) 1992-05-22 1994-11-22 Atari Games Corporation Driver training system and method with performance data feedback
US5551701A (en) 1992-08-19 1996-09-03 Thrustmaster, Inc. Reconfigurable video game controller with graphical reconfiguration display
US5245320A (en) 1992-07-09 1993-09-14 Thrustmaster, Inc. Multiport game card with configurable address
US5296871A (en) 1992-07-27 1994-03-22 Paley W Bradford Three-dimensional mouse with tactile feedback
US5428748A (en) 1992-09-24 1995-06-27 National Semiconductor Corporation Method and apparatus for automatically configuring a computer peripheral
JPH06210065A (ja) 1992-09-30 1994-08-02 Sega Enterp Ltd 家庭用ビデオゲーム機用操縦装置
US5264768A (en) * 1992-10-06 1993-11-23 Honeywell, Inc. Active hand controller feedback loop
US5286203A (en) 1992-10-07 1994-02-15 Aai Microflite Simulation International Simulating horizontal stabilizer trimming in an aircraft
US5666473A (en) 1992-10-08 1997-09-09 Science & Technology Corporation & Unm Tactile computer aided sculpting device
US5790108A (en) * 1992-10-23 1998-08-04 University Of British Columbia Controller
US5397323A (en) 1992-10-30 1995-03-14 International Business Machines Corporation Remote center-of-motion robot for surgery
US5629594A (en) 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
US5389865A (en) 1992-12-02 1995-02-14 Cybernet Systems Corporation Method and system for providing a tactile virtual reality and manipulator defining an interface device therefor
US5769640A (en) 1992-12-02 1998-06-23 Cybernet Systems Corporation Method and system for simulating medical procedures including virtual reality and control method and system for use therein
US5550562A (en) 1993-01-12 1996-08-27 Fujitsu Limited Data processing device that enables mouse-operated application programs to be operated from an operation pad, and an operation pad for use with the same
US5451924A (en) 1993-01-14 1995-09-19 Massachusetts Institute Of Technology Apparatus for providing sensory substitution of force feedback
EP0607580A1 (en) 1993-01-21 1994-07-27 International Business Machines Corporation Tactile feedback mechanism for cursor control
US5785630A (en) 1993-02-02 1998-07-28 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
US5402582A (en) 1993-02-23 1995-04-04 Faro Technologies Inc. Three dimensional coordinate measuring apparatus
US5412880A (en) 1993-02-23 1995-05-09 Faro Technologies Inc. Method of constructing a 3-dimensional map of a measurable quantity using three dimensional coordinate measuring apparatus
JP3259425B2 (ja) * 1993-04-09 2002-02-25 ヤマハ株式会社 パラメータ指示装置
JP3686686B2 (ja) * 1993-05-11 2005-08-24 松下電器産業株式会社 力覚呈示デバイス、データ入力装置、及びデータ入力デバイス装置
US5429140A (en) 1993-06-04 1995-07-04 Greenleaf Medical Systems, Inc. Integrated virtual reality rehabilitation system
US5396266A (en) 1993-06-08 1995-03-07 Technical Research Associates, Inc. Kinesthetic feedback apparatus and method
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5351692A (en) * 1993-06-09 1994-10-04 Capistrano Labs Inc. Laparoscopic ultrasonic probe
US5513100A (en) 1993-06-10 1996-04-30 The University Of British Columbia Velocity controller with force feedback stiffness control
US5466213A (en) 1993-07-06 1995-11-14 Massachusetts Institute Of Technology Interactive robotic therapist
US5767839A (en) 1995-01-18 1998-06-16 Immersion Human Interface Corporation Method and apparatus for providing passive force feedback to human-computer interface systems
US6057828A (en) 1993-07-16 2000-05-02 Immersion Corporation Method and apparatus for providing force sensations in virtual environments in accordance with host software
WO1995002801A1 (en) 1993-07-16 1995-01-26 Immersion Human Interface Three-dimensional mechanical mouse
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
US5721566A (en) 1995-01-18 1998-02-24 Immersion Human Interface Corp. Method and apparatus for providing damping force feedback
US5805140A (en) 1993-07-16 1998-09-08 Immersion Corporation High bandwidth force feedback interface using voice coils and flexures
US5625576A (en) 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
US5436640A (en) 1993-10-29 1995-07-25 Thrustmaster, Inc. Video game and simulator joystick controller with geared potentiometer actuation
US5384460A (en) 1993-11-03 1995-01-24 Silitek Corporation Encoder with a light emitting editing wheel
DE69423313T2 (de) 1993-12-20 2000-07-13 Seiko Epson Corp Elektronische Hinweisanordnung
JPH07111663B2 (ja) 1993-12-28 1995-11-29 コナミ株式会社 操作用フットペダル
US5577981A (en) 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
WO1995020787A1 (en) 1994-01-27 1995-08-03 Exos, Inc. Multimode feedback display technology
WO1995020788A1 (en) 1994-01-27 1995-08-03 Exos, Inc. Intelligent remote multimode sense and display system utilizing haptic information compression
US5436542A (en) 1994-01-28 1995-07-25 Surgix, Inc. Telescopic camera mount with remotely controlled positioning
JPH07230356A (ja) * 1994-02-16 1995-08-29 Kokusai Electric Co Ltd マウス誤移動防止回路
US5482051A (en) 1994-03-10 1996-01-09 The University Of Akron Electromyographic virtual reality system
JP2665313B2 (ja) 1994-04-22 1997-10-22 国際電業株式会社 反力発生装置
US6004134A (en) 1994-05-19 1999-12-21 Exos, Inc. Interactive simulation including force feedback
JPH0880100A (ja) 1994-06-30 1996-03-22 Mitsubishi Electric Corp 誘導電動機の制御装置及びその制御方法
US5623582A (en) 1994-07-14 1997-04-22 Immersion Human Interface Corporation Computer interface or control input device for laparoscopic surgical instrument and other elongated mechanical objects
JPH0843872A (ja) * 1994-08-03 1996-02-16 Minolta Co Ltd 電気−機械変換素子を使用したレンズ駆動装置
EP0727065B1 (en) 1994-09-07 2002-02-06 Koninklijke Philips Electronics N.V. Virtual workspace with user-programmable tactile feedback
US5669818A (en) 1995-03-23 1997-09-23 Thorner; Craig Seat-based tactile sensation generator
US6422941B1 (en) 1994-09-21 2002-07-23 Craig Thorner Universal tactile feedback system for computer video games and simulations
US5570111A (en) 1994-10-03 1996-10-29 International Business Machines Corporation Graphical user interface cursor positioning device having a negative inertia transfer function
US5642469A (en) 1994-11-03 1997-06-24 University Of Washington Direct-drive manipulator for pen-based force display
US5766016A (en) 1994-11-14 1998-06-16 Georgia Tech Research Corporation Surgical simulator and method for simulating surgical procedure
US5666138A (en) 1994-11-22 1997-09-09 Culver; Craig F. Interface control
JP3236180B2 (ja) 1994-12-05 2001-12-10 日本電気株式会社 座標指示装置
US5882206A (en) 1995-03-29 1999-03-16 Gillio; Robert G. Virtual surgery system
US5736978A (en) 1995-05-26 1998-04-07 The United States Of America As Represented By The Secretary Of The Air Force Tactile graphics display
US5589854A (en) 1995-06-22 1996-12-31 Tsai; Ming-Chang Touching feedback device
US5771037A (en) 1995-07-24 1998-06-23 Altra Computer display cursor controller
DE19528457C2 (de) 1995-08-03 2001-03-08 Mannesmann Vdo Ag Bedieneinrichtung
US5724068A (en) 1995-09-07 1998-03-03 Microsoft Corporation Joystick with uniform center return force
AU734018B2 (en) 1995-10-09 2001-05-31 Nintendo Co., Ltd. Three-dimension image processing system
US5754023A (en) 1995-10-26 1998-05-19 Cybernet Systems Corporation Gyro-stabilized platforms for force-feedback applications
WO1997020305A1 (en) 1995-11-30 1997-06-05 Virtual Technologies, Inc. Tactile feedback man-machine interface device
US6219032B1 (en) 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
US5857986A (en) 1996-05-24 1999-01-12 Moriyasu; Hiro Interactive vibrator for multimedia
US6128006A (en) 1998-03-26 2000-10-03 Immersion Corporation Force feedback mouse wheel and other control wheels
US6422041B1 (en) * 1999-08-16 2002-07-23 The Boc Group, Inc. Method of boosting a glass melting furnace using a roof mounted oxygen-fuel burner

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014099203A (ja) * 2001-07-31 2014-05-29 Immersion Corp 触覚フィードバックを有する操作ホイール及びハンドルシステム
JP2007510232A (ja) * 2003-10-30 2007-04-19 センサブル テクノロジーズ インコーポレイテッド 反力提示型力覚インタフェース
JP2006192264A (ja) * 2004-12-22 2006-07-27 Delphi Technologies Inc 2次元画像検出機能を備えたジョイスティックセンサー
JP2013069350A (ja) * 2005-09-15 2013-04-18 Apple Inc トラックパッドデバイスの未加工データを処理するシステム及び方法
JP2010225155A (ja) * 2009-03-24 2010-10-07 Immersion Corp 触覚フィードバックを有する携帯コンピュータインタフェース
JP2013505470A (ja) * 2009-09-17 2013-02-14 セントレ・ナショナル・デ・ラ・レシェルシェ・サイエンティフィーク 触覚フィードバックにより特有の動きを模擬する方法および該方法を実行する装置
JP2015111274A (ja) * 2009-09-17 2015-06-18 セントレ・ナショナル・デ・ラ・レシェルシェ・サイエンティフィーク 触覚フィードバックにより特有の動きを模擬する方法および該方法を実行する装置
US10850192B2 (en) 2016-03-04 2020-12-01 Sony Interactive Entertainment Inc. Control apparatus and control program
US11654353B2 (en) 2016-03-04 2023-05-23 Sony Interactive Entertainment Inc. Control apparatus and control program
US11198060B2 (en) 2016-03-04 2021-12-14 Sony Interactive Entertainment Inc. Control apparatus and control program
US10881953B2 (en) 2016-07-21 2021-01-05 Sony Interactive Entertainment Inc. Operating device and control system
US11596858B2 (en) 2016-07-21 2023-03-07 Sony Interactive Entertainment Inc. Operating device and control system
US11524226B2 (en) 2016-07-26 2022-12-13 Sony Interactive Entertainment Inc. Operation device and method for controlling the same
US12109487B2 (en) 2016-07-26 2024-10-08 Sony Interactive Entertainment Inc. Operation device and method for controlling the same
US11980810B2 (en) 2016-07-26 2024-05-14 Sony Interactive Entertainment Inc. Information processing system, operation device, and operation device control method
US10967253B2 (en) 2016-07-26 2021-04-06 Sony Interactive Entertainment Inc. Operation device and method for controlling the same
US11344797B2 (en) 2016-07-26 2022-05-31 Sony Interactive Entertainment Inc. Information processing system, operation device, and operation device control method with multi-mode haptic feedback
JPWO2018020778A1 (ja) * 2016-07-26 2018-12-13 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、操作デバイス、及び操作デバイスの制御方法
US11173393B2 (en) 2017-09-29 2021-11-16 Sony Interactive Entertainment Inc. Operation device and control apparatus therefor
US11511185B2 (en) 2017-10-27 2022-11-29 Sony Interactive Entertainment Inc. Operation device
WO2021049078A1 (ja) * 2019-09-10 2021-03-18 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
JP2021041326A (ja) * 2019-09-10 2021-03-18 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
WO2021049080A1 (ja) * 2019-09-10 2021-03-18 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
JP2021041325A (ja) * 2019-09-10 2021-03-18 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
WO2023233624A1 (ja) * 2022-06-02 2023-12-07 株式会社ソニー・インタラクティブエンタテインメント 操作部材を駆動させる情報処理装置
WO2023242962A1 (ja) * 2022-06-14 2023-12-21 株式会社ソニー・インタラクティブエンタテインメント 操作デバイス、その制御方法、情報処理装置、及びプログラム

Also Published As

Publication number Publication date
DE69636703D1 (de) 2006-12-28
US20060007184A1 (en) 2006-01-12
CA2233136C (en) 2012-01-31
CA2233136A1 (en) 1997-04-03
JP2011065678A (ja) 2011-03-31
EP0852789A4 (en) 1998-12-09
EP0852789A1 (en) 1998-07-15
US6219033B1 (en) 2001-04-17
US8077145B2 (en) 2011-12-13
DE69636703T2 (de) 2007-09-13
US6580417B2 (en) 2003-06-17
US6982700B2 (en) 2006-01-03
EP0852789B1 (en) 2006-11-15
JP4929394B2 (ja) 2012-05-09
WO1997012357A1 (en) 1997-04-03
US20030193475A1 (en) 2003-10-16
US5734373A (en) 1998-03-31
US20010030658A1 (en) 2001-10-18
JP4689747B2 (ja) 2011-05-25
JP2010061667A (ja) 2010-03-18

Similar Documents

Publication Publication Date Title
JP4689747B2 (ja) ホストコンピュータを利用して力フィードバックインタフェースを制御する方法および装置
CA2271129C (en) Method and apparatus for shaping force signals for a force feedback device
US5739811A (en) Method and apparatus for controlling human-computer interface systems providing force feedback
US7199790B2 (en) Providing force feedback to a user of an interface device based on interactions of a user-controlled cursor in a graphical user interface
WO1997012357A9 (en) Method and apparatus for controlling force feedback interface systems utilizing a host computer
EP0852770B1 (en) Safe and low cost computer peripherals with force feedback for consumer applications

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040706

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040924

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060105