FR3015712A1 - APPLICATION PROGRAMMING INTERFACE (API) FOR INTERACTIVE GLOVE - Google Patents

APPLICATION PROGRAMMING INTERFACE (API) FOR INTERACTIVE GLOVE Download PDF

Info

Publication number
FR3015712A1
FR3015712A1 FR1363513A FR1363513A FR3015712A1 FR 3015712 A1 FR3015712 A1 FR 3015712A1 FR 1363513 A FR1363513 A FR 1363513A FR 1363513 A FR1363513 A FR 1363513A FR 3015712 A1 FR3015712 A1 FR 3015712A1
Authority
FR
France
Prior art keywords
functions
values
glove
programming interface
interactive glove
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1363513A
Other languages
French (fr)
Other versions
FR3015712B1 (en
Inventor
Pierre Fumery
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atos France SAS
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Priority to FR1363513A priority Critical patent/FR3015712B1/en
Publication of FR3015712A1 publication Critical patent/FR3015712A1/en
Application granted granted Critical
Publication of FR3015712B1 publication Critical patent/FR3015712B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Abstract

L'invention concerne un procédé de développement d'une application logicielle (A) s'interfaçant avec un gant interactif (G) comportant une étape d'utilisation d'une interface de programmation d'applications (API) comprenant une liste de fonctions (F1, F2, F3) associées à des gestes possibles par le gant interactif, dans laquelle une combinaison de valeurs de capteurs (C1, C2, C3, C4) associés au gant interactif permet de déterminer des valeurs de sorties de ces fonctions, de sorte qu'en fonctionnement, une application logicielle (A) peut interagir avec une fonction parmi la liste pour réagir au geste du gant interactif associé à la fonction.The invention relates to a method for developing a software application (A) interfaced with an interactive glove (G) comprising a step of using an application programming interface (API) comprising a list of functions ( F1, F2, F3) associated with possible gestures by the interactive glove, in which a combination of sensor values (C1, C2, C3, C4) associated with the interactive glove makes it possible to determine output values of these functions, so in operation, a software application (A) can interact with a function among the list to react to the gesture of the interactive glove associated with the function.

Description

178BULL-35455-patent-draft2 1 INTERFACE DE PROGRAMMATION D'APPLICATIONS (API) POUR GANT INTERACTIF DOMAINE DE L'INVENTION L'invention concerne le domaine des interfaces homme-machine (IHM) pour système de traitement de l'information. Plus précisément, l'invention concerne un dispositif d'interface homme-machine de type gant interactif et l'interfaçage d'un tel dispositif avec des applications logicielles mises en oeuvre par un système de traitement de l'information. CONTEXTE DE L'INVENTION Ces dernières décennies, le domaine des interfaces homme-machine s'est enrichi d'un important nombre de dispositifs évolués comme par exemple les gants interactifs. Ces dispositifs permettent d'enrichir les interactions possibles entre un système de traitement de l'information et ses utilisateurs. Le système de traitement de l'information doit ici être compris dans son acception la plus large, comme comprenant les ordinateurs, les terminaux de communication, les consoles de jeux... Il peut également s'agir de systèmes spécialisés dans certains domaines comme le domaine médical, etc. Un gant interactif est un tel dispositif, que l'utilisateur enfile généralement sur sa main, et qui comprend un ensemble de capteurs dont les valeurs permettent de déterminer des gestes. Ces gestes peuvent comprendre : des positions du gant (et donc de la main) : main dépliée, poing serré, contact entre différents doigts, etc. et des mouvements du gant : translation, rotation... du gant et de la main. 178BULL-35455-patent-draft2 2 Ces gestes peuvent correspondre à des gestes réels d'un praticien dont la précision et le savoir-faire sont ainsi capturés par le gant interactif. Il peut s'agir ici d'applications médicales mais aussi de capturer des gestes afin de les faire reproduire par une main automatique sur un site distant (par exemple en milieu dangereux où l'utilisateur ne peut aisément se rendre). Ces gestes peuvent aussi correspondre à un vocabulaire ad-hoc prédéfini pour communiquer avec le système de traitement de l'information.BACKGROUND OF THE INVENTION The invention relates to the field of human-machine interfaces (HMI) for an information processing system. More specifically, the invention relates to an interactive glove type human-machine interface device and the interfacing of such a device with software applications implemented by an information processing system. BACKGROUND OF THE INVENTION In recent decades, the field of human-machine interfaces has been enriched by a large number of advanced devices such as interactive gloves. These devices make it possible to enrich the possible interactions between an information processing system and its users. The information processing system must here be understood in its broadest sense, as including computers, communication terminals, game consoles ... It may also be specialized systems in certain fields such as the medical field, etc. An interactive glove is such a device that the user generally puts on his hand, and which comprises a set of sensors whose values make it possible to determine gestures. These gestures may include: positions of the glove (and therefore of the hand): unfolded hand, tight fist, contact between different fingers, etc. and movements of the glove: translation, rotation ... of the glove and the hand. 178BULL-35455-patent-draft2 2 These gestures can correspond to real gestures of a practitioner whose precision and know-how are thus captured by the interactive glove. It can be here medical applications but also to capture gestures to make them reproduce by an automatic hand on a remote site (for example in a dangerous environment where the user can not easily go). These gestures can also correspond to a predefined ad-hoc vocabulary for communicating with the information processing system.

Des applications logicielles sont mises en oeuvre sur les systèmes de traitement de l'information et il est donc nécessaire de pouvoir leur permettre d'interagir avec un gant interactif connecté au système. Pour ce faire, chaque application logicielle peut interagir avec le (ou les) gant interactif directement ou à travers du système d'exploitation (OS pour « Operating System » en langue anglaise). L'application logicielle doit donc encoder directement les modalités d'interaction avec le gant, ce qui implique pour le développeur d'application, à la fois de connaître l'ensemble des gestes possibles pour le gant interactif connecté au système, mais aussi la façon de communiquer physiquement avec les capteurs associés au gant interactif. Il en résulte que le développeur d'une application logicielle doit connaître précisément les spécifications techniques du gant interactif. Il en résulte également que changer de gant interactif oblige à recoder une bonne partie de l'application logicielle l'utilisant.Software applications are implemented on the information processing systems and it is therefore necessary to be able to allow them to interact with an interactive glove connected to the system. To do this, each software application can interact with the interactive glove (s) directly or through the operating system (OS for "Operating System" in English). The software application must therefore directly encode the interaction modalities with the glove, which implies for the application developer, both to know all possible actions for the interactive glove connected to the system, but also the way to communicate physically with the sensors associated with the interactive glove. As a result, the developer of a software application must know precisely the technical specifications of the interactive glove. It also results that changing the interactive glove requires to recode a good part of the software application using it.

Cette situation complexifie le développement des applications logicielles souhaitant s'interfacer avec un gant interactif et donc augmente leur coût de développement et de maintenance ainsi que les risques d'erreur. Ce faisant, elle agit comme un frein à une utilisation plus important de ces dispositifs d'interface homme-machine.30 178BULL-35455-patent-draft2 3 RESUME DE L'INVENTION Le but de la présente invention est de pallier au moins partiellement les inconvénients précités.This situation complicates the development of software applications wishing to interface with an interactive glove and therefore increases their cost of development and maintenance as well as the risk of error. In doing so, it acts as a brake to a greater use of these human-machine interface devices. The purpose of the present invention is to at least partially overcome the aforementioned drawbacks.

A cette fin, la présente invention propose une interface de programmation d'applications pour gant interactif comprenant une liste de fonctions associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, et dans laquelle une application logicielle peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction. Suivant des modes de réalisation préférés, l'invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : lesdites valeurs de sortie indiquent une durée dudit geste. lesdites valeurs de sortie indiquent une pression. lesdites valeurs de sortie sont des valeurs booléennes. lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant représentatives des gestes associés auxdites fonctions. - lesdites fonctions sont regroupées en familles de gestes.To this end, the present invention provides an interactive glove application programming interface comprising a list of functions associated with possible gestures by said interactive glove, in which a combination of values of associates with said interactive glove makes it possible to determine values of outputs of said functions, and wherein a software application can interact with a function among said list to react to the gesture of said interactive glove associated with said function. According to preferred embodiments, the invention comprises one or more of the following features which can be used separately or in partial combination with each other or in total combination with one another: said output values indicate a duration of said gesture. said output values indicate a pressure. said output values are Boolean values. said functions include an implementation part allowing the matching between said sensor values and said output values, said values being representative of the gestures associated with said functions. - Said functions are grouped into families of gestures.

Un autre aspect de l'invention concerne un procédé de développement d'une application logicielle s'interfaçant avec un gant interactif comportant une étape d'utilisation d'une interface de programmation d'applications comprenant une liste de fonctions associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de capteurs 178BULL-35455-patent-draft2 4 associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, de sorte qu'en fonctionnement, une application logicielle peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction.Another aspect of the invention relates to a method of developing a software application interfacing with an interactive glove comprising a step of using an application programming interface comprising a list of functions associated with possible gestures by said interactive glove, in which a combination of sensor values 178BULL-35455-patent-draft2 4 associated with said interactive glove makes it possible to determine output values of said functions, so that in operation, a software application can interact with a function among said list to react to the gesture of said interactive glove associated with said function.

Suivant des modes de réalisation préférés, l'invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : laquelle lesdites valeurs de sortie indiquent une durée dudit geste. lesdites valeurs de sortie indiquent une pression. lesdites valeurs de sortie sont des valeurs booléennes. lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant représentatives des gestes associés auxdites fonctions. lesdites fonctions sont regroupées en familles de gestes. Un autre aspect de l'invention concerne un système de traitement de l'information comportant au moins une application logicielle et une interface de programmation d'application telle que précédemment décrite. Un autre aspect de l'invention concerne un tel système de traitement de l'information et en outre un gant interactif lié audit système de traitement de l'information par un moyen de communication.According to preferred embodiments, the invention comprises one or more of the following features which can be used separately or in partial combination with each other or in total combination with one another: which said output values indicate a duration of said gesture. said output values indicate a pressure. said output values are Boolean values. said functions include an implementation part allowing the matching between said sensor values and said output values, said values being representative of the gestures associated with said functions. said functions are grouped into families of gestures. Another aspect of the invention relates to an information processing system comprising at least one software application and an application programming interface as previously described. Another aspect of the invention relates to such an information processing system and further to an interactive glove linked to said information processing system by means of communication.

Selon un mode de réalisation de l'invention, ledit moyen de communication est sans fil. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d'un mode de réalisation préféré de l'invention, donnée à titre d'exemple et en référence aux dessins annexés. 178BULL-35455-patent-draft2 BREVE DESCRIPTION DES DESSINS La figure 1 représente schématiquement un exemple de contexte dans 5 lequel est susceptible de s'insérer l'invention. DESCRIPTION DETAILLEE DE L'INVENTION La figure 1 illustre le contexte dans lequel peut s'insérer l'invention. Un gant interactif G comporte un ensemble de capteurs dont une partie C1, C2, C3, C4 est indiquée sur la figure. La localisation des capteurs est propre au fabriquant du gant interactif et sort donc du cadre de l'invention.According to one embodiment of the invention, said communication means is wireless. Other features and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of example and with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 schematically illustrates an example of a context in which the invention may be inserted. DETAILED DESCRIPTION OF THE INVENTION Figure 1 illustrates the context in which the invention may fit. An interactive glove G comprises a set of sensors including a part C1, C2, C3, C4 is indicated in the figure. The location of the sensors is specific to the manufacturer of the interactive glove and therefore outside the scope of the invention.

D'une façon générale, les capteurs sont localisés de sorte à maximiser le nombre de gestes détectés pour le plus petit nombre de capteurs afin d'optimiser les coûts de fabrication des gants. Typiquement, des capteurs C1, C2 sont placés aux extrémités des doigts (préférentiellement de chaque doigt), aux niveaux des articulations, C3, ou sur la surface de la main ou des doigts C4. Cette variété dans le placement des capteurs permet de déterminer un grand nombre de gestes différents : pliement d'un ou de plusieurs doigts, contacts entre des doigts, rotations, translations du gant, etc. De même, différentes technologies de capteurs existent et l'invention n'est pas liée à un type de technologie en particulier. Ces capteurs peuvent prendre des valeurs en fonction de leur activation physique. Ces valeurs peuvent être binaire et être représentative d'un contact ou d'une absence de contact, ou bien être inscrites dans un intervalle de valeurs, continue ou discret, représentatives par exemple d'une pression exercée sur le capteur. 178BULL-35455-patent-draft2 6 Ces valeurs de capteur sont transmises à un système de traitement de l'information ST par l'intermédiaire d'un moyen de communication MC reliant le gant interactif et ce système.In general, the sensors are located in such a way as to maximize the number of gestures detected for the smallest number of sensors in order to optimize the manufacturing costs of the gloves. Typically, C1, C2 sensors are placed at the ends of the fingers (preferably each finger), at the joints, C3, or on the surface of the hand or fingers C4. This variety in the placement of the sensors makes it possible to determine a large number of different gestures: folding of one or more fingers, contacts between fingers, rotations, translations of the glove, etc. Likewise, different sensor technologies exist and the invention is not related to any particular type of technology. These sensors can take values depending on their physical activation. These values can be binary and representative of a contact or an absence of contact, or be recorded in a range of values, continuous or discrete, representative for example of a pressure exerted on the sensor. 178BULL-35455-patent-draft2 6 These sensor values are transmitted to an information processing system ST via a communication means MC connecting the interactive glove and this system.

Ce moyen de communication MC peut être filaire ou sans fil. Il peut être conforme à différents standards de communication tels que Wifi, Bluetooth, USB, etc. La gestion du moyen de communication MC par le système de traitement de l'information ST est typiquement prise en charge par le système d'exploitation, OS, du système ST. Du point de vue du système de traitement de l'information, il peut être traité comme un périphérique informatique d'entrée (telles une souris, un clavier, un joystick, une tablette graphique...). Un pilote spécifique peut être prévu de sorte que le système d'exploitation OS puisse utiliser le gant interactif G au travers de ce pilote comme n'importe quel autre périphérique informatique. Ce système de traitement de l'information ST peut être un ordinateur fixe ou portable, un terminal de communication, par exemple de type « smartphone », une tablette numérique, etc.This communication means MC can be wired or wireless. It can comply with different communication standards such as Wifi, Bluetooth, USB, etc. The management of the communication means MC by the information processing system ST is typically supported by the operating system, OS, of the system ST. From the point of view of the information processing system, it can be treated as an input computing device (such as a mouse, a keyboard, a joystick, a graphics tablet ...). A specific driver can be provided so that the operating system OS can use the interactive glove G through this driver like any other computing device. This information processing system ST can be a fixed or portable computer, a communication terminal, for example of the "smartphone" type, a digital tablet, etc.

Le système d'exploitation peut être fonction du type de système de traitement de l'information ST. Par exemple, cela peut être iOS de la société Apple, Android, Windows de la société Microsoft, Linux, etc.The operating system may be a function of the type of information processing system ST. For example, this can be iOS from Apple, Android, Windows from Microsoft, Linux, etc.

Au-dessus du système d'exploitation, une ou plusieurs applications logicielles A peuvent fonctionner, éventuellement en concurrence ou en parallèle. Ces applications logicielles A peuvent souhaiter utiliser spécifiquement le gant interactif G. Elles peuvent aussi être commandées par le gant interactif G, de façon transparente pour elles, de la même façon 178BULL-35455-patent-draft2 7 qu'elles peuvent l'être par un clavier, une souris, une interface à commande vocale, etc. Selon l'invention, une interface de programmation est mis en place pour permettre le développement de nouvelles applications logiciels A. Cette interface de programmation, API (pour « Application Programming Interface ») a été schématiquement représentée comme une couche intermédiaire entre les applications A et le système d'exploitation OS car elle permet au développeur de standardiser certaines fonctions du système d'exploitation. En mode de fonctionnement, c'est-à-dire lorsque l'utilisateur final utilise l'application, l'interface de programmation API lui est alors transparente. Cette interface de programmation d'applications API comprend une liste de fonctions F1, F2, F3... associées à des gestes possibles du gant interactif G. Afin de permettre le maximum de possibilités aux développeurs d'applications, il peut être prévu de définir l'ensemble des gestes possibles dans une recherche d'exhaustivité.Above the operating system, one or more software applications A may operate, possibly in competition or in parallel. These software applications A may wish to use the interactive glove G specifically. They can also be controlled by the interactive glove G, in a way that is transparent to them, in the same way that they can be controlled by the interactive glove G. keyboard, mouse, voice-activated interface, etc. According to the invention, a programming interface is set up to allow the development of new software applications A. This programming interface, API (for "Application Programming Interface") has been schematically represented as an intermediate layer between applications A and the OS operating system because it allows the developer to standardize certain functions of the operating system. In operating mode, that is to say when the end user uses the application, the API programming interface is then transparent to him. This API application programming interface comprises a list of functions F1, F2, F3 ... associated with possible gestures of the interactive glove G. In order to allow the maximum of possibilities for the application developers, it can be planned to define all possible gestures in a search for completeness.

Chaque fonction F1, F2, F3 peut être associée à un geste donné et comporte donc le code informatique permettant d'analyser les valeurs transmises par les capteurs C1, C2, C3, C4. La liste peut en outre être suffisamment générale pour couvrir le plus grand nombre possible de types de gants interactifs. De la sorte, pour un gant donné, certaines fonctions correspondront à des gestes impossibles, mais la fonction associée pourra alors traiter ce cas en retournant une valeur appropriée ou en n'étant jamais activée, comme nous le verrons ci-dessous. 178BULL-35455-patent-draft2 8 Ci-après, nous indiquons une liste possible de fonctions. Cette liste est indicative, notamment par l'ordre et la numérotation des fonctions qu'elle implique. Ces fonctions peuvent être regroupées en famille de gestes.Each function F1, F2, F3 can be associated with a given gesture and therefore comprises the computer code for analyzing the values transmitted by the sensors C1, C2, C3, C4. The list may also be general enough to cover as many types of interactive gloves as possible. In this way, for a given glove, certain functions will correspond to impossible gestures, but the associated function can then treat this case by returning an appropriate value or by never being activated, as we will see below. 178BULL-35455-patent-draft2 8 The following is a list of possible functions. This list is indicative, in particular by the order and the numbering of the functions that it implies. These functions can be grouped into family of gestures.

Dans une mise en oeuvre possible : - Une première famille consiste à associer une fonction à chaque mouvement des doigts que ce soit une main droite ou une main gauche : o Fl : Pliement du pouce o F2 : Pliement de l'index o F3 : Pliement du majeur o F4 : Pliement de l'annulaire o F5 : Pliement de l'auriculaire - Une seconde famille consiste à associer une fonction à chaque mouvement combiné du pouce et d'un autre doigt, voire toute la main : o F6 : F1 et F2 simultanées o F7 : F1 et F3 simultanées o F8 : F1 et F4 simultanées o F9 : F1 et F5 simultanées o F10 : Fl et F2 et F3 et F4 et F5 simultanées - Une troisième famille consiste à associer une fonction à chaque pincement (donc pliement et contact du bout du/des doigt(s)) entre le pouce et un autre doigt, voire toute la main : o Fil : Contact entre pouce et index o F12 : Contact entre pouce et majeur o F13 : Contact entre pouce et annulaire o F14 : Contact entre pouce et auriculaire o F15 : Contact entre pouce et index et majeur et annulaire et auriculaire 178BULL-35455-patent-draft2 9 - Une autre famille correspond à une réservation d'une plage de fonctions optionnelles pour d'autres combinatoires des doigts de la main : F15 à F30 - Une autre famille consiste à associer une fonction à différents mouvements de la main o F31 : Translation avant de la main o F32 : Translation arrière de la main o F33 : Rotation verticale vers le haut de la main o F34 : Rotation verticale vers le bas de la main o F35 : Rotation horizontale vers la gauche de la main o F36 : Rotation horizontale vers la droite de la main o F37 : Rotation axiale (axe = radius ou cubitus) vers la gauche o F38 : Rotation axiale (axe = radius ou cubitus) vers la droite - Une autre famille correspond à une réservation d'une plage de fonctions optionnelles pour d'autres mouvements de la main : F39 à F49 - Une dernière famille consiste à associer la fonction F50 à une initialisation ou réinitialisation de la position spatiale de la main. Elle pourra être associée à une autre fonction déjà existante. Par exemple, on peut convenir que la fonction F10 (Pliement de tous les doigts simultanément) sera associée à la fonction F50.In a possible implementation: - A first family consists in associating a function with each movement of the fingers whether it is a right hand or a left hand: o Fl: Folding of the thumb o F2: Folding of the index o F3: Folding of the middle finger o F4: Folding of the ring finger o F5: Folding of the little finger - A second family consists in associating a function with each combined movement of the thumb and another finger, or even the whole hand: o F6: F1 and F2 simultaneous o F7: F1 and F3 simultaneous o F8: F1 and F4 simultaneous o F9: F1 and F5 simultaneous o F10: Fl and F2 and F3 and F4 and F5 simultaneous - A third family is to associate a function with each pinch (so folding and touching the tip of the finger (s)) between the thumb and another finger, or even the whole hand: o Thread: Contact between thumb and index o F12: Contact between thumb and middle finger o F13: Contact between thumb and ring o F14: Contact between thumb and little finger o F15: Contact between thumb and index finger and major and annular and auricular 178BULL-35455-patent-draft2 9 - Another family corresponds to a reservation of a range of optional functions for other combinations of the fingers of the hand: F15 to F30 - Another family consists in associating a function at different movements of the hand o F31: Forward movement with the hand o F32: Rearward movement of the hand o F33: Vertical rotation towards the top of the hand o F34: Vertical rotation towards the bottom of the hand o F35: Horizontal rotation to the left of the hand o F36: Horizontal rotation to the right of the hand o F37: Axial rotation (axis = radius or ulna) to the left o F38: Axial rotation (axis = radius or ulna) to the right - Another family is a reservation of a range of optional functions for other movements of the hand: F39 to F49 - A last family consists in associating the function F50 with an initialization or reinitialization of the spatial position of the m ain. It may be associated with another already existing function. For example, it may be agreed that function F10 (folding of all fingers simultaneously) will be associated with function F50.

Chacune de ces fonctions présentent une interface pour les développeurs d'application qui est indépendante de la technologie sous-jacente et notamment du gant interactif. Ainsi, le développeur n'a à connaître que les spécifications techniques « extérieures » de l'interface de programmation API: les noms des fonctions, à quel geste chacune 178BULL-35455-patent-draft2 10 correspond, et les éventuels paramètres associés, y compris les valeurs de retour (binaire ou avec indication d'une valeur de pression, etc.) Par ailleurs, l'interface de programmation d'application API comprend une partie spécifique au gant interactif et à l'infrastructure sous- jacente (notamment au système d'exploitation OS). Cette partie peut être ignorée par le développeur d'applications, de sorte que celui-ci n'ait pas à connaître les spécificités techniques du gant interactif utilisé. Cette partie d'implémentation est liée au type de gant interactif utilisé et peut encoder la mise en correspondance entre les valeurs de capteurs transmis par le gant interactif et la détermination d'un geste donné. Ainsi, au niveau de chaque fonction, un algorithme permet de déterminer si le geste correspondant à la fonction a été effectué en fonction des valeurs de capteurs. Autrement dit, une combinaison de valeurs de capteurs associés au gant interactif permet de déterminer un geste. Dans certains cas, une combinaison peut être formée de la valeur d'un capteur unique, suffisant à déterminer un geste. Comme il a été précédemment évoqué, les fonctions peuvent renvoyer à l'application logicielle A différentes valeurs, en fonction de si le geste associé a été déterminé ou non. Ces valeurs pourront être simplement booléennes ou être numérique. Les valeurs numériques peuvent parcourir un intervalle continu ou bien appartenir à un ensemble de valeurs discrètes possibles. En prenant l'exemple de la première fonction de pliement du pouce, nous pourrons avoir les valeurs définies de la sorte : F1 retourne 0 = Le pouce n'est pas plié. F1 retourne 1 = Le pouce génère une impulsion de pliement. Fl retourne <n> = Le pouce reste plié depuis <n> secondes. F1 retourne des valeurs négatives pour couvrir différentes erreurs ou mauvaises interprétations non résolues : 178BULL-35455-patent-draft2 11 Fl retourne -1 = Fonction non implémentée ou capteur non actif. Fl retourne la valeur négative -<n> : Les codes d'erreur peuvent être liés aux types de gants et de capteurs utilisés.Each of these features provides an interface for application developers that is independent of the underlying technology including the interactive glove. Thus, the developer only has to know the "external" technical specifications of the PLC programming interface: the names of the functions, to which gesture each 178BULL-35455-patent-draft2 10 corresponds, and the possible associated parameters, including the return values (binary or with indication of a pressure value, etc.). Furthermore, the API application programming interface includes a specific part to the interactive glove and to the underlying infrastructure (in particular operating system OS). This part can be ignored by the developer of applications, so that it does not have to know the technical specificities of the interactive glove used. This implementation part is related to the type of interactive glove used and can encode the mapping between sensor values transmitted by the interactive glove and the determination of a given gesture. Thus, at the level of each function, an algorithm makes it possible to determine whether the gesture corresponding to the function has been performed as a function of the sensor values. In other words, a combination of sensor values associated with the interactive glove makes it possible to determine a gesture. In some cases, a combination may be formed of the value of a single sensor, sufficient to determine a gesture. As previously mentioned, the functions can refer to the software application A different values, depending on whether the associated gesture has been determined or not. These values can be simply Boolean or be numeric. Numeric values may traverse a continuous interval or belong to a set of possible discrete values. Taking the example of the first function of thumb folding, we can have the values defined in this way: F1 returns 0 = The thumb is not bent. F1 returns 1 = The thumb generates a folding pulse. Fl returns <n> = Thumb remains folded for <n> seconds. F1 returns negative values to cover various unresolved errors or misinterpretations: 178BULL-35455-patent-draft2 11 Fl returns -1 = Function not implemented or sensor not active. Fl returns the negative value - <n>: Error codes can be related to the types of gloves and sensors used.

