ITVI20000024A1 - Programmazione di sensazioni dinamiche per applicazioni computerizzate comprendenti suoni - Google Patents

Programmazione di sensazioni dinamiche per applicazioni computerizzate comprendenti suoni Download PDF

Info

Publication number
ITVI20000024A1
ITVI20000024A1 IT2000VI000024A ITVI20000024A ITVI20000024A1 IT VI20000024 A1 ITVI20000024 A1 IT VI20000024A1 IT 2000VI000024 A IT2000VI000024 A IT 2000VI000024A IT VI20000024 A ITVI20000024 A IT VI20000024A IT VI20000024 A1 ITVI20000024 A1 IT VI20000024A1
Authority
IT
Italy
Prior art keywords
dynamic
user
sensation
sound
dynamic sensation
Prior art date
Application number
IT2000VI000024A
Other languages
English (en)
Inventor
Dean C Chang
Louis B Rosenberg
Jeffrey R Mallett
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 ITVI20000024A1 publication Critical patent/ITVI20000024A1/it
Application granted granted Critical
Publication of IT1315182B1 publication Critical patent/IT1315182B1/it

Links

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)

Description

D E S C R I Z I O N E
ARTE ANTERIORE
La presente invenzione si riferisce in generale ai dispositivi di interfaccia per consentire agli esseri umani di interagire con sistemi computerizzati, e più particolarmente con dispositivi di interfaccia che forniscono un segnale di ingresso dal'utilizzatore a sistemi computerizzati e sviluppano una retroazione dinamica all’utilizzatore.
Quando un utilizzatore impiega un dispositivo di interfaccia egli può interagire con un ambiente fornito da un sistema computerizzato in modo da realizzare funzioni e compiti sul computer, come ad esempio fare un gioco, sperimentare una simulazione o un ambiente di realtà virtuale, usare un sistema di disegnazione assistita da computer, applicare un'interfaccia grafica utilizzatore (GUI), o ancora influenzare eventi o immagini rappresentate sullo schermo. I comuni dispositivi di interfaccia uomo-computer impiegati per tali interazioni comprendono un joystick, un mouse, una trackball, una penna, una tavoletta, una sfera sensibile alla pressione, o dispositivi similari che sono collegati al sistema computerizzato che controlla l’ambiente rappresentato. Normalmente, il computer aggiorna l'ambiente in risposta alla manipolazione dell’utilizzatore di un oggetto fisico manipolabile daH’utilizzatore come la leva di un joystick o un mouse, e fornisce una retroazione audio e video all’ utilizzatore che utilizza lo schermo e gli altoparlanti del video. Il computer sente le manipolazioni dell'oggetto dell’utilizzatore attraverso sensori disposti sul dispositivo di interfaccia che invia segnali di posizione al computer.
In alcuni dispositivi di interfaccia, all'utilizzatore viene anche fornita una retroazione HAPTIC, anche nota come "retroazione dinamica”. Questi tipi di dispositivi di interfaccia possono fornire sensazioni fisiche che sono percepite dal’utilizzatore che manipola un oggetto manipolabile del dispositivo di interfaccia. Per esempio, il joystick Force-FX della CH Products, Inc, o il joystick Wingman Force della Logitech possono essere collegati ad un computer e fornire forze all’utilizzatore del dispositivo di controllo. Altri sistemi possono utilizzare un dispositivo di controllo costituito da un mouse a retroazione dinamica. Uno o più motori o altri attuatori sono utilizzati nel dispositivo e sono collegati al sistema computerizzato di controllo, li sistema computerizzato controlla le forze suljoystick in unione e coordinamento con gli eventi ed interazioni rappresentate, inviando segnali di controllo o comandi agii attuatoli. Il sistema computerizzato può così convogliare sensazioni dinamiche al’utilizzatore insieme ad altre retroazioni fornite, non appena l’utilizzatore afferra o contatta il joystick o altri oggetti del dispositivo di interfaccia. Per esempio, quando ('utilizzatore muove un oggetto manipolabile e fa interagire un cursore con un oggetto grafico rappresentato in modo diverso, il computer può inviare un comando che obbliga l'attuatore ad esplicare una forza sull'oggetto utilizzatore provocando una percezione sensoriale ali'utilizzatore.
Un problema connesso con gli sviluppi dell’arte anteriore di sensazioni di retroazione dinamica nel software è che il programmatore delle applicazioni di retroazioni dinamica non ha una percezione intuitiva di come le forze sono sentite quando sono regolate in certi modi, e così deve sforzarsi al massimo per sviluppare caratteristiche dinamiche che sono desiderate per una specifica applicazione. Per esempio, un programmatore può desiderare di creare una specifica sensazione di forza elastica e di smorzamento tra due oggetti grafici in cui la sensazione di forza ha una particolare rigidità, gioco, sfalsamento, ecc. Negli attuali sistemi di retroazione dinamica, il programmatore deve determinare i parametri e le caratteristiche della forza desiderata mediante un brutale metodo di forza, semplicemente stabilendo parametri, provando la forza e regolando i parametri in modo iterato. Questo metodo può essere sconveniente poiché spesso non si intuisce come un parametro influenzerà la sensazione di una forza come essa è effettivamente generata in uscita dall’oggetto dell’utilizzatore; spesso, il programmatore non può nemmeno approssimare la sensazione di forza desiderata con una determinazione parametrica iniziale. Altri tipi di forze non possono essere assolutamente intuite, come ad esempio una forza a molla con una rigidità negativa e così è possibile che i programmatori di sensazioni dinamiche spendano un mucchio di tempo ad integrare questi tipi di sensazioni con applicazioni software.
Inoltre i programmatori possono avere difficoltà a sincronizzare sensazioni dinamiche con suoni che si desidera siano rappresentati insieme alle sensazioni dinamiche. Ad esempio, una particolare sensazione dinamica come un urto è spesso accompagnata da un suono appropriato per presentare l'esperienza in modo più efficace ad un utilizzatore finale. Tuttavia, può essere difficile sviluppare una sensazione dinamica che sia ben sincronizzata con un suono. Così, è necessario fornire uno strumento per assistere il programmatore o lo sviluppatore nel determinare con facilità caratteristiche di retroazione dinamica per fornire sensazioni dinamiche desiderate e suoni sincronizzati con tali sensazioni dinamiche.
SOMMARIO DELL’INVENZIONE
La presente invenzione è diretta a sviluppare sensazioni dinamiche di uscita da un dispositivo di interfaccia di retroazione dinamica. Un computer di controllo principale o ospite fornisce uno strumento di interfaccia di sviluppo che consente di sviluppare in modo intuitivo e semplice una varietà di sensazioni dinamiche ed inoltre consente di calibrare le sensazioni dinamiche e di sincronizzarle con effetti audio desiderati.
Più particolarmente, viene descritta un’interfaccia di sviluppo per sviluppare sensazioni dinamiche utilizzabili con un dispositivo di interfaccia di retroazione dinamica. L’interfaccia sviluppatrice di sensazione dinamica è rappresentata su un dispositivo di visualizzazione di un computer ospite. L'input viene inviato da un utilizzatore che seleziona un tipo di sensazione dinamica che deve essere comandata da un host computer e l'output è emesso da un dispositivo di interfaccia di retroazione dinamica. L'input, ad esempio sotto forma di parametri, è quindi ricevuto da un utilizzatore che sviluppa e definisce caratteristiche fìsiche della sensazione dinamica selezionata. Una rappresentazione grafica della sensazione dinamica caratteristica è rappresentata su un display del computer ospite. La rappresentazione grafica fornisce ail’utilizzatore una dimostrazione visiva della sensazione dinamica caratteristica. La sensazione dinamica selezionata è anche associata ad un suono. La sensazione dinamica caratteristica è il segnale in uscita inviato ad un oggetto manipolabile da parte dell’utilizzatore del dispositivo di interfaccia di retroazione dinamica, per consentire all’utilizzatore di percepire la sensazione dinamica sviluppata. La rappresentazione grafica è aggiornata insieme a quella dinamica sotto forma di segnale di uscita inviato all'oggetto utilizzato. Infine, il suono associato viene generato insieme al segnale di uscita della sensazione dinamica. Preferibilmente, l'utilizzatore può inviare modifiche ulteriori alla sensazione dinamica caratteristica dopo aver sperimentato la percezione della sensazione e la sua modifica. Cosi, in un processo ripetitivo, l’utilizzatore può sviluppare efficaci sensazioni dinamiche attraverso l’effettiva sperimentazione di quelle sensazioni. Udendo un suono desiderato insieme alla sensazione dinamica, l’utilizzatore può anche calibrare in modo iterato la sensazione dinamica in modo da meglio sincronizzarla con il suono. Preferibilmente, l’utilizzatore può memorizzare la caratterizzazione o i parametri della sensazione dinamica sviluppata in una memoria alla quale possono accedere altri programmi sul computer ospite o su altri computer. Altri programmi che controllano la retroazione dinamica possono cosi utilizzare la sensazione dinamica sviluppata in applicazioni come giochi, simulazioni ointerfacce grafiche.
Preferibilmente, un avvio del suono è sincronizzato con un avvio della sensazione dinamica quando il suono e la sensazione dinamica sono emesse. In una forma di realizzazione, la sensazione dinamica selezionata è associata con un dispositivo di retroazione dinamica, come un pulsante. La sensazione dinamica, la dimostrazione visiva ed il suono sono generati quando il controllo è attivato dall’utilizzatore. La sensazione dinamica ed il suono possono essere associati con una icona grafica nell'interfaccia sviluppata che rappresenta il pulsante. Preferibilmente, l'utilizzatore può selezionare il suono da una lista di suoni multipli a disposizione, che possono ognuno essere forniti in un file di formato standard. Una grande varietà di tipi di sensazioni dinamiche può essere sviluppata nello strumento di interfaccia della presente invenzione e può essere sincronizzato con suoni, come condizioni, (effetti) periodici e dinamici.
La presente invenzione fornisce vantaggiosamente uno strumento di interfaccia di sviluppo semplice e facile da utilizzare, per sviluppare sensazioni di retroazioni dinamiche. Data la grande varietà di possibili sensazioni dinamiche e il risultato spesso inaspettato che si ottiene modificando alcuni parametri delle sensazioni dinamiche, lo strumento di interfaccia di sviluppo della presente invenzione asseconda i bisogni degli sviluppatori di sensazioni dinamiche che desideri creare sensazioni dinamiche più vicine possibili alle loro esigenze. L'interfaccia di sviluppo grafico della presente invenzione consente allo sviluppatore di sensazioni dinamiche di progettare facilmente ed intuitivamente e di modificare sensazioni dinamiche che devono essere sincronizzate con suoni, consentendo la implementazione più efficace di retroazioni dinamiche in giochi, simulazioni ed altre applicazioni.
Questi ed altri vantaggi della presente invenzione saranno evidenti per persone esperte nel ramo dalla lettura della descrizione che segue dell'invenzione e dallo studio di alcune figure dei disegni.
BREVE DESCRIZIONE DEI DISEGNI
La Fig. 1 è uno schema a blocchi di un sistema per controllare il dispositivo di interfaccia di retroazione dinamica della presente invenzione;
la Fig. 2 è una vista prospettica di una forma di realizzazione di un meccanismo per interfacciare un oggetto manipolabile da un utilizzatore con un dispositivo di retroazione dinamica di Fig. 1;
la Fig. 3 è un diagramma dell'interfaccia rappresentata della presente invenzione per lo sviluppo di sensazioni dinamiche;
la Fig. 4 è un diagramma dell’interfaccia di Fig. 3 nel quale è rappresentata una finestra di sviluppo per una condizione di forza elastica;
le Fig. 5a-c sono diagrammi di rappresentazioni grafiche che rappresentano condizioni di forza elastica;
la Fig. 6 mostra diagrammi dell’interfaccia di Fig. 3 nei quali è rappresentata una finestra dì semplice modalità di sviluppo per una condizione di forza elastica;
la Fig. 7 è un diagramma dell'interfaccia di Fig. 3 nel quale è rappresentata una finestra di sviluppo per una onda periodica; e
la Fig. 8 è un diagramma per una forma di realizzazione di una interfaccia secondo la presente invenzione che consente a suoni e forze di essere associati tra loro.
DESCRIZIONE DETTAGLIATA DI FORME DI REALIZZAZIONE PREFERITE
La Fig. 1 è uno schema blocchi che illustra un sistema 10 di interfaccia di retroazione dinamica che può essere utilizzato nella presente invenzione, controllato da un sistema di computer principale o ospite. Il sistema di interfaccia 10 comprende un sistema di computer principale 12 ed un dispositivo di interfaccia 14.
Il sistema di computer principale 12 è preferibilmente un personal computer, come ad esempio un personal computer IBM-compatibile o Macintosh, o una workstation ad esempio SUN o Silicon Graphics. In alternativa il sistema di computer principale 12 può essere scelto tra una varietà di sistemi di gioco home video, come ad esempio ì sistemi fomiti dalla Nintendo, Sega, Sony, una televisione “Set top box" o un “Network Computer", ecc. Il sistema di computer principale 12 preferibilmente supporta un programma di applicazione principale con il quale un utilizzatore 22 interagisce attraverso periferiche ed il dispositivo di interfaccia 14. Per esempio, il programma applicativo principale può essere un video gioco, una simulazione medica, un programma di analisi scientifica, un sistema operativo, un’interfaccia di utilizzazione grafica o un altro programma applicativo che utilizza una retroazione dinamica. Tipicamente, l'applicazione principale fornisce immagini rappresentate su un video, come descritto di seguito e/o altre retroazioni, come ad esempio segnali audio.
Il sistema di computer principale 12 comprende preferibilmente un microprocessore 16, una memoria 17 ad accesso random (RAM), memorie 19 di lettura (ROM), dispositivi elettronici 21 di input/output (I/O), un orologio 18, un video 20, ed un dispositivo di uscita audio 21.
II monitor 20 può essere utilizzato per rappresentare immagini generate dal sistema computer 21 o da altri sistemi computerizzati, e può essere di tipo standard, CRT, a schermo piano, 3-D, o qualsiasi altra interfaccia visiva. Il dispositivo audio 21, come ad esempio un altoparlante, è preferibilmente accoppiato al microprocessore 16 mediante amplificatoli, filtri, ed altri circuiti ben noti agli esperti del ramo (ad esempio una scheda sonora) e fornisce un’uscita sonora aH'utilizzatore 22 dal computer principale 16. Al processore ospite 16 possono essere accoppiati altri tipi di periferiche, come ad esempio dispositivi di memorizzazione dati (lettori di disco fisso, lettori di CD-ROM/DVD-ROM, lettori di floppy), stampanti ed altri dispositivi di ingresso e di uscita. I dati per lo sviluppo delle interfacce della presente invenzione possono essere memorizzati su mezzi accessibili dal computer come la memoria (RAM o ROM), disco fisso, un CD-ROM o un DVD-ROM, ecc.
Un dispositivo di interfaccia 14 è accoppiata al sistema computerizzato principale 12 da un bus bidirezionale 24. Il bus bidirezionale invia segnali in entrambe le direzioni tra un sistema computerizzato 12 ed un dispositivo di interfaccia. Una porta di interfaccia del sistema computerizzato ospite 12, come una RS232 o una porta Serial-Bus Universale (USB), una porta parallela, una porta giochi, ecc., collega il bus 24 al sistema computerizzato principale 12.
Il dispositivo di interfaccia 214 comprende un microprocessore 26, sensori 28, attuatori 30, un oggetto utilizzatore 34, eventuali sensori di interfaccia 36, una eventuale interfaccia di attuatori 38, ed altri dispositivi di ingresso opzionali 39. Il microprocessore locale 26 è collegato al bus 24 ed è considerato locale per il dispositivo di interfaccia 14 e dedicato per la retroazione dinamica e per il sensore I/O o per il dispositivo di interfaccia 14. Sul microprocessore 26 possono essere installate istruzioni software per attendere comandi o richieste dal computer principale 16, per decodificare il comando o la richiesta, per gestire/controllare segnali in ingresso ed uscita in accordo con il comando o la richiesta. Inoltre, il processore 26 opera preferibilmente indipendentemente dal computer principale 16, leggendo segnali del sensore e calcolando appropriate forze da quei segnali del sensore, segnali temporali, ed istruzioni memorizzate o correlate selezionate in accordo con un comando principale. Per il microprocessore locale 26 possono essere utilizzati adatti microprocessori che comprendono, ad esempio, il MC68HC711E9 della Motorola, il PIC16C74 della Microchip, ed il 82930AX della Intel Corp. Il microprocessore 26 può comprendere un microprocessore a chip singolo o a più processori e/o chip a co-processore, e/o processori con capacità a segnale digitale (DSP).
II microprocessore 26 può ricevere segnali dai sensori 28 e fornisce segnali agli attuatoli 30 del dispositivo di interfaccia 14 in accordo con le istruzioni fomite dai computer principale 12 attraverso il bus 24. Per esempio, in una forma di controllo locale preferita, il computer principale 12 fornisce comandi di controllo di alto livello al microprocessore 26 attraverso il bus 24, ed il microprocessore 26 gestisce gli anelli di controllo forza di basso livello ai sensori ed attuatori in accordo con i comandi di alto livello ed indipendentemente dal computer ospite 18. Così, il sistema di retroazione dinamica fornisce un anello di controllo ospite di informazioni ed un anello di controllo locale in un sistema di controllo di distribuzione. Il microprocessore 26 può anche ricevere comandi da qualsiasi altro dispositivo 39 compreso nel dispositivo di interfaccia 14, come pulsanti, e fornisce appropriati segnali al computer ospite 12 per indicare che l'informazione di ingresso è stata ricevuta ed ogni altra informazione inclusa nell’informazione di ingresso. La memoria locale 27, come la RAM e/o la ROM, è preferibilmente collegata al microprocessore 26 nel dispositivo di interfaccia 14 per memorizzare istruzioni per il microprocessore 26 e memorizza temporaneamente ogni altro dato. Inoltre, un orologio locale 29 può essere collegato al microprocessore 26 per fornire dati temporali.
I sensori 28 rilevano la posizione, il movimento e/o altre caratteristiche di un oggetto utilizzatore 34 del dispositivo di interfaccia 14 insieme ad uno o più gradi di libertà e fornisce segnali al microprocessore 26 comprendenti informazioni rappresentative di quelle caratteristiche. Possono essere impiegatiencoders ottici rotativi o lineari, potenziometri, sensori ottici, sensori di velocità, sensori di accelerazione, strain gauges, o altri tipi di sensori. I sensori 28 forniscono un segnale elettrico ad una interfaccia sensoriale opzionale 36 che può essere usata per convertire i segnali del sensore in segnali interpretabili da parte del microprocessore 26 e/o dal sistema ospite o principale computerizzato 12.
Gli attuatoli 30 trasmettono forze all'oggetto utilizzatore 34 dei dispositivo di interfaccia 14 in una o più direzioni, lungo uno o più gradi di libertà, in risposta ai segnali ricevuti dal microprocessore 26. Gli attuatoli 30 possono essere di due tipi, quelli attivi e quelli passivi. Gli attuatori attivi comprendono i motori di controllo a corrente lineare, i motori passo a passo, gli attuatori attivi pneumatici/idraulici, un torquer (motore con campo angolare limitato), attuatori a bobina di altoparlante, ed altri tipi di attuatori che trasmettono una forza per muovere un oggetto. Per gli attuatori 30 si possono impiegare anche attuatori passivi, come i freni a particelle magnetiche, freni a frizione, o attuatori passivi pneumatici/idraulici. L’interfaccia attuatori 38 può essere opzionalmente collegata tra gli attuatori 30 ed il microprocessore 26 per convertire segnali dal microprocessore 26 in segnali appropriati per pilotare gli attuatori 30.
Eventualmente, dispositivi di ingresso 39 possono essere inclusi nel dispositivo di interfaccia 14 ed inviano segnali di ingresso al microprocessore 26 o al processore ospite 16. Tali dispositivi di ingresso possono comprendere pulsanti, tastiere, interruttori, leve o altri meccanismi. Per esempio, nelle forme di realizzazione in cui l’oggetto utilizzatore 34 è un joystick, gli altri dispositivi di ingresso possono comprendere uno o più pulsanti posti, ad esempio, sulla manopola o sulla base del joystick. Una sorgente di energia elettrica 40 può essere eventualmente accoppiata all'interfaccia attuatori 38 e/o agli attuatoli 30 per fornire energia elettrica. Per ragioni di sicurezza, un interruttore di sicurezza 41 può essere eventualmente incorporato nei dispositivo di interfaccia 14 per fornire un meccanismo di disattivazione degli attuatori 30.
L’oggetto 34 manipolabile da parte del'utilizzatore (“oggetto utilizzatore”) è un oggetto fisico, un dispositivo o articolo che può essere afferrato o comunque posto a contatto o controllato da un utilizzatore e che è accoppiato al dispositivo di interfaccia 14. Con il termine “afferrare” si intende che l’utilizzatore può impegnare e disimpegnare una porzione di presa dell’oggetto in modo tale, ad esempio con una mano, con i suoi polpastrelli, o anche con la bocca nel caso di persone disabili. L’utilizzatore 22 può manipolare e muovere l'oggetto lungo determinati gradi di libertà per interfacciare il programma dell'applicazione principale che l'utilizzatore vede sullo schermo 20. L’oggetto 34 può essere un joystick, un mouse, una trackball, una penna elettronica (per esempio all'estremità di un cavo), un volante, una sfera, uno strumento medicale (un laparoscopio, un catetere, ecc.), un circuito cue (per esempio che muove il circuito attraverso rulli motorizzati), una cloche, un pulsante, un bottone o un altro dispositivo.
La Fig. 2 è una vista prospettica di una forma di realizzazione di un apparato meccanico 100 atto a fornire un ingresso ed un’uscita meccanica ad un sistema computerizzato principale 12. L’apparato 100 è adatto all’uso con un joystick o un altro oggetto similare 34. L'apparato 100 comprende un meccanismo a sospensione cardanica 140, sensori 28 ed attuatori 30. L'oggetto utilizzatore 34 è mostrato in questa forma di realizzazione con un joystick che presenta una porzione di presa 162.
Il meccanismo a sospensione cardanica 140 comprende due gradi di libertà rotazionali per l’oggetto 34. Il meccanismo cardanico 140 fornisce un supporto per l'apparato 160 su una superficie di appoggio 142, quale la superficie superiore di un tavolo o similare. Il meccanismo cardanico 140 è un meccanismo a cinque elementi che comprende un elemento base 144, appendici 146a e 146b ed elementi centrali 148a e 148b. Il meccanismo a cardano 140 comprende inoltre meccanismi 164 di trascinamento a rullo.
L’elemento di supporto144 comprende un elemento base 166 ed elementi di supporto verticali 168. L'elemento base 166 è accoppiato alla superficie di appoggio 142. Gli elementi del meccanismo a cardano 140 sono accoppiati girevolmente e reciprocamente attraverso l'uso di cuscinetti o perni. L'appendice 146a è rìgidamente accoppiata ad un rullo ditrascinamento 170 ed è fatto ruotare attorno all'asse A quando il rullo di trascinamento 170 è ruotato. Analogamente, l'appendice 146b è rìgidamente accoppiata all’altro rullo di trascinamento 170 e può ruotare attorno all'asse B. L'elemento di trascinamento centrale 148a è girevolmente accoppiato all'appendice 146a e può ruotare attorno l’asse di sospensione D, e l’elemento di collegamento centrale 148b è girevolmente accoppiato all’estremità dell’appendice 146b nel punto centrale P e può ruotare attorno all'asse di sospensione E. L'elemento di trascinamento centrale 148a e l’elemento di collegamento centrale 148 b sono girevolmente accoppiati l'uno all’altro nel centro di rotazione del meccanismo a sospensione cardanica che è il punto di intersezione P degli assi A e B. Il cuscinetto 172 connette reciprocamente i due elementi centrali 148a e 148b nel punto di intersezione P. I sensori 28 e gli atuatoti 30 sono accoppiati all’elemento di supporto 144 ed agli elementi 146 attraverso il rullo di trascinamento 170.
Il meccanismo a cardano 140 fornisce due gradi di libertà ad un oggetto 34 posizionato in corrispondenza o nelle vicinanze del punto di rotazione P, ove l’oggetto 34 può ruotare attorno agli assi A e/o B. In forme di realizzazione alternative, l’oggetto 34 può essere ruotato o traslato in altri gradi di libertà come in un grado di libertà lineare lungo l’asse C o un grado di libertà rotazionale o “spin" attorno all’asse C, e questi ulteriori gradi di libertà possono essere rilevati o motorizzati. Inoltre un meccanismo a rullo 164 può essere accoppiato ad ogni elemento verticale 168 per fornire vantaggi meccanici senza l’introduzione di attriti e di giochi al sistema.
Altri tipi di meccanismi possono essere usati in altre forme di realizzazione, quali fascette asolate, levismi piani, dispositivi vibratattili ed altri meccanismi ben noti agli esperti del settore.
Sensazioni di retroazione dinamica
Poiché i dispositivi di retroazione dinamica possono produrre una tale ampia varietà di percezioni sensoriali, ognuna con suoi parametri unici, delimitazioni e forme di esecuzione, l'intero spettro delle sensazioni dinamiche è stato di seguito suddiviso in due sottogruppi. In questi, sono prese in considerazione tre classi di percezioni sensoriali: condizioni spaziali ("condizioni"), effetti temporali (“effetti” o “onde”), e sensazioni dinamiche (“dinamiche"). Le condizioni sono sensazioni di forza che sono una funzione del movimento dell’utilizzatore imposto all’oggetto manipolabile 34, gli effetti sono sensazioni di forza che sono riviste nel tempo indipendentemente dalla posizione del movimento dell'oggetto dell'utilizzatore, e le dinamiche sono sensazioni di forza basate su un modello interattivo dinamico di moto e tempo. I tipi standard preferiti di condizioni comprendono molle, ammortizzatori, inerzie, inerzia, attrito, tessuti e pareti. Tre tipi di base di effetto comprendono una forza periodica, una forza costante (forza vettoriale) ed una rampa. Le sensazioni dinamiche comportano interazioni fìsiche in tempo reale basate sul 1) movimento dell’utilizzatore e sul 2) sistema fisico nel quale il movimento deli’utilizzatore influenza il comportamento del sistema fisico durante l’interazione. Ogni sensazione dinamica è basata su un sistema fìsico di base simulato, comprendente una massa inerziale collegata all’oggetto utilizzatore 34 mediante una molla simulata ed uno smorzatore simulato.
La Fig. 3 illustra un dispositivo a monitor 20 che mostra un interfaccia 300 di strumento grafico interattivo secondo il presente trovato che consente a sviluppatori e programmatori della retroazione dinamica (“utilizzatori” dell’interfaccia) per sviluppare ed implementare sensazioni dinamiche in modo rapido ed efficace. L’ambiente grafico consente condizioni, effetti ("onde"), e dinamiche che possono essere definite attraverso metafore grafiche intuitive che convogliano verso il significato fìsico di ogni parametro interessato. Quando i parametri sono manipolati, le sensazioni possono essere percepite in tempo reale, consentendo un metodo di sviluppo che sintonizza accuratamente la sensazione all’esatta necessità dello sviluppatore. Un volta che la sensazione appropriata è raggiunta, l’interfaccia può salvare i parametri come risorsa ed automaticamente genera un codice ottimale in un formato desiderato che può essere utilizzato direttamente all'interno di un programma applicativo. Così, l’interfaccia 300 gestisce la maggior parte del processo di sviluppo della retroazione dinamica dalla progettazione della sensazione dinamica alla sua codifica. Con questi strumenti la programmazione della retroazione dinamica diventa un processo veloce e semplice.
La difficoltà della programmazione di retroazione dinamiche non è la fase di codifica. Sono disponibili modelli di forza che forniscono sensazioni dinamiche e, una volta caratterizzata la sensazione dinamica desiderata, è immediata la sua implementazione usando istruzioni software. Tuttavia la fase di sviluppo di sensazioni dinamiche per fornire una data percezione che interpreta un gioco od altri eventi applicativi non è così immediata. La progettatone di sensazioni dinamiche e di una particolare percezione richiede un processo creativo ed interattivo nel quale sono definiti parametri, sono sperimentati i loro effetti ed i parametri sono modificati fino a quando le sensazioni sono al grado di caratterizzazione desiderato. Per esempio, quando sono progettate le condizioni, questo processo interattivo può implicare la regolazione della rigidezza della molla, il dimensionamento della banda di insensibilità, manipolazione dello spostamento e la regolazione dei valori di saturazione. Quando si progettano gli effetti, ciò può comportare la selezione di sorgenti di onde (sinusoidali, quadre, triangolari, ecc.), variare l’ampiezza, la frequenza e la durata del segnale, e quindi modulare i parametri che li racchiudono. Per una sensazione dinamica questo può comportare la regolazione della massa inerziale e quindi la modulazione dei parametri di risonanza e decadimento. Con tanti parametri da scegliere, ognuno applicabili a differenti tipi di sensazioni dinamiche è necessario fornire un mezzo veloce, semplice ed interattivo di sviluppo sensoriale. Per soddisfare tale esigenza, l’interfaccia grafica 300 della presente invenzione consente ad un utilizzatore di stabilire parametri fisici e sensazioni percettive in base alle quali l<'>interfaccia genera automaticamente il codice appropriato utilizzabile in un programma applicativo per un computer principale.
L’interfaccia 300 consente lo sviluppo sensoriale interattivo in tempo reale di condizioni, effetti e dinamiche in cui i parametri possono essere definiti e verificati attraverso un processo rapido iterato. Così si preferisce che un dispositivo di interfaccia di retroazione dinamica 14 sia collegato all'interfaccia di sviluppo 300 del computer e operi in modo da fornire sensazioni dinamiche comandate. Nell'interfaccia 300 sono fornite metafore grafiche intuitive che consentono la comprensione da parte di un programmatore dei parametri fisici correlati ad ogni tipo di sensazione, in modo tale da velocizzare il processo di sviluppo iterato. Nell’interfaccia 300 sono inoltre preferibilmente predisposti strumenti di gestione di archivi in modo da far si che le sensazioni dinamiche siano salvate, copiate, modificate e combinate in modo da permettere ad un utilizzatore di realizzare una libreria di sensazioni dinamiche. Una volta che le sensazioni sono definite, l'interfaccia 300 preferibilmente registra i parametri come “risorse” che possono essere utilizzate da un programma applicativo. Ad esempio, collegando una risorsa di sensazione dinamica ad un programma applicativo, le risorse possono essere convertite in un codice ottimale Direct-X utilizzabili in una applicazione in ambiente Windows. Altri formati di codici o linguaggi possono essere utilizzati in altre forme di realizzazione. L’interfaccia 300 può essere sviluppata mediante istruzioni di programma o un codice installato in un mezzo leggibile del computer, in cui tale mezzo può essere o un dispositivo mobile o fisso, quale ad esempio un semiconduttore o un’altra memoria del computer attivo (come il computer 12), un disco fisso o un nastro magnetico, un disco portatile, mezzi ottici quali CD-ROM, schede PCMCIA, o altri mezzi. Come mostrato in Fig. 3 l'interfaccia 300 ha tre principali zone di lavoro: la paletta sensazione 302, la paletta pulsante azionatore 304, e lo spazio di progetto 306. Le sensazioni dinamiche sono create nello spazio di progetto 306 e possono essere salvate e caricate in quello spazio usando caratteristiche di gestione dei file standard.
Per creare una nuova sensazione dinamica, dalla paletta sensazione 302 si seleziona un tipo di sensazione. La paletta 302 è mostrata in un formato espandibile ad albero. La radice dell’albero comprende le tre classi 310 di sensazione di retroazione dinamica sopra descritte, cioè condizioni, onde (effetti), e dinamiche. Preferibilmente l’utilizzatore può anche definire i suoi propri titoli; per esempio, si può aggiungere un gruppo di “preferiti’’ in cui sono immagazzinate sensazioni dinamiche con parametri desiderabili previamente sviluppati.
Nell’interfaccia 300 le condizioni, le onde e le dinamiche sono mostrate in forma espansa. Queste classi possono anche essere “compresse”, in modo da rappresentare solo il titolo della classe, se desiderato. Quando una classe è mostrata in forma espansa, l’interfaccia 300 mostra una lista di tutti i tipi di sensazioni che supportati dall’hardware collegato al computer principale 12 per quella classe. Per esempio quando si programma un hardware più recente o costoso che supporta un gran numero di sensazioni dinamiche, viene mostrata una lista comprendente molti o tutti i tipi di sensazioni disponibili. Quando si programma un dispositivo di interfaccia hardware più vecchio o meno costoso che non realizza tutte le sensazioni, nella forma espansa si possono omettere o rendere non disponibili alla selezione alcuni tipi di sensazioni. Preferibilmente l'interfaccia 300 può determinare esattamente quali sensazioni dinamiche sono supportate da un dato dispositivo di interfaccia 14 collegato al computer principale usando un processo di enumerazione di effetti, cioè, il computer principale può richiedere informazioni dal dispositivo di interfaccia, come un numero di versioni, data di costruzione, lista delle caratteristiche implementate, ecc.
Una volta che il tipo di sensazione è scelto dalla paletta di sensazioni 302 il tipo di sensazione è aggiunto allo spazio di progettazione 306. Per esempio nella Fig. 3 è mostrata una icona 308 della sensazione dinamica selezionata “smorzatore” nella finestra dello spazio di progetto 306. L’icona 308 può essere ora selezionata/aperta dal’utilizzatore al fine di stabilire i parametri per il tipo di sensazione prescelto usando gli strumenti di sviluppo grafico (di seguito descritti). Per creare una sensazione dinamica più complessa, è possibile trascinare analogamente più icone nello spazio di progetto. Quando i parametri sono specificati per dare la sensazione richiesta, questa può essere salvata neirarchivio risorse. Usando questo processo, un utilizzatore può creare una diversa libreria delle sensazioni percettive come file risorse. Inoltre, si possono utilizzare librerie predefinite di risorse campione fomite da terzi.
L’utilizzatore può anche selezionare le opzioni offerte nella paletta pulsante di azionamento 304. La paletta pulsante 304 è usata per testare le sensazioni dinamiche che vengono ad essere definite come riflessi del pulsante. Per esempio una sensazione dinamica può essere formulata come combinazione di una onda quadra e di una onda sinusoidale che scattano quando il Pulsante #2 sul dispositivo di interfaccia è schiacciato. L'onda quadra sarebbe creata scegliendo il tipo periodico 312 dalla paletta sensazione 302 e definendo appropriati i parametri per l’onda quadra. Quindi un’onda sinusoidale sarebbe creata scegliendo un altro tipo periodico 312 daila paletta sensazione 302 e definendo appropriati parametri per l'onda sinusoidale. A questo punto, due icone periodiche 308 sarebbero mostrate nella finestra 306 dello spazio di progetto. Per verificare l'avvio, l’utilizzatore può semplicemente trascinare e rilasciare queste icone 308 nell’icona 314 del Pulsante 2. Il Pulsante 2 sul dispositivo di interfaccia 14 è stato quindi predisposto per dare inizio alla sensazione di riflesso quando viene schiacciato. Questo processo è veloce, semplice e versatile. Quando l'utilizzatore ottiene una sensazione esattamente come desiderata, questa può essere salvata in un file di risorse e codificata come software ottimale da utilizzare quando viene generato un programma applicativo. La selezione del Pulsante 2 può essere effettuata in altri modi in altre forme di realizzazione. Per esempio, l’utilizzatore può selezionare o evidenziare le icone dinamiche designate nello spazio di progetto 306 e quindi selezionare l'icona del Pulsante 2 nella paletta 304 per indicare che le forze evidenziate saranno azionate dal Pulsante 2.
La Fig. 4 illustra una interfaccia 300 in cui una sensazione dinamica è caratterizzata nello spazio di progetto 306. Quando una icona 308 nello spazio di progetto 306 è selezionata da un utilizzatore, l’icona 308 si espande in una finestra di sensazione dinamica e in un ambiente grafico per determinare e verificare i parametri fisici associati alla sensazione selezionata. Per esempio, nella Fig. 4 è stata selezionato un tipo di molla 320 dalla lista delle condizioni 322 ed è fornita come icona 324 nello spazio di progetto 306. Una finestra molla 326 è mostrata nello spazio di progetto 306 quando l’icona 324 à selezionata. All'interno della finestra molla 326 sono presenti campi 328 che caratterizzano la forza e che includono l’asse 330 (e/o la direzione, il grado di libertà, ecc.) in cui la forza deve essere applicata, il guadagno 332 (o l’ampiezza) della forza, ed i parametri 334 associati con la sensazione dinamica. Ad esempio, per la sensazione della molla, la rigidezza relativa (“coefficiente"), la rigidezza negativa (“coefficiente”), la saturazione positiva, la saturazione negativa, lo spostamento, ed il campo della sensazione molla sono rappresentati come parametri. L'utilizzatore può introdurre i dati desiderati nei campi 328 per caratterizzare la forza. Ad esempio, l’utilizzatore ha specificato che la forza deve essere applicata lungo l'asse x (in entrambe le direzioni, dal momento che non è specificata una singola direzione), ha specificato un’ampiezza pari a 100, ed ha valori di saturazione specificati di 10.000 in direzioni positive e negative. L’utilizzatore può anche specificare preferibilmente tutti o alcuni dei parametri in modalità grafica regolando la dimensione o la forma dell’involucro, l'altezza e la frequenza della forma d’onda, la larghezza della banda di insensibilità della molla, la posizione della parete su un asse, ecc. usando un cursore o un altro oggetto grafico controllato.
Quando l'utilizzatore introduce i valori nei campi 328, le aggiunte e le modifiche delle sensazioni dinamiche sono rappresentate in un formato grafico intuitivo nella finestra della sensazione dinamica. Ad esempio, nella finestra della sensazione a molla 326, viene mostrata la rappresentazione grafica 336. La rappresentazione grafica 336 comprende un’immagine 338 dell’oggetto utilizzatore 34 (indicato come un joystick, ma che può essere mostrato come altri tipi di oggetti utilizzatore), un’immagine 340 del suolo, un’immagine 342 di una molla alla destra del joystick, ed un’immagine 344 di una molla alla sinistra del joystick 34. La rappresentazione 336 modella un unico asse o grado di libertà del dispositivo di interfaccia.
La rappresentazione 336 fornisce un modello fisico grafico attraverso il quale l’utilizzatore può comprendere visivamente la funzione della sensazione dinamica. Preferibilmente, l'immagine 338 dell’oggetto utilizzatore è rappresentata con una forma simile a quella effettiva dell'oggetto utilizzatore del dispositivo di interfaccia desiderato (un joystick in questo esempio). Lungo l'asse mostrato, in entrambe le direzioni, ci sono immagini di molle 342 e 344 definite con un parametro di rigidezza positiva (K) e con un parametro di rigidezza negativo (k). Graficamente, la grande rigidità della molla sulla destra (coefficiente pari ad 80) è raffigurata con una immagine più grande 342 della molla. L’origine della condizione di molla è mostrata nella posizione centrale 346, poiché il parametro dello spostamento 348 è pari a zero. Se lo spostamento ha un’ampiezza positiva o negativa, l'origine sarebbe mostrata conseguentemente verso la sinistra o destra. Il campo della banda di insensibilità è mostrato graficamente come il gioco esistente tra l’immagine dell’oggetto utilizzatore 338 e l'immagine della molla 343 e 344.
Nella forma preferita, la rappresentazione grafica assiste ulteriormente l’utilizzatore a visualizzare la sensazione dinamica definita aggiornandola in tempo reale in accordo con il movimento dell’oggetto utilizzatore 34 del dispositivo di interfaccia collegato 14. L’immagine 338 dell’oggetto utilizzatore si muoverà in una direzione corrispondente al movimento dell’oggetto utilizzatore 34 azionato dall’utilizzatore. L’oggetto utilizzatore è libero di essere spostato in direzione sia positiva che negativa lungo un dato asse in contrasto, con una rigidezza sia positiva che negativa dalla sensazione della molla. Così, se l'oggetto utilizzatore è spostato liberamente a sinistra dall’origine 346, l'immagine del joystick 338 è traslata a sinistra nella zona della banda di insensibilità, e quando l'oggetto utilizzatore 34 incontra la resistenza della molla, l’immagine del joystick 338 è mostrata a contatto con l’immagine della molla 344. Se non viene definita alcuna banda di insensibilità, le immagini della molla 342 e 344 sono mostrate a contatto con l'immagine del joystick 338 nella posizione centrale. Le immagini dei bordi di fine corsa 350 definiscono i limiti del grado di libertà; ad esempio, quando l’oggetto utilizzatore 34 è spostato ad un limite fisico del dispositivo di interfaccia lungo un asse, l’immagine del joystick 338 è rappresentata a contatto con una appropriata immagine del fine corsa 350.
Le Fig. 5a-5c illustrano una rappresentazione grafica 336 quando l'oggetto utilizzatore 34 è spostato dall'utilizzatore. In Fig. 5a, l'utilizzatore sposta l’oggetto utilizzatore 34 e l’immagine 338 in una direzione positiva lungo un asse come indicato dalla freccia 354. L'utilizzatore non sente alcuna resistenza poiché l'oggetto utilizzatore è nella banda di insensibilità. Ciò è rappresentato mostrando l’immagine del joystick 338 non a contatto con altri oggetti. In Fig. 5b, l’oggetto utilizzatore 34 incontra la resistenza della molla in direzione positiva e comincia a comprimerla. Come mostrato dalla rappresentazione grafica 336, l'immagine 338 del joystick è venuta a contatto con l’immagine della molla di destra 342 e l'immagine della molla 342 è mostrata leggermente compressa. In Fig. 5c, l'oggetto utilizzatore continua a muoversi contro la forza della molla, come è corrispondentemente mostrato dalla compressione della molla nella rappresentazione 336. Una volta incontrata la rigidezza positiva della molla, la forza resistente aumenta linearmente con la compressione della molla (come avviene per una molla reale). L’entità della compressione sentita dall'utilizzatore è correlata all'entità della compressione mostrata dall’immagine 342 della molla. Se il programmatore ha definito un valore di saturazione per il movimento che si oppone alla forza nella direzione positiva, il risultato della forza finirebbe di aumentare con la compressione nel caso che il limite di saturazione fosse superato in direzione positiva. La saturazione potrà anche essere mostrata graficamente, ad esempio mostrando l'immagine applicabile della molla in un differente colore (come ad esempio rosso), o mostrando un messaggio o indicatore sullo schermo.
Con riferimento alla Fig. 4, una volta che l’utilizzatore ha controllato i parametri di ingresso e le regolazioni, egli o ella può modificare qualsiasi informazione esistente o aggiungere nuove informazioni inserendo dati nel campo 328. Ognuno di tali cambiamenti sarà prontamente rappresentato nella finestra 326. Ad esempio, se l’utilizzatore cambia il coefficiente (rigidezza) della molla alla destra, la dimensione dell’immagine della molla 342 sarà immediatamente modificata per essere adottata al nuovo valore. Così, l’utilizzatore comprenderà intuitivamente come la sensazione sarà percepita semplicemente osservando la rappresentazione 336. L’utilizzatore può quindi determinare come la sensazione sarà percepita con maggiore accuratezza (regolazione fine) muovendo l’oggetto utilizzatore e rilevando la sensazione. Così, la rappresentazione grafica 336 come raffigurata dimostra chiaramente ali’utilizzatore i vari effetti dei parametri nella sensazione dinamica ed inoltre consente all’utilizzatore di sperimentare le forze coordinate con la rappresentazione grafica.
Altre rappresentazioni grafiche possono essere raffigurate nell’interfaccia 300 per le condizioni del tessuto spaziale, le condizioni delle pareti, le condizioni di smorzamento, le condizioni inerziali, le condizioni di attrito, ecc. In altre forme di realizzazione, può essere rappresentata una sensazione dinamica bidimensionale (cioè con due gradi di libertà) nella finestra 326, attraverso una rappresentazione dall’alto dell’oggetto utilizzatore. Ad esempio, un’immagine di un oggetto utilizzatore circolare può essere rappresentata al centro di due serie di immagini di molle in disposizione incrociata, ogni serie di molle avendo un differente grado di libertà.
La Fig. 6 illustra un’interfaccia 300 che presenta una differente rappresentazione di una condizione di molla. La Fig. 6 mostra anche la varietà di condizioni 400 che possono essere usate anche per una condizione di molla. In Fig. 6, l'utilizzatore ha selezionato un'icona molla 401 nello spazio di progetto 306. Quando viene selezionata l’icona 401 , nello spazio di progetto 306 viene mostrata una finestra di condizione molla 402. La finestra molla 402 comprende parametri 404 per caratterizzare la forza della molla, così come il guadagno 406 e l'asse di controllo 408. Viene mostrata una finestra per ogni asse nel quale la forza deve essere applicata. Una finestra grigia per il secondo asse indica che nessuna forza è attualmente assegnata a quell’asse.
Nella prima finestra di asse 410, è disponibile una modalità semplice ed una modalità avanzata simile alle condizioni di smorzamento. Nella Fig. 6, la modalità semplice è stata selezionata dall'utilizzatore. Le immagini della molla 412 sono mostrate da ogni bordo della finestra 410, ove l'immagine della molla 412a è per la direzione negativa e l'immagine della molla 412b è per la direzione positiva. Quando l'utilizzatore muove l'oggetto utilizzatore lungo l'asse mostrato (l’asse x), la linea 414 si muove nella corrispondente direzione. Quando la linea 414 si muove dentro un’immagine di molla 412, il microprocessore emette la forza della molla specificata sull'oggetto utilizzatore, così l'utilizzatore può sentire la sensazione della forza caratterizzata. Quando l’oggetto utilizzatore continua ad essere spostato verso la molla, l’immagine della molla si comprìme come farebbe una molla reale. Lo spazio vuoto tra le immagini della molla 412 indica la banda di insensibilità in cui non vengono generate forze. Si dovrebbe osservare che l’utilizzatore sentirà una forza elastica se ogni componente del moto dell’oggetto utilizzatore è lungo l’asse x; se l'utilizzatore trasla l'oggetto utilizzatore ad un angolo di 45° (ove l’asse x è a 0°), allora sentirà una componente della forza elastica nell'asse x. Questa componente sarà una forza elastica più debole di quella in cui l'oggetto utilizzatore fosse mosso direttamente lungo l'asse x. Cosi avviene preferibilmente anche per le altre condizioni dell'interfaccia 300. In alcune forme alternative, la forza elastica potrebbe essere eliminata in tutte le direzioni eccetto per precisi movimenti (o entro una certa tolleranza) dell’asse rappresentato.
Nella presente forma di realizzazione, l'utilizzatore può regolare la rigidezza (k) della forza elastica selezionando con un cursore i punti di controllo 422 ai bordi della parte frontale delle immagini della molla 412. L'utilizzatore può trascinare i punti di controllo per variare le ampiezze delle immagini della molla, che a loro volta variano il parametro della rigidezza (ove la rigidezza k è una costante nell’equazione F = kx, in cui x è lo spostamento dell’oggetto utilizzatore ed F è la forza risultante). Un’immagine più spessa della molla indica un più elevato parametro della rigidezza ed una maggiore forza elastica. Così, l'immagine 412 a è ampia ed indica una maggiore forza elastica nella direzione negativa, e l'opposto in una direzione positiva. L’utilizzatore può anche avvicinare o allontanare tra loro le estremità frontali delle immagini della molla, variando così la banda di insensibilità e i parametri di spostamento. Quando i parametri sono regolati, essi sono inviati al microprocessore locale che quindi implementa la forza nuovamente caratterizzata nell'oggetto utilizzatore (se necessario)
Preferibilmente, anche le icone sono predisposte per aiutare l’utilizzatore nello sviluppo di sensazioni dinamiche a partire da quelle precedentemente memorizzate. Ad esempio, quando viene selezionata l’icona di oggetti a pinzetta 424, viene fornita all' utilizzato re una lista di una libreria di comuni sensazioni dinamiche predefìnite che l’utilizzatore può usare come base di partenza, cioè {'utilizzatore può modificare una configurazione di comune condizione elastica per ottenere velocemente una forza desiderata. Questa libreria può essere prevista, ad esempio, da fornitori commerciali di forza o da altre sorgenti, o può essere una libreria dedicata.
La Fig. 7 illustra un’interfaccia 300 con una rappresentazione grafica per una sensazione dinamica a onda periodica (effetto). La finestra periodica 440 è mostrata allorquando l’utilizzatore seleziona (ad esempio mediante un doppio click) una icona di effetto periodico 442 che è stata trascinata nello spazio di progetto 306. Nella finestra 440, un campo 444 di sorgenti di varie forme d’onda consente all'utilizzatore di scegliere tra una molteplicità di tipologie di sorgenti di segnale d’onda per conferire l’effetto desiderato. L’utilizzatore può selezionare la durata dell'onda periodica usando i cursori 446 e può anche scegliere una durata infinita con la casella 448. Il guadagno e lo spostamento può essere selezionato usando i cursori 450, ed altri parametri sono fomiti nei campi 452. Una rappresentazione grafica della forma d'onda periodica è mostrata nella finestra 454 che ha una forma basata su una sorgente d'onda scelta e basata su altri parametri selezionati (o parametri default se non se ne sceglie nessuno). Parametri involucro nei campi 452 possono essere graficamente variati dall’utilizzatore trascinando punti di controllo 456 della forma d’onda. La frequenza della forma d’onda può essere regolata trascinando un'onda mostrata per ampliare o restringere le oscillazioni dell’onda mostrata, o specificando il periodo nel campo 458. I pulsanti di azionamento per l'onda periodica possono essere determinati nei campi 460 per assegnare ai pulsanti fisici o controlli l'effetto stabilito, e la direzione dell'onda periodica nello spazio di lavoro dell’oggetto utilizzatore è determinato usando l'indice 462 ed il campo 464. Il campo ripetizione intervallo 460 consente ali’utilizzatore di specificare l’ammontare del tempo prima che l’effetto sia ripetuto se il pulsante in questione viene mantenuto premuto. Questi parametri o caratteristiche possono essere introdotte come numeri nei campi di ingresso rappresentati o nei prompts, o possono essere introdotti trascinando la rappresentazione grafica della forma d'onda nella finestra 454 con un cursore alla forma o livello desiderati.
I parametri, quando specificati, fanno cambiare la rappresentazione grafica a seconda dei parametri stessi. Così, se l'utilizzatore specifica un particolare involucro, quell’involucro è immediatamente rappresentato nella finestra 454. L'utilizzatore può cosi immediatamente determinare in modo visivo come i parametri specificati influenzano esattamente la forma d’onda periodica.
Per testare l’onda periodica prestabilita, preferibilmente l’utilizzatore selezione il pulsante di partenza 456 che istruisce il microprocessore a generare la sensazione dinamica prescelta per il tempo necessario all’oggetto utilizzatore in modo tale che l’utilizzatore può percepire le sensazione dinamica quando afferra l’oggetto utilizzatore. Nella forma preferita, un marcatore grafico, come ad esempio una linea verticale o un puntatore si sposta attraverso la finestra del monitor 454 da sinistra a destra indicando l’attuale porzione o punto della forma d'onda che viene generata all’istante. Oppure, la forma d'onda può essere animata; per esempio, se si definisce un impulso ed una dissolvenza, l'onda è animata in modo tale che la porzione di impulso della forma d’onda sia mostrata quando la forza impulsiva viene generata sull’oggetto utilizzatore, e la dissolvenza è rappresentata quando la forza generata si smorza fino a un livello di stabilizzazione. Poiché la rappresentazione grafica è gestita dal computer principale e la generazione di onde dinamiche sono gestite (in una forma di realizzazione) da un microprocessore locale, il monitor principale del marcatore deve essere sincronizzato con la generazione dinamica del microprocessore all’avvio dell’uscita dinamica. L'utilizzatore può interrompere il segnale di uscita della sensazione periodica selezionando il pulsante di arresto 458.
Come descritto precedentemente, la procedura normale per un programmatore di forze che utilizza l'interfaccia 300 è di introdurre parametri per una sensazione dinamica di un tipo prescelto, verificare il modo in cui percepisce la forza manipolando l’oggetto utilizzatore, regolare i parametri sulla base della percezione dinamica e ripetere le fasi di verifica della percezione e regolazione dei parametri fino a caratterizzare come desiderato la sensazione dinamica. Normalmente, l'utilizzatore salverebbe il risultante set di parametri che descrivono questa sensazione dinamica su un mezzo di memorizzazione, come ad esempio un disco fisso, CD-ROM, una memoria non volatile, una scheda PCMCIA, un nastro od altro mezzo di salvataggio che sia accessibile da parte del computer desiderato per controllare la retroazione dinamica. Preferibilmente, l'utilizzatore può anche assegnare un identificativo al set di parametri memorizzato, come ad esempio un nome di file, in modo tale che questa sensazione dinamica possa essere successivamente utilizzata. Così, altri programmi applicativi che operano su un computer principale possono accedere al set di parametri mediante questo identificativo e possono usare la sensazione dinamica predeterminata in un’applicazione, come ad esempio in un gioco, in un’interfaccia grafica deil’utilizzatore, in una simulazione, eccetera.
Una volta che una sensazione dinamica è stata programmata usando gli strumenti grafici sopra descritti, la definizione può essere salvata come una risorsa di parametri. Con l’accesso alla risorsa di interfaccia da parte di un programma applicativo, la risorsa è automaticamente convertita da un set di parametri per essere codificata in un linguaggio di formato desiderato, per esempio Direct-X della Microsoft® Corporation utilizzabile in un sistema operativo Windows™. Ad esempio la risorsa di retroazione dinamica può essere fornita come o in una DLL (Dynamic Linked Library) che è collegata ad un programma applicativo. In una forma di realizzazione, il DLL può assegnare al programma applicativo con effetti definiti come Direct_X Structs (DI_Structs) in cui il programmatore applicativo può creare effetti usando il richiamo CreateEffect all’interno del Direct_X (o richiamo equivalente in altri linguaggi/formati). Oppure il DLL può realizzare l'interno processo e creare l'effetto per programma applicativo mettendo a disposizione del programmatore un puntatore per la sensazione. Un vantaggio derivante dall'uso della prima opzione di avere il richiamo programmatore CreateEffect è che esso offre al programmatore l'opportunità di accedere ai parametri prima di creare l’effetto in modo tale che tali parametri possono essere se necessari modificati.
Sensazioni dinamiche e suoni
La figura 8 illustra un'altra forma 500 dell'interfaccia di programmazione dinamica della presente invenzione, che include la possibilità di sincronizzare suoni e sensazioni dinamiche (“effetti forza”). I suoni sono molto importanti per sperimentare le percezioni sensoriali. La percezione di un motore, di un’esplosione o di una collisione, ad esempio, non hanno proprio lo stesso impatto suli’utilizzatore in assenza di suoni come lo hanno se sono accompagnate da effetti sonori sincronizzati. Pertanto, è estremamente importante per il programmatore di sensazioni dinamiche considerare i suoni che accompagneranno le sensazioni dinamiche durante il processo di programmazione. L'interfaccia 500 consente ad un utilizzatore di programmare l’interfaccia per sincronizzare facilmente le forze con gli effetti sonori desiderati e, ancora più importante, consente all’utilizzatore di modificare in modo iterato le sensazioni dinamiche per presentarle in modo più efficace insieme agli effetti sonori.
Preferibilmente, l'interfaccia 500 comprende una paletta sensazioni 502, una paletta pulsanti di azionamento 504 ed uno spazio di progetto 506, con le stesse caratteristiche dell’interfaccia 300 sopra descritta. Lo spazio di progetto può comprendere un numero di sensazioni dinamiche 508 che saranno memorizzate in un particolare file “risorsa dinamica” che è scritto mediante l'interfaccia 500. Ogni sensazione dinamica nello spazio di progetto 506 può essere modificata richiamando una finestra di programmazione dinamica 508 che include una rappresentazione grafica ed alcuni controlli per consentire la modifica della sensazione dinamica, come descritto in dettaglio precedentemente. Ad esempio, nella Fig. 8 è illustrata una finestra di programmazione per una sensazione dinamica periodica “arco e freccia”.
La paletta dei pulsanti di azionamento 504 comprende preferìbilmente ulteriori funzioni della presente invenzione relative all'assegnazione di usi alle sensazioni dinamiche: La paletta dei pulsanti 504 è usata per verificare le sensazioni dinamiche ed ogni suono che è stato assegnato alle sensazioni dinamiche all’interno dell'interfaccia 500 (a differenza dell’assegnazione di condizioni di avvio alla sensazione dinamica stessa, cosa che viene fatta nel campo 509 della finestra di programmazione 508). Ogni icona dei pulsanti 510 può essere assegnata ad un particolare pulsante o ad un altro controllo del dispositivo di retroazione dinamica collegato al computer che supporta l'interfaccia 500. Per indicare la capacità di assegnare suoni, preferibilmente le icone pulsanti 510 comprendono una icona di annotazione o altre indicazioni grafiche della capacità di aggiungere suoni. L’utilizzatore può assegnare una sensazione dinamica ad una icona pulsante 510 per consentire all’utilizzatore di generare la sensazione dinamica, come descrìtto precedentemente; ad esempio, un’icona sensazione dinamica 508 nello spazio di programmazione 506 può essere trascinata nell'icona pulsante 51 Oa. In alternativa può essere mostrato un menu ed una lista di sensazioni dinamiche da aggiungere all'icona del pulsante. Una molteplicità di sensazioni dinamiche può essere assegnata ad una icona pulsante 510 come mostrato dalle icone dinamiche 511 mostrate sotto l’icona pulsante 51 Oa.
All’icona pulsante 510 può essere assegnato anche un suono da parte dell'utilizzatore. Ad esempio, quando l’utilizzatore decide di mostrare un menu di suoni (ad esempio cliccando il pulsante destro del mouse in modo da selezionare un pulsante grafico, ecc.), viene mostrato un menu 512 che consente all'utilizzatore di “agganciare” un suono all'icona pulsante. Nell'esempio di menu mostrato, l’utilizzatore selezione le opzioni di agganciare un suono all’icona pulsante selezionato, “sgancia” un suono precedentemente agganciato dalla icona pulsante selezionata, o verìfica un suono che è stato selezionato per l’icona pulsante. Quando un suono viene agganciato, preferibilmente viene mostrata una lista di file audio, dai quali l’utiiizzatore può scegliere un file. I file audio possono essere in un formato standard, quale un ‘Wav" o un “RealAudio", e possono essere inseriti nel computer che supporta l'interfaccia di programmazione 500 o su un differente computer collegato al computer che supporta l’interfaccia, ad esempio attraverso una rete computerizzata. In forme di realizzazione alternative, l'utilizzatore può selezionare più file sonori da agganciare ad una singola icona pulsante 510.
Quanto uno o più files sonori sono stati associati ad una icona pulsante come l’icona pulsante 510, i files sonori sono eseguiti sugli altoparlanti accoppiati al computer quando il pulsante associato al dispositivo di interfaccia di retroazione dinamica è premuto dalìutilizzatore. Inoltre, tutte le sensazioni dinamiche 511 assegnate all'icona pulsante 510 sono eseguite allo stesso tempo del suono quando il pulsante è schiacciato. Preferibilmente, l'avvio della sensazione dinamica è sincronizzato con l’avvio dell’effetto sonoro eseguito. La sensazione dinamica ed il suono possono anche essere eseguiti quando un controllo nell'interfaccia 500, come un pulsante grafico o un’icona, è attivato dall’utilizzatore.
La capacità di associare effetti sonori ad un pulsante e di eseguire uno o più file sonori con una sensazione dinamica, consente al’utilizzatore di avere conoscenza diretta del modo in cui una sensazione dinamica sarà vissuta dall’utilizzatore unitamente all'effetto sonoro desiderato. Ciò consente all'utilizzatore di modulare in modo fine una sensazione dinamica che deve essere sincronizzata con suoni. Ad esempio, se si deve sincronizzare una vibrazione con un effetto sonoro pulsante, gli “urti" della vibrazione percepiti dall'utilizzatore possono essere sincronizzati con ogni pulsazione sonora schiacciando un pulsante associato con un'icona pulsante 510 alla quale sono associati la forza ed il suono. Se gli urti della vibrazione sono parzialmente non sincronizzati con le pulsazioni sonore, l’utilizzatore può velocemente variare la frequenza (o altri parametri relativi) della vibrazione e testare nuovamente la forza ed il suono. Se la forza richiede un’ulteriore modulazione, l'utilizzatore può farlo velocemente. Questo processo di programmazione iterato permette di accoppiare particolari caratteristiche in un effetto sonoro ad un effetto dinamico realizzato. Se, ad esempio, un suono non è periodico ed ha particolari caratteristiche come il suono debole di un urto soffice seguito da un suono forte di una collisione rumorosa, una sensazione dinamica con generazione di scosse nei suoni dell'urto può essere facilmente sincronizzata nell'interfaccia 500 (o l'interfaccia 300) della presente invenzione. Naturalmente, l'utilizzatore può anche modulare il suono per sincronizzarlo con una particolare sensazione dinamica In alcune forme l'interfaccia 500 può comprendere un editor di suono; oppure, l’utilizzatore può usare un separato programma esterno perl’edit dei files sonori come ben noto agli esperti del ramo.
In forme di realizzazione alternative, si possono usare metodi differenti per assegnare suoni. Ad esempio, un suono può essere assegnato direttamente ad una sensazione dinamica (o viceversa) e la sensazione dinamica può essere normalmente testata usando un azionatore, un pulsante grafico, un’icona pulsante 510, ecc. Ogni qualvolta la sensazione dinamica viene generata, viene anche generato il suono ad essa associato. In una forma di realizzazione i files di sensazione dinamica scritti dall'interfaccia 500 non includono alcuna informazione sonora alla quale sono stati associati dei suoni, ai quali sono associate a loro volta icone pulsanti o sensazioni dinamiche. In altre forme di realizzazione, un file di sensazione dinamica può comprendere informazioni con associati suoni e sensazioni dinamiche mediante particolari icone pulsanti. Ciò evita aH'utilizzatore di dover assegnare le stesse forze e suoni ogni volta che viene caricata l’interfaccia 500 dal momento che l’informazione di assegnazione viene immagazzinata ed automaticamente applicata all'atto del caricamento dell'interfaccia 500. Inoltre, all’atto dei caricamento dell’interfaccia 500 o durante l'uso della stessa, si può automaticamente assegnare un suono alla forza avente lo stesso nome del suono, ad esempio un file della forza può essere chiamato “explosion.ifr” ed un file del suono può essere chiamato fexplosion.wav”, in modo tale che i due files possano essere associati l'uno all'altro ed eseguiti simultaneamente.
In altre forme di realizzazione, si possono prevedere ulteriori caratteristiche per consentire ad un utilizzatore di sincronizzare facilmente una sensazione dinamica con un suono. Ad esempio, può essere rappresentata una finestra per mostrare il suono come un grafico di una grandezza rispetto al tempo, simile al grafico 514 mostrato per una sensazione di forza periodica. L'utilizzatore può raffigurare il suono e le forme d'onda dinamica uno accanto all'altro ed accoppiare ogni caratteristica desiderata della forza con le caratteristiche del suono. Inoltre, preferibilmente, un utilizzatore potrà selezionare una porzione di un suono da eseguire e la corrispondente porzione della sensazione dinamica ad esso associata verrà automaticamente eseguita. Ancora, un utilizzatore potrà preferibilmente selezionare una porzione di una sensazione dinamica da eseguire e la corrispondente porzione del suono associato sarà automaticamente eseguita.
Benché questa invenzione sia stata descritta in termini di alcune forme di realizzazione preferite, è previsto che alterazioni, permutazioni ed equivalenti della stessa siano evidenti a persone esperte del ramo dalla lettura della specifica e dallo studio dei disegni. Ad esempio, molti differenti parametri possono essere associati alla sensazione dinamica alle condizioni ed effetti per consentire facilmente di caratterizzare una particolare sensazione dinamica. Questi parametri possono essere presentati nell’interfaccia grafica della presente invenzione. Molti tipi di differenti metafore visive possono essere rappresentata nello strumento di interfaccia della presente invenzione per consentire ad un programmatore di visualizzare facilmente modifiche ad una sensazione dinamica e per migliorare la caratterizzazione della sensazione dinamica. Inoltre, una certa terminologia è stata utilizzata a soli fini di chiarezza descrittiva e non per limitare la presente invenzione. Si intende pertanto che le seguenti rivendicazioni allegate includono tutte queste alterazioni, permutazioni ed equivalenti e ricadono nell'effettivo spirito ed ambito della presente invenzione.

Claims (23)

  1. RIVENDICAZIONI 1. Metodo per la realizzazione di un’interfaccia di programmazione di sensazioni dinamiche, comprendente: la rappresentazione di detta interfaccia di programmazione di sensazioni dinamiche su un computer principale; il ricevimento di un input da un utilizzatore a detta interfaccia di programmazione di sensazioni dinamiche, detto input selezionando un tipo di sensazione dinamica che deve essere comandato da detto computer principale, ed un output da un dispositivo di interfaccia di retroazione dinamica, detto dispositivo di interfaccia di retroazione dinamica comprendendo un oggetto manipolabile da un utilizzatore e mobile con un grado di libertà; il ricevimento di un input da un utilizzatore definente caratteristiche fìsiche di detta sensazione dinamica selezionata; la predisposizione di una rappresentazione grafica di detta sensazione dinamica selezionata caratterizzata da detto utilizzatore in cui detta rappresentazione grafica fornisce a detto utilizzatore una dimostrazione visiva della percezione di detta sensazione dinamica caratterizzata; l’associazione reciproca di detta sensazione dinamica selezionata e di un suono; il comando di detta sensazione dinamica caratterizzata come output da parte di detto dispositivo di interfaccia di retroazione dinamica a detto computer principale, in modo tale che detta sensazione dinamica sia generata insieme all’aggiornamento di detta dimostrazione visiva della percezione di detta sensazione dinamica caratterizzata ed insieme ad una generazione di detto suono associato; e il ricevimento di modifiche di detta sensazione dinamica caratterizzata da detto utilizzatore dopo che detta sensazione dinamica è generata per sincronizzare detta sensazione dinamica con detto suono e presentazione di dette modifiche aggiuntive in detta rappresentazione grafica.
  2. 2. Metodo secondo fa rivendicazione 1, comprendente inoltre la memorizzazione di una pluralità di parametri che caratterizzano detta sensazione dinamica su un mezzo di memorizzazione accessibile a detto computer principale.
  3. 3. Metodo secondo la rivendicazione 2, comprendente inoltre l'accesso di detta pluralità di parametri memorizzati da un programma applicativo differente da quello di detta interfaccia di programmazione, detto programma applicativo utilizzando detta pluralità di parametri per generare detta sensazione dinamica caratterizzata durante l'esecuzione di detto programma applicativo
  4. 4. Metodo secondo la rivendicazione 3, in cui l'inizio d detto suono è sincronizzato con l’inizio di detta sensazione dinamica quando detto suono e detta sensazione dinamica sono generati.
  5. 5. Metodo secondo la rivendicazione 1, in cui detta sensazione dinamica selezionata è associata ad un controllo di detto dispositivo di retroazione dinamica tale che detta sensazione dinamica, detta dimostrazione visiva e detto suono sono generati quando detto controllo è attivato da detto utilizzatore.
  6. 6. Metodo secondo la rivendicazione 5, in cui detto controllo è un pulsante ed in cui detta sensazione dinamica e detto suono sono associati ad una icona grafica in detta interfaccia di programmazione che rappresenta detto pulsante.
  7. 7. Metodo secondo la rivendicazione 6, in cui quando detta icona grafica è selezionata da detto utilizzatore, quest'ultimo ha una possibilità di associare un suono a detta icona, dissociare un suono da detta icona o provare detta icona.
  8. 8. Metodo secondo la rivendicazione 6, in cui detto utilizzatore può dissociare detto suono da detto controllo.
  9. 9. Metodo secondo la rivendicazione 1, in cui detto utilizzatore può selezionare detto suono da una lista formata da una pluralità di suoni disponibili.
  10. 10. Metodo secondo la rivendicazione 1, in cui detto utilizzatore può provare detto suono prima di associare detta sensazione dinamica a detto suono.
  11. 11. Metodo secondo la rivendicazione 1, in cui una pluralità di sensazioni dinamiche sono selezionabili da parte delf’utilizzatore ed in cui dette sensazioni dinamiche selezionabili comprendono condizioni, effetti e dinamiche.
  12. 12. Metodo secondo la rivendicazione 1, in cui detta sensazione dinamica selezionata è una sensazione dinamica periodica ed in cui detta rappresentazione grafica è un’immagine di una forma d’onda periodica.
  13. 13. Metodo secondo la rivendicazione 1, in cui detto suono è fornito in un formato di file standard.
  14. 14. Apparato per la realizzazione di un'interfaccia di programmazione di sensazioni dinamiche, comprendente: mezzi per fornire una rappresentazione grafica di una sensazione dinamica selezionata caratterizzata da un utilizzatore, in cui detta rappresentazione grafica fornisce a detto utilizzatore una dimostrazione visiva di una percezione di detta sensazione dinamica caratterizzata ed è raffigurata in detta interfaccia di programmazione di sensazione dinamica su un dispositivo di visualizzazione di un computer principale, in cui detta interfaccia di programmazione di sensazione dinamica riceve input da un utilizzatore che seleziona un tipo di sensazione dinamica che deve essere comandata da detto computer principale ed un output da un dispositivo di interfaccia di retroazione dinamica, in cui detto dispositivo di interfaccia di retroazione dinamica comprende un oggetto manipolabile da parte di un utilizzatore che può essere afferrato dallo stesso e mosso in un grado di libertà; mezzi per ricevere input da un utilizzatore che definisce caratteristiche fisiche di detta sensazione dinamica selezionata; mezzi per associare reciprocamente detta sensazione dinamica selezionata ed un suono; mezzi per fornire detta sensazione dinamica caratterizzata a detto dispositivo di interfaccia dinamica, accoppiato a detto computer principale in modo tale che degli attuatoli di detto dispositivo di interfaccia di retroazione dinamica generino detta sensazione dinamica su detto oggetto utilizzatore in combinazione con detta dimostrazione visiva di detta percezione delie sensazioni dinamiche caratterizzate ed in combinazione con la generazione di detto suono associato; e mezzi per modificare le caratteristiche di detta sensazione dinamica sulla base di input da detto utilizzatore per sincronizzare detta sensazione dinamica con detto suono e per mostrare dette modifiche delle sensazioni dinamiche come rappresentazioni grafiche, in cui una sensazione dinamica modificata in accordo con dette modifiche sia generata da detti attuatoli su detto oggetto utilizzatore.
  15. 15. Apparato secondo la rivendicazione 14, in cui detta associazione reciproca di sensazione dinamica e di detto suono comprende l’associazione di detta sensazione dinamica con un pulsante fìsico previsto su detto dispositivo di retroazione dinamica e l'associazione di un suono a detto pulsante in modo tale che detta sensazione dinamica e detto suono siano generati in modalità sincronizzata quando detto pulsante è premuto da un utilizzatore di detta interfaccia di programmazione.
  16. 16. Apparato secondo la rivendicazione 15, in cui detta sensazione dinamica e detto suono sono associati con una rappresentazione grafica di un pulsante mostrato in detta interfaccia, in cui detta rappresentazione grafica è associata a detto pulsante fìsico su detto dispositivo di interfaccia di retroazione dinamica.
  17. 17. Apparato secondo la rivendicazione 14, comprendente inoltre mezzi per scrivere dati descriventi dette caratteristiche fisiche di sensazione dinamica in un mezzo di memorizzazione.
  18. 18. Dispositivo di lettura computerizzata, comprendente istruzioni di programma per fornire un’interfaccia di programmazione di sensazione dinamica realizzata da un computer, dette istruzioni di programma realizzando fasi comprendenti: rappresentazione di un’interfaccia di programmazione su un dispositivo di visualizzazione di un computer; ricevimento di input in detta interfaccia di programmazione da parte di un utilizzatore, detto input selezionando un tipo di sensazione dinamica che deve essere comandata da un computer principale e generato da un dispositivo di interfaccia di retroazione dinamica, detto dispositivo di interfaccia di retroazione dinamica comprendendo un oggetto manipolabile dairutilizzatore, afferrabile dallo stesso e mobile in un grado di libertà; ricevimento di input da un utilizzatore per specificare parametri che definiscono caratteristiche di detta sensazione dinamica selezionata; presentazione di una rappresentazione grafica di detta sensazione dinamica selezionata tale che quando detta sensazione dinamica caratterizzata viene comandata per essere generata da detto dispositivo di interfaccia dir estrazione dinamica accoppiato a detto computer principale, detto suono è generato insieme a detto output di sensazione dinamica di detto oggetto utilizzatore ed insieme a una dimostrazione visiva di detta percezione di detta sensazione dinamica caratterizzata. 19. Dispositivo di lettura computerizzata secondo la rivendicazione 18, in cui detta sensazione dinamica caratterizzata è comandata per essere generata da detto dispositivo di interfaccia di retroazione dinamica quando detto utilizzatore selezione un controlla in detta interfaccia di programmazione per provare detta sensazione dinamica. viene comandata per essere generata da detto dispositivo di interfaccia dir estrazione dinamica accoppiato a detto computer principale, detto suono è generato insieme a detto output di sensazione dinamica di detto oggetto utilizzatore ed insieme a una dimostrazione visiva di detta percezione di detta sensazione dinamica caratterizzata.
  19. 19. Dispositivo di lettura computerizzata secondo la rivendicazione 18, in cui detta sensazione dinamica caratterizzata è comandata per essere generata da detto dispositivo di interfaccia di retroazione dinamica quando detto utilizzatore selezione un controlla in detta interfaccia di programmazione per provare detta sensazione dinamica.
  20. 20. Dispositivo di lettura computerizzata seconda la rivendicazione 18, comprendente istruzioni di programma per ricevere ulteriori input da detto utilizzatore per modificare dette caratteristiche della sensazione dinamica da essere ulteriormente sincronizzate con detto suono.
  21. 21. Dispositivo di lettura computerizzata secondo la rivendicazione 18, comprendente istruzioni di programma per scrivere detti parametri in un mezzo di memorizzazione, detti parametri essendo accessibile a programmi applicativi implementati su detto computer per il controllo di retroazioni dinamiche.
  22. 22. Dispositivo di lettura computerizzata secondo la rivendicazione 18, comprendente istruzioni di programma per aggiornare detta rappresentazione grafica in accordo con detta sensazione dinamica considerata come output verso detto oggetto utilizzatore.
  23. 23. Dispositivo di lettura computerizzata secondo la rivendicazione 18, in cui l'avvio di detto suono è sincronizzato con l'avvio di detta sensazione dinamica quando detto suono e detta sensazione dinamica sono generati.
IT2000VI000024A 1999-02-02 2000-02-01 Programmazione di sensazioni dinamiche per applicazioni computerizzate comprendenti suoni IT1315182B1 (it)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
ITVI20000024A1 true ITVI20000024A1 (it) 2001-08-01
IT1315182B1 IT1315182B1 (it) 2003-02-03

Family

ID=22917772

Family Applications (1)

Application Number Title Priority Date Filing Date
IT2000VI000024A IT1315182B1 (it) 1999-02-02 2000-02-01 Programmazione di sensazioni dinamiche per applicazioni computerizzate comprendenti suoni

Country Status (6)

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

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
US6169540B1 (en) 1995-12-01 2001-01-02 Immersion Corporation Method and apparatus for designing force sensations in force feedback applications
US7027032B2 (en) 1995-12-01 2006-04-11 Immersion Corporation Designing force sensations for force feedback computer 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 (en) * 2002-07-01 2004-01-07 Sony Ericsson Mobile Communications AB Tactile feedback method and device
GB2410995B (en) * 2002-10-15 2007-05-09 Immersion Corp Products and processes for providing force sensations in a user interface
JP4014504B2 (ja) * 2002-12-27 2007-11-28 アルプス電気株式会社 力覚付与型入出力装置
EP1463052A1 (en) 2003-03-25 2004-09-29 Deutsche Thomson-Brandt Gmbh Method for representing animated menu buttons
US7280095B2 (en) * 2003-04-30 2007-10-09 Immersion Corporation Hierarchical methods for generating force feedback effects
WO2004111819A1 (en) 2003-06-09 2004-12-23 Immersion Corporation Interactive gaming systems with haptic feedback
US20050004987A1 (en) * 2003-07-03 2005-01-06 Sbc, Inc. Graphical user interface for uploading files
US20060064503A1 (en) 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
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
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
US7979146B2 (en) 2006-04-13 2011-07-12 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
US8376844B2 (en) * 2006-06-19 2013-02-19 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
KR101287892B1 (ko) * 2008-08-11 2013-07-22 임머숀 코퍼레이션 촉각작동 가능한 음악 게임용 주변장치
US20100167820A1 (en) * 2008-12-29 2010-07-01 Houssam Barakat Human interface device
US10564721B2 (en) * 2009-03-12 2020-02-18 Immersion Corporation Systems and methods for using multiple actuators to realize textures
US10007340B2 (en) * 2009-03-12 2018-06-26 Immersion Corporation Systems and methods for interfaces featuring surface-based haptic effects
US9696803B2 (en) 2009-03-12 2017-07-04 Immersion Corporation Systems and methods for friction displays and additional haptic effects
US9874935B2 (en) 2009-03-12 2018-01-23 Immersion Corporation Systems and methods for a texture engine
US9746923B2 (en) 2009-03-12 2017-08-29 Immersion Corporation Systems and methods for providing features in a friction display wherein a haptic effect is configured to vary the coefficient of friction
US9927873B2 (en) 2009-03-12 2018-03-27 Immersion Corporation Systems and methods for using textures in graphical user interface widgets
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

Family Cites Families (87)

* 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
US5629594A (en) 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
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
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
US6131097A (en) 1992-12-02 2000-10-10 Immersion Corporation Haptic authoring
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
US5805140A (en) 1993-07-16 1998-09-08 Immersion Corporation High bandwidth force feedback interface using voice coils and flexures
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
CA2167304C (en) 1993-07-16 1998-04-21 Louis B. Rosenberg Multi degree of freedom human-computer interface with tracking and forcefeedback
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
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
DE59404021D1 (de) * 1993-11-30 1997-10-16 Gegauf Fritz Ag Kraft- bzw. Muskeltrainingsgerät
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
EP0677933A3 (de) * 1994-04-12 1995-12-13 Studer Professional Audio Ag Stellglied mit taktiler Rückkopplung.
US6004134A (en) 1994-05-19 1999-12-21 Exos, Inc. Interactive simulation including force feedback
US5565840A (en) 1994-09-21 1996-10-15 Thorner; Craig Tactile sensation generator
US5684722A (en) 1994-09-21 1997-11-04 Thorner; Craig Apparatus and method for generating a control signal for a 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 株式会社日立製作所 画像情報の音響出力方法
EP0760118B1 (en) 1995-03-13 2002-07-03 Koninklijke Philips Electronics N.V. Vertical translation of mouse or trackball enables truly 3d input
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 (en) 1995-11-30 1998-12-16 Virtual Technologies Inc TACTILE FEEDBACK FOR HUMAN / MACHINE INTERFACE
US6169540B1 (en) 1995-12-01 2001-01-02 Immersion Corporation Method and apparatus for designing force sensations in force feedback applications
US5956484A (en) 1995-12-13 1999-09-21 Immersion Corporation Method and apparatus for providing force feedback over a computer network
US6028593A (en) 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
US6147674A (en) 1995-12-01 2000-11-14 Immersion Corporation Method and apparatus for designing force sensations in force feedback computer applications
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
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
US5760764A (en) 1995-12-13 1998-06-02 Altra Computer display cursor controller with serial interface
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
JP3263012B2 (ja) 1996-10-01 2002-03-04 株式会社ソニー・コンピュータエンタテインメント ゲーム機用操作装置
GB9622556D0 (en) 1996-10-30 1997-01-08 Philips Electronics Nv Cursor control with user feedback mechanism
DE19649082C1 (de) * 1996-11-27 1998-01-08 Fraunhofer Ges Forschung Vorrichtung zur Fernsteuerung eines Werkzeugs
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

Also Published As

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

Similar Documents

Publication Publication Date Title
ITVI20000024A1 (it) Programmazione di sensazioni dinamiche per applicazioni computerizzate comprendenti suoni
US6292170B1 (en) Designing compound force sensations for computer applications
US7843424B2 (en) Method and apparatus for designing force sensations in force feedback computer applications
US6697086B2 (en) Designing force sensations for force feedback computer applications
US7091948B2 (en) Design of force sensations for haptic feedback computer interfaces
US10234944B2 (en) Force feedback system including multi-tasking graphical host environment
US6433771B1 (en) Haptic device attribute control
US6219032B1 (en) 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
US20080266066A1 (en) Force feedback system including multi-Tasking graphical host environment and interface device
EP1012697A1 (en) Method and apparatus for designing and controlling force sensations in force feedback computer applications
Mulder Design of virtual three-dimensional instruments for sound control
Ryu et al. posVibEditor: Graphical authoring tool of vibrotactile patterns
Rosskamp et al. UnrealHaptics: Plugins for Advanced VR Interactions in Modern Game Engines
Goffeng Tangible input technology and camera-based tracking for interactions in virtual environments
Berdahl et al. HSP: An Overview and Series of Instructive Haptic Musical Instrument Implementations
Tatay de Pascual Development of a Steering Law Experiment platform with haptic device Phantom Omni