FR 3029662 A1 20160610 FR 1461848 A 20141203 1 Système de Simulation, dispositifs, méthodes et programmes correspondants. 1. Domaine de l'invention L'invention se rapporte au domaine de la simulation. L'invention se rapporte plus particulièrement au domaine de la simulation dans des environnements de réalité virtuelle. L'invention prend plus particulièrement place dans le domaine de la simulation réaliste dans des environnements de réalité virtuelle représentatifs d'environnements réels, notamment destinés aux formations professionnelles. 2. Art antérieur Le domaine de la réalité virtuelle a été largement investigué depuis de nombreuses années. La réalité virtuelle se définit comme une simulation informatique interactive immersive, visuelle et/ou sonore et/ou haptique, d'environnements. Les environnements en question peuvent être réels ou imaginaires. La simulation est dite interactive car à la différence d'un simple spectateur, l'utilisateur interagit avec l'environnement virtuel. La simulation est dite immersive car elle plonge l'utilisateur dans un environnement différent de l'environnement réel dans lequel ils se trouvent. La simulation est visuelle et/ou sonore et/ou haptique car l'utilisateur est généralement munis d'équipements de reproduction visuels et sonores (comme un casque de réalité virtuel reproduisant sons et images) et d'équipements de reproduction des sensations physiques, et notamment le toucher, par l'intermédiaire de gants, de combinaisons ou de systèmes actifs convenant à cette utilisation. La finalité de la réalité virtuelle est de permettre à un utilisateur une activité sensori-motrice et cognitive dans un monde artificiel, créé numériquement, qui peut être notamment une simulation de certains aspects du monde réel. Récemment, notamment grâce au développement de nouveaux types d'écrans, le domaine de la réalité virtuelle a connu une évolution importante. Ainsi, par exemple, le casque de réalité virtuelle construit par la société Oculus RiftTM permet désormais au grand public d'appréhender la réalité virtuelle de manière simple et peu couteuse. Ce type de casque est actuellement utilisé pour développer des applications grand public. Ces applications grand public sont principalement des jeux, notamment des dérivés de jeux à la troisième personne (dit FPS pour « First Person Shoot »). L'avantage de ces casques est qu'ils restituent des images en trois dimensions et ainsi permettent à l'utilisateur d'être immergé dans un environnement sonore et visuel imaginaire. 3029662 2 L'utilisation d'un tel dispositif pour autre chose que ce type d'application est possible. Cependant, la création d'un environnement virtuel représentatif de la réalité est une tâche plus complexe que la modélisation d'un environnement virtuel « imaginaire » : dans le cas d'un environnement réel, l'utilisateur se base sur des références sensorielles 5 précises. Ainsi, la création d'un environnement virtuel représentatif de la réalité nécessite des processus de modélisation plus élaborés dans lesquels sont pris en compte d'une part les objets physiques réels (qu'il faut modéliser afin qu'ils soient conformes à la réalité) et d'autre part les lois physiques définissant l'interaction entre ces objets (afin que l'interaction de ces objets dans le monde virtuel soit identique à l'interaction de ces 10 objets dans le monde réel). Pour cette deuxième partie, cependant, il est possible de faire appel aux moteurs de physique existants qui modélisent relativement bien l'interaction entre des objets, quels qu'ils soient. Il reste cependant des difficultés de modélisation. Bien que la modélisation de l'environnement issu du mode réel soit possible, la modélisation des actions de 15 l'utilisateur sur l'environnement issu du mode réel (et l'inverse) est beaucoup plus complexe. Pour reprendre le parallèle avec les jeux vidéo, le moteur de jeu gère les actions possibles sur l'environnement virtuel. Ce moteur comporte un certain nombre de contraintes et de limitations qui sont en général souhaitées pour obtenir un jeux vidéo rapide et pas trop compliqué : les actions se limitent généralement aux mouvements 20 gauche, droite, avant, arrière, haut, bas, saisir objet, tirer, courir, sauter, etc. Les interactions avec des personnes sont généralement peu nombreuses. Ce n'est pas le cas pour le monde réel. L'utilisateur immergé dans le monde virtuel représentatif de la réalité s'attend à pouvoir réaliser les actions qu'il souhaite, de la même manière qu'il le ferait dans le monde réel. Sans aller jusqu'à imaginer une infinité 25 d'actions possibles, le nombre d'actions de l'utilisateur dans le monde virtuel doit être élevé et réaliste. Par ailleurs les conséquences d'actions menées par l'utilisateur doivent également être prises en compte par le moteur de gestion de l'environnement virtuel. Par exemple, pour que l'environnement virtuel puisse être utilisé à des fins de formation (formation à l'utilisation d'outils ou formation à des techniques d'intervention ou 30 formation à de la conduite ou formation à des procédures complexes), il est nécessaire que les enchainements des actions, leurs conséquences, soient correctement gérées par le moteur du simulateur, ce qui est rarement le cas à ce jour. 3029662 3 3. Résumé de l'invention La technique décrite ne comprend pas au moins certains de ces inconvénients de l'art antérieur. Selon un premier aspect, la technique décrite se rapporte à un module de simulation d'une procédure interventionnelle au sein d'un environnement virtuel, ledit 5 environnement virtuel étant mis en oeuvre par l'intermédiaire d'un dispositif de traitement de données d'environnement virtuel. Le module de simulation comprend : un module configuré pour obtenir une structure de données représentative d'un ensemble d'objets dudit environnement virtuel, ladite structure de données 10 comprenant en sus au moins une relation d'interaction entre au moins deux objets dudit ensemble d'objets ; un module configuré pour recevoir au moins un scénario représentatif d'une procédure à simuler, ledit scénario étant défini à partir d'une ontologie descriptive, ledit au moins un scénario étant obtenu à partir d'au moins un modèle 15 procédural préalablement déterminé ; un module configuré pour restituer, au sein dudit environnement virtuel, au moins une portion dudit scénario en fonction dudit ensemble d'objets dudit environnement virtuel, dudit au moins un modèle procédural et d'au moins une action réalisée par au moins un utilisateur réel dudit environnement virtuel. 20 Selon un deuxième aspect, la technique décrite se rapporte à un système de simulation d'une procédure interventionnelle au sein d'un environnement virtuel, ledit environnement virtuel étant mis en oeuvre par l'intermédiaire d'un dispositif de traitement de données d'environnement virtuel ; le système comprend : un module de description d'environnement, configuré pour délivrer au moins une 25 description d'une procédure réelle dans l'environnement réel en fonction d'au moins une ontologie de domaine ; un module de création de modèle procédural, configurer pour créer, en fonction d'au moins une description de l'environnement réel à modéliser et délivrant un modèle procédural matérialisant des conditions et des transitions entre des 30 étapes de procédures. Selon une caractéristique particulière, le module de description d'environnement procédural comprend : 3029662 4 un accès à un espace de stockage comprenant une description physique d'un environnement dans lequel une procédure à décrire prend place ; un accès à un espace de stockage comprenant une grammaire de description procédurale, dite ontologie de domaine ; 5 un module de saisie, comprenant des moyens de saisie et une interface graphique comprenant des moyens de visualisation de descriptions, ledit module de saisie étant configuré pour mettre en oeuvre ladite description physique de l'environnement et ladite ontologie de domaine pour produire au moins une description d'une procédure réelle ; 10 Selon une caractéristique particulière, le module de création de modèle procédural comprend : un accès à un espace de stockage comprenant une description physique de l'environnement dans lequel la procédure interventionnelle prend place ; un accès à un espace de stockage comprenant une grammaire de description 15 procédurale, dite ontologie de domaine ; un accès à un espace de stockage comprenant une pluralité de description de procédures réelles ; un module d'analyse configuré pour analyser, en fonction de ladite ontologie de domaine, chaque description de procédure réelle de pluralité de description de 20 procédures réelles, pour créer un modèle procédural matérialisant des conditions et des transitions entre des étapes de procédures. Selon une caractéristique particulière, le système de simulation comprend en outre : un module de simulation tel que décrit préalablement ; 25 un dispositif immersif, dit de réalité virtuelle, comprenant une salle immersive et/ou au moins un casque de réalité virtuelle. Selon un autre aspect, la technique décrite se rapporte également à un procédé de simulation d'une procédure interventionnelle au sein d'un environnement virtuel, ledit environnement virtuel étant mis en oeuvre par l'intermédiaire d'un dispositif de 30 traitement de données d'environnement virtuel. Un tel procédé de simulation comprend : 3029662 5 une étape d'obtention d'une structure de données représentative d'un ensemble d'objets dudit environnement virtuel, ledit ensemble d'objets étant défini à partir d'une ontologie descriptive ou d'un langage formel, ladite structure de données comprenant en sus au moins une relation d'interaction entre au moins deux objets 5 dudit ensemble d'objets ; une étape de réception d'au moins un scénario représentatif d'une procédure à simuler, ledit au moins un scénario étant obtenu à partir d'au moins un modèle procédural préalablement déterminé ; au moins une étape de restitution, au sein dudit environnement virtuel, d'au 10 moins une portion dudit scénario en fonction dudit ensemble d'objets dudit environnement virtuel, dudit au moins un modèle procédural et d'au moins une action réalisée par au moins un utilisateur réel dudit environnement virtuel. Selon une implémentation préférée, les différentes étapes des procédés selon l'invention sont mises en oeuvre par un ou plusieurs logiciels ou programmes 15 d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'un module relais selon l'invention et étant conçu pour commander l'exécution des différentes étapes des procédés. En conséquence, l'invention vise aussi un programme informatique, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme 20 comportant des instructions pour commander l'exécution des étapes d'un procédé tel que mentionné ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle 25 autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionnées ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, 30 tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc), un disque dur, un SSD, etc. 3029662 6 D'autre part, le support d'information peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. 5 Alternativement, le support d'information peut être un circuit intégré (type ASIC ou FPGA) dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Selon un mode de réalisation, l'invention est mise en oeuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut 10 correspondre dans ce document aussi bien à un composant logiciel, qu'a un composant matériel ou à un ensemble de composants matériels et logiciels. Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en oeuvre une fonction ou un 15 ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, routeur, etc.) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.). 20 De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte 25 électronique pour l'exécution d'un micrologiciel (firmware), etc. 4. Dessins D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : 30 - la figure 1 présente les principales étapes de la technique proposée ; - La figure 2 représente schématiquement un système de simulation ; 3029662 7 - La figure 3 représente schématiquement un dispositif mis en oeuvre pour obtenir une simulation de scénario. 5. Description 5.1. Principe général 5 Comme explicité, la technique a pour objectif la formation de personnels dans un environnement virtuel reproduisant des conditions réelles d'intervention. L'invention se rapporte plus spécifiquement à un procédé de simulation d'une procédure interventionnelle au sein d'un environnement virtuel, ledit environnement virtuel étant mis en oeuvre par l'intermédiaire d'un dispositif de traitement de données 10 d'environnement virtuel (SYST). Un tel procédé comprend. : une étape d'obtention (10) d'une structure de données représentative (SDREO) d'un ensemble d'objets (EO) dudit environnement virtuel (EV), ladite structure de données comprenant au moins une relation d'interaction entre au moins deux 15 objets dudit ensemble d'objets ; une étape de réception (20) d'au moins un scénario (S) représentatif d'une procédure à simuler ledit scénario (S) étant défini à partir d'une ontologie descriptive, ledit au moins un scénario (S) étant obtenu à partir d'au moins un modèle procédural (MP) préalablement déterminé ; 20 au moins une étape de restitution (30), au sein dudit environnement virtuel (EV), d'au moins une portion dudit scénario (S) en fonction dudit ensemble d'objets dudit environnement virtuel et d'au moins une action (Ac) réalisée par au moins un utilisateur (Usr) réel dudit environnement virtuel (EV). Un système correspondant à une mise en oeuvre de la technique est décrit en 25 relation avec la figure 2. Un tel système (SYST) comprend, dans un mode de réalisation : un module de description (DESCR) d'environnement. Ce module permet de décrire des procédures, unitaires, qui sont effectivement mises en oeuvre. Ce module peut s'appeler également s'appeler module de description procédural/évènementiel ; 30 ce module prend en entrée une ou plusieurs descriptions de l'environnement réel à modéliser. Il se base sur d'une part une description physique initiale, comprenant un certain nombre de descriptions d'objets de l'environnement 3029662 8 virtuel et une grammaire de description procédurale, également appelée ontologie ; Le module de description prend également en entrée une ontologie de domaine Il produit, en sortie, une description d'une ou plusieurs procédures réelles ou idéales, appelées procédures décrites (PrDecs). Ainsi, le module de 5 description (DESCR) comprend : un accès à un espace de stockage comprenant une description physique d'un environnement dans lequel une procédure à décrire prend place ; un accès à un espace de stockage comprenant une grammaire de description procédurale, dite ontologie de domaine ; 10 un module de saisie, comprenant des moyens de saisie et une interface graphique comprenant des moyens de visualisation de descriptions, ledit module de saisie étant configuré pour mettre en oeuvre ladite description physique de l'environnement et ladite ontologie de domaine pour produire au moins une description d'une procédure réelle ; 15 Les espaces de stockage sont éventuellement partagés ou commun avec les autres modules. un module de création (MODP) de modèle procédural. Ce module utilise une ou plusieurs descriptions de procédures réelles ou idéales; il délivre un modèle procédural matérialisant des conditions et des transitions entre des étapes de 20 procédures; ce modèle dépend de l'ontologie ; le module de création de modèle procédural comprend ainsi : un accès à un espace de stockage comprenant une description physique de l'environnement dans lequel la procédure interventionnelle prend place ; un accès à un espace de stockage comprenant une pluralité de descriptions 25 de procédures réelles ; un module d'analyse configuré pour analyser, en fonction de ladite ontologie de domaine, chaque description de procédure réelle de pluralité de description de procédures réelles, pour créer un modèle procédural (MP) matérialisant des conditions et des transitions entre des étapes de 30 procédures. De manière complémentaire, un tel système (SYST) comprend en outre : 3029662 9 un module de simulation (SIMU) mettant en oeuvre le procédé décrit préalablement ; un système immersif (IMER), dit de réalité virtuelle, comprenant par exemple une salle immersive et/ou des casques de réalité virtuelle et/ou d'autres dispositifs 5 d'immersion ; ce système immersif (IMER) est piloté par un moteur (ENG) de réalité virtuelle. Un tel moteur gère l'affichage immersif (à l'aide des dispositifs précités) et les actions des utilisateurs ; il prend en entrée le modèle physique de l'environnement virtuel ainsi que les sorties produites par le module de simulation. 10 Un scénario d'intervention (ou de formation) se base typiquement sur un modèle procédural ou un sous ensemble du modèle procédural et il comprend l'exécution d'une série d'étapes qui doivent être mises en oeuvre par un utilisateur (qu'il soit réel ou virtuel) dans la cadre de la simulation de la procédure interventionnelle (procédure de travail, procédure d'intervention en milieu spécifique, procédure chirurgicale, etc.). 15 La technique proposée se rapporte également à divers procédés utilisés dans les dispositifs précités. La première phase de la méthode est une phase descriptive dans laquelle une ou plusieurs descriptions de procédures sont réalisées. La deuxième phase de la méthode est une phase analytique dans laquelle les descriptions sont analysées. Ainsi, dans un mode de réalisation, la technique consiste à créer et à fournir au 20 moteur de réalité virtuelle, des tâches élémentaires représentatives d'actions cohérentes et réalistes, réunies dans le modèle procédural. Ces tâches élémentaires permettent par la suite de réaliser, au sein d'un environnement virtuel, une simulation d'une situation réelle ou à tout le moins réaliste à l'aide d'un scénario préétabli et de comprendre ou de suivre le scénario suivi par l'acteur ou les acteurs réels. L'objectif du système étant de 25 permettre à des utilisateurs réels de se former, dans un environnement virtuel, à diverses situations pouvant se dérouler au sein d'un environnement réel donné. Le système de la présente technique trouve par exemple une application dans la formation d'équipe intervenant dans un milieu confiné et contrôlé telle que des équipes d'intervention dans des sites sensibles (centrale nucléaire, usine de traitement chimique). Ce système trouve 30 également une application pour des équipes chirurgicales afin que celles-ci puissent se former à des procédures d'intervention sur des patients. Ce système trouve également 3029662 10 une application pour la formation de personnels de sécurité et ou de personnels d'intervention technique ou de maintenance (garagiste, électriciens, etc.) Les tâches élémentaires sont fournies parallèlement aux modèles physiques de l'environnement virtuel. Plus spécifiquement, les modèles physiques de l'environnement 5 virtuels sont notamment gérés par un moteur de physique dont l'objectif est de représenter les objets physiques de l'environnement virtuel et leurs interactions. De ce point de vue, le moteur de réalité virtuelle et le moteur de physique diffèrent peu d'un moteur applicatif et d'un moteur de physique d'une application grand public. Les tâches élémentaires, quant à elles, représentent les interactions entre des 10 individus ou entre les individus et les objets, qu'ils soient réels ou virtuels. Une tâche élémentaire peut par exemple représenter un type d'action produit par un utilisateur réel et la réaction d'un utilisateur virtuel. Inversement, une tâche élémentaire peut représenter un type d'action produit par un utilisateur virtuel et la réaction (attendue) d'un utilisateur réel. Une tâche élémentaire peut encore représenter un type d'action 15 produit par un utilisateur virtuel et la réaction d'un utilisateur virtuel. Une tâche élémentaire peut encore représenter un type d'action produit par un utilisateur réel et la réaction d'un ou plusieurs objets virtuels. Les tâches élémentaires sont organisées dans un ensemble cohérent de tâches élémentaires, représentant un ensemble d'actions et d'interactions possibles. L'objectif 20 est de disposer d'une représentation ensembliste des différentes tâches élémentaires et de leurs enchainements afin que le moteur de réalité virtuelle puisse, sur la base d'une action (correspondant à une tâche élémentaire donnée) calculer des réactions correspondantes. Pour une tâche élémentaire donnée, il peut exister plusieurs réactions possibles. Dans ce cas, les réactions sont en quelques sortes pondérées en fonction 25 d'observations ultérieures ou antérieures. En fonction des modes de réalisation, des méthodes de sélection probabilistes, statistiques ou pseudo aléatoires peuvent être mises en oeuvre pour gérer les enchainements des actions et réactions sur la base des tâches élémentaires et de leurs enchainements. En d'autres termes, l'ensemble cohérent de tâches élémentaires représente le champ des possibles. 30 Le modèle procédural est organisé au sein d'une structure de données. La structure de données comprend plusieurs types d'éléments, dont des types d'éléments « tâches élémentaires ». Les types d'éléments tâches élémentaires comprennent au 3029662 11 moins les données suivantes : donnée représentative de l'action, donnée représentative de l'objet de l'action, donnée représentative d'une réaction et donnée représentative d'une ou plusieurs tâches élémentaires suivantes, éventuellement pondérées en fonction de la probabilité d'occurrence de ces tâches élémentaires suivantes. 5 Bien entendu, ce modèle procédural est plus ou moins corrélé au monde virtuel lui-même, et donc à l'ensemble des objets virtuels composant ce monde. Le degré de corrélation de l'ensemble de tâches élémentaires dépend du nombre de tâches élémentaires impliquant la mise en oeuvre d'un objet du monde virtuel, et donc de la description du monde virtuel lui-même. Le modèle procédural est fortement corrélé au 10 monde virtuel lorsque le nombre de tâches élémentaires ayant une influence sur un ou plusieurs objets du monde virtuel est important. Le modèle procédural est faiblement corrélé au monde virtuel lorsque le nombre de tâches élémentaires ayant une influence sur un ou plusieurs objets du monde virtuel est faible. Comme on pourra le noter par la suite, cette distinction est relativement importante en termes de définition du modèle 15 procédural. Les simulations impliquant peu d'interaction avec l'environnement sont plus simple à mettre en oeuvre que les simulations impliquant de nombreuses interactions avec l'environnement. Comme le moteur de réalité virtuelle utilise ce modèle procédural, i I est nécessaire de disposer d'une méthode de création de ce modèle procédural. 20 Ainsi, le système de l'invention dispose d'un module de création d'ensembles de tâches élémentaires. Ce module utilise une ou plusieurs descriptions de l'environnement réel à modéliser. Ce module de création de l'ensemble des tâches élémentaires est décrit de manière plus détaillée par la suite. Les descriptions de l'environnement sont réalisées par l'intermédiaire d'un 25 module de description adapté. Ce module de description comprend un module de saisie, comprenant des moyens de saisie et une interface graphique comprenant des moyens de visualisation de descriptions. Un tel module de description prend par exemple la forme d'une application dédiée, installée par exemple sur une tablette ou sur un ordinateur portable, pour permettre de saisir la description de l'environnement. 30 Une description de l'environnement, d'une manière générale, est de deux types différents : une description physique, comprenant par exemple une description des éléments composant l'environnement physique et une description procédurale (ou 3029662 12 évènementielle), comprenant la description de la manière dont les utilisateurs interagissent avec l'environnement pour réaliser une ou plusieurs tâches données. Le module de création du modèle procédural utilise, comme entrée, une description procédurale de l'environnement. Dans le cadre de l'invention, cette description 5 procédurale se base sur une description physique préalablement réalisée et intégrée au sein du module de description. Outre une description physique de l'environnement, le module de description prend également en entrée une grammaire de description procédurale. Cette grammaire de description procédurale permet de définir un référentiel de description adaptée. Cette 10 grammaire peut également être appelée ontologie. Elle définit les bases de la description, à savoir un langage de description commun pouvant être utilisé pour décrire la manière dont les procédures sont réellement mise en oeuvre ou la manière dont les évènements s'enchainent. Il s'agit d'axiomes que l'on considère vrai pour décrire tel ou tel évènement ou telle ou telle procédure. L'ontologie, bien entendu, est adaptée aux procédures ou aux 15 évènements que l'on souhaite décrire. Dans le cas d'une description d'une procédure de remplacement d'une pièce sur un véhicule, l'ontologie permet de définir le langage pour décrire la procédure de remplacement et elle se base sur une description physique d'un ensemble ou d'un sous ensemble de pièces d'un moteur. Elle inclut les concepts (les termes), leurs attributs, les relations entre concepts et des règles logiques du domaine. Le 20 module de description, au travers du module de saisie, permet de décrire les différentes étapes nécessaires au remplacement de la pièce à l'aide de l'ontologie préalablement définie, comme par exemple : ôter la pompe à eau à l'aide d'une clé de 12 ; faire tourner le volant moteur à l'aide de la main ; bloquer le volant moteur dans une position de blocage à l'aide d'un dispositif de blocage ; ôter la courroie de distribution à la main ; 25 poser une nouvelle courroie de distribution ; monter une nouvelle pompe à eau ; monter la courroie sur la nouvelle pompe à eau ; débloquer le volant moteur. La procédure de remplacement d'une courroie de distribution est ainsi décrite, en termes procéduraux, en se basant sur une description physique (les éléments du moteur, les outils nécessaires) et sur une grammaire (ôter, faire tourner, bloquer, monter, débloquer, à l'aide de, ...). Le cas 30 illustré ci-dessus est un cas simple. Un cas plus complexe est décrit dans le mode de réalisation. 3029662 13 Quel que soit le moyen utilisé, le module de création du modèle procédural comprend en entrée un ensemble d'enregistrements descriptifs réalisés avec le module d'enregistrement. Le module de création du modèle procédural, sur la base des enregistrements descriptifs, détermine des tâches élémentaires pour mettre en oeuvre 5 des procédures réelles ou réalistes. Pour ce faire, le module de création de l'ensemble des tâches élémentaires se base sur les descriptions pour identifier les phases, étapes, sous étapes nécessaires à la mise en oeuvre des procédures. Il procède par analyse itérative et classement des enregistrements. De manière complémentaire, il détermine, dans le modèle procédural 10 produit, des enchainements d'étapes et de sous étapes possibles, correspondants à des procédures non nécessairement enregistrées, mais des procédures « réalistes ». Cela peut correspondre par exemple à un enchainement d'étapes pour effectuer une procédure, cet enchainement ne correspondant pas à un enchainement enregistré dans une des descriptions. Ainsi, c'est sur la base de ce modèle procédural que des scénarios 15 d'intervention peuvent être construits. Ils correspondent à la mise en oeuvre d'un sous- ensemble de modèle procédural pour atteindre un résultat donné. Ainsi, pour reprendre l'exemple précédent, le remplacement de la courroie de distribution peut ne pas comprendre le blocage du volant moteur ou encore comprendre le blocage du volant moteur au début de l'opération (avant tout démontage). Si plusieurs 20 enregistrements différents de la procédure de démontage de la courroie de distribution ont été réalisés, alors le module de création de l'ensemble des tâches élémentaires peut, pour un scénario descriptif « remplacement de courroie de distribution », indiquer que (a) l'étape de blocage du volant moteur est optionnelle ; et (b) qu'elle peut avoir lieu après le démontage de la pompe à eau. 25 5.2. Description d'un mode de réalisation Dans ce mode de réalisation, le système de l'invention est mis en oeuvre pour réaliser des simulations d'interventions chirurgicales. Plus particulièrement, dans ce mode de réalisation, on cherche à simuler l'interaction entre différents membres d'une équipe d'intervention chirurgicale à des fins de formation. Il est ainsi possible de former 30 des équipes d'infirmiers à une intervention spécifique réalisée par un chirurgien virtuel. Il est également possible de former un chirurgien à la pratique d'une intervention spécifique qu'il n'a pas encore eu l'occasion de pratiquer (seul). Dans ce mode de 3029662 14 réalisation on se propose d'automatiser la production de scénarios de formation virtuelle (« virtual training ») et faciliter leur exploitation en Réalité Virtuelle, dans des domaines où les scénarios sont complexes et variables et doivent néanmoins être réalistes. Il inclut l'utilisation d'un corpus d'exemples de procédures réelles, décrites selon 5 un modèle de description conforme à une ontologie de domaine. Un scénario est donc une description de procédure pouvant décrire des processus à différents niveaux de granularité (typiquement « procédure complète », « phase », « étape de procédure », « action élémentaire »). Par exemple, pour chaque action élémentaire le modèle permet de spécifier le type d'action réalisée (par exemple, inciser), 10 l'objet sur lequel elle porte (par exemple, la peau du patient), l'instrument utilisé (par exemple, un bistouri), l'acteur qui intervient, et si c'est un acteur humain de préciser la partie du corps mise en jeu, par exemple, la main droite du chirurgien. Ces actions étant repérées dans le temps et dans l'espace, ces modèles permettent de décrire tout le déroulement de la procédure. 15 La première phase de la méthode est une phase descriptive dans laquelle une ou plusieurs descriptions de procédures chirurgicales sont réalisées. Les descriptions de procédures chirurgicales se basent sur une ontologie en tant que langage de description. Ces descriptions peuvent être réalisés par observations, par interviews, à partir de compte rendus post opératoires ou automatiquement. Par observation, un opérateur 20 observe ce que réalise l'acteur et décrit sa compréhension du scénario. Cette observation peut être réalisée pendant la procédure chirurgicale ou en différé, à partir d'enregistrements vidéo de la procédure. Par interviews, l'acteur ou un groupe d'acteurs (humain, dans ce cas) explique ce qu'il fait généralement et l'interviewer enregistre cette description sur un dispositif adapté qui permet de retranscrire la description faite à l'aide 25 de l'ontologie préalablement définie. Les descriptions peuvent aussi être générées de façon automatique par l'utilisation de senseurs d'action, d'acteurs, d'instruments ou d'autres effecteurs. L'interprétation des signaux de senseurs génèrent une description de la procédure. Les descriptions peuvent concerner la vision pré opératoire de la procédure (ce que l'on pense réaliser), la vision intra opératoire (ce que l'on réalise) ou la vision post 30 opératoire (ce que l'on a réalisé). On peut aussi décrire ce que l'on aurait dû réaliser (procédure idéale). La deuxième phase de la méthode est une phase analytique dans laquelle les 3029662 15 descriptions sont analysées. Le corpus de description (correspondant à une unique procédure théorique) est analysé pour créer un modèle générique, et génératif capable de générer de nouveaux exemples fictifs, reproduisant les schémas observés dans les exemples réels. Il s'agit, par exemple, d'une méthode Test&Flip. Les réseaux de type 5 Test&Flip sont une restriction des réseaux de Pétri dans l'ensemble des booléens. Cela permet de s'affranchir des processus ou une action est suivie par une autre un certain nombre de fois variant d'un exemple à l'autre. Il y a six types de transitions possible entre un état (place) et une transition (évènement) : la transition orthogonale (on ne fait rien), la transition flip (quel que soit l'état de la place, 0 ou 1, on complémente l'état), la 10 transition plus (si la place est à zéro, on complémente), la transition moins (si la place est à 1, on complémente), la transition 0 (on teste si l'état est à 0, mais on fait rien) et la transition 1 (on teste si l'état est à 1 mais on fait rien). À partir d'exemples du processus qui nous intéresse, le principe de la synthèse est de trouver le réseau Test&Flip qui représente le plus petit langage dans lequel est inclus le langage représenté par les 15 exemples fournis en entrée. C'est-à-dire trouver un ensemble de places et de transitions représentant au mieux notre processus. C'est cela qui induit la généralisation, car lorsqu'il n'est pas possible de résoudre le problème directement, on ajoute des états dans l'ensemble de processus de départ, ce qui revient à augmenter le langage. Ce modèle comprend un certain nombre de phases, d'étapes et de sous étapes qui 20 correspondent à une procédure possible, éventuellement avec des boucles de rétroaction et des étapes complémentaires (en fonction de la quantité d'enregistrements descriptifs utilisés et des divergences entre les enregistrements). Par exemple, sur la base d'un ensemble de descriptions d'une procédure de greffe de cornée, un modèle générique de greffe de cornée est créé. 25 Pour cette deuxième phase de la méthode générale, on modifie ainsi une méthode Test&Flip de base pour prendre en compte des connaissances de domaine particulières, représentées dans l'ontologie. En effet, l'information exploitée par l'algorithme Test&Flip de départ ne considère que des entités associées à des instances et identifiées par de simples labels d'entités. 30 La modification proposée, qui exploite l'ontologie, permet d'insérer (puis d'utiliser) des données complémentaires au sein d'un modèle générique : par exemple le fait qu'une classe d'action ne puisse être réalisée que par certaines classes d'acteurs ou 3029662 16 encore que certaines actions élémentaires supposent qu'une action élémentaire d'un certain type ait été réalisée au préalable, ou que certaines actions nécessitent l'usage d'instruments particuliers, etc. On exploite également le fait que les instances sont reliées à des classes de l'ontologie, elles-mêmes situées dans une taxonomie complète, 5 organisée grâce à des axiomes exprimés dans un langage logique. De ce fait les entités associées aux instances ne sont plus de simples labels mais véhiculent une sémantique riche, spécifique du domaine considéré. Ainsi, le modèle procédural obtenu porte une signification des actions qui le composent. Par ailleurs, un tel modèle procédural permet de gérer des aspects hiérarchiques et des aspects multi acteurs, notamment en associant, 10 pour une action ou une classe d'action donnée, une classe d'acteur ou un acteur particulier. L'ontologie peut être formalisée dans un langage de représentation de connaissances appartenant à la famille des Logiques de Description (DL ou « Description Logics »), qui constitue un fragment décidable de la logique du premier ordre. Elle peut 15 être exprimée en utilisant le langage OWL (« Ontology Web Language »), un langage qui facilite le partage des ontologies sur le web. Cette extension des possibilités du Test&Flip, selon l'invention, permet ainsi de contraindre davantage l'espace des scénarios possibles et donc simplifier le travail (réalisé manuellement ou non) de validation du caractère réaliste des modèles proposés. 20 En d'autres termes, le procédé d'exploitation dans le système de « Réalité Virtuelle » d'un scénario sous la forme d'une formation virtuelle est fondé : d'une part, sur une représentation, dans un environnement virtuel, des éléments appartenant aux classes de l'ontologie. Cette étape exprime sous la forme d'objets virtuels tridimensionnels et de relations d'interaction entre ces objets, les actions 25 élémentaires du modèle de scénario (par exemple les objets, les instruments, les acteurs). d'autre part, le scénario (produit par l'extension du Test&Flip) est exploité directement comme outil de contrôle de la simulation interactive permettant de placer un ou plusieurs utilisateurs réels ou virtuels en situation de formation 30 virtuelle collaborative. Le procédé peut aussi comprendre une étape de création d'un scénario choisi à partir du modèle procédural. En mode contraint, ce scénario sera suivi par l'acteur 3029662 17 ou les acteurs virtuels. En mode libre, l'acteur réel peut réaliser tout action et tout scénario librement ; les acteurs virtuels réagissent en fonction et en cohérence avec le modèle procédural. Le procédé permet ainsi l'exécution de l'ensemble en établissant une chaîne qui, à 5 partir d'une interaction 3D de l'acteur, déclenche l'avancement du processus du domaine par un changement d'état du moteur de scénario qui à son tour déclenche la réalisation virtuelle de l'action dans l'environnement 3D. Le changement d'état du moteur de scénario est effectif quand l'action de l'utilisateur réel est valide c'est à dire qu'elle est représentée par une transition contenue dans l'espace des scénarios possibles. En cas 10 d'action non valide, un traitement spécifique peut être intégré selon les exigences du domaine. 5.3. Autres caractéristiques et avantages On décrit, en relation avec la figure 3, un dispositif mis en oeuvre pour obtenir une simulation de scénario, selon le procédé décrit préalablement. Un tel dispositif peut se 15 présenter sous la forme d'un module tel que décrit préalablement. Par exemple, le dispositif comprend une mémoire 31 constituée d'une mémoire tampon, une unité de traitement 32, équipée par exemple d'un microprocesseur, et pilotée par le programme d'ordinateur 33, mettant en oeuvre un procédé de simulation. À l'initialisation, les instructions de code du programme d'ordinateur 33 sont par 20 exemple chargées dans une mémoire avant d'être exécutées par le processeur de l'unité de traitement 32. L'unité de traitement 32 reçoit en entrée une description de l'environnement virtuel, un modèle procédural et/ou un scénario. Le microprocesseur de l'unité de traitement 32 met en oeuvre les étapes du procédé selon les instructions du programme d'ordinateur 33 pour générer des données représentatives des actions 25 réaliser ou à réaliser par des utilisateurs réels ou virtuels de la simulation afin de conduire le scénario ou l'intervention prévue. Pour cela, le dispositif comprend, outre la mémoire tampon 31, des moyens de communications, tels que des modules de communication réseau, des moyens de transmission de donnée et éventuellement un processeur de chiffrement. 30 Ces moyens peuvent se présenter sous la forme d'un processeur particulier implémenté au sein du dispositif, ledit processeur étant un processeur sécurisé. Selon un 3029662 18 mode de réalisation particulier, ce dispositif met en oeuvre une application particulière qui est en charge des calculs. Ces moyens se présentent également comme des interfaces de communications permettant d'échanger des données sur des réseaux de communication, des moyens 5 d'interrogations et de mise à jour de base de données,... Plus particulièrement, un tel dispositif comprend : un module configuré pour obtenir (10) une structure de données représentative (SDRE0) d'un ensemble d'objets (EO) dudit environnement virtuel (EV), ladite structure de données comprenant en sus au moins une relation d'interaction 10 entre au moins deux objets dudit ensemble d'objets ; un module configuré pour recevoir (20) au moins un scénario (S) représentatif d'une procédure à simuler, ledit scénario (S) étant défini à partir d'une ontologie descriptive, ledit au moins un scénario étant obtenu à partir d'au moins un modèle procédural (MP) préalablement déterminé ; 15 un module configuré pour restituer (30), au sein dudit environnement virtuel (EV), au moins une portion dudit scénario en fonction dudit ensemble d'objets dudit environnement virtuel, dudit au moins un modèle procédural et d'au moins une action réalisée par au moins un utilisateur réel dudit environnement virtuel. le module de restitution (30) est piloté par un moteur (31) de réalité virtuelle. Un 20 tel moteur gère l'affichage immersif (à l'aide des dispositifs précités) et les actions des utilisateurs ; il prend en entrée le modèle physique de l'environnement virtuel ainsi qu'un modèle procédural et/ou un scénario. Le système comprend en outre des dispositifs d'interaction (capteurs, caméras, ...) et de restitution sensorielle (générateurs d'mages, écran, carte son, hauts parleurs, ...) 25 REVENDICATIONS1. Module de simulation d'une procédure interventionnelle au sein d'un environnement virtuel, ledit environnement virtuel étant mis en oeuvre par l'intermédiaire d'un dispositif de traitement de données d'environnement virtuel (IMER), ledit module de simulation caractérisé en ce qu'il comprend : - un module configuré pour obtenir (10) une structure de données représentative (SDREo) d'un ensemble d'objets (EO) dudit environnement virtuel (EV), ladite structure de données comprenant en sus au moins une relation d'interaction entre au moins deux objets dudit ensemble d'objets ; un module configuré pour recevoir (20) au moins un scénario (S) représentatif d'une procédure à simuler, ledit scénario (S) étant défini à partir d'une ontologie descriptive, ledit au moins un scénario étant obtenu à partir d'au moins un modèle procédural (MP) préalablement déterminé ; un module configuré pour restituer (30), au sein dudit environnement virtuel (EV), au moins une portion dudit scénario en fonction dudit ensemble d'objets dudit environnement virtuel, dudit au moins un modèle procédural et d'au moins une action réalisée par au moins un utilisateur réel dudit environnement virtuel. 2. Système de simulation d'une procédure interventionnelle au sein d'un environnement virtuel, ledit environnement virtuel, étant mis en oeuvre par l'intermédiaire d'un dispositif de traitement de données d'environnement virtuel, ledit système caractérisé en ce qu'il comprend : - un module de description (DESCR) d'environnement, configuré pour délivrer au moins une description d'une procédure réelle (PrDecs) dans l'environnement réel en fonction d'au moins une ontologie de domaine ; - un module de création (MODP) de modèle procédural, configurer pour créer, en fonction d'au moins une description de l'environnement réel à modéliser et délivrant un modèle procédural (MP) matérialisant des conditions et des transitions entre des étapes de procédures. 3029662 2 3. Système de simulation d'une procédure interventionnelle selon la revendication 2, caractérisé en ce que ledit module de description (DESCR) d'environnement procédural comprend : - un accès à un espace de stockage comprenant une description physique d'un 5 environnement dans lequel une procédure à décrire prend place ; - un accès à un espace de stockage comprenant une grammaire de description procédurale, dite ontologie de domaine ; - un module de saisie, comprenant des moyens de saisie et une interface graphique comprenant des moyens de visualisation de descriptions, ledit module de saisie 10 étant configuré pour mettre en oeuvre ladite description physique de l'environnement et ladite ontologie de domaine pour produire au moins une description d'une procédure réelle ; 4. Système de simulation d'une procédure interventionnelle selon la revendication 2, 15 caractérisé en ce que le module de création (MODP) de modèle procédural comprend : - un accès à un espace de stockage comprenant une description physique de l'environnement dans lequel la procédure interventionnelle prend place ; - un accès à un espace de stockage comprenant une grammaire de description 20 procédurale, dite ontologie de domaine ; - un accès à un espace de stockage comprenant une pluralité de description de procédures réelles ; - un module d'analyse configuré pour analyser, en fonction de ladite ontologie de domaine, chaque description de procédure réelle de pluralité de description de 25 procédures réelles, pour créer un modèle procédural (MP) matérialisant des conditions et des transitions entre des étapes de procédures. 5. Système de simulation d'une procédure interventionnelle au sein d'un environnement virtuel, selon la revendication 2, caractérisé en ce qu'il comprend 30 en outre : - un module de simulation (SIMU) selon la revendication 1; 3029662 3 - un dispositif immersif (IMER), dit de réalité virtuelle, comprenant une salle immersive et/ou au moins un casque de réalité virtuelle. 6. Procédé de simulation d'une procédure interventionnelle au sein d'un 5 environnement virtuel, ledit environnement virtuel étant mis en oeuvre par l'intermédiaire d'un dispositif de traitement de données d'environnement virtuel, ledit procédé de simulation caractérisé en ce qu'il comprend : - une étape d'obtention (10) d'une structure de données représentative (SDREO) d'un ensemble d'objets (60) dudit environnement virtuel (EV), ledit ensemble 10 d'objets étant défini à partir d'une ontologie descriptive ou d'un langage formel, ladite structure de données comprenant en sus au moins une relation d'interaction entre au moins deux objets dudit ensemble d'objets ; une étape de réception (20) d'au moins un scénario (S) représentatif d'une procédure à simuler, ledit au moins un scénario étant obtenu à partir d'au moins 15 un modèle procédural (MP) préalablement déterminé ; - au moins une étape de restitution (30), au sein dudit environnement virtuel (EV), d'au moins une portion dudit scénario en fonction dudit ensemble d'objets dudit environnement virtuel, dudit au moins un modèle procédural et d'au moins une action réalisée par au moins un utilisateur réel dudit environnement virtuel. 20 7. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des 25 instructions de code de programme pour l'exécution d'un procédé de simulation selon la revendication 1, lorsqu'il est exécuté par un processeur.