Plutôt que le temps de tenue d'un geste, la valeur <n> peut indiquer une pression fournie par un capteur de pression. Il est également possible que la valeur retournée soit formé d'un couple de sous-valeurs, par exemple sous la forme <nl, n2> où, par exemple, n1 représente la durée du geste et n2 représente la pression.Rather than the holding time of a gesture, the value <n> can indicate a pressure provided by a pressure sensor. It is also possible that the returned value is formed of a pair of sub-values, for example in the form <n1, n2> where, for example, n1 represents the duration of the gesture and n2 represents the pressure.

Il est évident que bien d'autres possibilités sont accessibles à l'homme du métier. Une mise en oeuvre de ces principes de séparation entre partie « interface » et partie « implémentation » peut être réalisée grâce à une architecture logicielle orientée objets. Une telle architecture permet de bien séparer une partie « interface » utilisable par les applications logicielles, d'une partie « implémentation » qui leur est masquée. Par exemple, les fonctions pourront être mises en oeuvre par des « méthodes » associées à une classe « gant interactif ».It is obvious that many other possibilities are accessible to those skilled in the art. An implementation of these principles of separation between part "interface" and part "implementation" can be achieved through an object-oriented software architecture. Such an architecture makes it possible to separate an "interface" part used by the software applications from an "implementation" part that is hidden from them. For example, the functions may be implemented by "methods" associated with an "interactive glove" class.

