DE10004372B4 - Gestaltung von Kraftempfindungen für Computeranwendungen mit Geräuschen - Google Patents

Gestaltung von Kraftempfindungen für Computeranwendungen mit Geräuschen Download PDF

Info

Publication number
DE10004372B4
DE10004372B4 DE10004372A DE10004372A DE10004372B4 DE 10004372 B4 DE10004372 B4 DE 10004372B4 DE 10004372 A DE10004372 A DE 10004372A DE 10004372 A DE10004372 A DE 10004372A DE 10004372 B4 DE10004372 B4 DE 10004372B4
Authority
DE
Germany
Prior art keywords
force
sensation
user
input
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10004372A
Other languages
English (en)
Other versions
DE10004372A1 (de
Inventor
Dean C. Santa Clara Chang
Louis B. San Jose Rosenberg
Jeffrey R. Boulder Creek Mallett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Immersion Corp
Original Assignee
Immersion Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Immersion Corp filed Critical Immersion Corp
Publication of DE10004372A1 publication Critical patent/DE10004372A1/de
Application granted granted Critical
Publication of DE10004372B4 publication Critical patent/DE10004372B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/6063Methods for processing data by generating or executing the game program for sound processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/014Force feedback applied to GUI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/015Force feedback applied to a joystick

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Saccharide Compounds (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zur Realisierung einer Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung, wobei das Verfahren umfasst:
– Anzeigen der Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung auf einer Anzeigeeinheit eines Host-Computers;
– Erhalten einer Eingabe von einem Benutzer an die Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung, wobei die Eingabe eine Kraftempfindungsart wählt, die von dem Host-Computer befehlsgesteuert und durch eine Force-Feedback-Schnittstellenvorrichtung ausgegeben werden soll, wobei die Force-Feedback-Schnittstellenvorrichtung einen Gegenstand einschließt, der von einem Benutzer betätigt werden kann, den ein Benutzer greifen kann und der in einem Freiheitsgrad beweglich ist;
– Erhalten einer Eingabe von einem Benutzer zur Definition der physikalischen Merkmale der ausgewählten Kraftempfindung;
– Anzeigen einer graphischen Darstellung der ausgewählten Kraftempfindung, wie sie von dem Benutzer gekennzeichnet wurde, wobei die graphische Darstellung dem Benutzer eine visuelle Demonstration eines Fühlens der gekennzeichneten Kraftempfindung zur Verfügung stellt;
– Verbinden der ausgewählten Kraftempfindung und eines Geräusches miteinander;
– Befehlen, dass die gekennzeichnete...

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf Schnittstellenvorrichtungen, die es dem Menschen ermöglichen, mit Computersystemen in Verbindung zu treten, und insbesondere auf Computer-Schnittstellenvorrichtungen, die eine Eingabe vom Benutzer an Computersysteme liefern und eine Kraftrückkopplung an den Benutzer realisieren.
  • Durch Verwenden einer Schnittstellenvorrichtung kann ein Benutzer mit einer von einem Computersystem angezeigten Umgebung in Dialog treten, um Funktionen und Aufgaben auf dem Computer durchzuführen, beispielsweise das Spielen eines Spiels, Erleben einer Simulation oder virtuellen Wirklichkeitsumgebung, Benutzen eines computergestützten Gestaltungssystems, Bedienen einer graphischen Benutzeroberfläche (GUI) oder andersartiges Beeinflussen von auf dem Bildschirm veranschaulichten Geschehnissen oder Abbildungen. Übliche Mensch/Computer-Schnittstellenvorrichtungen, die für einen derartigen Dialog verwendet werden, sind u. a. ein Joystick, eine Maus, eine Rollkugel, eine Art Stift (Stylus), ein Tablett, eine druckempfindliche Kugel oder dergleichen, die an das Computersystem angeschlossen sind, das die angezeigte Umgebung steuert. Typischerweise aktualisiert der Computer die Umgebung unter Ansprechen auf die Betätigung des Benutzers eines durch den Benutzer bedienbaren körperlichen Gegenstands, wie ein Joystick-Griff oder eine Maus, und liefert dem Benutzer unter Verwendung des Bildschirms und der Lautsprecher eine sichtbare und hörbare Rückkopplung (Feedback). Der Computer fühlt die Betätigung des Benutzers des Benutzergegenstands durch Meßfühler ab, die auf der Schnittstellenvorrichtung vorgesehen sind und Lokativsignale an den Computer senden.
  • Bei einigen Schnittstellenvorrichtungen wird dem Benutzer auch eine haptische Rückkopplung zur Verfügung gestellt, die auch als ”Force Feedback” bekannt ist. Diese Arten von Schnittstellenvorrichtungen können körperliche Empfindungen liefern, die von dem Benutzer, der einen benutzerbedienbaren Gegenstand der Schnittstellenvorrichtung betätigt, gefühlt werden können. Beispielsweise kann der Force-FX Joystick Controller von der Firma CH Products, Inc. oder der Wingman Force Joystick von der Firma Logitech an einen Computer angeschlossen werden und gibt Kräfte an einen Benutzer der Steuerung ab. Andere Systeme könnten eine Maussteuerung für das Force Feedback verwenden. In der Vorrichtung werden ein oder mehr Motoren oder andere Aktuatoren verwendet, die an das Steuerungscomputersystem angeschlossen sind. Das Computersystem steuert die Kräfte auf dem Joystick in Verbindung und koordiniert mit angezeigten Geschehnissen und Dialogen, indem es Steuersignale oder Steuerbefehle an die Aktuatoren sendet. Auf diese Weise kann das Computersystem physikalische Kraftempfindungen in Verbindung mit einer anderen zugeführten Rückkopplung zu dem Benutzer transportieren, wenn der Benutzer den Joystick oder anderen Gegenstand der Schnittstellenvorrichtung ergreift oder berührt. Wenn der Benutzer z. B. den betätigbaren Gegenstand bewegt und veranlaßt, daß ein dargestellter Positionsanzeiger (Cursor) mit einem anderen dargestellten graphischen Objekt in Wechselbeziehung tritt, kann der Computer einen Steuerbefehl ausgeben, der den Aktuator zur Ausgabe einer Kraft auf den Benutzergegenstand veranlaßt und so eine fühlbare Empfindung zu dem Benutzer transportiert.
  • Ein Problem bei der Entwicklung von Force-Feedback-Empfindungen in Software des Standes der Technik ist, daß der Programmierer von Force-Feedback-Anwendungen kein intuitives Gespür dafür hat, wie Kräfte sich anfühlen werden, wenn sie auf bestimmte Weise eingestellt sind, und er muß sich daher viel Mühe geben, Kräftemerkmale zu entwickeln, die für eine bestimmte Anwendung erwünscht sind. Ein Programmierer kann z. B. eine spezielle Feder- und Dämpfungskraft-Empfindung zwischen zwei graphischen Objekten schaffen wollen, wobei die Kraftempfindung eine eine bestimmte Steifigkeit, ein bestimmtes Spiel, einen bestimmten Versatz etc. aufweist. Bei gegenwärtigen Force-Feedback-Systemen muss der Programmierer die Parameter und Merkmale der gewünschten Kraft mit einer rohen Kraftmethode bestimmen, indem er einfach Parameter setzt, die Kraft prüft und die Parameter auf iterative Weise einstellt. Diese Methode kann mühselig sein, weil es oft nicht intuitiv ist, wie ein Parameter das Fühlen einer Kraft beeinflussen wird, wenn sie tatsächlich auf den Benutzergegenstand ausgegeben wird; oft kommt der Programmierer mit den Erst-Parametereinstellungen der gewünschten Kraftempfindung vielleicht nicht einmal nahe. Andere Arten von Kräften sind vielleicht überhaupt nicht intuitiv, wie z. B. eine Feder mit negativer Konstante, und so können die Designer von Kraftempfindungen Schwierigkeiten damit haben, diese Arten von Empfindungen in Software-Anwendungen zu integrieren.
  • Des weiteren können die Designer Schwierigkeiten damit haben, Kraftempfindungen mit Tönen zu synchronisieren, die der Designer in Verbindung mit der Kraftempfindung abspielen lassen möchte. Beispielsweise wird eine bestimmte Kraftempfindung wie ein Zusammenstoss oft von einem entsprechenden Geräusch begleitet, um einem Endbenutzer das Erlebnis eindrucksvoller zu präsentieren. Es kann jedoch schwierig sein, eine Kraftempfindung zu entwerfen, die gut mit einem Geräusch synchronisiert ist. Demzufolge wird ein Instrument benötigt, um dem Programmierer oder Entwickler dabei zu helfen, Force-Feedback-Merkmale intuitiv und leicht festzulegen, um gewünschte Kraftempfindungen bereitzustellen und Geräusche mit diesen Kraftempfindungen zu synchronisieren.
  • Aus der DE 196 49 082 C1 ist ein Verfahren zur Realisierung einer Schnittstelle an einem medizinischen Operationsroboter zu entnehmen, wobei eine Eingabeeinrichtung mit einer skalierten (wählbaren) Rückkopplungskraft beaufschlagt wird. Dabei können zusätzlich zu den taktilen Kräften auch Audio-Signale und Video-Signale vom Operationsraum übermittelt werden.
  • Die EP 0 677 933 A2 beschreibt für die Verarbeitung eines Audiosignals an Mischpulten eine Kraftrückkopplungseinheit, wobei die Kräfte bzw. taktilen Rückmeldungen an die Eingabeelemente eingestellt werden können.
  • Die EP 0 655 264 A1 zeigt ein Kraft- bzw. Muskeltrainingsgerät, wobei zur Änderung der Belastungscharakteristik die Einstellung mehrerer Kraftmuster möglich ist. Dabei ist auch die Koppelung der Kraftrückmeldung mit einem von einem Tongenerator erzeugten Geräusch angegeben.
  • WESEN DER ERFINDUNG
  • Die vorliegende Erfindung ist darauf gerichtet, Kraftempfindungen zu gestalten, die von einer Force-Feedback-Schnittstellenvorrichtung ausgegeben werden. Ein Steuer-Host-Computer stellt ein Design-Schnittstellenwerkzeug bereit, das eine intuitive und einfache Gestaltung einer Vielfalt von Kraftempfindungen ermöglicht und es auch ermöglicht, die Kraftempfindungen so einzustellen, daß sie mit gewünschten Geräuscheffekten synchronisiert werden.
  • Insbesondere wird eine Design-Schnittstelle zur Gestaltung von Kraftempfindungen zur Verwendung mit einer Force-Feedback-Schnittstellenvorrichtung beschrieben. Die Schnittstelle zur Gestaltung einer Kraftempfindung wird auf einer Anzeigevorrichtung eines Host-Computers angezeigt. Mit der Eingabe von einem Benutzer wird eine Kraftempfindungsart ausgewählt, die von einem Host-Computer befehlsgesteuert und durch eine Force-Feedback-Schnittstellenvorrichtung ausgegeben werden soll. Dann wird die Eingabe, wie z. B. Parameter, von einem Benutzer erhalten, der physikalische Merkmale der ausgewählten Kraftempfindung gestaltet und definiert. Eine graphische Darstellung der gekennzeichneten Kraftempfindung wird auf einer Anzeigeeinheit des Host-Computers ausgegeben. Die graphische Darstellung stellt dem Benutzer eine visuelle Demonstration eines Fühlens der gekennzeichneten Kraftempfindung zur Verfügung, so daß der Benutzer eine Wirkung von Parametern auf die Kraftempfindung betrachten kann. Die ausgewählte Kraftempfindung ist auch mit einem Geräusch verbunden. Die gekennzeichnete Kraftempfindung wird an einen vom Benutzer bedienbaren Gegenstand der Force-Feedback-Schnittstellenvorrichtung ausgegeben, um dem Benutzer das Fühlen der gestalteten Kraftempfindung zu ermöglichen. Die graphische Darstellung wird in Verbindung mit der gerade auf den Benutzergegenstand ausgegebenen Kraftempfindung aktualisiert. Zum Schluß wird das zugeordnete Geräusch in Verbindung mit der Ausgabe der Kraftempfindung ausgegeben. Nachdem der Benutzer das Gefühl der Empfindung erlebt hat, kann er vorzugsweise zusätzliche Veränderungen an der gekennzeichneten Kräfteempfindung eingeben und die geänderte Kraftempfindung fühlen. Auf diese Weise kann der Benutzer in einem iterativen Verfahren wirkungsvolle Kraftempfindungen durch tatsächliches Erleben dieser Empfindungen gestalten. Durch Hören eines gewünschten Geräusches mit der Kraftempfindung kann der Benutzer die Kraftempfindung auch wiederholt einstellen, so daß sie besser mit dem Ton synchronisiert wird. Der Benutzer kann die Charakterisierung oder Parameter der entworfenen Kraftempfindung vorzugsweise auf ein Speichermedium speichern, auf das andere Programme auf dem Host-Computer oder anderen Computern zugreifen können. So können andere Programme, die das Force Feedback steuern, die entworfene Kraftempfindung in Anwendungen wie Spielen, Simulationen oder Graphikschnittstellen verwenden.
  • Vorzugsweise wird ein Beginn des Tons mit einem Beginn der Kraftempfindung synchronisiert, wenn das Geräusch und die Kraftempfindung ausgegeben werden. In einer Ausführungsform ist die ausgewählte Kraftempfindung mit einer Steuerung auf der Force-Feedback-Vorrichtung verbunden, beispielsweise einem Knopf. Wenn der Benutzer die Steuerung aktiviert, werden die Kraftempfindung, die visuelle Demonstration und der Ton ausgegeben. Die Kraftempfindung und das Geräusch können einem graphischen Symbol (Icon) in der Design-Schnittstelle zugeordnet sein, das den Knopf darstellt. Vorzugsweise kann der Benutzer das Geräusch aus einer Liste mit vielerlei verfügbaren Geräuschen auswählen, die jeweils in einem Standard-Dateiformat bereitgestellt sein können. In dem Schnittstellenwerkzeug der vorliegenden Erfindung kann eine breite Vielfalt von Kraftempfindungsarten entworfen und mit Geräuschen synchronisiert werden, wie z. B. Zustände, wiederkehrende Phasen (Effekte) und Dynamik.
  • Die vorliegende Erfindung stellt auf vorteilhafte Weise ein einfaches, benutzerfreundliches Design-Schnittstellenwerkzeug zum Entwerfen von Force-Feedback-Empfindungen bereit. Bei der gegebenen großen Vielfalt von möglichen Kraftempfindungen und den oft unerwarteten Ergebnissen beim Modifizieren der verschiedenen Kraftempfindungsparameter erfüllt das Design-Schnittstellenwerkzeug der vorliegenden Erfindung die Bedürfnisse der Kraftempfindungsdesigner, die Kraftempfindungen schaffen möchten, die ihren Bedürfnissen möglichst nahe kommen. Die Graphikdesign-Schnittstelle der vorliegenden Erfindung ermöglicht es einem Kraftempfindungsdesigner, mit Geräuschen zu synchronisierende Kraftempfindungen leicht und intuitiv zu gestalten und zu modifizieren, was ein effektiveres Force Feedback zur Implementierung in Spielen, Simulationen und anderen Anwendungen ermöglicht.
  • Diese und andere Vorteile der vorliegenden Erfindung werden Fachleuten auf diesem Gebiet beim Durchlesen der folgenden Beschreibung der Erfindung und beim Studium der einzelnen Figuren der Zeichnung klar werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm eines Systems zur Steuerung einer Force-Feedback-Schnittstellenvorrichtung der vorliegenden Erfindung;
  • 2 ist eine Perspektivansicht einer Ausführungsform eines Mechanismus zum Anschließen eines durch einen Benutzer bedienbaren Gegenstands an die Force-Feedback-Vorrichtung gemäß 1;
  • 3 ist eine schematische Darstellung einer angezeigten Schnittstelle der vorliegenden Erfindung zur Gestaltung von Kraftempfindungen;
  • 4 ist eine schematische Darstellung der Schnittstelle gemäß 3, in der ein Entwurfsfenster für einen Federungszustand angezeigt ist;
  • 5a–c sind Schaubilder angezeigter graphischer Darstellungen eines Federzustands;
  • 6 ist eine schematische Darstellung der Schnittstelle gemäß 3, in der ein Einfachmodus-Entwurfsfenster für einen Federungszustand angezeigt ist;
  • 7 ist eine schematische Darstellung der Schnittstelle gemäß 3, in der ein Entwurfsfenster für eine periodische Welle angezeigt ist; und
  • 8 ist eine schematische Darstellung einer Ausführungsform einer Schnittstelle der vorliegenden Erfindung, die es ermöglicht, Geräusche und Kräfte miteinander zu verbinden.
  • DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • 1 ist ein Blockdiagramm, das ein Force-Feedback-Schnittstellensystem 10 zur Verwendung mit der vorliegenden Erfindung darstellt und durch ein Host-Computersystem gesteuert wird. Das Schnittstellensystem 10 schließt ein Host-Computersystem 12 und eine Schnittstellenvorrichtung 14 ein.
  • Das Host-Computersystem 12 ist vorzugsweise ein Personalcomputer, wie z. B. ein IBM-kompatibler Personalcomputer bzw. ein Macintosh, oder ein Arbeitsplatzrechner (Workstation) wie eine Workstation von SUN oder Silicon Graphics. Alternativ kann das Host-Computersystem 12 eines aus einer Vielfalt von Heimvideo-Spielsystemen sein, wie z. B. Systeme, die von Nintendo, Sega oder Sony erhältlich sind, ein Fernseh-”Aufsetzkasten” oder ein ”Netzrechner”, etc.. Das Host-Computersystem 12 implementiert vorzugsweise ein Host-Anwendungsprogramm, mit dem ein Benutzer 22 über Peripheriegeräte und die Schnittstellenvorrichtung 14 einen Dialog führt. Das Host-Anwendungsprogramm kann beispielsweise ein Videospiel, eine medizinische Simulation, ein wissenschaftliches Analyseprogramm, ein Betriebssystem, eine Graphik-Benutzerschnittstelle oder ein anderes Anwendungsprogramm sein, das Force Feedback verwendet. Typischerweise liefert die Host-Anwendung Bilder zur Anzeige auf einer Anzeige-Ausgabevorrichtung, wie unten beschrieben, und/oder anderes Feedback wie akustische Signale.
  • Das Host-Computersystem 12 weist vorzugsweise einen Host-Mikroprozessor 16, einen Direktzugriffsspeicher (RAM) 17, einen Festspeicher (ROM) 19, eine Eingabe/Ausgabe-(I/O)-Elektronik 21, einen Taktgeber 18, einen Bildschirm 20, und eine Akustikausgabevorrichtung 21 auf. Der Bildschirm 20 kann zur Anzeige von Bildern verwendet werden, die von dem Host-Computersystem 12 oder anderen Computersystemen erzeugt werden, und kann ein Standardbildschirm, eine Kathodenstrahlröhre (CRT), ein Flachbildschirm, eine 3D-Brille oder irgendeine andere Bildschirm-Benutzeroberfläche sein. Die Akustikausgabevorrichtung 21, wie z. B. Lautsprecher, ist vorzugsweise über Verstärker, Filter und andere dem Fachmann auf diesem Gebiet bekannte Schaltungen an den Host-Mikroprozessor 16 angeschlossen (z. B. in einer Soundkarte) und liefert die Tonausgabe von dem Host-Computer 18 an den Benutzer 22. Andere Arten von Peripheriegeräten können ebenfalls an den Host-Prozessor 16 angeschlossen sein, beispielsweise Speichervorrichtungen (Magnetplattenlaufwerk, CD-ROM/DVD-ROM-Laufwerk, Magnetdiskettenlaufwerk, etc.), Drucker und andere Eingabe- und Ausgabegeräte. Die Daten zur Implementierung der Schnittstellen der vorliegenden Erfindung können auf computerlesbaren Medien wie einem Speicher (RAM oder ROM), einer Festplatte, einer CD-ROM oder DVD-ROM etc. gespeichert sein.
  • Eine Schnittstellenvorrichtung 14 ist durch einen bidirektionalen Bus 24 mit dem Host-Computersystem 12 verbunden. Der bidirektionale Bus sendet Signale in beide Richtungen zwischen dem Host-Computersystem 12 und der Schnittstellenvorrichtung. Ein Schnittstellenanschluß des Host-Computersystems 12, wie z. B. ein RS232- oder serieller USB-(universeller serieller Bus)-Schnittstellenanschluß, paralleler Anschluß, Spiele-Anschluß (Gameport) etc., verbindet den Bus 24 mit dem Host-Computersystem 12.
  • Die Schnittstellenvorrichtung 14 weist einen örtlichen Mikroprozessor 26, Meßfühler 28, Aktuatoren 30, einen Benutzergegenstand 34, eine wahlweise Sensorschnittstelle 36, eine wahlweise Aktuatorschnittstelle 38 und andere wahlweise Eingabevorrichtungen 39 auf. Der örtliche Mikroprozessor 26 ist an den Bus 24 angeschlossen und wird als örtlich zur Schnittstellenvorrichtung 14 angesehen und dient der Kraftrückkopplung und Sensor-Ein/Ausgabe der Schnittstellenvorrichtung 14. Der Mikroprozessor 26 kann mit Softwarebefehlen beliefert werden, auf Steuerbefehle oder Anforderungen von dem Computer-Hauptrechner 16 warten, den Steuerbefehl oder die Anforderung entschlüsseln und Eingangs- und Ausgangssignale entsprechend dem Steuerbefehl oder der Anforderung verarbeiten/steuern. Darüber hinaus arbeitet der Prozessor 26 vorzugsweise unabhängig vom Host-Computer 16, indem er Meßfühlersignale liest und die entsprechenden Kräfte aus diesen Meßfühlersignalen, Zeitsignalen und gespeicherten oder übertragenen Befehlen berechnet, die in Übereinstimmung mit einem Host-Steuerbefehl ausgewählt wurden. Geeignete Mikroprozessoren zur Verwendung als örtlicher Mikroprozessor 26 sind u. a. beispielsweise der MC68HC711E9 von Motorola, der PIC16C74 von Microchip, und der 82930AX von der Intel Corporation. Der Mikroprozessor 26 kann einen Mikroprozessorchip oder Mehrfach-Prozessoren und/oder Co-Prozessorchips und/oder Digitalsignalprozessor-(DSP)-Fähigkeit aufweisen.
  • In Übereinstimmung mit Befehlen, die der Host-Computer 12 über den Bus 24 liefert, kann der Mikroprozessor 26 Signale von den Meßfühlern 28 empfangen und Signale an die Aktuatoren 30 der Schnittstellenvorrichtung 14 liefern. In einer bevorzugten Ausführungsform einer örtlichen Steuerung liefert beispielsweise das Host-Computersystem 12 über den Bus 24 höhere Kontrollsteuerbefehle an den Mikroprozessor 26, und der Mikroprozessor 26 leitet die niedrigen Kraftsteuerschleifen an die Meßfühler und Aktuatoren in Übereinstimmung mit den höheren Steuerbefehlen und unabhängig vom Host-Computer 18. Das Force-Feedback-System stellt demzufolge eine Informationsschleife der Host-Steuerung und eine Informationsschleife der örtlichen Steuerung in einem verteilten Steuersystem bereit. Der Mikroprozessor 26 kann Steuerbefehle auch von beliebigen anderen auf der Schnittstellenvorrichtung 14 enthaltenen Eingabevorrichtungen 39 erhalten, beispielsweise Knöpfe, und liefert entsprechende Signale an den Host-Computer 12, um anzuzeigen, daß die Eingabeinformation und alle in der Eingabeinformation enthaltenen Informationen erhalten wurden. An den Mikroprozessor 26 in der Schnittstellenvorrichtung 14 ist vorzugsweise ein örtlicher Speicher 27 angeschlossen, z. B. ein RAM und/oder ROM, um Befehle für den Mikroprozessor 26 zu speichern und temporäre und andere Daten zu speichern. Darüber hinaus kann ein örtlicher Taktgeber 29 zur Lieferung von Taktdaten an den Mikroprozessor 26 angeschlossen sein.
  • Meßfühler 28 fühlen die Position, Bewegung und/oder andere Merkmale eines Benutzergegenstands 34 der Schnittstellenvorrichtung 14 längs einem oder mehr Freiheitsgraden ab und liefern Signale an den Mikroprozessor 26, die diese Merkmale darstellende Informationen enthalten. Es können rotierende oder lineare optische Codeumsetzer, Potentiometer, optische Meßfühler, Geschwindigkeitssensoren, Beschleunigungssensoren, Dehnungsmeßfühler oder andere Arten von Meßfühlern verwendet werden. Die Meßfühler 28 liefern ein elektrisches Signal an eine wahlweise Sensorschnittstelle 36, die dazu benutzt werden kann, Meßfühlersignale in Signale umzusetzen, die von dem Mikroprozessor 26 und/oder Host-Computersystem 12 gedeutet werden können.
  • Unter Ansprechen auf die vom Mikroprozessor 26 erhaltenen Signale übertragen die Aktuatoren 30 Kräfte in einer oder mehr Richtungen entlang einem oder mehr Freiheitsgraden an den Benutzergegenstand 34 der Schnittstellenvorrichtung 14. Die Aktuatoren 30 können zweierlei Typen umfassen: aktive Aktuatoren und passive Aktuatoren.
  • Zu den aktiven Aktuatoren gehören lineare Stromregelmotoren, Schrittmotoren, pneumatische/hydraulische aktive Aktuatoren, ein Drehmomenterzeuger (Motor mit begrenzter Winkelreichweite), ein Schwingspulenaktuator und andere Arten von Aktuatoren, die eine Kraft übertragen, um ein Objekt zu bewegen. Als Aktuatoren 30 können auch passive Aktuatoren verwendet werden, wie z. B. Magnetpulverbremsen, Reibungsbremsen oder pneumatische/hydraulische passive Aktuatoren. Die Aktuatorschnittstelle 38 kann wahlweise zwischen den Aktuatoren 30 und dem Mikroprozessor 26 angeschlossen sein, um Signale vom Mikroprozessor 26 in entsprechende Signale zum Antrieb der Aktuatoren 30 umzusetzen.
  • In der Schnittstellenvorrichtung 14 können wahlweise auch andere Eingabevorrichtungen 39 enthalten sein und Eingabesignale zum Mikroprozessor 26 oder zum Host-Prozessor 16 senden. Solche Eingabevorrichtungen können u. a. Knöpfe, Wählscheiben, Schalter, Hebel oder andere Mechanismen sein. In Ausführungsformen, wo der Benutzergegenstand 34 z. B. ein Joystick ist, können andere Eingabevorrichtungen einen oder mehr Knöpfe aufweisen, die z. B. auf dem Joystick-Griff oder Unterteil vorgesehen sind. An die Aktuatorschnittstelle 38 und/oder Aktuatoren 30 kann wahlweise eine Stromversorgung 40 zur Bereitstellung elektrischer Leistung angeschlossen sein. In der Schnittstellenvorrichtung 14 ist wahlweise ein Sicherheitsschalter 41 zur Bereitstellung eines Mechanismus zur Deaktivierung der Aktuatoren 30 aus Sicherheitsgründen enthalten.
  • Der durch einen Benutzer betätigbare Gegenstand 34 (”Benutzergegenstand”) ist ein körperliches Objekt, Gerät oder Artikel, den ein Benutzer greifen oder andersartig berühren oder steuern kann, und der an die Schnittstellenvorrichtung 14 angeschlossen ist. Mit ”greifen” ist gemeint, daß Benutzer ein Griffteil des Gegenstands in irgendeiner Form lösbar fassen können, z. B. mit der Hand, den Fingerspitzen oder, im Falle von Behinderten, sogar mit dem Mund. Der Benutzer 22 kann den Gegenstand entlang vorgesehener Freiheitsgrade betätigen und bewegen, um eine Verbindung mit dem Host-Anwendungsprogramm herzustellen, das der Benutzer gerade auf dem Bildschirm 20 betrachtet. Der Gegenstand 34 kann ein Joystick, eine Maus, eine Rollkugel, ein Stylus (z. B. am Ende einer Verbindung), ein Steuerrad, eine Kugel, ein medizinisches Instrument (Laparoskop, Katheter etc.), Billard-Queue (z. B. Bewegen des Queue über aktivierte Rollen), Handgriff, Griffknopf, Knopf oder anderes Objekt sein.
  • 2 ist eine Perspektivansicht einer Ausführungsform einer mechanischen Vorrichtung 100, die zur Bereitstellung der mechanischen Eingabe und Ausgabe an das Host-Computersystem 12 geeignet ist. Die Vorrichtung 100 ist für einen Joystick oder ähnlichen Benutzergegenstand 34 geeignet. Die Vorrichtung 100 beinhaltet einen Tragrahmenmechanismus 140, Meßfühler 28 und Aktuatoren 30. Der Benutzergegenstand 34 ist in dieser Ausführungsform als Joystick mit einem Griffteil 162 gezeigt.
  • Der Tragrahmenmechanismus 140 stellt dem Gegenstand 34 zwei Rotationsfreiheitsgrade zur Verfügung. Der Tragrahmenmechanismus 140 sorgt für die Lagerung der Vorrichtung 160 auf einer Stützfläche 142, beispielsweise einer Tischoberseite oder ähnlichen Fläche. Der Tragrahmenmechanismus 140 ist eine fünfteilige Verbindung, die ein Grundelement 144, Ansatzelemente 146a und 146b sowie Zentralelemente 148a und 148b umfaßt. Der Tragrahmenmechanismus 140 schließt auch Capstan- bzw. Winden-Antriebsmechanismen 164 ein.
  • Das Grundelement 144 weist ein Unterteil 166 und vertikale Tragelemente 168 auf. Das Unterteil 166 ist an die Stützfläche 142 angekuppelt. Die Elemente des Tragrahmenmechanismus 140 sind durch Verwendung von Lagern oder Schwenkachsen drehbar miteinander verbunden. Das Ansatzelement 146a ist fest an einen Windenbogen 170 angekuppelt und wird bei Rotieren des Windenbogens 170 um eine Achse A gedreht. In ähnlicher Weise ist das Ansatzelement 146b fest an den anderen Windenbogen 170 angekuppelt und kann um eine Achse B gedreht werden. Das zentrale Antriebselement 148a ist drehbar mit dem Ansatzelement 146a verbunden und kann um eine Momentanachse D rotieren, und das zentrale Verbindungselement 148b ist an einem Mittelpunkt P drehbar mit einem Ende des Ansatzelementes 146b verbunden und kann um eine Momentanachse E rotieren. Das zentrale Antriebselement 148a und das zentrale Verbindungselement 148b sind am Drehpol des Tragrahmenmechanismus drehbar miteinander verbunden, welches der Schnittpunkt P der Achsen A und B ist. Ein Lager 172 verbindet die beiden Zentralelemente 148a und 148b am Schnittpunkt P miteinander. Die Meßfühler 28 und Aktuatoren 30 sind durch den Windenbogen 170 an das Grundelement 144 und die Elemente 146 angekuppelt.
  • Der Tragrahmenmechanismus 140 stellt einem am oder nahe am Rotationsmittelpunkt P positionierten Gegenstand 34 zwei Freiheitsgrade zur Verfügung, wobei der Gegenstand 34 um die Achse A und/oder B gedreht werden kann. In alternativen Ausführungsformen kann der Gegenstand 34 auch in anderen Freiheitsgraden gedreht oder übersetzt werden, z. B. einem linearen Freiheitsgrad entlang der Achse C oder einem Freiheitsgrad mit Rotations-”Drall” um die Achse C, und diese zusätzlichen Freiheitsgrade können abgefühlt und/oder aktiviert werden. Darüber hinaus kann an jedes vertikale Element 168 ein Antriebsmechanismus 164 angekuppelt sein, um einen mechanischen Vorteil bereitzustellen, ohne Reibung und Spiel in das System einzubringen.
  • In anderen Ausführungsformen können andere Arten von Mechanismen verwendet werden, wie z. B. geschlitzte Bügel, planare Verbindungen, Ausführungsformen mit tastbarer Schwingung und andere Mechanismen, wie sie dem Fachmann wohl bekannt sind.
  • Force-Feedback-Empfindungen
  • Da Force-Feedback-Vorrichtungen so eine breite Vielfalt von Gefühlsempfindungen jeweils mit eigenen, einzigartigen Parametern, Randbedingungen und Implementierungsausgaben erzeugen können, ist das Gesamtspektrum der Kraftempfindungen hierin in Unteranordnungen unterteilt. Es werden hier drei Klassen von Gefühlsempfindungen erörtert: räumliche Zustände (”Zustände”), zeitliche Wirkungen (”Effekte” oder ”Wellen”) und dynamische Empfindungen (”Dynamik”). Zustände sind Kraftempfindungen, die eine Funktion der Benutzerbewegung des betätigbaren Gegenstands 34 sind, Effekte sind Kraftempfindungen, die unabhängig von der Position oder Bewegung des Benutzergegenstands mit der Zeit wiedergegeben werden, und Dynamik ist eine Kraftempfindung, die auf einem interaktiven Bewegungsmuster von Bewegung und Zeit basiert. Bevorzugte Standardzustandsarten beinhalten Federung, Dämpfung, Trägheit, Reibung, Struktur und Wandungen. Drei Grundwirkungsarten sind die periodische Kraft, die konstante Kraft (Vektorkraft) und die schiefe Ebene. Zu den dynamischen Empfindungen gehören die physikalischen Echtzeit-Wechselwirkungen, die erstens auf der Benutzerbewegung sowie zweitens auf einem physikalischen System beruhen, wobei die Benutzerbewegung während der gegenseitigen Beeinflussung auf das Verhalten des physikalischen Systems einwirkt. Jede dynamische Empfindung basiert auf einem simulierten physikalischen Grundsystem mit einer dynamischen Masse, die durch eine simulierte Feder und einen simulierten Dämpfer mit dem Benutzergegenstand 34 verbunden ist.
  • 3 zeigt eine Anzeigevorrichtung 20, die eine Schnittstelle 300 mit einer Graphikdialogwerkzeug-Anordnung der vorliegenden Erfindung darstellt, die Entwicklern und Programmierern des Force Feedback (”Benutzern” der Schnittstelle) eine rasche und effiziente Gestaltung und Realisierung von Kraftempfindungen ermöglicht. Die Graphikumgebung ermöglicht die Definition von Zuständen, Effekten (”Wellen”) und Dynamik durch intuitive graphische Metaphern, die die physikalische Bedeutung jedes betroffenen Parameters transportieren. Während des Manipulierens der Parameter können Empfindungen in Echtzeit gespürt werden, was einen iterativen Gestaltungsprozeß zur Feinabstimmung des Fühlens exakt auf die Bedürfnisse des Designers ermöglicht. Wenn die passende Empfindung erreicht ist, kann die Schnittstelle die Parameter als Betriebsmittel speichern und automatisch einen optimierten Code in einem gewünschten Format generieren, der direkt in einem Anwendungsprogramm verwendet werden kann. Auf diese Weise handhabt die Schnittstelle 300 fast das ganze Force-Feedback-Entwicklungsverfahren von der Kraftempfindungsgestaltung bis zur Codierung. Mit diesen Werkzeugen wird die Programmierung des Force Feedback zu einem schnellen und einfachen Verfahren.
  • Die Herausforderung, das Force Feedback zu programmieren, ist nicht der Codierungsvorgang. Kraftmuster zur Bereitstellung von Kraftempfindungen sind verfügbar und sobald die gewünschte Kraftempfindung bekannt und gekennzeichnet ist, kann die Kraftempfindung unter Verwendung von Softwarebefehlen geradewegs realisiert werden. Der Akt des Gestaltens von Kraftempfindungen zur Bereitstellung eines gewünschten Gefühls, das richtig zu Spiel- oder anderen Anwendungsabläufen paßt, geht allerdings nicht so direkt vor sich. Das Gestalten von Kraftempfindungen und einem speziellen Geühl erfordert ein kreatives und interaktives Verfahren, bei dem Parameter definiert, ihre Wirkung ausprobiert und die Parameter abgeändert werden, bis die Empfindungen die gewünschte Charakterisierung haben. Wenn beispielsweise Zustände entworfen werden, könnte dieses Dialogverfahren das Einstellen der Konstanten von Federn, das Abstecken der toten Zone, das Beeinflussen des Versatzes und das Abstimmen der Sättigungswerte bedingen. Wenn Effekte gestaltet werden, könnte dies das Auswählen einer Wellenquelle (Sinus-, Rechteck-, Dreieckwellenform etc.), das Einstellen der Größe, Frequenz und Dauer des Signals und dann Abstimmen der Gruppenparameter bedingen. Für eine dynamische Empfindung könnte dies das Einstellen der dynamischen Masse und dann Abstimmen der Resonanz- und Abklingparameter bedingen. Beider Wahl unter so vielen Parametern, die jeweils auf eine andere Kraftempfindungsart anwendbar sind, braucht man ein schnelles, einfaches und interaktives Mittel zur Empfindungsgestaltung. Um diese Notwendigkeit zu erfüllen, ermöglicht die Graphikschnittstelle 300 der vorliegenden Erfindung einem Benutzer ein rasches Einstellen der physikalischen Parameter und Fühlen der Empfindungen, wonach die Schnittstelle automatisch den entsprechenden Code zur Verwendung in einem Host-Computer-Anwendungsprogramm generiert.
  • Die Schnittstelle 300 ermöglicht eine Dialoggestaltung des Empfindens von Zuständen, Effekten und Dynamik in Echtzeit, wobei die Parameter durch ein schnelles iteratives Verfahren definiert und ausprobiert werden können. Daher wird die Computer-Implementierungsschnittstelle 300 bevorzugt mit einer Force-Feedback-Schnittstellenvorrichtung 14 verbunden, deren Funktion die Ausgabe befehlsgesteuerter Kraftempfindungen ist. In der Schnittstelle 300 sind intuitive graphische Metaphern bereitgestellt, die das Verständnis eines Programmierers für die auf jede Empfindungsart bezogenen physikalischen Parameter verbessern und dadurch den iterativen Gestaltungsprozeß beschleunigen. Vorzugsweise sind in der Schnittstelle 300 auch Dateiverwaltungswerkzeuge vorgesehen, so daß entworfene Kraftempfindungen gespeichert, kopiert, verändert und kombiniert werden können und es einem Benutzer dadurch ermöglichen, eine Bibliothek mit Kraftempfindungen anzulegen. Wenn Empfindungen einmal definiert sind, speichert die Schnittstelle 300 die Parameter vorzugsweise als ”Betriebsmittel”, die von einem Anwendungsprogramm benutzt werden können. Durch Einbinden eines Kraftempfindungsbetriebsmittels in ein Anwendungsprogramm können die Betriebsmittel z. B. in den optimierten Direct-X Code zur Verwendung in einer Anwendung in der Windows-Umgebung umgesetzt werden. In anderen Ausführungsformen können andere Codeformate oder Sprachen vorgesehen sein. Die Schnittstelle 300 kann durch Programmbefehle oder einen auf einem computerlesbaren Medium gespeicherten Code implementiert werden, wobei das computerlesbare Medium entweder ein mobiles oder immobiles Gerät und ein Halbleiter oder anderer Speicher des ausführenden Computers (wie z. B. der Computer 12), ein Magnetplattenlaufwerk oder -band, eine mobile Festplatte, optische Medien wie eine CD-ROM, eine PCMCIA-Karte oder ein anderes Medium sein kann.
  • Wie in 3 gezeigt, weist die Schnittstelle 300 drei Hauptarbeitsbereiche auf: die Empfindungspalette 302, die Knopfauslöserpalette 304 und den Gestaltungsraum 306. In dem Gestaltungsraum 306 werden Kraftempfindungen erzeugt und können unter Verwendung von Standard-Dateihandhabungsmerkmalen in diesem Raum gespeichert und hineingeladen werden.
  • Zur Erzeugung einer neuen Kraftempfindung wird eine Empfindungsart aus der Empfindungspalette 302 gewählt. Die Palette 302 ist in einem erweiterungsfähigen Baumformat gezeigt. Die Wurzel des Baums enthält die drei Klassen 310 der hierin beschriebenen Force-Feedback-Empfindungen, Zustände, Wellen (Effekte) und Dynamik. Vorzugsweise können Benutzer auch ihre eigenen Überschriften definieren; beispielsweise kann eine ”Lieblings-”Gruppe hinzugefügt werden, wo Kraftempfindungen mit erwünschten, früher entworfenen Parametern gespeichert werden.
  • In der Schnittstelle 300 sind die Klassen Zustände, Wellen und Dynamik in erweiterter Ansicht gezeigt. Auf Wunsch können diese Klassen auch ”komprimiert” werden, so daß sie nur die Klassenüberschrift anzeigen. Wenn eine Klasse in erweiterter Ansicht angezeigt wird, zeigt die Schnittstelle 300 eine Auflistung aller Empfindungsarten an, die für diese Klasse von der mit dem Host-Computer 12 verbundenen Hardware unterstützt werden. Beim Programmieren neuerer oder teurerer Hardware, die eine große Anzahl von Kraftempfindungsarten unterstützt, wird z. B. eine Liste mit vielen oder allen verfügbaren Empfindungsarten angezeigt. Beim Programmieren älterer oder preiswerterer Schnittstellenvorrichtungs-Hardware, die nicht alle Empfindungen implementieren kann, können einige Empfindungsarten in der erweiterten Ansicht weggelassen oder nicht zur Auswahl verfügbar sein. Vorzugsweise kann die Schnittstelle 300 unter Verwendung eines Leistungsaufzählprozesses genau bestimmen, welche Kraftempfindungen durch eine mit dem Host-Computer verbundene gegebene Schnittstellenvorrichtung 14 unterstützt werden, d. h. der Host-Computer kann Informationen von der Schnittstellenvorrichtung anfordern, beispielsweise die Nummer einer Version, das Herstelldatum, eine Liste der implementierten Merkmale etc.
  • Sobald eine Empfindungsart aus der Empfindungspalette 302 ausgesucht ist, wird die Empfindungsart dem Gestaltungsraum 306 hinzugefügt. In 3 ist z. B. ein Icon 308 für die gewählte Kraftempfindung ”Dämpfung” im Fenster des Gestaltungsraums 306 angezeigt. Das Icon 308 kann nun vom Benutzer ausgewählt/geöffnet werden, um die Parameter für die gegebene Empfindungsart unter Verwendung von graphischen Entwicklungswerkzeugen festzulegen (weiter unten beschrieben). In ähnlicher Weise können vielerlei Icons in den Gestaltungsraum gezogen werden, um eine komplexere Kraftempfindung zu erzeugen. Sobald die Parameter für die gegebene Empfindung genau angegeben sind, kann die Empfindung als Betriebsmitteldatei gespeichert werden. Unter Verwendung dieses Verfahrens kann ein Benutzer eine vielseitige Bibliothek von Fühlempfindungen als Betriebsmitteldateien erzeugen. Es könnten auch vordefinierte Bibliotheken von Muster-Betriebsmitteln aus Drittquellen verfügbar sein.
  • In der Auslöserknopfpalette 304 angezeigte Optionen kann der Benutzer ebenfalls auswählen. Die Auslöserpalette 304 wird zum Testen von Kraftempfindungen verwendet, die nun als Knopfreflexe definiert werden. Zum Beispiel könnte eine Kraftempfindung als Kombination aus einer Rechteckwelle und einer Sinuswelle gestaltet werden, die ausgelöst wird, wenn der Knopf #2 der Schnittstellenvorrichtung gedrückt wird. Die Rechteckwelle würde erzeugt, indem aus der Empfindungspalette 302 der periodische Typ 312 ausgesucht wird und passende Parameter für die Rechteckwelle definiert werden. Dann würde eine Sinuswelle erzeugt, indem ein anderer periodischer Typ 312 aus der Empfindungspalette 302 ausgesucht wird und die passenden Parameter für die Sinuswelle definiert werden. Zu diesem Zeitpunkt würden zwei periodische Icons 308 in dem Gestaltungsraumfenster 306 angezeigt. Zum Testen des Auslösers kann der Benutzer diese Icons 308 einfach in das Icon 314 des Knopfes 2 ziehen und loslassen. Auf diese Weise ist der Knopf 2 auf der Schnittstellenvorrichtung 14 so gestaltet worden, daß er die Reflexempfindung auslöst, wenn er gedrückt wird. Dieses Verfahren ist schnell, einfach und vielseitig. Wenn der Benutzer eine Empfindung genau nach Wunsch erreicht, kann die Empfindung als Betriebsmitteldatei gespeichert werden, und es wird ein optimierter Softwarecode zur Verwendung im Anwendungsprogramm erzeugt. Die Auswahl des Knopfes 2 könnte in anderen Ausführungsformen auf andere Art vorgesehen sein. Der Benutzer könnte beispielsweise die gestalteten Kraft-Icons im Gestaltungsraum 306 auswählen oder markieren und dann das Icon des Knopfes 2 in der Palette 304 auswählen, um anzugeben, daß die markierten Kräfte durch den Knopf 2 ausgelöst werden.
  • 4 stellt die Schnittstelle 300 dar, wobei im Gestaltungsraum 306 eine Kraftempfindung gekennzeichnet wird. Wenn vom Benutzer ein Icon 308 im Gestaltungsraum 306 ausgewählt wird, erweitert sich das Icon 308 zu einem Kraftempfindungsfenster mit Graphikumgebung zum Festlegen und Testen der physikalischen Parameter, die der gewählten Empfindung zugeordnet sind. In 4 ist z. B. die Empfindungsart einer Federung 320 aus der Zustandsliste 322 gewählt und im Gestaltungsraum 306 als Icon 324 bereitgestellt. Wenn das Icon 324 ausgewählt wird, wird im Gestaltungsraum 306 ein Federungsfenster 326 angezeigt. Innerhalb des Federungsfensters 326 befinden sich Felder 328 zur Charakterisierung der Kraft, einschließlich der Achse 330 (und/oder Richtung, Freiheitsgrad etc.), in der die Kraft angelegt werden soll, des Zuwachses 332 (oder der Größe) der Kraft, und der Parameter 334, die der Kraftempfindung zugeordnet sind. Für die Federempfindung werden z. B. die positive Konstante (”Koeffizient”), die negative Konstante (”Koeffizient”), die positive Sättigung, die negative Sättigung, die Abweichung und die tote Zone der Federempfindung als Parameter angezeigt. Der Benutzer kann die gewünschten Daten in die Felder 328 eingeben, um die Kraft zu kennzeichnen. Der Benutzer hat beispielsweise genau angegeben, daß die Kraft entlang der x-Achse angelegt werden soll (in beide Richtungen, da keine einzelne Richtung spezifiziert ist), hat einen Zuwachs von 100 angegeben und hat Sättigungswerte von 10.000 in positiver und in negativer Richtung festgesetzt. Der Benutzer kann vorzugsweise auch alle oder einige der Parameter in graphischer Form angeben, indem er die Größe oder den Verlauf der Umhüllungskurve, die Höhe oder Frequenz der Wellenform, die Breite der toten Zone oder der Federn, den Platz einer Scheidewand auf einer Achse etc. unter Verwendung eines Cursors oder anderen gesteuerten graphischen Gegenstands einstellt.
  • Wenn der Benutzer Werte in die Felder 328 einsetzt, werden die resultierenden Zusätze und Änderungen an der Kraftempfindung in einem intuitiven Graphikformat in dem Kraftempfindungsfenster angezeigt. Beispielsweise ist in dem Federungsempfindungsfenster 326 eine graphische Darstellung 336 angezeigt. Die Darstellung 336 beinhaltet eine Abbildung 338 des Benutzergegenstands 34 (als Joystick gezeigt, kann aber auch als eine andere Art von Benutzergegenstand gezeigt sein), eine Abbildung 340 des Bodens, eine Abbildung 342 einer Feder auf der rechten Seite des Joysticks 34 und eine Abbildung 344 einer Feder auf der linken Seite des Joysticks 34. Die Darstellung 336 führt eine einzelne Achse bzw. einen einzigen Freiheitsgrad der Schnittstellenvorrichtung vor.
  • Die Darstellung 336 stellt ein physikalisches, graphisches Modell dar, mit dem der Benutzer die Funktionsweise der Kraftempfindung visuell verstehen kann. Die Benutzergegenstandsabbildung 338 wird vorzugsweise in ähnlicher Gestalt wie der tatsächliche Benutzergegenstand der gewünschten Schnittstellenvorrichtung angezeigt (in diesem Beispiel ein Joystick). Entlang der angezeigten Achse sind in beiden Richtungen Federabbildungen 342 und 344 vorhanden, die durch einen positiven Steifheitsparameter (k) und einen negativen Steifheitsparameter (k) definiert sind. Graphisch ist die große Konstante der Feder nach rechts (Koeffizient 80) als größere Federabbildung 342 dargestellt. Der Nullpunkt des Federzustands ist an einer Mittenposition 346 gezeigt, da der Versatzparameter 348 null ist. Falls der Versatz eine positive oder negative Größe hat, würde der Nullpunkt entsprechend weiter links oder rechts angezeigt. Die Totzonenregion ist graphisch als Lücke zwischen der Benutzergegenstandsabbildung 338 und den Federabbildungen 342 und 344 gezeigt.
  • In der bevorzugten Ausführungsform hilft die graphische Darstellung dem Benutzer ferner bei der Sichtbarmachung der geplanten Kraftempfindung dadurch, daß sie in Übereinstimmung mit der Bewegung des Benutzergegenstands 34 der angeschlossenen Schnittstellenvorrichtung 14 in Echtzeit aktualisiert wird. Die Benutzergegenstandsabbildung 338 verschiebt sich dann in einer Richtung, die der Bewegung des Benutzergegenstands 34 auf Veranlassung des Benutzers entspricht. Der Benutzergegenstand kann entlang der gegebenen Achse sowohl in positiver als auch in negativer Richtung frei bewegt werden und entweder auf eine positive oder negative Konstante von der Federempfindung treffen. Falls demnach der Benutzergegenstand vom Nullpunkt 346 aus frei nach links bewegt wird, wird die Joystick-Abbildung 338 in der Totzonenregion nach links verschoben, und wenn der Benutzergegenstand 34 auf den Federwiderstand trifft, wird die Joystick-Abbildung 338 in Kontakt mit der Federabbildung 344 angezeigt. Falls keine tote Zone definiert ist, werden die Federabbildungen 342 und 344 als in Kontakt mit der Joystick-Abbildung 338 an der Mittenposition dargestellt. Die Randanschlagabbildungen 350 definieren die Begrenzungen des Freiheitsgrads; wenn der Benutzergegenstand 34 z. B. entlang einer Achse zu einer physikalischen Grenze der Schnittstellenvorrichtung bewegt wird, wird die Joystick-Abbildung 338 als in Kontakt mit einer entsprechenden Randanschlagabbildung 350 dargestellt.
  • 5a bis 5c veranschaulichen die graphische Darstellung 336, wenn der Benutzergegenstand 34 vom Benutzer bewegt wird. In 5a bewegt der Benutzer den Benutzergegenstand 34 und die Abbildung 338 in positiver Richtung längs einer Achse, wie durch den Pfeil 354 gezeigt. Der Benutzer spürt keinen Kraftwiderstand, weil sich der Benutzergegenstand in der Totzonenregion befindet. Dies ist dadurch dargestellt, daß die Joystick-Abbildung 338 nicht in Kontakt mit anderen Gegenständen angezeigt ist. In 5b trifft der Benutzergegenstand 34 in der positiven Richtung auf die Federkonstante und beginnt, die Feder zusammenzudrücken. Wie durch die graphische Darstellung 336 gezeigt, hat die Joystick-Abbildung 338 die rechte Federabbildung 342 berührt, und die Federabbildung 342 ist leicht komprimiert gezeigt. In 5c bewegt sich der Benutzergegenstand weiter gegen die Federkraft, wie in der Darstellung 336 entsprechend als Kompression der Feder 342 angezeigt. Sobald auf die positive Federkonstante getroffen wird, steigt die Widerstandskraft linear zur Kompression der Feder an (wie dies auch bei einer echten Feder ist). Der Kompressionsumfang, den der Benutzer fühlt, ist mit dem Kompressionsumfang korreliert, der durch die Federabbildung 342 gezeigt ist. Falls der Programmierer einen Sättigungswert für die Kraftgegenbewegung in positiver Richtung definiert hat, würde die Kraftausgabe nicht mehr weiter mit der Kompression steigen, sobald die Sättigungsgrenze in positiver Richtung überschritten würde. Die Sättigung kann auch graphisch dargestellt werden, beispielsweise durch Hervorheben der zutreffenden Federabbildung in einer anderen Farbe (wie z. B. Rot), oder durch Hervorheben einer Nachricht oder Anzeige auf dem Bildschirm.
  • Bezugnehmend auf 4 kann der Benutzer/die Benutzerin sofort nach Überprüfen der Eingabeparameter und Einstellungen jede der vorhandenen Informationen ändern oder neue Informationen hinzufügen, indem er oder sie Daten in die Felder 328 eingibt. Alle diese Änderungen werden sofort im Fenster 326 angezeigt. Wenn der Benutzer z. B. den Koeffizienten (Konstante) der Feder auf der rechten Seite ändert, wird die Federabbildung 342 größenmäßig sofort geändert, um mit dem neuen Wert zu korrelieren. Durch einfaches Betrachten der Darstellung 336 gewinnt der Benutzer so ein intuitives Gefühl dafür, wie sich die Empfindung anfühlen wird. Durch Bewegen des Benutzergegenstands und Spüren der Empfindung kann der Benutzer dann mit mehr Genauigkeit bestimmen, wie die Empfindung sich anfühlen wird (Feinabstimmung). Demzufolge zeigt die graphische Darstellung 336, wie angezeigt, dem Benutzer deutlich die verschiedenen Wirkungen von Parametern auf die Kraftempfindung auf und ermöglicht es dem Benutzer außerdem, die mit der graphischen Darstellung koordinierten Kräfte zu erleben.
  • Andere graphische Darstellungen können in der Schnittstelle 300 für Raumstrukturzustände, Wandzustände, Dämpfungszustände, Trägheitszustände, Reibungszustände etc. angezeigt werden. In anderen Ausführungsformen kann durch Zeigen einer Gesamtdarstellung des Benutzergegenstands eine zweidimensionale Kraftempfindung (d. h. zwei Freiheitsgrade) im Fenster 326 angezeigt werden. Beispielsweise kann in der Mitte von zwei Anordnungen von Federabbildungen in Querformation eine kreisförmige Benutzergegenstandsabbildung angezeigt werden, wobei jede Federanordnung für einen anderen Freiheitsgrad steht.
  • 6 veranschaulicht die Schnittstelle 300 und zeigt eine alternative graphische Darstellung eines Federzustands. 6 zeigt auch die Vielfalt von Bedingungen 400, die zum Aussuchen aus der Zustandsliste zur Verfügung stehen. Die in 4 verwendete Darstellung kann ebenso für einen Federzustand verwendet werden. In 6 hat der Benutzer das Feder-Icon 401 im Gestaltungsraum 306 ausgesucht. Wenn das Icon 401 ausgewählt ist, wird ein Federzustandsfenster 402 im Gestaltungsraum 306 angezeigt. Das Federungsfenster 402 beinhaltet Parameter 404 zur Kennzeichnung der Federkraft sowie des Zuwachses 406 und der Achsensteuerung 408. Für jede Achse, in der die Kraft angelegt werden soll, wird ein Fenster angezeigt. Ein grau ausgefülltes Fenster für den zweiten Achsenzustand zeigt an, daß dieser Achse gegenwärtig keine Kraft zugeordnet ist.
  • Im ersten Achsenfenster 410 steht ein einfacher Modus und ein höherer Modus zur Verfügung, ähnlich wie beim Dämpfungszustand. In 6 hat der Benutzer den einfachen Modus ausgesucht. Von jedem Rand des Fensters 410 aus sind Federabbildungen 412 dargestellt, wobei die Federabbildung 412a für die negative Richtung steht und die Federabbildung 412b für die positive Richtung steht. Wenn der Benutzer den Benutzergegenstand längs der angezeigten Achse bewegt (die x-Achse), verschiebt sich die Linie 414 in die entsprechende Richtung. Wenn sich die Linie 414 in eine Federabbildung 412 hineinbewegt, gibt der Mikroprozessor die angegebene Federkraft auf den Benutzergegenstand aus, so daß der Benutzer die gekennzeichnete Kraftempfindung spüren kann. Wenn der Benutzergegenstand weiter in die Feder hineinbewegt wird, wird die Federabbildung so komprimiert, wie es bei einer echten Feder wäre. Der leere Raum zwischen den Federabbildungen 412 zeigt die Totzonenregion an, wo keine Kräfte ausgegeben werden. Es sei darauf hingewiesen, daß der Benutzer eine Federkraft spürt, wenn irgendein Bestandteil der Bewegung des Benutzergegenstands längs der x-Achse liegt; falls der Benutzer den Benutzergegenstand in einem 45°-Winkel bewegt (wo die x-Achse bei 0° ist), dann ist ein Teil der Federkraft in der x-Achse zu spüren. Dieser Bestandteil ist aber eine schwächere Federkraft als wenn der Benutzergegenstand direkt auf der x-Achse bewegt würde. Dies ist auch für die anderen Bedingungen der Schnittstelle 300 vorzugsweise der Fall. Bei gewissen alternativen Ausführungsformen könnte die Federkraft in alle Richtungen ausgeschaltet sein, außer für die Bewegung exakt (oder innerhalb einer Toleranz) auf der angezeigten Achse.
  • In der bevorzugten Ausführungsform kann der Benutzer die Steifheit (k) der Federkraft durch die Auswahl von Steuerpunkten 422 an den Rändern der Stirnseite der Federabbildungen 412 mit einem Cursor einstellen. Der Benutzer kann die Steuerpunkte verziehen, um die Breite der Federabbildungen einzustellen, was wiederum den Steifheitsparameter einstellt (wobei in der Gleichung F = kx die Steifheit k eine Konstante ist, x die Verschiebung des Benutzergegenstands ist und F die resultierende Kraft ist). Eine dickere Federabbildung deutet einen größeren Steifheitsparameter und eine stärkere Federkraft an. So ist die Abbildung 412a breit und deutet eine große Federkraft in negativer Richtung und das Gegenstück in positiver Richtung an. Der Benutzer kann auch die Vorderenden der Federabbildungen näher zusammen- oder weiter auseinanderschieben und so die Totzonen- und Versatzparameter einstellen. Die Parameter werden beim Einstellen an den örtlichen Mikroprozessor gesendet, der dann die neu gekennzeichnete Kraft auf dem Benutzergegenstand implementiert (falls zweckmäßig).
  • Es sind auch vorzugsweise Icons vorgesehen, um dem Benutzer bei der Gestaltung von Kraftempfindungen aus vorher gespeicherten Kraftempfindungen zu helfen. Wenn z. B. das Icon 424 ”Clip-Objekte” ausgewählt wird, stellt es dem Benutzer eine Liste oder Bibliothek vordefinierter, allgemeiner Kraftempfindungen zur Verfügung, die der Benutzer als Basis oder Ausgangspunkt verwenden kann, d. h. der Benutzer kann eine allgemeine Federzustandskonfiguration so verändern, daß er schnell eine gewünschte Kraft erreicht. Diese Bibliothek kann beispielsweise von kommerziellen Kraftanbietern oder anderen Quellen zur Verfügung gestellt werden oder eine vom Kunden erstellte Bibliothek sein.
  • 7 veranschaulicht die Schnittstelle 300 mit einer graphischen Darstellung für eine periodische Wellen-(Effekt)-Kraftempfindung. Ein Periodenformfenster 440 ist unter Ansprechen darauf dargestellt, daß der Benutzer (z. B. durch Doppelklick) das Icon 442 für periodische Wirkung auswählt, das in den Gestaltungsraum 306 gezogen wurde. Im Fenster 440 ermöglicht das Wellenform-Quellenfeld 444 einem Benutzer die Auswahl aus vielerlei verfügbaren Arten von Signalwellenquellen für den Effekt. Der Benutzer hat die Möglichkeit, die Dauer der periodischen Welle durch Verwenden von Schiebereitern 446 auszuwählen und kann mit dem Kästchen 448 auch eine unbegrenzte Dauer wählen. Zuwachs und Versatz können unter Verwendung von Schiebereitern 450 ausgewählt werden, und andere Parameter sind in Feldern 452 vorgesehen. In einem Fenster 454 ist eine graphische Darstellung der periodischen Wellenform angezeigt, die eine Gestalt aufweist, die auf der gewählten Wellenquelle basiert und auf den anderen ausgewählten Parametern (oder Ausgangsparametern, falls keine Parameter ausgesucht sind) basiert. Durch Verziehen von Steuerpunkten 456 der Wellenform kann der Benutzer in Feldern 452 Umhüllungsparameter graphisch einstellen. Eine Frequenz der Wellenform kann durch Verziehen einer angezeigten Welle zum Verbreitern oder Verschmälern der dargestellten Schwingungen der Welle oder durch Festlegen der Periode in einem Feld 458 eingestellt werden. In Feldern 460 können Auslöserknöpfe für die periodische Welle bestimmt werden, um der entworfenen Wirkung einen physikalischen Knopf (Knöpfe) oder Steuerungen zuzuordnen, und die Richtung der periodischen Welle im Benutzergegenstand-Arbeitsraum wird unter Verwendung einer Wählscheibe 462 und eines Feldes 464 bestimmt. Das Wiederholungsintervallfeld 460 ermöglicht es einem Benutzer, die Zeitgröße vor Wiederholung des Effektes festzulegen, wenn der bezeichnete Knopf gedrückt ist. Diese Parameter und Merkmale können als Zahlen in die dargestellten Eingabefelder oder Bereitschaftsfelder eingegeben werden oder können durch Verziehen der graphischen Darstellung der Wellenform im Fenster 454 mit einem Cursor bis zu dem gewünschten Aussehen oder Maß eingegeben werden.
  • Beim Spezifizieren verursachen die Parameter eine Änderung der graphischen Darstellung gemäß den Parametern. Wenn also der Benutzer eine bestimmte Umhüllungskurve spezifiziert, wird diese Umhüllungskurve sofort im Fenster 454 angezeigt. Der Benutzer kann auf diese Weise schnell visuell bestimmen, wie die angegebenen Parameter sich genau auf die periodische Wellenform auswirken.
  • Zum Testen der spezifizierten periodischen Welle wählt der Benutzer vorzugsweise den Startknopf 456 aus, der den Mikroprozessor anweist, die angegebene Kraftempfindung über die Zeit an den Benutzergegenstand auszugeben, so daß der Benutzer die Kraftempfindung fühlen kann, wenn er den Benutzergegenstand ergreift. In der bevorzugten Ausführungsform rollt eine Graphikmarke, wie z. B. eine vertikale Linie oder ein Zeiger, von links nach rechts über das Bildschirmfenster 454 und zeigt den aktuellen Abschnitt oder Punkt auf der Wellenform an, der gerade ausgegeben wird. Oder die Wellenform kann belebt sein; wenn beispielsweise ein Impuls und Nachlassen festgelegt ist, wird die Welle so belebt, daß der Impulsabschnitt der Wellenform angezeigt wird, wenn die Impulskraft auf den Benutzergegenstand ausgegeben wird, und das Nachlassen wird angezeigt, wenn die Ausgangskraft auf ein konstantes Level herunterfährt. Da die graphische Anzeige von dem Host-Computer übertragen wird und die Kraftwellenerzeugung (in einer Ausführungsform) von einem örtlichen Mikroprozessor verarbeitet wird, muß die Host-Anzeige der Marke zu Beginn der Kraftausgabe mit der Krafterzeugung des Mikroprozessors synchronisiert werden. Der Benutzer kann die Ausgabe der periodischen Empfindung stoppen, indem er den Stop-Knopf 458 auswählt.
  • Wie oben beschrieben, besteht die normale Vorgehensweise eines Kraftdesigners bei der Verwendung der Schnittstelle 300 darin, Parameter für eine ausgewählte Kraftempfindungsart einzugeben, durch Betätigen des Benutzergegenstands die Art und Weise zu testen, wie sich die Kraftempfindung anfühlt, die Parameter auf der Basis dessen einzustellen, wie sich die Kraft anfühlt, und die Schritte Testen der Art und Weise, wie sich die Kraft anfühlt und Einstellen der Parameter iterativ zu wiederholen, bis die gewünschte Kraftempfindung charakterisiert ist. Normalerweise würde der Benutzer dann die resultierende Parameteranordnung zur Beschreibung dieser Kraftempfindung auf einem Speichermedium sichern, wie z. B. einer Magnetplatte, einer CD-ROM, einem nichtflüchtigen Speicher, einer PCMCIA-Karte, einem Band oder anderen Speicherraum, auf den ein Computer zugreifen kann, der zur Steuerung des Force Feedback gewünscht wird. Der Benutzer ordnet der gespeicherten Parameteranordnung vorzugsweise auch einen Feldnamen zu, wie z. B. einen Dateinamen, so daß später auf diese Kraftempfindung zugegriffen werden kann. Demzufolge können andere auf einem Host-Computer laufende Anwendungsprogramme mit diesem Feldnamen auf die Parameteranordnung zugreifen und die gestaltete Kraftempfindung in einer Anwendung verwenden, wie z. B. in einem Spiel, einer Graphik-Benutzerschnittstelle, einer Simulation etc.
  • Sobald eine Kraftempfindung unter Verwendung der Graphikwerkzeuge gestaltet ist, wie oben beschrieben, kann die Definition als Parameter-Betriebsmittel gespeichert werden. Durch Zugreifen auf das Schnittstellen-Betriebsmittel von einem Anwendungsprogramm aus wird das Betriebsmittel automatisch von einer Parameteranordnung in den Code in der gewünschten Sprache oder dem gewünschten Format konvertiert, z. B. Direct-X von der Firma Microsoft® Corporation zur Verwendung im Betriebssystem WindowsTM. Das Force-Feedback-Betriebsmittel kann als oder in einer DLL (Dynamische Link-Bibliothek) vorgesehen sein, die mit einem Anwendungsprogramm verknüpft ist. In einer Ausführungsform kann die DLL das Anwendungsprogramm mit Effekten bereitstellen, die als komplettierte Direct_X Structs (DI_Struct) definiert sind, wobei der Anwendungsprogrammierer dann unter Verwendung des Aufrufs ”CreateEffect” im Direct-X (oder entsprechenden Aufrufen in anderen Sprachen/Formaten) Effekte erzeugen kann. Oder die DLL kann das gesamte Verfahren durchführen und den Effekt für das Anwendungsprogramm erzeugen, wobei sie für den Programmierer einen Zeiger auf die Empfindung bereitstellt. Ein Vorteil bei der Verwendung der ersten Option, bei der der Programmierer ”CreateEffect” aufruft, ist dabei, daß sie dem Programmierer vor der Erzeugung des Effekts die Gelegenheit gibt, auf die Parameter zuzugreifen, so daß die Parameter auf Wunsch verändert werden können.
  • Kräfteempfindungen und Geräusche
  • 8 veranschaulicht eine andere Ausführungsform 500 der Kraftdesign-Schnittstelle der vorliegenden Erfindung, die die Möglichkeit zur Synchronisierung von Geräuschen und Kraftempfindungen (”Krafteffekte”) einschließt. Geräusche sind für das Erleben von Gefühlsempfindungen ziemlich wichtig. Ein Fühlen einer Maschine, einer Explosion oder einer Kollision hat ohne Ton beispielsweise nicht annähernd dieselbe Wirkung auf den Benutzer wie wenn es von synchronisierten Geräuscheffekten begleitet ist. Es ist daher wichtig für den Designer von Kraftempfindungen, während des Gestaltungsverfahrens die Geräusche zu berücksichtigen, die die Kraftempfindungen begleiten werden. Die Schnittstelle 500 ermöglicht es einem Benutzer der Design-Schnittstelle, Kräfte mit gewünschten Geräuscheffekten einfach zu synchronisieren und, was noch wichtiger ist, ermöglicht es dem Benutzer, Kraftempfindungen wiederholt zu modifizieren, so daß sie effizienter mit den Geräuscheffekten präsentiert werden.
  • Die Schnittstelle 500 enthält vorzugsweise eine Empfindungspalette 502, eine Knopf-Auslöserpalette 504 und einen Gestaltungsraum 506 mit ähnlichen Merkmalen wie in der oben beschriebenen Schnittstelle 300. Der Gestaltungsraum kann eine Reihe von Kraftempfindungen 508 enthalten, die dann in einer speziellen ”Kraft-Betriebsmittel”-Datei gespeichert werden, die von der Schnittstelle 500 herausgegeben wird. Jede Kraftempfindung in dem Gestaltungsraum 506 kann durch Aufrufen eines Kraft-Entwurfsfensters 508 verändert werden, das eine graphische Darstellung der Kraft und mehrere Steuerungen enthält, um eine Modifikation der Kraftempfindung zu ermöglichen, wie oben detailliert beschrieben. In 8 ist beispielsweise ein Entwurfsfenster für eine periodische ”Pfeil und Bogen”-Kraftempfindung gezeigt.
  • Die Knopf-Auslöserpalette 504 weist vorzugsweise eine zusätzliche Funktionsvielfalt der vorliegenden Erfindung bezüglich der Zuordnung von Geräuschen zu Kraftempfindungen auf. Die Auslöserpalette 504 wird zum Testen von Kraftempfindungen und Geräuschen verwendet, die den Kraftempfindungen jeweils in der Schnittstelle 500 zugeordnet wurden (und unterscheidet sich auf diese Weise vom Zuordnen einer Auslöserbedingung zu einer Kraftempfindung selbst, was im Feld 509 des Entwurfsfensters 508 geschieht). Jedes Knopf-Icon 510 kann einem bestimmten Knopf oder einer anderen Steuerung auf der Force-Feedback-Vorrichtung zugeordnet werden, die mit dem Computer verbunden ist, der die Schnittstelle 500 betreibt. Zur Anzeige der Möglichkeit der Zuordnung von Geräuschen weisen die Knopf-Icons 510 vorzugsweise ein Hinweis-Icon oder eine andere graphische Indikation der Möglichkeit zum Hinzufügen von Geräuschen auf. Der Benutzer kann einem Knopf-Icon 510 eine Kraftempfindung zuordnen, um es dem Benutzer zu ermöglichen, die Kraftempfindung auszugeben, wie oben beschrieben; beispielsweise kann ein Kraftempfindungs-Icon 508 im Gestaltungsraum 506 auf das Knopf-Icon 510a gezogen werden. Alternativ können ein Menü und eine Liste mit Kraftempfindungen zum Hinzufügen zu dem Knopf-Icon angezeigt werden. Einem Knopf-Icon 510 können mehrfache Kraftempfindungen zugeordnet sein, wie durch unter dem Knopf-Icon 510a dargestellte Kraft-Icons 511 gezeigt.
  • Dem Knopf-Icon 510a kann vom Benutzer auch ein Geräusch zugeordnet werden. Wenn der Benutzer beispielsweise die Anzeige eines Geräuschmenüs auswählt (z. B. Wahl eines graphischen Knopfes etc. durch Rechtsklick auf der Maus), wird ein Menü 512 angezeigt, das es einem Benutzer ermöglicht, ein Geräusch an das Knopf-Icon ”anzuhängen”. In dem gezeigten Beispielsmenü hat die Benutzerauswahl die Optionen, ein Geräusch an das ausgewählte Knopf-Icon anzuhängen, ein zuvor angehängtes Geräusch von dem ausgewählten Knopf-Icon ”abzutrennen”, oder ein Geräusch zu testen, das für das Knopf-Icon ausgewählt wurde. Beim Anhängen eines Geräusches wird vorzugsweise eine Liste mit Geräuschdateien angezeigt, aus denen der Benutzer eine Datei auswählen kann. Die Geräuschdateien können in einem Standardformat vorliegen, wie z. B. ”wav” oder RealAudio, und können sich auf dem Computer befinden, der die Design-Schnittstelle 500 betreibt oder auf einem anderen Computer, der beispielsweise durch ein Computer-Netzwerk mit dem Computer verbunden ist, der die Schnittstelle betreibt. In wechselnden Ausführungsformen kann der Benutzer mehrfache Geräuschdateien zum Anhängen an ein einzelnes Knopf-Icon 510 auswählen.
  • Wenn eine oder mehr Geräuschdateien an ein Knopf-Icon wie das Knopf-Icon 510a angehängt wurden, werden die Geräuschdateien auf an den Computer angehängten Lautsprechern abgespielt, wenn der zugehörige Knopf auf der Force-Feedback-Schnittstellenvorrichtung vom Benutzer gedrückt wird. Darüber hinaus werden alle dem Knopf-Icon 510a zugeordneten Kraftempfindungen 511 zur selben Zeit abgespielt wie das Geräusch, wenn der Knopf gedrückt wird. Vorzugsweise ist der Beginn der Kraftempfindung mit dem Beginn des abgespielten Geräuscheffektes synchronisiert. Die Kraftempfindung und das Geräusch können auch abgespielt werden, wenn der Benutzer eine Steuerung in der Schnittstelle 500 aktiviert, wie z. B. einen graphischen Knopf oder Icon in der Schnittstelle 500.
  • Die Möglichkeit, Toneffekte mit einem Knopf zu verbinden und eine oder mehr Geräuschdateien mit einer Kraftempfindung abzuspielen, ermöglicht dem Benutzer eine direkte Kenntnis der Art und Weise, wie eine Kraftempfindung in Verbindung mit einem gewünschten Toneffekt von dem Benutzer erlebt werden wird. Dies ermöglicht dem Benutzer die Feinabstimmung einer Kraftempfindung, die mit Geräuschen synchronisiert werden soll. Wenn beispielsweise eine Vibration mit einem pulsierenden Geräuscheffekt synchronisiert werden soll, können die vom Benutzer verspürten Vibrations-”Stöße” mit jedem Tonimpuls synchronisiert werden, indem ein Knopf gedrückt wird, der mit einem Knopf-Icon 510 verbunden ist, dem die Kraft und das Geräusch zugeordnet sind. Wenn die Vibrationsstöße teilweise nicht mit den Tonimpulsen synchron sind, kann der Benutzer die Frequenz (oder andere relevante Parameter) der Vibration schnell einstellen und die Kraft und das Geräusch erneut testen. Falls die Kraft eine weitere Abstimmung benötigt, kann der Benutzer dies schnell tun. Dieses iterative Gestaltungsverfahren ermöglicht es, einzelne Merkmale in einem Geräuscheffekt an die Merkmale in einem abgespielten Krafteffekt anzupassen. Wenn beispielsweise ein Geräusch nicht periodisch ist und bestimmte Merkmale aufweist, wie z. B. ein leises Kollisionsgeräusch gefolgt von einem lauten Kollisionsgeräusch, ist eine Kraftempfindung mit der Ausgabe von Rüttelstößen mit den Kollisionsgeräuschen in der Schnittstelle 500 (oder Schnittstelle 300) der vorliegenden Erfindung leicht zu synchronisieren. Natürlich kann der Benutzer den Ton auch so einstellen, daß er mit einer bestimmten Kraftempfindung synchronisiert wird. In einigen Ausführungsformen kann die Schnittstelle 500 einen Geräuschdateiaufbereiter (Sound Editor) enthalten; oder der Benutzer kann ein externes, separates Programm zum Editieren von Geräuschdateien verwenden, wie es Fachleuten auf diesem Gebiet gut bekannt ist.
  • In alternativen Ausführungsformen können unterschiedliche Methoden zum Zuordnen von Geräuschen verwendet werden. Zum Beispiel könnte ein Geräusch direkt einer Kraftempfindung zugeordnet sein (oder umgekehrt), und die Kraftempfindung kann ganz normal unter Verwendung eines Auslösers, graphischen Knopfes, Knopf-Icons 510 etc. getestet werden. Immer wenn die Kraftempfindung ausgegeben wird, wird auch das zugeordnete Geräusch ausgegeben.
  • In einer Ausführungsform enthalten die von der Schnittstelle 500 geschriebenen Kraftempfindungsdateien keinerlei Toninformationen darüber, welche Geräusche welchen Knopf-Icons oder Kraftempfindungen zugeordnet wurden. In anderen Ausführungsformen kann eine Kraftempfindungsdatei Informationen darüber enthalten, welche Geräusche und Kraftempfindungen mit bestimmten Knopf-Icons verbunden wurden. Dies entbindet einen Benutzer davon, jedesmal dieselben Kräfte und Geräusche zuzuordnen, wenn die Schnittstelle 500 geladen wird, da die Zuordnungsinformationen gespeichert sind und bei Laden der Schnittstelle 500 automatisch angewendet werden. Des weiteren könnte beim Laden der Schnittstelle 500 oder während des Gebrauchs der Schnittstelle ein Geräusch automatisch einer Kraft mit demselben Namen wie das Geräusch zugeordnet werden, z. B. kann eine Kraftdatei ”explosion.ifr” benannt werden und eine Geräuschdatei kann ”explosion.wav” benannt werden, so daß die beiden Dateien einander zugeordnet und gleichzeitig abgespielt werden.
  • In anderen Ausführungsformen können zusätzliche Merkmale bereitgestellt sein, um einem Benutzer ein leichtes Synchronisieren einer Kraftempfindung mit einem Ton zu ermöglichen. Zum Beispiel kann ein Fenster zur Darstellung des Tons als eine Größe/Zeit-Kurve angezeigt sein, ähnlich wie die für eine periodische Kraftempfindung gezeigte Kurve 514. Der Benutzer kann die Ton- und Kraft-Wellenformen nebeneinander anzeigen und alle gewünschten Merkmale der Kraft und Merkmale im Ton aneinander anpassen. Des weiteren ist ein Benutzer vorzugsweise in der Lage, einen Teil eines Geräusches zum Abspielen auszuwählen, und der entsprechende Teil der zugeordneten Kraftempfindung spielt dann automatisch. Ebenso ist ein Benutzer vorzugsweise in der Lage, einen Teil einer Kraftempfindung zum Abspielen auszuwählen, und der entsprechende Teil des zugeordneten Geräusches spielt dann automatisch.
  • Zwar ist diese Erfindung bezogen auf mehrere bevorzugte Ausführungsformen beschrieben worden, es wird jedoch erwartet, daß diesbezügliche Veränderungen, Vertauschungen und Äquivalente für Fachleute auf diesem Gebiet beim Lesen der Beschreibung und Studieren der Zeichnungen offensichtlich werden. Beispielsweise können viele unterschiedliche Parameter mit dynamischen Empfindungen, Zuständen und Effekten verbunden sein, um einen Spielraum beim Spezifizieren einer bestimmten Kraftempfindung zu ermöglichen. Diese Parameter können in der Graphikschnittstelle der vorliegenden Erfindung präsentiert sein. Im Schnittstellenwerkzeug der vorliegenden Erfindung können viele Arten von unterschiedlichen visuellen Metaphern angezeigt werden, um es einem Programmierer zu ermöglichen, sich leicht ein Bild von Veränderungen an einer Kraftempfindung zu machen und die Charakterisierung der Kraftempfindung zu verbessern. Des weiteren ist die bestimmte Terminologie zum Zwecke der darstellerischen Klarheit verwendet worden und nicht zur Einschränkung der vorliegenden Erfindung. Daher sollen die folgenden beiliegenden Ansprüche alle solchen Veränderungen, Vertauschungen und Äquivalente einschließen, die unter den eigentlichen Erfindungsgedanken und Schutzbereich der vorliegenden Erfindung fallen.

Claims (23)

  1. Verfahren zur Realisierung einer Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung, wobei das Verfahren umfasst: – Anzeigen der Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung auf einer Anzeigeeinheit eines Host-Computers; – Erhalten einer Eingabe von einem Benutzer an die Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung, wobei die Eingabe eine Kraftempfindungsart wählt, die von dem Host-Computer befehlsgesteuert und durch eine Force-Feedback-Schnittstellenvorrichtung ausgegeben werden soll, wobei die Force-Feedback-Schnittstellenvorrichtung einen Gegenstand einschließt, der von einem Benutzer betätigt werden kann, den ein Benutzer greifen kann und der in einem Freiheitsgrad beweglich ist; – Erhalten einer Eingabe von einem Benutzer zur Definition der physikalischen Merkmale der ausgewählten Kraftempfindung; – Anzeigen einer graphischen Darstellung der ausgewählten Kraftempfindung, wie sie von dem Benutzer gekennzeichnet wurde, wobei die graphische Darstellung dem Benutzer eine visuelle Demonstration eines Fühlens der gekennzeichneten Kraftempfindung zur Verfügung stellt; – Verbinden der ausgewählten Kraftempfindung und eines Geräusches miteinander; – Befehlen, dass die gekennzeichnete Kraftempfindung durch die an den Host-Computer gekoppelte Force-Feedback-Schnittstellenvorrichtung ausgegeben wird, so dass die Kraftempfindung in Verbindung mit einer Aktualisierung der visuellen Demonstration des Fühlens der gekennzeichneten Kraftempfindung und in Verbindung mit einer Ausgabe des zugeordneten Geräusches ausgegeben wird; und – Erhalten von Änderungen an der gekennzeichneten Kraftempfindung von dem Benutzer, nachdem die Kraftempfindung ausgegeben ist, um die Kraftempfindung mit dem Geräusch zu synchronisieren, und Anzeigen der zusätzlichen Änderungen in der graphischen Darstellung.
  2. Verfahren nach Anspruch 1, ferner umfassend die Speicherung einer Vielzahl von die Kraftempfindung kennzeichnenden Parametern auf ein Speichermedium, auf das der Host-Computer Zugriff hat.
  3. Verfahren nach Anspruch 2, ferner umfassend das Zugreifen auf die gespeicherte Vielzahl von Parametern von einem anderen Anwendungsprogramm aus als die Ein-/Ausgabe-Schnittstelle, wobei das Anwendungsprogramm die Vielzahl von Parametern zur Ausgabe der gekennzeichneten Kraftempfindung während der Ausführung des Anwendungsprogramms verwendet.
  4. Verfahren nach Anspruch 3, wobei ein Anfang des Geräusches mit einem Anfang der Kraftempfindung synchronisiert wird, wenn das Geräusch und die Kraftempfindung ausgegeben werden.
  5. Verfahren nach Anspruch 1, wobei die ausgewählte Kraftempfindung mit einer Steuerung auf der Force-Feedback-Vorrichtung verbunden ist, so dass die Kraftempfindung, die visuelle Demonstration und das Geräusch ausgegeben werden, wenn die Steuerung durch den Benutzer aktiviert wird.
  6. Verfahren nach Anspruch 5, wobei die Steuerung ein Knopf ist und wobei die Kraftempfindung und das Geräusch mit einem graphischen Symbol in der Ein-/Ausgabe-Schnittstelle verbunden sind, das den Knopf darstellt.
  7. Verfahren nach Anspruch 6, wobei der Benutzer beim Auswählen des graphischen Symbols eine Option hat, das Symbol mit einem Geräusch zu verbinden, das Symbol von einem Geräusch zu trennen oder das Symbol zu testen.
  8. Verfahren nach Anspruch 6, wobei der Benutzer das Geräusch von der Steuerung trennen kann.
  9. Verfahren nach Anspruch 1, wobei der Benutzer das Geräusch aus einer Liste mit einer Vielzahl verfügbarer Geräusche auswählen kann.
  10. Verfahren nach Anspruch 1, wobei der Benutzer das Geräusch testen kann, bevor er die Kraftempfindung mit dem Geräusch verbindet.
  11. Verfahren nach Anspruch 1, wobei der Benutzer aus einer Vielzahl von Kraftempfindungen wählen kann, und wobei die wählbaren Kraftempfindungen Zustände, Effekte und Dynamik einschließen.
  12. Verfahren nach Anspruch 1, wobei die ausgewählte Kraftempfindung eine periodische Kraftempfindung und wobei die graphische Darstellung eine Abbildung einer periodischen Wellenform ist.
  13. Verfahren nach Anspruch 1, wobei das Geräusch in einem Standard-Dateiformat bereitgestellt wird.
  14. Vorrichtung zur Realisierung einer Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung, wobei die Vorrichtung umfasst: – Mittel zum Anzeigen einer graphischen Darstellung einer ausgewählten Kraftempfindung, wie sie von dem Benutzer gekennzeichnet wurde, wobei die graphische Darstellung dem Benutzer eine visuelle Demonstration eines Fühlens der gekennzeichneten Kraftempfindung zur Verfügung stellt und in der Ein-Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung auf einer Anzeigevorrichtung eines Host-Computers angezeigt wird, wobei die Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung eine Eingabe von einem Benutzer erhält, der eine Kraftempfindungsart auswählt, die von dem Host-Computer befehlsgesteuert und durch eine Force-Feedback-Schnittstellenvorrichtung ausgegeben werden soll, wobei die Force-Feedback-Schnittstellenvorrichtung einen Gegenstand einschließt, der von einem Benutzer betätigt werden kann, den ein Benutzer greifen kann und der in einem Freiheitsgrad beweglich ist; – Mittel zum Empfangen einer Eingabe von einem Benutzer zur Definition der physikalischen Merkmale der ausgewählten Kraftempfindung; – Mittel zum Verbinden der ausgewählten Kraftempfindung und eines Geräusches miteinander; – Mittel zum Bereitstellen der gekennzeichneten Kraftempfindung an die an den Host-Computer gekoppelte Force-Feedback-Schnittstellenvorrichtung, so dass Aktuatoren der Force-Feedback-Schnittstellenvorrichtung die Kraftempfindung auf dem Benutzergegenstand in Verbindung mit der visuellen Demonstration des Fühlens der gekennzeichneten Kraftempfindung und in Verbindung mit der Ausgabe des zugeordneten Geräusches ausgeben; und – Mittel zum Ändern der Merkmale der Kraftempfindung basierend auf der Eingabe von dem Benutzer, um die Kraftempfindung mit dem Geräusch zu synchronisieren, und Anzeigen der geänderten Kraftempfindung als besagte graphische Darstellung, wobei von den Aktuatoren eine in Übereinstimmung mit den Änderungen modifizierte Kraftempfindung auf dem Benutzergegenstand ausgegeben wird.
  15. Vorrichtung nach Anspruch 14, wobei das Verbinden der Kraftempfindung und des Geräusches miteinander das Verbinden der Kraftempfindung mit einem auf der Force-Feedback-Vorrichtung vorgesehenen realen Knopf und das Verbinden eines Geräusches mit dem Knopf einschließt, so dass die Kraftempfindung und das Geräusch in synchronisierter Form ausgegeben werden, wenn der Knopf von einem Benutzer der Ein-/Ausgabe-Schnittstelle gedrückt wird.
  16. Vorrichtung nach Anspruch 15, wobei die Kraftempfindung und das Geräusch mit einer graphischen Darstellung eines in der Ein-Ausgabe-Schnittstelle angezeigten Knopfes verbunden sind, wobei die graphische Darstellung mit dem realen Knopf auf der Force-Feedback-Schnittstellenvorrichtung verbunden ist.
  17. Vorrichtung nach Anspruch 14, ferner umfassend Mittel zum Einschreiben von Daten zur Beschreibung der physikalischen Merkmale der Kraftempfindung in ein Speichermedium.
  18. Computerlesbares Medium, das Programmbefehle zur Bereitstellung einer durch einen Computer implementierten Ein-/Ausgabe-Schnittstelle zur Gestaltung einer Kraftempfindung einschließt, wobei die Programmbefehle folgende Schritte durchführen: – Anzeigen einer Ein-/Ausgabe-Schnittstelle auf einer Anzeigeeinheit eines Computers; – Erhalten einer Eingabe von einem Benutzer in der Ein-/Ausgabe-Schnittstelle, wobei die Eingabe eine Kraftempfindungsart wählt, die von einem Host-Computer befehlsgesteuert und durch eine Force-Feedback-Schnittstellenvorrichtung ausgegeben werden soll, wobei die Force-Feedback-Schnittstellenvorrichtung einen Gegenstand einschließt, der von einem Benutzer betätigt werden kann, den ein Benutzer greifen kann und der in einem Freiheitsgrad beweglich ist; – Erhalten einer Eingabe von einem Benutzer zur Spezifikation von Parametern zur Definition der ausgewählten Kraftempfindung; – Anzeigen einer graphischen Darstellung der gekennzeichneten Kraftempfindung in der Ein-/Ausgabe-Schnittstelle, wobei die graphische Darstellung visuelle Darstellungen der Parameter einschließt, so dass der Benutzer eine Wirkung der Parameter auf die Kraftempfindung betrachten kann; – Verbinden der ausgewählten Kraftempfindung mit einem Geräusch, so dass das Geräusch in Verbindung mit der Ausgabe der Kraftempfindung auf dem Benutzergegenstand und in Verbindung mit einer visuellen Demonstration des Fühlens der gekennzeichneten Kraftempfindung ausgegeben wird, wenn der Steuerbefehl zur Ausgabe der gekennzeichneten Kraftempfindung durch die an den Host-Computer gekoppelte Force-Feedback-Schnittstellenvorrichtung erfolgt.
  19. Computerlesbares Medium nach Anspruch 18, wobei die gekennzeichnete Kraftempfindung den Steuerbefehl zur Ausgabe durch die Force-Feedback-Schnittstellenvorrichtung erhält, wenn der Benutzer eine Steuerung in der Ein-/Ausgabe-Schnittstelle zum Testen der Kraftempfindung auswählt.
  20. Computerlesbares Medium nach Anspruch 18, aufweisend Programmbefehle zum Empfangen einer zusätzlichen Eingabe von dem Benutzer zum Ändern der Merkmale der Kraftempfindung, so dass sie weiter in Synchronisierung mit dem Geräusch sind.
  21. Computerlesbares Medium nach Anspruch 18, aufweisend Programmbefehle zum Einschreiben der Parameter in ein Speichermedium, wobei die Parameter für Anwendungsprogramme zugänglich sind, die auf dem Computer implementiert sind und die Kraftrückkopplung steuern.
  22. Computerlesbares Medium nach Anspruch 18, aufweisend Programmbefehle zum Aktualisieren der graphischen Darstellung in Übereinstimmung mit der gerade auf den Benutzergegenstand ausgegebenen Kraftempfindung.
  23. Computerlesbares Medium nach Anspruch 18, wobei ein Anfang des Geräusches mit einem Anfang der Kraftempfindung synchronisiert ist, wenn das Geräusch und die Kraftempfindung ausgegeben werden.
DE10004372A 1999-02-02 2000-02-02 Gestaltung von Kraftempfindungen für Computeranwendungen mit Geräuschen Expired - Lifetime DE10004372B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/243,209 US6285351B1 (en) 1997-04-25 1999-02-02 Designing force sensations for computer applications including sounds
US243209 1999-02-02

Publications (2)

Publication Number Publication Date
DE10004372A1 DE10004372A1 (de) 2000-09-14
DE10004372B4 true DE10004372B4 (de) 2011-04-28

Family

ID=22917772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10004372A Expired - Lifetime DE10004372B4 (de) 1999-02-02 2000-02-02 Gestaltung von Kraftempfindungen für Computeranwendungen mit Geräuschen

Country Status (6)

Country Link
US (1) US6285351B1 (de)
CA (1) CA2297514A1 (de)
DE (1) DE10004372B4 (de)
FR (1) FR2790319B1 (de)
GB (1) GB2346455B (de)
IT (1) IT1315182B1 (de)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206219A1 (en) 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
US7027032B2 (en) 1995-12-01 2006-04-11 Immersion Corporation Designing force sensations for force feedback computer applications
US6169540B1 (en) 1995-12-01 2001-01-02 Immersion Corporation Method and apparatus for designing force sensations in force feedback applications
US6300936B1 (en) * 1997-11-14 2001-10-09 Immersion Corporation Force feedback system including multi-tasking graphical host environment and interface device
US7091948B2 (en) * 1997-04-25 2006-08-15 Immersion Corporation Design of force sensations for haptic feedback computer interfaces
US20010032278A1 (en) 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
US8020095B2 (en) 1997-11-14 2011-09-13 Immersion Corporation Force feedback system including multi-tasking graphical host environment
IL123073A0 (en) 1998-01-26 1998-09-24 Simbionix Ltd Endoscopic tutorial system
US6614420B1 (en) * 1999-02-22 2003-09-02 Microsoft Corporation Dual axis articulated electronic input device
US7046229B1 (en) 1999-04-20 2006-05-16 Microsoft Corporation Computer input device providing absolute and relative positional information
US6699123B2 (en) * 1999-10-14 2004-03-02 Sony Computer Entertainment Inc. Entertainment system, entertainment apparatus, recording medium, and program
US8032605B2 (en) 1999-10-27 2011-10-04 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
US6563523B1 (en) * 1999-10-28 2003-05-13 Midway Amusement Games Llc Graphical control of a time-based set-up feature for a video game
US6496200B1 (en) 1999-11-02 2002-12-17 Interval Research Corp. Flexible variation of haptic interface resolution
US7904194B2 (en) 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
US7202851B2 (en) 2001-05-04 2007-04-10 Immersion Medical Inc. Haptic interface for palpation simulation
US7877243B2 (en) * 2001-07-16 2011-01-25 Immersion Corporation Pivotable computer interface
US7056123B2 (en) 2001-07-16 2006-06-06 Immersion Corporation Interface apparatus with cable-driven force feedback and grounded actuators
US7623114B2 (en) * 2001-10-09 2009-11-24 Immersion Corporation Haptic feedback sensations based on audio output from computer devices
US6703550B2 (en) * 2001-10-10 2004-03-09 Immersion Corporation Sound data output and manipulation using haptic feedback
US7369115B2 (en) 2002-04-25 2008-05-06 Immersion Corporation Haptic devices having multiple operational modes including at least one resonant mode
EP1378856A1 (de) * 2002-07-01 2004-01-07 Sony Ericsson Mobile Communications AB Verfahren und Vorrichtung zur taktilen Rückkopplung
WO2004036405A2 (en) * 2002-10-15 2004-04-29 Immersion Corporation Products and processes for providing force sensations in a user interface
JP4014504B2 (ja) * 2002-12-27 2007-11-28 アルプス電気株式会社 力覚付与型入出力装置
EP1463052A1 (de) 2003-03-25 2004-09-29 Deutsche Thomson-Brandt Gmbh Verfahren zur Erzeugung von animierten Menütasten
US7280095B2 (en) * 2003-04-30 2007-10-09 Immersion Corporation Hierarchical methods for generating force feedback effects
GB2418475B (en) 2003-06-09 2007-10-24 Immersion Corp Interactive gaming systems with haptic feedback
US20050004987A1 (en) * 2003-07-03 2005-01-06 Sbc, Inc. Graphical user interface for uploading files
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US20060064503A1 (en) 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
US7982711B2 (en) * 2003-12-19 2011-07-19 Immersion Corporation Haptic profiling system and method
US7742036B2 (en) 2003-12-22 2010-06-22 Immersion Corporation System and method for controlling haptic devices having multiple operational modes
US20050246638A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Presenting in-game tips on a video game system
US7765333B2 (en) 2004-07-15 2010-07-27 Immersion Corporation System and method for ordering haptic effects
US20060017691A1 (en) * 2004-07-23 2006-01-26 Juan Manuel Cruz-Hernandez System and method for controlling audio output associated with haptic effects
JP4738019B2 (ja) 2005-02-23 2011-08-03 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲーム制御方法およびゲームシステム
US8700791B2 (en) 2005-10-19 2014-04-15 Immersion Corporation Synchronization of haptic effect data in a media transport stream
US7979146B2 (en) * 2006-04-13 2011-07-12 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
US8000825B2 (en) 2006-04-13 2011-08-16 Immersion Corporation System and method for automatically producing haptic events from a digital audio file
US8378964B2 (en) 2006-04-13 2013-02-19 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
WO2007148266A1 (en) * 2006-06-19 2007-12-27 Ambx Uk Limited Game enhancer
KR100883311B1 (ko) * 2007-05-25 2009-02-11 한국과학기술연구원 입력 장치의 개발을 위한 시스템
FR2922035B1 (fr) * 2007-10-08 2016-09-30 Dav Procede de commande d'un dispositif de commande a surface tactile et dispositif de commande electrique a surface tactile comportant des moyens de mise en oeuvre dudit procede
US9019087B2 (en) 2007-10-16 2015-04-28 Immersion Corporation Synchronization of haptic effect data in a media stream
US20090118015A1 (en) * 2007-11-07 2009-05-07 International Business Machines Corporation Solution for enhancing the user experience of an electronic game by making user-created game data available in context during gameplay
FR2925708B1 (fr) * 2007-12-20 2009-12-18 Dav Procede de detection d'une variation angulaire d'une trajectoire de commande sur une surface tactile et module de commande correspondant
EP2321019B1 (de) * 2008-08-11 2019-04-10 Immersion Corporation Ein haptisches ermöglichtes spiel-peripherie für ein musikalisches spiel
US20100167820A1 (en) * 2008-12-29 2010-07-01 Houssam Barakat Human interface device
US9927873B2 (en) * 2009-03-12 2018-03-27 Immersion Corporation Systems and methods for using textures in graphical user interface widgets
US9696803B2 (en) 2009-03-12 2017-07-04 Immersion Corporation Systems and methods for friction displays and additional haptic effects
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
US10564721B2 (en) * 2009-03-12 2020-02-18 Immersion Corporation Systems and methods for using multiple actuators to realize textures
US9874935B2 (en) 2009-03-12 2018-01-23 Immersion Corporation Systems and methods for a texture engine
US10007340B2 (en) * 2009-03-12 2018-06-26 Immersion Corporation Systems and methods for interfaces featuring surface-based haptic effects
US9132352B1 (en) 2010-06-24 2015-09-15 Gregory S. Rabin Interactive system and method for rendering an object
GB2482190A (en) 2010-07-23 2012-01-25 New Transducers Ltd Methods of generating a desired haptic sensation in a touch sensitive device
US8742250B2 (en) * 2010-08-09 2014-06-03 Palo Alto Research Center Incorporated Stationary sunlight redirecting system for increasing the efficiency of fixed-tilt PV farm
JP6377312B2 (ja) * 2010-11-10 2018-08-22 株式会社ユニバーサルエンターテインメント ゲーミングマシン
US9448626B2 (en) 2011-02-11 2016-09-20 Immersion Corporation Sound to haptic effect conversion system using amplitude value
US8717152B2 (en) 2011-02-11 2014-05-06 Immersion Corporation Sound to haptic effect conversion system using waveform
JP2013034714A (ja) * 2011-08-09 2013-02-21 Universal Entertainment Corp ゲーム端末、及び報知方法
JP2013118903A (ja) * 2011-12-06 2013-06-17 Universal Entertainment Corp レバー式の操作子を回動可能に備えたゲーム端末
US9715276B2 (en) 2012-04-04 2017-07-25 Immersion Corporation Sound to haptic effect conversion system using multiple actuators
US9056244B2 (en) 2012-09-12 2015-06-16 Wms Gaming Inc. Gaming apparatus incorporating targeted haptic feedback
US9092059B2 (en) 2012-10-26 2015-07-28 Immersion Corporation Stream-independent sound to haptic effect conversion system
US9704350B1 (en) 2013-03-14 2017-07-11 Harmonix Music Systems, Inc. Musical combat game
US9401079B2 (en) 2013-09-06 2016-07-26 Immersion Corporation Method and apparatus of converting control tracks for providing haptic feedback
JP2015185137A (ja) * 2014-03-26 2015-10-22 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US20160044422A1 (en) * 2014-08-11 2016-02-11 Dell Products, Lp Pointer System for Context Based Feedback
US9838009B2 (en) 2014-08-27 2017-12-05 Continental Automotive Systems, Inc. Switch with user feedback
US10613629B2 (en) 2015-03-27 2020-04-07 Chad Laurendeau System and method for force feedback interface devices
US10282052B2 (en) 2015-10-15 2019-05-07 At&T Intellectual Property I, L.P. Apparatus and method for presenting information associated with icons on a display screen
US10296088B2 (en) * 2016-01-26 2019-05-21 Futurewei Technologies, Inc. Haptic correlated graphic effects
US20200379570A1 (en) * 2019-05-31 2020-12-03 Apple Inc. Haptics application programming interface
US11226690B2 (en) * 2020-04-10 2022-01-18 Dell Products, L.P. Systems and methods for guiding a user with a haptic mouse

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655264A1 (de) * 1993-11-30 1995-05-31 Fritz Gegauf Ag Bernina-Nähmaschinenfabrik Kraft- bzw. Muskeltrainingsgerät
EP0677933A2 (de) * 1994-04-12 1995-10-18 STUDER Professional Audio AG Stellglied mit taktiler Rückkopplung
DE19649082C1 (de) * 1996-11-27 1998-01-08 Fraunhofer Ges Forschung Vorrichtung zur Fernsteuerung eines Werkzeugs

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3919691A (en) 1971-05-26 1975-11-11 Bell Telephone Labor Inc Tactile man-machine communication 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
US4935728A (en) 1985-01-02 1990-06-19 Altra Corporation Computer control
US5103404A (en) 1985-12-06 1992-04-07 Tensor Development, Inc. Feedback for a manipulator
NL8602624A (nl) 1986-10-20 1988-05-16 Oce Nederland Bv Invoerinrichting met taktiele terugkoppeling.
US4800721A (en) 1987-02-13 1989-01-31 Caterpillar Inc. Force feedback lever
US4868549A (en) 1987-05-18 1989-09-19 International Business Machines Corporation Feedback mouse
US4896554A (en) 1987-11-03 1990-01-30 Culver Craig F Multifunction tactile manipulatable control
US5116180A (en) 1988-07-18 1992-05-26 Spar Aerospace Limited Human-in-the-loop machine control loop
US4907973A (en) 1988-11-14 1990-03-13 Hon David C Expert system simulator for modeling realistic internal environments and performance
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
US5076517A (en) 1989-08-14 1991-12-31 United Technologies Corporation Programmable, linear collective control system for a helicopter
US5182557A (en) 1989-09-20 1993-01-26 Semborg Recrob, Corp. Motorized joystick
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
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
US5354162A (en) 1991-02-26 1994-10-11 Rutgers University Actuator system for providing force feedback to portable master support
US5341459A (en) 1991-05-09 1994-08-23 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Generalized compliant motion primitive
US5146566A (en) 1991-05-29 1992-09-08 Ibm Corporation Input/output system for computer user interface using magnetic levitation
US5386507A (en) 1991-07-18 1995-01-31 Teig; Steven L. Computer graphics system for selectively modelling molecules and investigating the chemical and physical properties thereof
US5185561A (en) 1991-07-23 1993-02-09 Digital Equipment Corporation Torque motor as a tactile feedback device in a computer system
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
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
US5402499A (en) 1992-08-07 1995-03-28 Lsi Logic Corporation Multimedia controller
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
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
US6131097A (en) 1992-12-02 2000-10-10 Immersion Corporation Haptic authoring
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
US5526480A (en) 1992-12-28 1996-06-11 International Business Machines Corporation Time domain scroll bar for multimedia presentations in a data processing system
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
JP3686686B2 (ja) 1993-05-11 2005-08-24 松下電器産業株式会社 力覚呈示デバイス、データ入力装置、及びデータ入力デバイス装置
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5513100A (en) 1993-06-10 1996-04-30 The University Of British Columbia Velocity controller with force feedback stiffness control
US5739811A (en) 1993-07-16 1998-04-14 Immersion Human Interface Corporation Method and apparatus for controlling human-computer interface systems providing force feedback
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
US5701140A (en) 1993-07-16 1997-12-23 Immersion Human Interface Corp. Method and apparatus for providing a cursor control interface with 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
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
US5625576A (en) 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
US5461711A (en) 1993-12-22 1995-10-24 Interval Research Corporation Method and system for spatial accessing of time-based information
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
CA2140164A1 (en) 1994-01-27 1995-07-28 Kenneth R. Robertson System and method for computer cursor control
US5482051A (en) 1994-03-10 1996-01-09 The University Of Akron Electromyographic virtual reality system
US6004134A (en) 1994-05-19 1999-12-21 Exos, Inc. Interactive simulation including force feedback
US5684722A (en) 1994-09-21 1997-11-04 Thorner; Craig Apparatus and method for generating a control signal for a tactile sensation generator
US5565840A (en) 1994-09-21 1996-10-15 Thorner; Craig Tactile sensation generator
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
JP3236180B2 (ja) 1994-12-05 2001-12-10 日本電気株式会社 座標指示装置
JP2985697B2 (ja) * 1994-12-16 1999-12-06 株式会社日立製作所 画像情報の音響出力方法
DE69622101T2 (de) 1995-03-13 2003-02-13 Koninkl Philips Electronics Nv 3-d-eingang durch vertikale verschiebung von maus oder rollkugel
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
US5691898A (en) * 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
US5589854A (en) 1995-06-22 1996-12-31 Tsai; Ming-Chang Touching feedback device
US5760788A (en) * 1995-07-28 1998-06-02 Microsoft Corporation Graphical programming system and method for enabling a person to learn text-based programming
US5808601A (en) 1995-09-12 1998-09-15 International Business Machines Corporation Interactive object selection pointer method and apparatus
US5959613A (en) 1995-12-01 1999-09-28 Immersion Corporation Method and apparatus for shaping force signals for a force feedback device
US5754023A (en) 1995-10-26 1998-05-19 Cybernet Systems Corporation Gyro-stabilized platforms for force-feedback applications
US5825308A (en) 1996-11-26 1998-10-20 Immersion Human Interface Corporation Force feedback interface having isotonic and isometric functionality
EP0864145A4 (de) 1995-11-30 1998-12-16 Virtual Technologies Inc Taktile rückkopplung für mensch-/maschinenschnittstelle
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
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
US6147674A (en) 1995-12-01 2000-11-14 Immersion Corporation Method and apparatus for designing force sensations in force feedback computer applications
US5760764A (en) 1995-12-13 1998-06-02 Altra Computer display cursor controller with serial interface
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
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
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
US5857986A (en) 1996-05-24 1999-01-12 Moriyasu; Hiro Interactive vibrator for multimedia
US5802353A (en) 1996-06-12 1998-09-01 General Electric Company Haptic computer modeling system
US6125385A (en) 1996-08-01 2000-09-26 Immersion Corporation Force feedback implementation in web pages
JPH114966A (ja) 1996-10-01 1999-01-12 Sony Computer Entateimento:Kk ゲーム機用操作装置及びゲーム装置
GB9622556D0 (en) 1996-10-30 1997-01-08 Philips Electronics Nv Cursor control with user feedback mechanism
US6020876A (en) 1997-04-14 2000-02-01 Immersion Corporation Force feedback interface with selective disturbance filter
US6005551A (en) 1997-04-25 1999-12-21 Microsoft Corporation Offline force effect rendering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655264A1 (de) * 1993-11-30 1995-05-31 Fritz Gegauf Ag Bernina-Nähmaschinenfabrik Kraft- bzw. Muskeltrainingsgerät
EP0677933A2 (de) * 1994-04-12 1995-10-18 STUDER Professional Audio AG Stellglied mit taktiler Rückkopplung
DE19649082C1 (de) * 1996-11-27 1998-01-08 Fraunhofer Ges Forschung Vorrichtung zur Fernsteuerung eines Werkzeugs

Also Published As

Publication number Publication date
GB2346455B (en) 2003-05-07
GB2346455A (en) 2000-08-09
CA2297514A1 (en) 2000-08-02
IT1315182B1 (it) 2003-02-03
FR2790319A1 (fr) 2000-09-01
FR2790319B1 (fr) 2004-07-30
ITVI20000024A1 (it) 2001-08-01
GB0002225D0 (en) 2000-03-22
US6285351B1 (en) 2001-09-04
DE10004372A1 (de) 2000-09-14

Similar Documents

Publication Publication Date Title
DE10004372B4 (de) Gestaltung von Kraftempfindungen für Computeranwendungen mit Geräuschen
DE69636703T2 (de) Verfahren und vorrichtung zur steuerung von kraftrückkoppelungsschnittstellen unter verwendung eines hauptrechners
US7091948B2 (en) Design of force sensations for haptic feedback computer interfaces
US7843424B2 (en) Method and apparatus for designing force sensations in force feedback computer applications
EP0995152B1 (de) Verfahren und vorrichtung zum entwickeln von systemen zum fühlen der betätigungskraft in computeranwendungen mit kraftrückmeldung
DE69635902T2 (de) Verfahren und einrichtung zur kraftrückkopplung für eine graphische benutzerschnittstelle
DE10122385B4 (de) Verfahren und System zum Verarbeiten von Kraftrückkopplungseffekt-Befehlen sowie Computerprogrammprodukt
US6292170B1 (en) Designing compound force sensations for computer applications
DE10082696B3 (de) Verfahren zur Bereitstellung von Krafteffekten mittels einer Kraftrückkopplungsvorrichtung und Vorrichtung hierfür
DE102010030974B4 (de) Vorrichtung und Verfahren zum Verwalten der Funktionen von Peripheriegeräten
US6750877B2 (en) Controlling haptic feedback for enhancing navigation in a graphical environment
JP6662583B2 (ja) オーディオ・トラックを介して触覚効果を与えるための触覚デバイスおよび方法
EP1319207A2 (de) Frei spezifizierbare echtzeit-steuerung
DE10022513A1 (de) Aktuatorsteuerung zur Bereitstellung einer linearen und kontinuierlichen Kraftausgabe
DE102010038342A1 (de) Vorrichtung zum Verwalten der Funktionen von Peripheriegeräten
DE202017006742U1 (de) Eingabegerät-Stabilisierungstechniken für virtuelle Realitätssysteme
DE102017204351A1 (de) Manuell betätigbare taktile Ein-/Ausgabeeinrichtung und deren Betriebsverfahren sowie Datenverarbeitungsanlage
DE112004001937T5 (de) Haptisches Eingabegerät zur Erzeugung von Steuerungsinformation
DE112019002798T5 (de) Informationsverarbeitungsvorrichtung, informationsverabeitungsverfahren und programm
EP1444566A2 (de) Eingabegerät, webcam und bildschirm mit spracheingabefunktion
DE102019118952A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Steuern einer Benutzeroberfläche
Alesani XR application for remote operations
DE102021004026A1 (de) Physikbasierte Manipulation
DE10155030A1 (de) Desktopmanager

Legal Events

Date Code Title Description
8181 Inventor (new situation)

Free format text: CHANG, DEAN C., SANTA CLARA, CALIF., US ROSENBERG, LOUIS B., SAN JOSE, CALIF., US MALLETT, JEFFREY R., BOULDER CREEK, CALIF., US

8128 New person/name/address of the agent

Representative=s name: FIENER, J., PAT.-ANW., 87719 MINDELHEIM

8110 Request for examination paragraph 44
R020 Patent grant now final

Effective date: 20110729

R071 Expiry of right