FR 2790319 A1 20000901 FR 0001312 A 20000202 CONCEPTION DE SENSATIONS DE FORCE DESTINEES AUX APPLICATIONS PROGRAMMEES, Y COMPRIS LES SONS ETAT DE LA TECHNIQUE La présente invention concerne, de manière générale, des éléments d'interface permettant aux personnes d'interfacer avec les systèmes informatiques et, plus particulièrement, des éléments d'interface informatiques qui transmettent des entrées provenant de l'utilisateur aux systèmes informatiques et appliquent un feed-back sensoriel à destination de l'utilisateur. En utilisant un dispositif d'interface, un utilisateur peut interagir avec un environnement affiché par un système informatique pour réaliser des fonctions et des tâches sur l'ordinateur, par exemple pour jouer à un jeu, découvrir un environnement de simulation ou de réalité virtuelle, utiliser un système de conception assistée par ordinateur, gérer une interface utilisateur graphique (GUI) ou influencer, d'une autre manière, les événements ou les images représentés à l'écran. Les éléments classiques d'interface homme-ordinateur utilisés pour une telle interaction incluent les manches à balai, souris, boules roulantes, stylets, tablettes, boules sensibles à pression et autres éléments similaires, connectés au système informatique contrôlant l'environnement d'affichage. En général, l'ordinateur met à jour l'environnement en réponse à la manipulation, par l'utilisateur, d'un objet physique manipulable par l'utilisateur, tel que la poignée d'un manche à balai ou une souris, et transmet un feed-back visuel et sonore à l'utilisateur par l'intermédiaire de l'écran d'affichage et des haut-parleurs. L'ordinateur capte la manipulation de l'objet de l'utilisateur via des capteurs situés sur l'élément d'interface qui envoient des signaux de repérage à l'ordinateur. Dans certains éléments d'interface, un feed-back "haptic", appelé "feedback sensoriel" est également transmis à l'utilisateur. Ces types d'éléments d'interface peuvent transmettre des sensations physiques qui sont ressenties par l'utilisateur manipulant un objet manipulable par l'utilisateur de l'élément d'interface. Par exemple, le contrôleur de manche à balai Force-FX proposé par CH Products, Inc. ou le manche à balai Wingman Force proposé par Logitech peut être connecté à un ordinateur et transmettre des forces à l'utilisateur du contrôleur. D'autres systèmes peuvent utiliser un contrôleur de souris à feed-back sensoriel. Un ou plusieurs moteurs ou d'autres actionneurs sont utilisés dans le dispositif et sont connectés au système informatique de contrôle. Le système informatique contrôle les forces transmises via le manche à balai conjointement et en coordination avec les événements et les interactions affichés en envoyant des signaux ou des commandes de contrôle aux actionneurs. Le système informatique peut ainsi transmettre des sensations de force physique à l'utilisateur conjointement avec d'autres feed-back fournis lorsque l'utilisateur saisit ou est en contact avec le manche à balai ou un autre objet de l'élément d'interface. Par exemple, lorsque l'utilisateur déplace l'objet manipulable et entraîne l'interaction d'un curseur affiché avec un autre objet graphique affiché, l'ordinateur peut émettre une commande qui entraîne l'émission, par l'actionneur, d'une force sur l'objet de l'utilisateur, transmettant ainsi une sensation à l'utilisateur. L'un des problèmes rencontrés par les précédents développements des sensations de feed-back sensoriels dans les logiciels est que le programmeur des applications de feed-back sensoriel ne sait pas intuitivement de quelle manière les forces sont ressenties lorsqu'elles sont réglées d'une certaine manière et, en conséquence, il convient de faire d'importants efforts pour développer les caractéristiques des forces voulues pour une application spécifique. Par exemple, un programmeur peut souhaiter créer une sensation de force de ressort et d'amortissement spécifique entre deux objets graphiques, la sensation de force ayant une rigidité, une lecture, un décalage etc. donné. Dans les systèmes actuels de feed-back sensoriel, le programmeur doit déterminer les paramètres et les caractéristiques de la force voulue au moyen d'une méthode de force brute, en fixant simplement des paramètres, en testant la force et en réglant les paramètres de manière itérative. Cette méthode peut être contraignante parce que la manière dont un paramètre affecte la sensation d'une force alors qu'elle est transmise sur l'objet de l'utilisateur n'est pas souvent intuitive; le programmeur peut ne même pas s'approcher de la sensation de force voulue avec les paramétrages initiaux. D'autres types de forces peuvent ne pas être intuitifs du tout, par exemple un ressort ayant une rigidité négative et, en conséquence, les concepteurs des sensations de force peuvent rencontrer des difficultés pour intégrer ces types de sensations dans des applications logicielles. En outre, les concepteurs rencontrent également des difficultés pour synchroniser les sensations de force et les sons que les concepteurs souhaitent entendre conjointement à la sensation de force. Par exemple, une sensation de force donnée, telle qu'une collision, est souvent accompagnée d'un son approprié afin de rendre l'expérience plus réaliste pour un utilisateur final. Toutefois, il peut être difficile de concevoir une sensation de force qui soit bien synchronisée avec un son. En conséquence, un outil est nécessaire pour aider le programmeur ou le développeur à établir, de manière intuitive et facile, les caractéristiques du feed-back sensoriel afin de transmettre les sensations de force voulues et de synchroniser les sons appropriés avec ces sensations de force. RESUME DE L'INVENTION La présente invention vise à concevoir des sensations de force émises par un élément d'interface de feed-back sensoriel. Un ordinateur hôte de contrôle fournit un outil d'interface de conception permettant la conception intuitive et simple de diverses sensations de force ainsi que l'adaptation des sensations de force afin qu'elles soient synchronisées avec les effets sonores voulus. Plus précisément, une interface de conception destinée à concevoir des sensations de force à utiliser avec un élément d'interface de feed- back sensoriel est décrite. L'interface de conception de sensation de force est affichée sur le dispositif d'affichage d'un ordinateur hôte. L'entrée provenant de l'utilisateur sélectionne le type de sensation de force devant être commandé par un ordinateur hôte et émis par un élément d'interface de feed-back sensoriel. L'entrée, par exemple les paramètres, est ensuite transmise par un utilisateur qui conçoit et définit les caractéristiques physiques de la sensation de force sélectionnée. Une représentation graphique de la sensation de force caractérisée s'affiche sur le dispositif d'affichage de l'ordinateur hôte. La représentation graphique transmet à l'utilisateur une démonstration visuelle de la sensation de force caractérisée de telle sorte que ledit utilisateur peut visualiser un effet des paramètres sur la sensation de force. La sensation de force sélectionnée est également associée à un son. La sensation de force caractérisée est transmise à un objet manipulable par l'utilisateur de l'élément d'interface de feed-back sensoriel pour permettre à l'utilisateur de ressentir la sensation de force conçue. La représentation graphique est mise à jour conjointement à l'émission de la sensation de force sur l'objet de l'utilisateur. Enfin, le son associé est émis conjointement à l'émission de la sensation de force. L'utilisateur peut, de préférence, modifier la sensation de force caractérisée après avoir ressenti la sensation et ressentir ensuite la sensation de force modifiée. Ainsi, dans un processus itératif, l'utilisateur peut concevoir des sensations de force effectives en ressentant réellement lesdites sensations. En entendant le son voulu associé à la sensation de force, l'utilisateur peut également régler, de manière itérative, la sensation de force afin qu'elle soit mieux synchronisée avec le son. L'utilisateur peut, de préférence, stocker la caractérisation ou les paramètres de la sensation de force conçue sur un support de stockage auquel il est possible d'accéder à partir d'autres programmes de l'ordinateur hôte ou à partir d'un autre ordinateur. D'autres programmes de contrôle du feed-back sensoriel peuvent ainsi utiliser la sensation de force conçue dans des applications telles que les jeux, les simulations ou les interfaces graphiques. De préférence, le début d'un son est synchronisé avec le début d'une sensation de force lorsque le son et la sensation de force sont émis. Dans un mode de réalisation, la sensation de force sélectionnée est associée à une commande située sur le dispositif de feed-back sensoriel, par exemple un bouton. La sensation de force, la démonstration visuelle et le son sont émis lorsque la commande est activée par l'utilisateur. La sensation de force et le son peuvent être associés à une icône graphique dans l'interface de conception qui représente le bouton. De préférence, l'utilisateur peut sélectionner le son à partir d'une liste répertoriant les divers sons disponibles qui peuvent tous être fournis dans un format de fichier standard. De multiples sensations de force peuvent être conçues dans l'outil d'interface objet de la présente invention et synchronisées avec des sons, par exemple des conditions, des (effets) périodiques et des dynamiques. La présente invention fournit, de manière avantageuse, un outil d'interface de conception simple et facile à utiliser, permettant de concevoir des sensations de feed-back sensoriel. Du fait des multiples sensations de force possibles et des résultats souvent inattendus obtenus en modifiant plusieurs paramètres des sensations de force, l'outil d'interface de conception objet de la présente invention répond aux besoins des concepteurs de sensations de force qui souhaitent créer des sensations de force aussi proches que possible de leurs besoins. L'interface de conception graphique objet de la présente invention permet à un concepteur de sensations de force de concevoir et de modifier, de manière facile et intuitive, des sensations de force pouvant être synchronisées avec des sons, afin d'utiliser davantage de feed-back sensoriels effectifs dans les jeux, les simulations et autres applications. D'autres caractéristiques et avantages de la présente invention ressortiront plus clairement, pour les experts en la matière, à la lecture de la description ci-après faite en référence aux dessins annexés. BREVE DESCRIPTION DES DESSINS La FIGURE 1 représente le schéma fonctionnel d'un système permettant de contrôler l'élément d'interface de feed-back sensoriel objet de la présente invention. La FIGURE 2 représente une vue en perspective du mode de réalisation d'un mécanisme permettant d'assurer l'interface entre un objet manipulable par l'utilisateur et le dispositif de feed-back sensoriel représenté à la Figure 1. La FIGURE 3 représente le schéma de l'interface d'affichage objet de la présente invention destinée à concevoir des sensations de force. La FIGURE 4 représente le schéma de l'interface de la Figure 3 affichant la fenêtre de conception pour une condition de ressort. Les FIGURES 5a-c représentent les schémas des représentations graphiques affichées d'une condition de ressort. La FIGURE 6 représente les schémas de l'interface de la Figure 3 affichant une fenêtre de conception en mode simple pour une condition de ressort. La FIGURE 7 représente un schéma de l'interface de la Figure 3 affichant une fenêtre de conception pour une onde périodique. La FIGURE 8 représente le schéma d'un mode de réalisation de l'interface objet de la présente invention permettant d'associer des sons et des forces. DESCRIPTION DETAILLEE DES MODES DE REALISATION PREFERES La FIGURE 1 représente le schéma fonctionnel d'un système d'interface de feed-back sensoriel 10, destiné à être utilisé dans le cadre de la présente invention, contrôlé par un système informatique hôte. Le système d'interface 10 comprend un système informatique hôte 12 et un élément d'interface 14. Le système informatique hôte 12 est, de préférence, un ordinateur personnel, tel qu'un ordinateur personnel compatible IBM ou Macintosh, ou une station de travail, telle qu'une station de travail SUN ou Silicon Graphics. Le système informatique hôte 12 peut également être un système de jeux vidéos à domicile, tel qu'une console Nintendo, Sega ou Sony, un "boîtier" pour téléviseur ou un "réseau informatique" etc. Le système informatique hôte 12 utilise, de préférence, un programme d'application hôte assurant l'interface, via des périphériques, entre l'utilisateur 22 et l'élément d'interface 14. Par exemple, le programme d'application hôte peut être un jeu vidéo, une simulation médicale, un programme d'analyse scientifique, un système d'exploitation, une interface utilisateur graphique ou tout autre programme d'application utilisant le feed- back sensoriel. De manière générale, l'application hôte fournit des images à afficher sur un dispositif d'affichage, décrit ci-après, et/ou d'autres feed-back, tels que des signaux sonores. Le système informatique hôte 12 comprend, de préférence, un microprocesseur hôte 16, une mémoire vive (RAM) 17, une mémoire morte (ROM) 19, des éléments électroniques d'entrée/de sortie (E/S) 21, une horloge 18, un écran d'affichage 20 et un dispositif de sortie audio 21. L'écran d'affichage 20 peut être utilisé pour afficher des images générées par un système informatique hôte 12 ou par d'autres systèmes informatiques. Il peut s'agir d'un écran d'affichage classique, d'un terminal à écran cathodique, d'un écran plat, de lunettes 3D ou de toute autre interface visuelle. Le dispositif de sortie audio 21, tel que des haut-parleurs, est de préférence couplé à un microprocesseur hôte 16 via des amplificateurs, des filtres et tout autre circuit bien connu des experts en la matière (par exemple, dans une carte son) et émet, à destination de l'utilisateur 22, des sons depuis l'ordinateur hôte 18. D'autres types de périphériques peuvent également être couplés au processeur hôte 16, tels que des dispositifs de stockage (lecteur de disque dur, lecteur de CD-ROM/DVD-ROM, lecteur de disquettes, etc.), des imprimantes et autres dispositifs d'entrée et de sortie. Les données servant à mettre en oeuvre les interfaces objets de la présente invention peuvent être stockées sur un support lisible par un ordinateur, tel que la mémoire (RAM ou ROM), un disque dur, un CD-ROM ou un DVD- ROM etc. Un élément d'interface 14 est couplé au système informatique hôte 12 par un bus bidirectionnel 24. Le bus bidirectionnel envoie des signaux dans les deux sens entre le système informatique hôte 12 et l'élément d'interface. Un port d'interface du système informatique hôte 12, tel qu'un port d'interface série Universal Serial Bus (USB) ou RS323, un port parallèle, un port pour connexion de jeux électroniques etc., connecte le bus 24 au système informatique hôte 12. L'élément d'interface 14 comprend un microprocesseur local 26, des capteurs 28, des actionneurs 30, un objet de l'utilisateur 34, une interface capteur 36 en option, une interface actionneur 38 en option et d'autres dispositifs d'entrée 39 en option. Le microprocesseur local 26 est couplé au bus 24, est considéré local pour l'élément d'interface 14 et est dédié au feed-back sensoriel et à l'E/S des capteurs de l'élément d'interface 14. Le microprocesseur 26 peut disposer d'instructions logicielles pour attendre les commandes ou les requêtes de l'ordinateur hôte 16, décoder la commande ou la requête et gérer/contrôl81er les signaux d'entrée et de sortie en fonction de la commande ou de la requête. De plus, le processeur 26 fonctionne, de préférence, indépendamment de l'ordinateur hôte 16 en lisant les signaux des capteurs et en calculant les forces appropriées à partir des signaux de ces capteurs, des signaux temporels ainsi que des instructions stockées ou relayées sélectionnées conformément à une commande de l'hôte. Les microprocesseurs appropriés destinés à être utilisé comme microprocesseur local 26 incluent le MC68HC711E9 de Motorola, le PIC16C74 de Microchip et le 82930AX d'Intel Corp., par exemple. Le microprocesseur 26 peut inclure une puce microprocesseur ou plusieurs puces processeurs et/ou co-processeur et ou un processeur de signaux numériques (DSP). Le microprocesseur 26 peut recevoir des signaux des capteurs 28 et transmettre des signaux aux actionneurs de l'élément d'interface 14 conformément aux instructions fournies par l'ordinateur hôte 12 sur le bus 24. Par exemple, dans un mode de réalisation préféré du contrôle local, le système informatique hôte 12 transmet des commandes de supervision de niveau élevé au microprocesseur 26 sur le bus 24 et le microprocesseur 26 gère les boucles de contrôle de la force de niveau faible vers les capteurs et les actionneurs conformément aux commandes de niveau élevé et indépendamment de l'ordinateur hôte 18. Le système de feed-back sensoriel transmet ainsi une boucle de contrôle hôte d'informations et une boucle de contrôle locale d'informations dans un système de contrôle réparti. Le microprocesseur 26 peut également recevoir des commandes depuis tout autre dispositif d'entrée 29 inclus à l'appareil d'interface 14, tel que les boutons et transmettre les signaux appropriés à l'ordinateur hôte 12 pour indiquer que les informations d'entrée ont été reçues et toute information incluse aux informations d'entrée. La mémoire locale 27, telle que la RAM et/ou la ROM, est, de préférence, couplée au microprocesseur 26 dans l'élément d'interface 14 pour stocker les instructions du microprocesseur 26 ainsi que des données temporaires et autres. De plus, une horloge locale 29 peut être couplée au microprocesseur 26 pour fournir des données temporelles. Les capteurs 28 captent la position, le mouvement et/ou les autres caractéristiques d'un objet de l'utilisateur 34 de l'élément d'interface 14 avec un ou plusieurs degrés de liberté et transmettent des signaux au microprocesseur 26 y compris des informations sur ces caractéristiques. Des codeurs optiques linaires ou rotatifs, des potentiomètres, des capteurs optiques, des capteurs de vitesse, des capteurs d'accélération, une jauge d'effort et d'autres types de capteurs peuvent être utilisés. Les capteurs 28 transmettent un signal électrique à une interface capteur 36 en option qui peut être utilisée pour convertir les signaux des capteurs en signaux pouvant être interprétés par le microprocesseur 26 et/ou le système informatique hôte 12. Les actionneurs 30 transmettent des forces à l'objet de l'utilisateur 34 de l'élément d'interface 14 dans un ou plusieurs sens, avec un ou plusieurs degrés de liberté, en réponse aux signaux envoyés par le microprocesseur 26. Les actionneurs 30 peuvent être de deux types: actionneurs actifs et actionneurs passifs. Les actionneurs actifs incluent les moteurs à régulation linéaire du courant, les moteurs pas-à-pas, les actionneurs actifs pneumatiques/hydrauliques, un moteur-couple (moteur ayant une plage angulaire limitée), les actionneurs à bobine mobile et d'autres types d'actionneurs qui transmettent une force pour déplacer un objet. Les actionneurs passifs peuvent également être utilisés comme actionneurs 30, tels que les freins à particules magnétiques, les freins à friction ou les actionneurs passifs pneumatiques/hydrauliques. L'interface actionneur 38 peut, en option, être connectée entre les actionneurs et le microprocesseur 26 pour convertir les signaux provenant du microprocesseur 26 en des signaux appropriés pour entraîner les actionneurs 30. D'autres dispositifs d'entrée 39 peuvent, en option, être inclus à l'élément d'interface 14 et envoyer des signaux d'entrée au microprocesseur 26 ou au processeur hôte 16. Ces dispositifs d'entrée peuvent inclure des boutons, des cadrans, des commutateurs, des leviers et autres mécanismes. Par exemple, dans les modes de réalisation o l'objet de l'utilisateur 34 est un manche à balai, les autres dispositifs d'entrée peuvent inclure un ou plusieurs boutons situés, par exemple, sur la poignée ou la base du manche à balai. L'alimentation électrique 40 peut, en option, être couplée à l'interface actionneur 38 et/ou aux actionneurs 30 pour fournir de l'électricité. Un commutateur de sécurité 41 peut, en option, être inclus à l'élément d'interface 14 pour fournir un mécanisme de désactivation des actionneurs 30 pour des raisons de sécurité. L'objet manipulable par l'utilisateur 34 ("l'objet de l'utilisateur") est un objet physique, un dispositif ou un article pouvant être saisi ou autrement tenu ou contrôlé par un utilisateur. Il est couplé à l'élément d'interface 14. Le terme "saisi" signifie que l'utilisateur peut engager une partie de l'objet d'une quelconque façon, avec une main, avec les doigts ou, dans le cas de personnes handicapées, avec la bouche. L'utilisateur 22 peut manipuler et déplacer l'objet, selon certains degrés de liberté, pour assurer l'interface avec le programme d'application hôte que l'utilisateur visualise sur l'écran d'affichage 20. L'objet 34 peut être un manche à balai, une souris, une boule roulante, un stylet (par exemple, à la fin d'une liaison), un volant, une sphère, un instrument médical (laparoscope, cathéter etc.), un repère commun (par exemple en déplaçant le repère à travers les rouleaux actionnés), une poignée, une molette, un bouton ou autre. La FIGURE 2 représente une vue en perspective du mode de réalisation d'un appareil médical 100 approprié pour transmettre des entrées et des sorties mécaniques au système informatique hôte 12. L'appareil 100 est approprié à un manche à balai ou à un l'objet de l'utilisateur 34 similaire. L'appareil 100 comprend un mécanisme de pivotement 140, des capteurs 28 et des actionneurs 30. L'objet de l'utilisateur 34 est représenté dans ce mode de réalisation comme un manche à balai ayant une poignée 162. Le mécanisme de pivotement 140 fournit deux degrés rotatifs de liberté à l'objet 34. Le mécanisme de pivotement 140 fournit un support pour l'appareil 160 sur une surface plane 142, par exemple le plateau d'une table ou une surface similaire. Le mécanisme de pivotement 140 est une liaison à cinq éléments comprenant un élément au sol 144, des éléments d'extension 146a et 146b et des éléments centraux 148a et 148b. Le mécanisme de pivotement 140 comprend également des mécanismes d'entraînement à cabestan 164. L'élément au sol 144 comprend un élément de base 166 et des éléments de soutien verticaux 168. L'élément de base 166 est couplé à une surface au sol 142. Les éléments du mécanisme de pivotement 140 sont couplés de manière rotative l'un à l'autre via des paliers ou des pivots. L'élément d'extension 146a est couplé de manière rigide à un tambour-cabestan 170 et tourne autour de l'axe A alors que le tambour-cabestan 170 tourne. De même, l'élément d'extension 146b est couplé de manière rigide à l'autre tambour-cabestan 170 et peut tourner autour de l'axe B. L'élément d'entraînement central 148a est couplé de manière rotative à l'élément d'extension 146a et peut tourner autour de l'axe flottant D et l'élément de liaison central 148b est couplé de manière rotative à une extrémité de l'élément d'extension 146b à un point central P et peut tourner autour de l'axe flottant E. L'élément d'entraînement central 148a et l'élément de liaison central 148b sont couplés de manière rotative l'un à l'autre au centre de la rotation du mécanisme de pivotement, qui est le point d'intersection P des axes A et B. Le palier 172 connecte les deux éléments centraux 148a et 148b au point d'intersection P. Les capteurs 28 et les actionneurs 30 sont couplés à l'élément au sol 144 et aux éléments 146 via le tambour-cabestan 170. Le mécanisme de pivotement 140 fournit deux degrés de liberté à un objet 34 placé sur ou à proximité du point central P de rotation, l'objet 34 pouvant tourner autour de l'axe A et/ou B. Dans d'autres modes de réalisation, l'objet 34 peut également tourner ou opérer un mouvement de translation dans d'autres degrés de liberté, tels qu'un degré linéaire de liberté le long de l'axe C ou un degré rotatif "de révolution" de liberté autour de l'axe C et ces degrés de liberté supplémentaires peuvent être captés et/ou commandés. De plus, un dispositif d'entraînement à cabestan 164 peut être couplé à chaque élément vertical 168 pour assurer un avantage mécanique sans introduire de friction ni de jeu dans le système. D'autres types de mécanismes peuvent être utilisés dans d'autres modes de réalisation, tels que les anses à encoches, les liaisons planaires, les modes de réalisation vibrotactiles et autres mécanismes bien connus des experts en la matière. Sensations de feed-back sensoriel Comme les dispositifs de feed-back sensoriel peuvent produire de multiples sensations, chacune ayant ses propres paramètres, contraintes et problèmes de mise en euvre, le spectre global des sensations de force a été divisé en des sous- ensembles. Dans les présentes, nous nous préoccupons de trois catégories de sensations: conditions spatiales ("conditions"), effets temporels ("effets" ou "ondes") et sensations dynamiques ("dynamiques"). Les conditions sont des sensations de force qui sont une fonction du mouvement communiqué par l'utilisateur à l'objet manipulable par l'utilisateur 34, les effets sont des sensations de force qui sont jouées plusieurs fois quel que soit la position ou le mouvement de l'objet de l'utilisateur et les dynamiques sont des sensations de force qui sont basées sur un modèle dynamique interactif de mouvement et de temps. Les types classiques préférés de conditions incluent les ressorts, les amortisseurs, l'inertie, la friction, la texture et les murs. Les trois principaux types d'effets incluent les effets périodiques, la force constante (force vectorielle) et la rampe. Les sensations dynamiques impliquent des interactions en temps réel basées sur 1) le mouvement de l'utilisateur ainsi que 2) un système physique caractérisé en ce que le mouvement de l'utilisateur pendant l'interaction affecte le comportement du système physique. Chaque sensation dynamique est basée sur un système physique de base simulé incluant une masse dynamique connectée à l'objet de l'utilisateur 34 par un ressort simulé et un amortisseur simulé. La FIGURE 3 représente un dispositif d'affichage 20 affichant une interface d'outils graphiques interactive 300 objet de la présente invention qui permet aux développeurs et aux programmeurs de feed-back sensoriel (les "utilisateurs" de l'interface) de concevoir et de mettre en oeuvre des sensations de force de manière rapide et efficace. L'environnement graphique permet la définition de conditions, d'effets ("ondes") et de dynamiques via des métaphores graphiques intuitives qui portent la signification physique de chaque paramètre impliqué. Alors que les paramètres sont manipulés, les sensations peuvent être ressenties en temps réel, ce qui permet un processus de conception itératif qui règle avec précision la sensation exacte voulue par le concepteur. Lorsque la sensation appropriée est réalisée, l'interface peut enregistrer lesparamètres comme une ressource et générer automatiquement un code optimisé sous un format voulu pouvant être utilisé directement dans un programme d'application. Ainsi, l'interface 300 gère la plupart du processus de développement du feed-back sensoriel depuis la conception de la sensation de force jusqu'au codage. Avec ces outils, la programmation du feed-back sensoriel devient un procédé rapide et simple. Le défi posé par la programmation du feed-back sensoriel ne concerne pas le codage. Les modèles de force nécessaires pour émettre des sensations de force sont disponibles et, une fois que la sensation de force voulue est connue et caractérisée, il est simple de mettre en oeuvre la sensation de force en utilisant les instructions logicielles. Toutefois, l'acte de conception des sensations de force pour créer une sensation voulue correspondant de manière appropriée au jeu ou à d'autres applications n'est pas si simple. Concevoir des sensations de force et une sensation particulière nécessite un processus créatif et interactif permettant de définir des paramètres, de ressentir leurs effets et de modifier lesdits paramètres jusqu'à ce que les sensations soient dûnent caractérisées. Par exemple, lors de la conception de conditions, ce processus interactif peut impliquer de régler la rigidité des ressorts, de dimensionner la plage d'insensibilité, de manipuler le décalage et de régler les valeurs de saturation. Lors de la conception d'effets, cela peut impliquer de sélectionner une source d'onde (sinusoïdale, carrée, triangulaire etc.), de régler la magnitude, la fréquence et la durée du signal puis de régler les paramètres de l'enveloppe. Pour une sensation dynamique, cela peut impliquer de régler la masse dynamique puis les paramètres de résonance et de décroissement. Avec autant de paramètres à choisir, chacun d'eux étant applicable à un type différent de sensation de force, il doit exister un moyen rapide, simple et interactif de concevoir des sensations. Pour répondre à ce besoin, l'interface graphique 300 objet de la présente invention permet à l'utilisateur de régler rapidement les paramètres physiques et de ressentir les sensations, après quoi, l'interface génère automatiquement le code approprié pour une utilisation dans le programme d'application d'un ordinateur hôte. L'interface 300 permet de concevoir de manière interactive et en temps réel des conditions, des effets et des dynamiques, les paramètres pouvant être définis et expérimentés via un processus itératif rapide. Ainsi, il est préféré qu'un élément d'interface de feed-back sensoriel 14 soit connecté à l'interface de mise en oeuvre informatique 300 et soit opérationnel pour émettre les sensations de force commandées. Les métaphores graphiques intuitives qui améliorent la compréhension d'un programmeur des paramètres physiques en rapport avec chaque type de sensation sont prévues dans l'interface 300, ce qui accélère le processus de conception itératif. Les outils de gestion de fichiers sont également, de préférence, prévus dans l'interface 300 de telle sorte que les sensations de force conçues peuvent être enregistrées, copiées, modifiées et associées, permettant ainsi à l'utilisateur d'établir une bibliothèque des sensations de force. Une fois que les sensations sont définies, l'interface 300 stocke, de préférence, les paramètres comme des "ressources" pouvant être utilisées par un programme d'application. Par exemple, en reliant une ressource de sensation de force dans un programme d'application, les ressources peuvent être converties en un code Direct-X optimisé utilisable dans une application de l'environnement Windows. D'autres langages ou formats de code peuvent être fournis dans d'autres modes de réalisation. L'interface 300 peut être mise en oeuvre par des instructions de programme ou un code stocké sur un support lisible par l'ordinateur, ledit support lisible par l'ordinateur pouvant être un élément portable ou fixe et un semi-conducteur ou une autre mémoire de l'ordinateur exécutant (tel que l'ordinateur 12), un disque dur ou une bande magnétique, un disque portable, un support optique tel qu'un CD-ROM, une carte PCMCIA ou un autre support. Comme représenté à la Figure 3, l'interface 300 comprend trois principales zones de travail: la palette de sensations 302, la palette de déclenchement par boutons 304 et l'espace de conception 306. Les sensations de force sont créées dans l'espace de conception 306 et peuvent être enregistrées et chargées dans cet espace en utilisant des fonctions classiques de gestion des fichiers. Pour créer une nouvelle sensation de force, il convient de choisir un type de sensation dans la palette de sensations 302. La palette 302 est représentée sous la forme d'une arborescence développable. La racine de l'arbre inclut les trois catégories 310 de sensations de feed-back sensoriel décrites dans les présentes, conditions, ondes (effets) et dynamiques. De préférence, l'utilisateur peut également définir ses propres titres; par exemple, un groupe "Favoris" peut être ajouté, dans lequel sont stockées les sensations de force ayant d'intéressants paramètres précédemment conçus. Dans l'interface 300, les catégories de conditions, d'ondes et de dynamiques sont représentées de manière développée. Ces catégories peuvent également être "comprimées" de sorte à afficher uniquement le titre des catégories, si nécessaire. Lorsqu'une catégorie est affichée sous forme développée, l'interface 300 affiche la liste de tous les types de sensations supportés par le matériel connecté à l'ordinateur hôte 12 pour cette catégorie. Par exemple, en cas de programmation pour un matériel plus récent ou onéreux, supportant un grand nombre de types de sensations de force, une liste incluant de nombreux ou la totalité des types de sensations disponibles est affichée. En cas de programmation pour un matériel d'élément d'interface plus ancien ou moins onéreux ne pouvant pas mettre en oeuvre toutes les sensations, certains types de sensations peuvent être omis ou indisponibles à la sélection dans la fenêtre développée. De préférence, l'interface 300 peut déterminer exactement les sensations de force pouvant être supportées par un élément d'interface 14 donné connecté à l'ordinateur hôte en utilisant un processus d'énumération d'effets, c'est-à-dire que l'ordinateur hôte peut demander des informations à l'élément d'interface, par exemple le numéro de version, la date de fabrication, la liste des fonctions mises en ouvre etc. Une fois un type de sensation choisi parmi la palette de sensations 302, le type de sensation est ajouté à l'espace de conception 306. Par exemple, dans la Figure 3, une ic8ne 308, affectée à la sensation de force sélectionnée "Amortisseur", est affichée dans la fenêtre de l'espace de conception 306. L'icône 308 peut à présent être sélectionnée/ouverte par l'utilisateur pour régler les paramètres pour le type de sensation voulu, en utilisant les outils de développement graphiques (décrits ci-dessous). De multiples icônes peuvent également être tirées dans l'espace de conception pour créer une sensation de force plus complexe. Une fois que les paramètres sont spécifiés pour la sensation voulue, la sensation peut être enregistrée comme un fichier ressource. Par ce processus, l'utilisateur peut créer une grande bibliothèque de sensations sous la forme de fichiers ressource. De même, les bibliothèques préférées de ressources exemples provenant de tierces parties peuvent également être disponibles. Les options affichées dans la palette de déclenchement par boutons 304 peuvent également être sélectionnées par l'utilisateur. La palette de déclenchement 304 permet de tester les sensations de force qui vont être définies comme réflexes boutons. Par exemple, une sensation de force peut être conçue comme l'association d'une onde carrée et d'une onde sinusoïdale qui se déclenche lorsqu'il est appuyé sur le bouton n 2 de l'élément d'interface. L'onde carrée est créée en choisissant le type périodique 312 dans la palette de sensations 302 et en définissant les paramètres appropriés à l'onde carrée. Une onde sinusoïdale est ensuite créée en choisissant un autre type périodique 312 de la palette de sensations 302 et en définissant les paramètres appropriés à l'onde sinusoïdale. A ce stade, deux icônes périodiques 308 s'affichent dans la fenêtre de l'espace de conception 306. Pour tester le déclenchement, l'utilisateur doit glisser/déplacer ces icônes 308 sur l'icône 314 du bouton 2. Le bouton 2 de l'élément d'interface 14 est ainsi conçu pour déclencher la sensation réflexe lorsqu'il est activé. Ce processus est rapide, simple et versatile. Lorsque l'utilisateur crée la sensation voulue, cette sensation peut être enregistrée comme un fichier ressource et un code logiciel optimisé pour une utilisation dans le programme d'application est généré. La sélection du bouton 2 peut être réalisée de différentes manières dans d'autres modes de réalisation. Par exemple, l'utilisateur peut sélectionner ou mettre en surbrillance les icônes de la force voulues dans l'espace de conception 306 puis sélectionner l'icône du bouton 2 dans la palette 304 pour indiquer que les forces mises en surbrillance seront déclenchées par le bouton 2. La FIGURE 4 représente l'interface 300 lorsqu'une sensation de force est caractérisée dans l'espace de conception 306. Lorsqu'une icône 308 dans l'espace de conception 306 est sélectionnée par l'utilisateur, l'icône 308 se développe dans une fenêtre de sensation de force et un environnement graphique pour régler et tester les paramètres physiques associés à la sensation sélectionnée. Par exemple, à la Figure 4, un type de sensation ressort 320 a été sélectionné dans la liste des conditions 322 et présenté sous la forme d'une icône 324 dans l'espace de conception 306. Une fenêtre ressort 326 s'affiche dans l'espace de conception 306 lorsque l'ic8ne 324 est sélectionnée. La fenêtre ressort 326 comprend des champs 328 caractérisant la force, y compris l'axe 330 (et/ou le sens, le degré de liberté etc.), avec laquelle la force sera appliquée, le gain 332 (ou la magnitude) de la force ainsi que les paramètres 334 associés à la sensation de force. Par exemple, pour la sensation ressort, la rigidité positive ("coefficient"), la rigidité négative ("coefficient"), la saturation positive, la saturation négative, le décalage et la plage d'insensibilité de la sensation ressort sont affichés comme paramètres. L'utilisateur peut entrer les données voulues dans les champs 328 pour caractériser la force. Par exemple, l'utilisateur a spécifié que la force doit être appliquée le long de l'axe X (dans les deux sens, comme aucun sens spécifique n'est indiqué), a indiqué un gain de 100 et a spécifié des valeurs de saturation de 10000 dans les sens positif et négatif. L'utilisateur peut également, de préférence, spécifier les paramètres, en totalité ou en partie, de manière graphique en réglant la taille ou la forme de l'enveloppe, la hauteur ou la fréquence de la forme d'onde, la largeur de la plage d'insensibilité ou des ressorts, l'emplacement d'un mur sur un axe etc. au moyen du curseur ou d'un autre objet graphique contrôlé. Alors que l'utilisateur entre des valeurs dans les champs 328, les ajouts et modifications en résultant pour la sensation de force sont affichés dans un format graphique intuitif dans la fenêtre de la sensation de force. Par exemple, dans la fenêtre de sensation ressort 326, la représentation graphique 336 est affichée. La représentation 336 comprend une image 338 de l'objet de l'utilisateur 34 (représenté comme un manche à balai mais pouvant également être représenté comme un autre type d'objet de l'utilisateur), une image 340 du sol, une image 342 d'un ressort à droite du manche à balai et une image 344 d'un ressort à gauche du manche à balai 34. La représentation 336 développe un axe ou degré de liberté unique de l'élément d'interface. La représentation 336 représente un modèle graphique physique avec lequel l'utilisateur peut virtuellement comprendre le fonctionnement de la sensation de force. L'image de l'objet de l'utilisateur 338 est affichée, de préférence, sous une forme similaire à celle de l'objet de l'utilisateur réel de l'élément d'interface voulu (un manche à balai par exemple). Le long de l'axe affiché, dans les deux sens, des images du ressort 342 et 344 sont affichées, telles que définies par un paramètre de rigidité positive (k) et par un paramètre de rigidité négative (k). Graphiquement, la grande rigidité du ressort à droite (coefficient de 80) est représentée par une image de ressort 342 plus grande. L'origine de la condition de ressort est représentée à une position centrale 346, comme le paramètre de décalage 348 est de zéro. Si le décalage a une magnitude positive ou négative, l'origine est affichée en conséquence vers la gauche ou la droite. La région de la plage d'insensibilité est représentée graphiquement comme l'espace entre l'image de l'objet de l'utilisateur 338 et les images du ressort 342 et 344. Dans le mode de réalisation préféré, la représentation graphique aide l'utilisateur à visualiser la sensation de force voulue grâce à une mise à jour en temps réel, conformément au mouvement de l'objet de l'utilisateur 34 de l'élément d'interface 14 connecté. L'image de l'objet de l'utilisateur 338 se déplace dans le sens correspondant au mouvement de l'objet de l'utilisateur 34 causé par l'utilisateur. L'objet de l'utilisateur peut être librement déplacé dans le sens positif ou négatif, le long de l'ace donné et rencontrer une rigidité positive ou négative de la sensation ressort. Ainsi, si l'objet de l'utilisateur est librement déplacé vers la gauche depuis l'origine 346, l'image du manche à balai 338 est déplacée à gauche dans la région de la plage d'insensibilité et lorsque l'objet de l'utilisateur 34 rencontre la résistance du ressort, l'image du manche à balai 338 s'affiche en contact avec l'image du ressort 344. Si aucune plage d'insensibilité n'est définie, les images du ressort 342 et 344 s'affichent en contact avec l'image du manche à balai 338 en position centrale. Les images d'arrêt au bord 350 définissent les limites du degré de liberté; par exemple, lorsque l'objet de l'utilisateur 34 est déplacé vers une limite physique de l'élément d'interface le long d'un axe, l'image du manche à balai 338 s'affiche en contact avec l'image d'arrêt de bord 350 appropriée. Les FIGURES 5a-5c illustrent une représentation graphique 336 alors que l'objet de l'utilisateur 34 est déplacé par l'utilisateur. A la Figure 5a, l'utilisateur déplace l'objet de l'utilisateur 34 et l'image 338 dans un sens positif le long d'un axe représenté par la flèche 354. Aucune résistance de force n'est ressentie par l'utilisateur, comme l'objet de l'utilisateur se trouve dans la région de la plage d'insensibilité. C'est représenté en affichant l'image du manche à balai 338 sans contact avec d'autres objets. A la Figure 5b, l'objet de l'utilisateur 34 rencontre la rigidité du ressort dans le sens positif et commence à comprimer le ressort. Comme représenté par la représentation graphique 336, l'image du manche à balai 338 est en contact avec l'image du ressort droite 342 et l'image du ressort 342 est représentée légèrement comprimée. A la Figure 5c, l'objet de l'utilisateur continue son déplacement contre la force du ressort, représenté en conséquence par la compression du ressort 342 à la représentation 336. Lorsque la rigidité du ressort positive est rencontrée, la force de résistance augmente linéairement avec la compression du ressort (comme c'est le cas avec un vrai ressort). La quantité de compression ressentie par l'utilisateur est en corrélation avec la quantité de compression représentée par l'image du ressort 336. Si le programmeur a défini une valeur de saturation pour le mouvement opposé à la force dans le sens positif, la sortie de la force cesse d'augmenter avec la compression lorsque la limite de saturation dans le sens positif est dépassée. La saturation peut également être représentée de manière graphique, par exemple en affichant l'image du ressort applicable d'une différente couleur (par exemple en rouge) ou en affichant un message ou un indicateur à l'écran. En référence à la Figure 4, lorsque l'utilisateur a testé les paramètres et réglages entrés, il peut modifier toute information existante ou ajouter de nouvelles informations en entrant des données dans les champs 328. Ces changements sont instantanément affichés dans la fenêtre 326. Par exemple, si l'utilisateur modifie le coefficient (rigidité) du ressort à droite, la taille de l'image du ressort 342 est immédiatement modifiée pour être en corrélation avec la nouvelle valeur. Ainsi, l'utilisateur gagne un sens intuitif de la manière dont la sensation est ressentie en visualisant simplement la représentation 336. L'utilisateur peut ensuite déterminer la manière dont la sensation est ressentie avec plus de précision (réglage précis) en déplaçant l'objet de l'utilisateur et en ressentant la sensation. Ainsi, la représentation graphique 336 affichée montre clairement à l'utilisateur les divers effets des paramètres sur la sensation de force et permet également à l'utilisateur de ressentir les forces associées à la représentation graphique. D'autres représentations graphiques peuvent être affichées à l'interface 300 pour les conditions de texture spatiale, les conditions de mur, les conditions d'amortissement, les conditions d'inertie, les conditions de friction etc. Dans d'autres modes de réalisation, une sensation de force bidimensionnelle (c'est-à-dire, deux degrés de liberté) peut être affichée dans la fenêtre 326 en montrant une représentation aérienne de l'objet de l'utilisateur. Par exemple, une image de l'objet de l'utilisateur circulaire peut être affichée au milieu de deux images d'ensembles de ressorts en formant une croix, chaque ensemble de ressorts pour un degré de liberté différent. La FIGURE 6 illustre l'interface 300 affichant une représentation graphique alternative d'une condition de ressort. La Figure 6 représente également les diverses conditions 400 pouvant être sélectionnés dans la liste des conditions. La représentation utilisée à la Figure 4 peut également être utilisée pour une condition de ressort. A la Figure 6, l'utilisateur a sélectionné l'icône ressort 401 dans l'espace de conception 306. Une fenêtre de condition de ressort 402 s'affiche dans l'espace de conception 306 lorsque l'icône 401 est sélectionnée. La fenêtre de ressort 402 comprend les paramètres 404 de caractérisation de la force du ressort ainsi que le gain 406 et le contrôle de l'axe 408. Une fenêtre est affichée pour chaque axe dans lequel la force doit être appliquée. Une fenêtre grisée pour la deuxième condition de ressort indique qu'aucune force n'est actuellement affectée à cet axe. Dans la première fenêtre de l'axe 410, un mode simple et un mode avancé sont disponibles, similaires à la condition d'amortissement. A la Figure 6, le mode simple est sélectionné par l'utilisateur. Les images de ressort 412 sont affichées depuis chaque bord de la fenêtre 410, l'image de ressort 412a étant pour le sens négatif et l'image de ressort 412b étant pour le sens positif. Lorsque l'utilisateur déplace l'objet de l'utilisateur le long de l'axe affiché (l'axe X), la ligne 414 se déplace dans le sens correspondant. Lorsque la ligne 414 se déplace dans une image de ressort 412, le microprocesseur émet la force de ressort spécifiée sur l'objet de l'utilisateur afin que l'utilisateur puisse ressentir la sensation de force caractérisée. Alors que l'objet de l'utilisateur continue à être déplacé dans le ressort, l'image du ressort se compresse comme le ferait un vrai ressort. L'espace vide entre les images de ressort 412 indique la région de plage d'insensibilité, o aucune force n'est émise. Il convient de noter que l'utilisateur ressentira une force de ressort si un composant du mouvement de l'objet de l'utilisateur se trouve le long de l'axe X; si l'utilisateur déplace l'objet de l'utilisateur à un angle de 45 degrés (alors que l'axe X est à 0 degré), un composant de la force de ressort dans l'axe X sera ressenti. Ce composant sera une force de ressort moindre que si l'objet de l'utilisateur était déplacé directement sur l'axe X. C'est également de préférence le cas pour les autres conditions de l'interface 300. Dans certains autres modes de réalisation, la force du ressort peut être arrêtée dans tous les sens, excepté pour le mouvement précis (ou avec une tolérance) de l'axe affiché. Dans le mode de réalisation préféré, l'utilisateur peut ajuster la rigidité (k) de la force du ressort en sélectionnant les points de contrôle 422 aux bords de l'avant des images de ressort 412 avec un curseur. L'utilisateur peut tirer les points de contrôle pour régler les largeurs des images de ressort, ce qui règle à son tour le paramètre de la rigidité (la rigidité k étant une constante dans l'équation F = kx, x étant le déplacement de l'objet de l'utilisateur et F étant la force en résultant). Une image de ressort plus épaisse indique un paramètre de rigidité plus important et une force de ressort plus grande. Ainsi, l'image 412a est large et indique une grande force de ressort dans le sens négatif et l'opposé dans le sens positif. L'utilisateur peut également déplacer les extrémités avant des images de ressort pour les rapprocher ou les éloigner, réglant ainsi les paramètres de la plage d'insensibilité et du décalage. Lorsque les paramètres sont ajustés, ils sont envoyés au microprocesseur local qui met ensuite en oeuvre la nouvelle force caractérisée sur l'objet de l'utilisateur (le cas échéant). Les icônes sont également prévues, de préférence, pour aider l'utilisateur à concevoir des sensations de force à partir de sensations de force précédemment stockées. Par exemple, l'icône des objets graphiques 424, une fois sélectionnée, fournit à l'utilisateur une liste ou une bibliothèque de sensations de force communes, prédéfinies, que l'utilisateur peut utiliser comme base ou point de départ, c'est-à-dire que l'utilisateur peut modifier une configuration de condition de ressort commune pour concevoir rapidement une force voulue. Cette bibliothèque peut être fournie, par exemple, par des fournisseurs de forces commerciaux ou d'autres sources. Il peut également s'agir d'une bibliothèque personnalisée. La FIGURE 7 illustre l'interface 300 avec une représentation graphique d'une sensation de force à onde périodique (effet). La fenêtre périodique 440 s'affiche en réponse à la sélection par l'utilisateur (par exemple, en double-cliquant dessus) de l'icône de l'effet périodique 442 qui a été tirée dans l'espace de conception 306. Dans la fenêtre 440, le champ de source de la forme d'onde 444 permet à l'utilisateur de sélectionner un type de sources d'onde de signal pour l'effet. L'utilisateur peut sélectionner la durée de l'onde périodique en utilisant les barres de défilement 446 et peut également sélectionner une durée infinie avec la case 448. Le gain et le décalage peuvent être sélectionnés en utilisant les barres de défilement 450 et d'autres paramètres sont prévus dans les champs 452. Une représentation graphique de la forme d'onde périodique est affichée dans la fenêtre 454 avec une forme basée sur la source d'onde choisie et sur les autres paramètres sélectionnés (ou sur les paramètres par défaut si aucun paramètre n'est choisi). Les paramètres de l'enveloppe dans les champs 452 peuvent être réglés de manière graphique si l'utilisateur tire les points de contrôle 456 de la forme d'onde. Une fréquence de la forme d'onde peut être réglée en tirant une onde affichée pour élargir ou rétrécir les oscillations affichées de l'onde ou en spécifiant la période dans le champ 458. Les boutons de déclenchement pour l'onde périodique peuvent être déterminés dans les champs 460 pour attribuer un/deux boutons physiques ou des commandes à l'effet voulu et le sens de l'onde périodique dans l'espace de travail de l'objet de l'utilisateur est déterminé avec le cadran 462 et le champ 464. Le champ d'intervalle de répétition 460 permet à l'utilisateur de spécifier la durée avant la répétition de l'effet si le bouton voulu est enfoncé. Ces paramètres et caractéristiques peuvent être entrés sous la forme de nombres dans les champs d'entrée affichés ou les invites ou peuvent être entrés en tirant la représentation graphique de la forme d'onde dans la fenêtre 454 avec un curseur jusqu'à obtenir la forme ou le niveau voulu. Les paramètres, une fois spécifiés, modifient la représentation graphique. Ainsi, si l'utilisateur spécifie une enveloppe donnée, cette enveloppe est immédiatement affichée dans la fenêtre 454. L'utilisateur peut ainsi rapidement déterminer de manière visuelle la manière dont les paramètres spécifiés affectent la forme d'onde périodique. Pour tester l'onde périodique spécifiée, l'utilisateur doit sélectionner de préférence le bouton de démarrage 456 qui commande au microprocesseur d'émettre la sensation de force spécifiée à l'objet de l'utilisateur afin que l'utilisateur puisse ressentir la sensation de force lorsqu'il saisit l'objet de l'utilisateur. Dans le mode de réalisation préféré, un marqueur graphique, tel qu'une ligne verticale ou un pointeur, défile sur la fenêtre d'affichage 454 de gauche à droite pour indiquer la partie ou le point actuel sur la forme d'onde émise. Ou bien, la forme d'onde peut être animée; par exemple, si une impulsion et un évanouissement sont spécifiés, l'onde est animée de sorte que la partie impulsion de la forme d'onde s'affiche lorsque la force d'impulsion est émise sur l'objet de l'utilisateur et que l'évanouissement est affiché lorsque la force émise diminue jusqu'à un niveau fixe. Comme l'affichage graphique est géré par l'ordinateur hôte et que la génération de l'onde de force est (dans un mode de réalisation) gérée par un microprocesseur local, l'affichage hôte du marqueur doit être synchronisé avec la génération de la force du microprocesseur au début de l'émission de la force. L'utilisateur peut arrêter l'émission de la sensation périodique en sélectionnant le bouton d'arrêt 458. Comme décrit ci-dessus, la procédure normale à suivre par un concepteur de force pour utiliser l'interface 300 consiste à entrer des paramètres pour un type sélectionné de sensation de force, à tester la manière dont la force est ressentie en manipulant l'objet de l'utilisateur, à régler les paramètres en fonction de la manière dont la force est ressentie, à répéter de manière itérative les étapes permettant de tester la manière dont la force est ressentie et à régler les paramètres jusqu'à ce que la sensation de force voulue soit caractérisée. Normalement, l'utilisateur enregistre les paramètres décrivant cette sensation de force sur un support de stockage, tel qu'un disque dur, un CD-ROM, une mémoire rémanente, une carte PCMCIA, une bande ou un autre espace de stockage accessible à un ordinateur pour contrôler le feed-back sensoriel. L'utilisateur peut également, de préférence, attribuer un identificateuraux paramètres enregistrés, tel qu'un nom de fichier, de telle sorte que cette sensation de force puisse être ultérieurement récupérée. Ainsi, d'autres programmes d'application fonctionnant sur un ordinateur hôte peuvent accéder aux paramètres au moyen de cet identificateur et utiliser la sensation de force voulue dans une application, comme un jeu, une interface utilisateur graphique, une simulation etc. Lorsqu'une sensation de force a été conçue en utilisant les outils graphiques décrits ci-dessus, la définition peut être enregistrée comme une ressource de paramètres. En accédant à la ressource interface depuis un programme d'application, la ressource est automatiquement convertie depuis un ensemble de paramètres en un code dans le langage ou le format voulu, par exemple Direct-X de Microsoft Corporation à utiliser dans le système d'exploitation WindowsTM. Par exemple, la ressource de feed-back sensoriel peut être prévue comme ou dans une DLL (bibliothèque à liaisons dynamiques) reliée à un programme d'application. Dans un mode de réalisation, la DLL peut fournir au programme d'application les effets définis comme Direct_X Structs (DI_Structs) complétés, le programmeur d'application pouvant ainsi créer des effets en utilisant l'appel CreateEffect dans Direct-X (ou des appels équivalents dans d'autres langages/formats). Ou bien, la DLL peut réaliser tout le processus et créer l'effet pour le programme d'application, fournissant au programmeur un pointeur pour la sensation. L'un des avantages liés à l'utilisation de la première option, lorsque le programmeur appelle CreateEffect, est que le programmeur peut accéder aux paramètres avant de créer l'effet de telle sorte que les paramètres peuvent être modifiés, si nécessaire. Sensations de force et sons La FIGURE 8 illustre un autre mode de réalisation 500 de l'interface de conception de force objet de la présente invention qui comprend la possibilité de synchroniser les sons et les sensations de force ("effets de force"). Les sons sont très importants lorsque l'on ressent des sensations. Ressentir un moteur, une explosion ou une collision, par exemple, n'a pas le même impact sur l'utilisateur sans aucun son que cela n'en a en étant accompagné d'effets sonores synchronisés. Il est en conséquence important pour le concepteur de sensations de force de prendre en compte les sons qui accompagneront les sensations de force pendant le processus de conception. L'interface 500 permet à l'utilisateur de l'interface de conception de synchroniser facilement les forces avec les effets sonores voulus et, plus important encore, elle permet à l'utilisateur de modifier de manière itérative les sensations de force afin qu'elles correspondent mieux aux effets sonores. L'interface 500 comprend, de préférence, une palette de sensations 502, une palette de déclenchement par boutons 504 et un espace de conception 506, similaires aux fonctions de l'interface 300 décrite ci- dessus. L'espace de conception peut comprendre plusieurs sensations de force 508 qui sont stockées dans un fichier "ressource de forces" donné enregistré par l'interface 500. Chaque sensation de force dans l'espace de conception 506 peut être modifiée en appelant une fenêtre de conception de force 508 qui comprend une représentation graphique de la force et plusieurs commandes pour modifier la sensation de force, comme décrit en détail ci-après. Par exemple, une fenêtre de conception pour une sensation de force périodique "arc et flèche" est représentée à la Figure 8. La palette de déclenchement par boutons 504 comprend, de préférence les fonctions supplémentaires objets de la présente invention, associées à l'affectation des sons aux sensations de force. La palette de déclenchement 504 sert à tester les sensations de force et les sons qui ont été affectés aux sensations de force dans l'interface 500 (et diffère en conséquence de l'attribution d'une condition de déclenchement à une sensation de force elle-même, ce qui est fait au champ 509 de la fenêtre de conception 508). Chaque icône bouton 510 peut être affectée à un bouton donné ou à une autre commande du dispositif de feed-back sensoriel connecté à l'ordinateur exécutant l'interface 500. Pour indiquer la possibilité d'affecter des sons, les icônes bouton 510 comprennent, de préférence, une icône note ou une autre indication graphique de la possibilité d'ajouter des sons. L'utilisateur peut attribuer une sensation de force à une icône bouton 510 pour permettre à l'utilisateur d'émettre la sensation de force, comme décrit ci- dessus; par exemple, une icône de sensation de force 508 dans l'espace de conception 506 peut être tirée sur l'icône bouton 510a. Il est également possible d'afficher un menu et une liste des sensations de force à ajouter à l'icône bouton. De multiples sensations de force peuvent être attribuées à une icône bouton 510, comme représenté par les icônes de force 511 affichées sous l'icône bouton 510a. L'icône bouton 510a peut également se voir attribuer un son par l'utilisateur. Par exemple, lorsque l'utilisateur choisit d'afficher un menu de sons (par exemple, en cliquant sur le bouton droit de la souris, en sélectionnant un bouton graphique etc.), un menu 512 s'affiche pour permettre à l'utilisateur "d'attacher" un son à l'icône bouton. Dans le menu exemple représenté, l'utilisateur sélectionne les options pour attacher un son à l'icône bouton sélectionné, "détache" un son précédemment attaché de l'icône bouton sélectionnée ou teste un son qui a été sélectionné pour l'icône bouton. Pour attacher un son, une liste de fichiers audio est de préférence affichée, dans laquelle l'utilisateur peut sélectionner un fichier. Les fichiers audio peuvent être de format standard, par exemple "wav" ou RealAudio et peuvent être situés sur l'ordinateur exécutant l'interface de conception 500 ou sur un autre ordinateur connecté à l'ordinateur exécutant l'interface, par exemple via un réseau informatique. Dans d'autres modes de réalisation, l'utilisateur peut sélectionner plusieurs fichiers audio pour les attacher à une seule icône bouton 510. Lorsqu'un ou plusieurs fichiers audio ont été attachés à une icône bouton telle que l'icone bouton 510a, les fichiers audio sont lus sur les haut-parleurs connectés à l'ordinateur lorsque l'utilisateur appuie sur le bouton associé de l'élément d'interface de feed- back sensoriel. De plus, toute sensation de force 511 affectée à l'icône bouton 510a est lue en même temps que le son lorsque le bouton est enfoncé. De préférence, le début de la sensation de force est synchronisée avec le début de l'effet sonore lu. La sensation de force et le son peuvent également être lus lorsqu'une commande de l'interface 500 est activée par l'utilisateur, par exemple un bouton graphique ou une icône de l'interface 500. La possibilité d'associer des effets sonores à un bouton et de lire un ou plusieurs fichiers audio avec une sensation de force permet à l'utilisateur de connaître directement la manière dont la sensation de force sera ressentie par l'utilisateur en même temps que l'effet sonore voulu. Ceci permet à l'utilisateur de régler avec précision une sensation de force devant être synchronisée avec des sons. Par exemple, si une vibration doit être synchronisée avec un effet sonore pulsant, les "coups" vibratoires ressentis par l'utilisateur peuvent être synchronisés avec chaque impulsion sonore en appuyant un bouton associé à une icône bouton 510 ayant la force et le son associés. Si les coups vibratoires sont partiellement désynchronisés par rapport aux impulsions sonores, l'utilisateur peut rapidement régler la fréquence (ou un autre paramètre pertinent) de la vibration et tester à nouveau la force et le son. Si la force nécessite un autre réglage, l'utilisateur peut rapidement le faire. Ce processus de conception itératif permet que les fonctions particulières d'un effet sonore soient associées aux fonctions d'un effet de force lu. Si, par exemple, un son n'est pas périodique et a des fonctions particulières telles qu'un son de collision étouffé suivi par un son de collision fort, une sensation de force ayant des secousses émise avec les sons de la collision est facile à synchroniser dans l'interface 500 (ou l'interface 300) objet de la présente invention. Bien entendu, l'utilisateur peut également régler le son à synchroniser avec une sensation de force donnée. Dans certains modes de réalisation, l'interface 500 peut inclure un éditeur de sons; ou bien, l'utilisateur peut utiliser un programme séparé, externe, pour éditer les fichiers audio, conformément aux connaissances des experts en la matière. Dans des modes de réalisation alternatifs, différentes méthodes peuvent être utilisées pour attribuer des sons. Par exemple, un son peut être attribué directement à une sensation de force (ou vice- versa) et la sensation de force peut être testée normalement en utilisant un déclencheur, bouton graphique, icône bouton 510 etc. Lorsque la sensation de force est émise, le son associé est également émis. Dans un mode de réalisation, les fichiers des sensations de force enregistrés par l'interface 500 n'incluent aucune information audio indiquant les sons qui ont été affectés aux icônes bouton ou aux sensations de force. Dans d'autres modes de réalisation, un fichier de sensation de force peut inclure des informations indiquant les sons et les sensations de force qui ont été affectés à des icônes bouton données. Ceci évite à l"utilisateur de devoir affecter les mêmes sons et forces à chaque fois que l'interface 500 est chargée, dans la mesure o les informations d'affectation sont enregistrées et automatiquement appliquées au moment du chargement de l'interface 500. De plus, au moment du chargement de l'interface 500 ou pendant son utilisation, un son peut être automatiquement affecté à une force ayant le même nom que le son, par exemple un fichier force peut être nommé "explosion.ifr" et un fichier audio peut être nommé "explosion.wav", de telle sorte que les deux fichiers sont associés l'un à l'autre et lus simultanément. Dans d'autres modes de réalisation, des fonctions supplémentaires peuvent être prévues pour permettre à l'utilisateur de synchroniser facilement une sensation de force avec un son. Par exemple, une fenêtre peut être affichée pour montrer le son sous la forme d'un graphique magnitude/durée, similaire au graphique 514 représenté pour une sensation de force périodique. L'utilisateur peut afficher les signaux de son et de force côte à côte et associer toute caractéristique voulue de la force aux caractéristiques du son. De plus, un utilisateur peut sélectionner, de préférence, la partie d'un son à lire et la partie correspondante de la sensation de force associée sera automatiquement lue. De même, un utilisateur peut sélectionner, de préférence, la partie d'une sensation de force à lire et la partie correspondante du son associé sera automatiquement lue. Bien que la présente invention ait été décrite par plusieurs modes de réalisation préférés, il est prévu que des altérations, permutations et équivalences seront évidentes pour les experts en la matière à la lecture de la description et à l'étude des dessins. Par exemple, plusieurs paramètres peuvent être associés à des sensations dynamiques, des conditions et des effets pour faciliter la spécification d'une sensation de force donnée. Ces paramètres peuvent être présentés dans l'interface graphique de la présente invention. De nombreux types de métaphores visuelles différentes peuvent être affichés dans l'outil d'interface de la présente invention pour permettre à un programmeur de visualiser facilement les modifications d'une sensation de force et d'améliorer la caractérisation de la sensation de force. En outre, une certaine terminologie a été utilisée afin de clarifier la description et non pour limiter la présente invention. Il est en conséquence compris que les revendications suivantes incluent toutes les altérations, permutations et équivalences comme étant couverte par le champ d'application de la présente invention. REVENDICATIONS 1. Méthode permettant de mettre en oeuvre une interface de conception de sensation de force, ladite méthode comprenant: l'affichage de ladite interface de conception de sensation de force sur le dispositif d'affichage d'un ordinateur hôte; la réception de l'entrée d'un utilisateur dans ladite interface de conception de sensation de force, ladite entrée sélectionnant un type de sensation de force commandé par ledit ordinateur hôte et émis par un élément d'interface de feed-back sensoriel, ledit élément d'interface de feed-back sensoriel comprenant un objet manipulable par l'utilisateur saisissable par un utilisateur et déplaçable selon un certain degré de liberté; la réception de l'entrée d'un utilisateur définissant les caractéristiques physiques de ladite sensation de force sélectionnée; l'affichage d'une représentation graphique de ladite sensation de force sélectionnée telle que caractérisée par ledit utilisateur, caractérisé en ce que ladite représentation graphique fournit audit utilisateur une démonstration visuelle de ladite sensation de force caractérisée; l'association de ladite sensation de force sélectionnée à un son; la commande de ladite sensation de force caractérisée devant être émise par ledit élément d'interface de feed-back sensoriel couplé audit ordinateur hôte de telle sorte que ladite sensation de force soit émise tout en mettant à jour ladite démonstration visuelle de ladite sensation de force caractérisée, conjointement à l'émission dudit son associé; et la réception des changements apportés à ladite sensation de force caractérisée par ledit utilisateur après que ladite sensation de force a été émise pour synchroniser ladite sensation de force avec ledit son et afficher lesdits changements supplémentaires dans ladite représentation. 2. Méthode telle que mentionnée à la revendication 1, comprenant également le stockage d'une pluralité de paramètres caractérisant ladite sensation de force sur un support de stockage accessible audit ordinateur hôte. 3. Méthode telle que mentionnée à la revendication 2, comprenant également l'accession à ladite pluralité de paramètres stockés depuis un programme d'application différent de ladite interface de conception, ledit programme d'application utilisant ladite pluralité de paramètres pour émettre ladite sensation de force caractérisée pendant l'exécution dudit programme d'application. 4. Méthode telle que mentionnée à la revendication 3, caractérisée en ce que ledit son est synchronisé avec le début de ladite sensation de force lorsque ledit son et ladite sensation de force sont émis. 5. Méthode telle que mentionnée à la revendication 1, caractérisée en ce que ladite sensation de force sélectionnée est associée à une commande dudit élément d'interface de feed-back sensoriel, de telle sorte que ladite sensation de force, ladite démonstration visuelle et ledit son sont émis lorsque ladite commande est activée par ledit utilisateur. 6. Méthode telle que mentionnée à la revendication 5, caractérisée en ce que ladite commande est un bouton et en ce que ladite sensation de force et ledit son sont associés à une icône graphique de ladite interface de conception représentant ledit bouton. 7. Méthode telle que mentionnée à la revendication 6, caractérisée en ce que lorsque ladite icône graphique est sélectionnée par ledit utilisateur, ledit utilisateur peut associer un son à ladite icône, dissocier un son de ladite icône ou tester ladite icône. 8. Méthode telle que mentionnée à la revendication 6, caractérisée en ce que ledit utilisateur peut dissocier ledit son de ladite commande. 9. Méthode telle que mentionnée à la revendication 1, caractérisée en ce que ledit utilisateur peut sélectionner ledit son dans une liste répertoriant tous les sons disponibles. 10. Méthode telle que mentionnée à la revendication 1, caractérisée en ce que ledit utilisateur peut tester ledit son avant d'associer ladite sensation de force audit son. 11. Méthode telle que mentionnée à la revendication 1, caractérisée en ce qu'une pluralité de sensations de force peuvent être sélectionnées par ledit utilisateur, et en ce que lesdites sensations de force sélectionnables incluent des conditions, des effets et des dynamiques. 12.Méthode telle que mentionnée à la revendication 1, caractérisée en ce que ladite sensation de force sélectionnée est une sensation de force périodique et en ce que ladite représentation graphique est une image d'une forme d'onde périodique. 13. Méthode telle que mentionnée à la revendication 1, caractérisée en ce que ledit son est fourni dans un format de fichier standard. 14. Appareil permettant de mettre en oeuvre une interface de conception de sensation de force, ledit appareil comprenant: un moyen permettant d'afficher une représentation graphique d'une sensation de force sélectionnée telle que caractérisée par ledit utilisateur, caractérisé en ce que ladite représentation graphique fournit audit utilisateur une démonstration visuelle de ladite sensation de force caractérisée et est affichée dans ladite interface de conception de sensation de force sur le dispositif d'affichage d'un ordinateur hôte, caractérisé en ce que ladite interface de conception de sensation de force reçoit l'entrée d'un utilisateur sélectionnant un type de sensation de force commandé par ledit ordinateur hôte et émis par un élément d'interface de feed- back sensoriel, ledit élément d'interface de feed-back sensoriel comprenant un objet manipulable par l'utilisateur saisissable par un utilisateur et déplaçable selon un certain degré de liberté; un moyen permettant de recevoir l'entrée d'un utilisateur définissant les caractéristiques physiques de ladite sensation de force sélectionnée; un moyen permettant d'associer ladite sensation de force sélectionnée à un son; un moyen permettant de fournir ladite sensation de force caractérisée audit élément d'interface de feed- back sensoriel couplé audit ordinateur hôte de telle sorte que les actionneurs dudit élément d'interface de feed-back sensoriel émettent ladite sensation de force sur ledit objet de l'utilisateur conjointement à ladite démonstration visuelle de ladite sensation de force caractérisée et conjointement à l'émission dudit son associé; et un moyen permettant de modifier les caractéristiques de ladite sensation de force sur la base d'une entrée dudit utilisateur pour synchroniser ladite sensation de force avec ledit son et afficher ladite sensation de force modifiée comme ladite représentation graphique, caractérisé en ce qu'une sensation de force modifiée conformément auxdits changements est émise par lesdits actionneurs sur ledit l'objet de l'utilisateur. 15. Appareil tel que mentionné à la revendication 14, caractérisé en ce que l'association de ladite sensation de force et dudit son inclut l'association de ladite sensation de force avec un bouton physique situé sur ledit dispositif de feed-back sensoriel et l'association d'un son audit bouton, de telle sorte que ladite sensation de force et ledit sont émis d'une manière synchronisée lorsque l'utilisateur de ladite interface de conception appuie sur ledit bouton. 16. Appareil tel que mentionné à la revendication 15, caractérisé en ce que ladite sensation de force et ledit son sont associés à la représentation graphique d'un bouton affiché dans ladite interface, caractérisé en ce que ladite représentation graphique est associée audit bouton physique sur ledit élément d'interface de feed-back sensoriel. 17. Appareil tel que mentionné à la revendication 14, comprenant également un moyen permettant d'enregistrer les données décrivant lesdites caractéristiques physiques de ladite sensation de force sur un support de stockage. 18. Support lisible par ordinateur comprenant des instructions de programme pour fournir une interface de conception de sensation de force mise en oeuvre par un ordinateur, lesdites instructions de programme réalisant des étapes comprenant: l'affichage d'une interface de conception sur le dispositif d'affichage d'un ordinateur; la réception des entrées d'un utilisateur dans ladite interface de conception, ladite entrée sélectionnant un type de sensation de force commandé par ledit ordinateur hôte et émis par un élément d'interface de feed-back sensoriel, ledit élément d'interface de feed-back sensoriel comprenant un objet manipulable par l'utilisateur saisissable par un utilisateur et déplaçable selon un certain degré de liberté; la réception des entrées d'un utilisateur pour spécifier les paramètres qui définissent les caractéristiques de ladite sensation de force sélectionnée; l'affichage d'une représentation graphique de ladite sensation de force sélectionnée dans ladite interface de conception, caractérisé en ce que ladite représentation graphique inclut des représentations visuelles desdits paramètres tels que ledit utilisateur peut visualiser un effet desdits paramètres sur ladite sensation de force; l'association d'un son à de ladite sensation de force sélectionnée, de telle sorte que lorsque ladite sensation de force caractérisée est commandée pour être émise par ledit élément d'interface de feed-back sensoriel couplé audit ordinateur hôte, ledit son est émis conjointement à ladite émission de ladite sensation de force sur ledit l'objet de l'utilisateur et conjointement à une démonstration visuelle de ladite sensation de force caractérisée. 19. Support lisible par un ordinateur tel que mentionné à la revendication 18, caractérisé en ce que ladite sensation de force caractérisée est commandée pour être émise par ledit élément d'interface de feed-back sensoriel lorsque ledit utilisateur sélectionne une commande de ladite interface de conception pour tester ladite sensation de force. 20. Support lisible par un ordinateur tel que mentionné à la revendication 18 comprenant des instructions de programme pour recevoir des entrées supplémentaires dudit utilisateur afin de modifier lesdites caractéristiques de ladite sensation de force afin d'améliorer la synchronisation avec ledit son. 21. Support lisible par un ordinateur tel que mentionné à la revendication 18 comprenant des instructions de programme pour enregistrer lesdits paramètres sur un support de stockage, lesdits paramètres étant accessibles à des programmes d'application mis en oeuvre sur ledit ordinateur et contrôlant le feed-back sensoriel. 22. Support lisible par un ordinateur tel que mentionné à la revendication 18 comprenant des instructions de programme pour mettre à jour ladite représentation graphique conformément à ladite sensation de force émise sur ledit l'objet de l'utilisateur. 23. Support lisible par un ordinateur tel que mentionné à la revendication 18 caractérisé en ce que le début dudit son est synchronisé avec le début de ladite sensation de force lorsque ledit son et ladite sensation de force sont émis.