La mise en oeuvre peut être réalisée sous la forme d'un service web, d'une bibliothèque logicielle (ou libraire), etc. et pour différents langages informatiques différents : C, C++, Java, etc.The implementation can be performed in the form of a web service, a software library (or bookseller), etc. and for different computer languages: C, C ++, Java, etc.

Un exemple de mise en oeuvre en langage C++ de la fonction F10 correspondant au pliement complet de la main droite est donné ci-dessous : On peut par exemple définir une classe pour décrire la main et une classe pour décrire les doigts dans un fichier nommé « APIGant.h ».An example of implementation in the C ++ language of the function F10 corresponding to the complete folding of the right hand is given below: One can for example define a class to describe the hand and a class to describe the fingers in a file named " APIGant.h ".

178BULL-35455-patent-draft2 12 enum TypeDoigt {POUCE, INDEX, MAJEUR, ANNULAIRE, AURICULAIRE} ; enum TypeHand {DROITE, GAUCHE} ; enum TypeEtat { INACTIF=-1,NON PLIE=0, PLIE=1} #define OK 0 #define ERROR -99 Class Doigt { // Quel est le type de TypeDoigt type ; // Valeur initialisée de doigt concerné static TypeEtat etat = NON PLIE ; l'état courant public : Doigt(TypeDoigt) ; int testEtat() ; int etat(int,TypeDoigt) ; int pliement() ; I; // Constructeur de la classe Doigt Doigt ::Doigt (TypeDoigt queltype) { // Initialisation du doigt concerné type = queltype ; I ; // Fonction de test d'état du doigt int Doigt ::testEtat() { // Fonction de test liée au capteur donc au type de gant utilisé etat = fonction de test du capteur(type) ; return etat ; 178BULL-35455-patent-draft2 13 1 // Fonction d'affectation de l'état du doigt int Doigt ::etat(int queletat, TypeDoigt queltype=type) { // Vérification qu'on a bien reçu le bon type de doigt s'il a été donné en entrée if (queltype <> this.type) { return ERROR; 1 else { // Initialisation de l'état courant du doigt etat = queletat ; return etat ; ) 1 // Handler appelé lors d'un changement d'état reçu des capteurs du gant Handler Doigt ::pliement() { // Récupération de l'événement reçu etat = handler du capteur() ; I ; Class Hand { // En anglais car « main » sera problématique en C/C++ TypeHand type ; // Type de main DROITE ou GAUCHE static TypeEtat etat = NON PLIE ; // Valeur initialisée de l'état courant Doigt pouce(POUCE) ; 178BULL-35455-patent-draft2 14 Doigt index(INDEX) ; Doigt majeur(MAJEUR) ; Doigt annulaire(ANNULAIRE) ; Doigt auriculaire(AURICULAIRE) ; public : Hand(TypeHand) ; int reinitialisation() ; int doigtInvalide(TypeDoigt) ; int testPliement() ; 1 ; Hand ::Hand (TypeHand queltype) { // Initialisation de la main concernée type = queltype ; } ; int Hand ::reinitialisation () { // Réinitialisation de l'état de tous les doigts de la main comme non pliés // Le type de la main n'est pas modifié pouce.etat(NON PLIE,POUCE) ; index.etat(NON PLIE,INDEX) ; majeur.etat(NON PLIE,MAJEUR) ; annulaire.etat(NON PLIE,ANNULAIRE) ; auriculaire.etat(NON PLIE,AURICULAIRE) ; return OK ; 1 Hand ::doigtlnvalide (TypeDoigt queltype) { // Invalidation du doigt indiqué car pas de capteur ou pas de surveillance désirée switch queltype { 178BULL-35455-patent-draft2 15 POUCE : pouce.etat(INACTIF,POUCE) ; INDEX : index.etat(INACTIF,INDEX) ; MAJEUR : majeur.etat(INACTIF,MAJEUR) ; ANNULAIRE : annulaire.etat(INACTIF,ANNULAIRE) ; AURICUALIRE : auriculaire.etat(INACTIF,AURICULAIRE) ; default : return ERROR; 1 ; return OK ; 1 ; // Fonction de test d'état complet de la main int Hand::testPliement() { // Il faut que tous les doigts soient pliés pour que l'état de la main soit PLIE // On ne tient pas compte des doigts inactifs if (((pouce.testEtat() == PLIE) II (pouce.testEtat() == INACTIF) && ((index.testEtat() == PLIE) II (index.testEtat() == INACTIF) && ((majeur.testEtat() == PLIE) II (majeur.testEtat() == INACTIF) && ((annulaire.testEtat() == PLIE) II (annulaire.testEtat() == INACTIF) && ((auriculaire.testEtat() == PLIE) II (auriculaire.testEtat() == INACTIF))) { etat = PLIE ; 1 else if ((pouce.testEtat() == ERROR) H (index.testEtat() ==ERROR) H (majeur.testEtat() ==ERROR) II (annulaire.testEtat() ==ERROR) 178BULL-35455-patent-draft2 16 Il (auriculaire.testEtat() ==ERROR)) { etat = ERROR ; } else { etat = NON PLIE ; 1 1 return etat ; I; Une application logicielle A peut interagir avec une fonction pour réagir au geste du gant interactif associé à ladite fonction. Un exemple d'utilisation par une application logicielle A de la fonction F10 de l'interface de programmation logicielle API peut être telle que ci-après : #include <iostream> #include <APIGant.h> int main () { // Temps d'attente avant le pliement complet de la main static tempsAttente = 0 ; // Seule une main droite est équipée Hand maindroite(DROITE) ; // Pas de capteur pour l'annulaire maindroite.doigtInvalide(ANNULAIRE) ; // Pas de capteur pour l'auriculaire 178BULL-35455-patent-draft2 17 maindroite.doigtInvalide(AURICULAIRE) ; // Utilisation de la fonction de pliement complet de la main // On attend l'événement de pliement complet avant de sortir while (maindroite.testPliement() <> PLIE) { if (maindroite.testPliement() == ERROR) { cout « « Erreur sur le test de pliement de la main après » tempsAttente « seconde(s) »; return ERROR ; } else { cout « « La main n'est toujours pas pliée » ; // On attend 2 secondes pour laisser le temps de capter l'événement // et ne pas monopoliser le processeur dans une boucle infinie sleep (2) ; tempsAttente +=2 ; 1 1 cout « « La main a été pliée après » tempsAttente « seconde(s) » ; return OK ; 1 Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réalisation décrits et représentés, mais elle est susceptible de nombreuses variantes accessibles à l'homme de l'art.178BULL-35455-patent-draft2 12 enum TypeFinger {INCH, INDEX, MAJOR, ANNULAR, EARLY}; enum TypeHand {RIGHT, LEFT}; enum StateType {INACTIVE = -1, NOT FOLD = 0, FOLD = 1} #define OK 0 #define ERROR -99 Finger Class {// What is the type of TypeFinger type; // initialized value of finger concerned static TypeState state = NO FOLDED; public state: Finger (TypeFinger); int testState (); int state (int, TypeFord); intpliance (); I; // Builder of the class Finger Finger :: Finger (TypeFigtype) {// Initialization of the finger concerned type = whattype; I; // Function test function of the finger int Finger :: testState () {// Test function related to the sensor and therefore to the type of glove used state = sensor test function (type); return state; 178BULL-35455-patent-draft2 13 1 // Finger state assignment function int Finger :: state (int whatever, TypeFordtype = type) {// Verification that the correct type of finger has been received if given as input if (what type <> this.type) {return ERROR; 1 else {// Initialization of the current state of the finger state = which state; return state; ) 1 // Handler called during a change of state received from the sensors of the Handler glove Finger :: folding () {// Recovery of the received event status = sensor handler (); I; Class Hand {// In English because "main" will be problematic in C / C ++ TypeHand type; // Type of hand RIGHT or LEFT static TypeState state = NOT FOLDED; // Initialized value of the current state Thumb finger (INCH); 178BULL-35455-patent-draft2 14 Index finger (INDEX); Major finger (MAJOR); Ring finger (ANNULAR); Aural finger (AURICULAR); public: Hand (TypeHand); int initialization (); int fingerInvalid (TypeFinger); int testPliement (); 1; Hand :: Hand (TypeHand whatevertype) {// Initialize the relevant hand type = whattype; }; int Hand :: reset () {// Reset the state of all the fingers of the hand as not folded // The type of the hand is not changed inch.state (NOT FOLD, INCH); index.state (NOT FOLD, INDEX); major.state (NOT FOLD, MAJOR); annular.state (NOT FOLD, ANNULAR); auricular.state (NOT FOLD, EARLY); return OK; 1 Hand :: fingerlnvalid (TypeTypetype) {// Invalidate the indicated finger because no sensor or no monitoring desired switch type {178BULL-35455-patent-draft2 15 INCH: inch.state (INACTIVE, INCH); INDEX: index.status (INACTIVE, INDEX); MAJOR: major.state (INACTIVE, MAJOR); ANNULAR: annular.status (INACTIVE, ANNULAR); AURICUALIRE: auricular.status (INACTIVE, AURICULAR); default: return ERROR; 1; return OK; 1; // Full hand state test function int Hand :: testPliement () {// All fingers must be folded so that the state of the hand is PLIE // Inactive fingers are not taken into account if ((thumb.testStatus () == BRIEF) II (inch.testStatus () == INACTIVE) && ((index.testState () == BOLD) II (index.testStatus () == INACTIVE) && (( major.testState () == BRIEF) II (major.testState () == INACTIVE) && ((annular.testState () == BOLD) II (annular.testState () == INACTIVE) && ((auricular.testStatus ( ) == FOLD) II (auricular.testState () == INACTIVE))) {state = PLY; 1 else if ((thumb.testState () == ERROR) H (index.testState () == ERROR) H ( major.testState () == ERROR) II (annular.testStatus () == ERROR) 178BULL-35455-patent-draft2 16 It (auricular.testStatus () == ERROR)) {state = ERROR;} else {state = NOT FOLD; 1 1 return state; I; A software application A can interact with a function to react to the gesture of the interactive glove associated with said function An example of use by an application Software Factor Function F10 of the API API may be as follows: #include <iostream> #include <APIGant.h> int main () {// Waiting time before complete folding hand static timeOut time = 0; // Only a right hand is equipped Hand right (RIGHT); // No sensor for ring finger righthand.doigtInvalid (ANNULAR); // No sensor for the little finger 178BULL-35455-patent-draft2 17 righthand.docentInvalid (EARLY); // Using the full hand folding function // We wait for the complete folding event before exiting while (righthand.testPliement () <> PLIE) {if (righthand.testPliement () == ERROR) {cost "" Error on the hand folding test after "Wait time" second (s) "; return ERROR; } else {cost "" The hand is still not folded "; // We wait 2 seconds to allow the time to capture the event // and not to monopolize the processor in an infinite loop sleep (2); waiting time + = 2; 1 1 cost "" The hand was bent after "Wait time" second (s) "; return OK; Of course, the present invention is not limited to the examples and the embodiment described and shown, but it is capable of many variants accessible to those skilled in the art.

