ITVI20000024A1 - Programmazione di sensazioni dinamiche per applicazioni computerizzate comprendenti suoni - Google Patents
Programmazione di sensazioni dinamiche per applicazioni computerizzate comprendenti suoni Download PDFInfo
- 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
Links
- 230000035807 sensation Effects 0.000 claims description 223
- 230000000694 effects Effects 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 31
- 230000000737 periodic effect Effects 0.000 claims description 21
- 230000001360 synchronised effect Effects 0.000 claims description 16
- 230000008447 perception Effects 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims 2
- 238000013461 design Methods 0.000 description 18
- 238000011161 development Methods 0.000 description 17
- 230000018109 developmental process Effects 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 230000033001 locomotion Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000021317 sensory perception Effects 0.000 description 4
- 230000035939 shock Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 238000013016 damping Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008207 sensory development Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000006096 absorbing agent Substances 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing 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/03543—Mice or pucks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/10—Features 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/1037—Features 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/6063—Methods for processing data by generating or executing the game program for sound processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/014—Force feedback applied to GUI
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/015—Force 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)
- 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. 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. 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. 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. 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. 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. 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. Metodo secondo la rivendicazione 6, in cui detto utilizzatore può dissociare detto suono da detto controllo.
- 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. Metodo secondo la rivendicazione 1, in cui detto utilizzatore può provare detto suono prima di associare detta sensazione dinamica a detto suono.
- 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. 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. Metodo secondo la rivendicazione 1, in cui detto suono è fornito in un formato di file standard.
- 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. 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. 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. Apparato secondo la rivendicazione 14, comprendente inoltre mezzi per scrivere dati descriventi dette caratteristiche fisiche di sensazione dinamica in un mezzo di memorizzazione.
- 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. 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. 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. 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. 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. 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.
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)
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)
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 |
-
1999
- 1999-02-02 US US09/243,209 patent/US6285351B1/en not_active Expired - Lifetime
-
2000
- 2000-02-01 CA CA002297514A patent/CA2297514A1/en not_active Abandoned
- 2000-02-01 GB GB0002225A patent/GB2346455B/en not_active Expired - Lifetime
- 2000-02-01 IT IT2000VI000024A patent/IT1315182B1/it active
- 2000-02-02 FR FR0001312A patent/FR2790319B1/fr not_active Expired - Lifetime
- 2000-02-02 DE DE10004372A patent/DE10004372B4/de not_active Expired - Lifetime
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 |