Claims (15)

REVENDICATIONS1. Interface de programmation d'applications (API) pour gant interactif (G) comprenant une liste de fonctions (F1, F2, F3) associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de capteurs (C1, C2, C3, C4) associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, et dans laquelle une application logicielle (A) peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction.REVENDICATIONS1. Application programming interface (API) for interactive glove (G) comprising a list of functions (F1, F2, F3) associated with possible gestures by said interactive glove, in which a combination of sensor values (C1, C2, C3, C4) associated with said interactive glove makes it possible to determine output values of said functions, and in which a software application (A) can interact with a function of said list to react to the gesture of said interactive glove associated with said function. 2. Interface de programmation d'applications selon la revendication précédente, dans laquelle lesdites valeurs de sortie indiquent une durée dudit geste.2. Application programming interface according to the preceding claim, wherein said output values indicate a duration of said gesture. 3. Interface de programmation selon l'une des revendications précédentes, dans laquelle lesdites valeurs de sortie indiquent une pression.Programming interface according to one of the preceding claims, wherein said output values indicate a pressure. 4. Interface de programmation d'applications selon la revendicationl, dans laquelle lesdites valeurs de sortie sont des valeurs booléennes. 20The application programming interface of claim 1, wherein said output values are boolean values. 20 5. Interface de programmation d'applications selon l'une des revendications précédentes, dans laquelle lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant 25 représentatives des gestes associés auxdites fonctions.The application programming interface according to one of the preceding claims, wherein said functions include an implementation part for mapping between said sensor values and said output values, said values being representative of the associated gestures. to said functions. 6. Interface de programmation d'applications selon la revendication précédente dans laquelle lesdites fonctions sont regroupées en familles de gestes. 30178BULL-35455-patent-draft2 196. Application programming interface according to the preceding claim wherein said functions are grouped into families of gestures. 30178BULL-35455-patent-draft2 19 7. Procédé de développement d'une application logicielle (A) s'interfaçant avec un gant interactif (G) comportant une étape d'utilisation d'une interface de programmation d'applications (API) comprenant une liste de fonctions (F1, F2, F3) associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de capteurs (C1, C2, C3, C4) associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, de sorte qu'en fonctionnement, une application logicielle (A) peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction.7. A method of developing a software application (A) interfaced with an interactive glove (G) comprising a step of using an application programming interface (API) comprising a list of functions (F1, F2 , F3) associated with possible gestures by said interactive glove, in which a combination of sensor values (C1, C2, C3, C4) associated with said interactive glove makes it possible to determine output values of said functions, so that in operation , a software application (A) can interact with a function among said list to react to the gesture of said interactive glove associated with said function. 8. Procédé de développement d'une application logicielle selon la revendication précédente, dans laquelle lesdites valeurs de sortie indiquent une durée dudit geste.8. A method of developing a software application according to the preceding claim, wherein said output values indicate a duration of said gesture. 9. Procédé de développement d'une application logicielle selon l'une des revendications précédentes, dans laquelle lesdites valeurs de sortie indiquent une pression.The method of developing a software application according to one of the preceding claims, wherein said output values indicate a pressure. 10. Procédé de développement d'une application logicielle selon la revendication 7, dans laquelle lesdites valeurs de sortie sont des valeurs booléennes.The method of developing a software application according to claim 7, wherein said output values are Boolean values. 11. Procédé de développement d'une application logicielle selon l'une des revendications précédentes, dans laquelle lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant représentatives des gestes associés auxdites fonctions.178BULL-35455-patent-draft2 2011. A method of developing a software application according to one of the preceding claims, wherein said functions comprise an implementation part for matching between said values of the sensors and said output values, said values being representative of the gestures. associated with said functions.178BULL-35455-patent-draft2 20 12. Procédé de développement d'une application logicielle selon la revendication précédente dans laquelle lesdites fonctions sont regroupées en familles de gestes.12. The method of developing a software application according to the preceding claim wherein said functions are grouped into families of gestures. 13. Système de traitement de l'information (ST) comportant au moins une application logicielle (A) et une interface de programmation d'applications(API) selon l'une des revendications 1 à 6.An information processing system (ST) comprising at least one software application (A) and an application programming interface (API) according to one of claims 1 to 6. 14. Système comportant un système de traitement de l'information (ST) selon la revendication précédente et en outre un gant interactif (G) lié audit système de traitement de l'information par un moyen de communication (MC).14. System comprising an information processing system (ST) according to the preceding claim and further an interactive glove (G) linked to said information processing system by a communication means (MC). 15. Système selon la revendication précédente, dans lequel ledit moyen de communication (MC) est sans fil.15. System according to the preceding claim, wherein said communication means (MC) is wireless.
FR1363513A 2013-12-24 2013-12-24 APPLICATION PROGRAMMING INTERFACE (API) FOR INTERACTIVE GLOVE Active FR3015712B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1363513A FR3015712B1 (en) 2013-12-24 2013-12-24 APPLICATION PROGRAMMING INTERFACE (API) FOR INTERACTIVE GLOVE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1363513A FR3015712B1 (en) 2013-12-24 2013-12-24 APPLICATION PROGRAMMING INTERFACE (API) FOR INTERACTIVE GLOVE

Publications (2)

Publication Number Publication Date
FR3015712A1 true FR3015712A1 (en) 2015-06-26
FR3015712B1 FR3015712B1 (en) 2017-02-10

Family

ID=50624706

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1363513A Active FR3015712B1 (en) 2013-12-24 2013-12-24 APPLICATION PROGRAMMING INTERFACE (API) FOR INTERACTIVE GLOVE

Country Status (1)

Country Link
FR (1) FR3015712B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4414537A (en) * 1981-09-15 1983-11-08 Bell Telephone Laboratories, Incorporated Digital data entry glove interface device
US20030011568A1 (en) * 2001-06-15 2003-01-16 Samsung Electronics Co., Ltd. Glove-type data input device and sensing method thereof
US20040034505A1 (en) * 2002-08-15 2004-02-19 International Business Machines Corporation Data input device for individuals with limited hand function
WO2007076592A1 (en) * 2006-01-04 2007-07-12 Iron Will Creations Inc. Inputting information with finger-mounted sensors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4414537A (en) * 1981-09-15 1983-11-08 Bell Telephone Laboratories, Incorporated Digital data entry glove interface device
US20030011568A1 (en) * 2001-06-15 2003-01-16 Samsung Electronics Co., Ltd. Glove-type data input device and sensing method thereof
US20040034505A1 (en) * 2002-08-15 2004-02-19 International Business Machines Corporation Data input device for individuals with limited hand function
WO2007076592A1 (en) * 2006-01-04 2007-07-12 Iron Will Creations Inc. Inputting information with finger-mounted sensors

Also Published As

Publication number Publication date
FR3015712B1 (en) 2017-02-10

Similar Documents

Publication Publication Date Title
EP2336867B1 (en) Method and device for controlling the display on a display device of a multiplicity of elements in a list
FR2796234A1 (en) SYSTEM AND METHOD FOR CONTROLLING THE USER INTERFACE OF A GENERAL PUBLIC ELECTRONIC DEVICE
Subirana Call for a wake standard for artificial intelligence
Lee Voice user interface projects: build voice-enabled applications using dialogflow for google home and Alexa skills kit for Amazon Echo
EP3202116B1 (en) Method and device to assist with decision-making
EP2898391B1 (en) Method of selecting interactivity mode
EP2881841B1 (en) Method for continuously recognising gestures by a user of a hand-held mobile terminal provided with a motion sensor unit, and associated device
FR3017474A1 (en) ASSISTED SEIZURE OF RULES IN A KNOWLEDGE BASIS
FR3015712A1 (en) APPLICATION PROGRAMMING INTERFACE (API) FOR INTERACTIVE GLOVE
EP3035185A1 (en) Aid for transferring data on a tactile interface
FR2763406A1 (en) Program selection arrangement for domestic computer with selector device
US9310929B2 (en) Unlocking touch screen devices
US20150332036A1 (en) Toroidal flexible input device
Hirabe et al. Touchanalyzer: A system for analyzing user’s touch behavior on a smartphone
EP3317868B1 (en) Virtual remote control
WO2014090754A1 (en) Gesture recognition device and method for a user interface control
WO2016016473A1 (en) Method for verifying traceability of first instructions in a procedural programming language generated from second instructions in a modelling language
KR101866634B1 (en) Intelligent Smart Aging Service System and Method using the Internet of Things
WO2020245098A1 (en) Method for controlling a computer device
WO2015197936A1 (en) Method for inputting at least one alphanumeric character by means of a user interface of an electronic device
WO2024033192A1 (en) Method and device for constructing a knowledge base for the purpose of making cross-functional use of the application functions of a plurality of software items
CA3032383A1 (en) Development process for a computer program and corresponding development device
FR3079320A1 (en) METHOD AND DEVICE FOR PROCESSING DATA OF A VIRTUAL REALITY ENVIRONMENT IN PERCEPTION MODE OF ACCESSIBILITY
FR2946768A1 (en) METHOD OF TACTILE INPUTTING CONTROL INSTRUCTIONS OF A COMPUTER PROGRAM AND SYSTEM FOR IMPLEMENTING SAID METHOD
WO2007106365A3 (en) Method for processing an input particle stream for creating upper levels of kstore

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

TP Transmission of property

Owner name: ATOS FRANCE, FR

Effective date: 20220809

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11