0..ITECTr E LOGICIELLE JR UN SYS. LI 2 DE NAVIGATIO 1 VIRTUELLE EN TEMPS ,EEL CO-MAINE TECHNIQUE DE L'INVENTION [0001] L'invention se rapporte au domaine de la maquette numérique pour la construction, plus particulièrement l'invention concerne le développement d'une architecture logicielle pour un système de navigation virtuelle réaliste et en temps réel dans des bâtiments, avec rendus sonores et restitution d'éclairage très précis et scientifiquement valides.
ETAT DE LA TECHNIQUE ANTI IEURE (000 Depuis des années, on sait fabriquer des maquettes numériques au format IFC. La maquette numérique est une représentation géométrique (ge::né:ilernent en 3 Dimension) et sémantique (attributs, propriétés) d'un produit au sens large (bâtiment, infrastructure ou ouvrage d'art, quartier...) qui, associée à un environnement logiciel et matériel, permet de naviguer et interagir avec ses données, pour concevoir ce produit, simuler son comportement physique et pour communiquer auprès d'acteurs directs ou indirects. '1003] Les IFCs (Indusery Foundation Classes) constituent le standard d'échange et d'archivage de données techniques d'une maquette numérique de construction.
Ce standard remplace les formats d'échanges géométriques et propriétaires par un format objet riche et pérenne permett7nt d'identifier parfaitement tous les éléments de la construction (site, bâtiment, étage, mur, poutre...) et d'associer les propriétés technologiques (matériaux, caractéristiques thermiques, acoustiques...) indispensables aux simulations. [0004] On conneît un logiciel couramment appelé « eveBIM », développé par le « CSTB », qui permet une visualisation de référence d'une maquette numérique au format IFC. Il permet, à l'ensemble des acteu.-3, de se retrouver autour d'une vision commune de la maquette numérique. L'objectif d'eveBlM est d'offrir un outil ouvert et public à l'ensemble des acteurs pour comprendre les modèles iFC échangés, dans la phase d'utilisation opérationnelle d'une maquette numérique, mais aussi de permettre aux éditeurs de logiciels, lors de la phase de mise au point des interfaces IFC, d'avoir une vue de référence pour comprendre les modles IFC qu'ils doivent importer dans leurs logiciel ou bien valider les fichiers IFC qu'ils génèrent. [1 0 T Par ailleurs, le CSTB a créé « IFC-SDK » qui est une boîte à outil, à l'intention des éditeurs de logiciels, des experts ou des entreprises (qui disposent de ressources de développement logiciel), permettant d'accéder en lecture et en écriture, par programmation, à une maquette numérique IFC. [000__ L'objectif de la présente invention est de mettre les technologies de la réalité virtuelle à disposition du secteur de la construction, et de sensibiliser le grand public à ces usages. Il s'agit de mettre en place un système immersif, consistant à développer des outils logiciels pour simuler la visite de l'intérieur d'un bâtiment en temps réel, en rendus physiques acoustiques et lumineux. L'outil doit permettre de visualiser et d'interagir avec une maquette tridimensionnelle, 3D, de bâtiments, afin de faciliter les prises de décisions, sans être obliger d'attendre la construction. Au cours d'une visite virtuelle, il sera possible à l'utilisateur, par exemple, de changer les élémeits constituant l'ouvrage, et d'en voir les conséquences immédiates. Les utilisateurs de l'outil doivent en outre ressentir les mêmes types de sensations (la vue, l'ouïe et si possible le toucher) que lors d'une visite réelle. [0007:Des techniques existantes permettent de créer des maquettes virtuelles de bâtiments et de naviguer en temps réel à l'intérieur. Toutefois, le développement de ces maquettes est un processus long et coûteux, utilisé par des experts spécialisés, comme des infographistes. En outre, les rendus d'images et de sons sont des approximations, en général issues de techniques de jeux vidéo. EXPOSE DE L'ilVEL LION [0008] L'invention a pour but de remédier à des inconvénients de l'état de la technique et vise à développer une architecture logicielle pour des navigations virtuelles très réalistes, en temps réel, et à l'échelle 1 dans des liâtiments, avec rendus sonores et restitution d'éclairage très précis et scientifiquement valides. [0009]L'invention concerne plus particulièrement une architecture logicielle pour un système de navigation virtuelle réaliste et en temps réel dans des bâtiments caractérisé par le fait qu'il comprend un logiciel de visualisation de maquettes numériques au format IFC, un moteur de calcul acoustique, permettant le calcul et le rendu acoustique desdites maquettes numériques, un moteur de calcul d'éclairage, permettant le calcul et le reneai de l'éclairage, un module de visualisation « Callisto », permettant le chargement de maquettes de rendu, la configuration et l'exécution du moteur de calcul acoustique, la configuralon, l'intégration et l'exécution du moteur de calcul d'éclairage, la création et la visualisation de scénarios de navigation en temps réel, un module de gestion de périphériques VRPN, permettant l'interaction en temps réel desdits périphériques avec lesdits scénarios de navigation virtuelle. [00't Plus particulièrement, l'architecture logicielle comprend une table de matériaux contenant un ensemble de données sur différents matériaux, les données étant placées dans des onglets spécifiques utilisables par lesdits moteurs de calcul, ladite table pouvant être transformée en un fichier XML, via une macro, afin d'être intégrée dans le logiciel de visualisation IFC. [0011] De façon avantageuse, le logiciel de visualisation IFC comprend une fonction permettant l'association des objets IFC avec les identifiants des matériaux issus de la table de matériaux, ladite fonction d'association comprend ainsi une 111M de présentation de ladite table, telle qu'importée dans le logiciel de visualisation IFC. [0012] Plus particulièrement, le logiciel de visualisation IFC comprend des fonctions d'exportations de données vers le moteur de calcul acoustique, le moteur de calcul d'éclairage, lesdites données étant nécessaires aux calculs de simulation en temps réel desdits moteurs de calcul. [0013] Conformément à l'invention, le module de visualisation comprend une I Mauralie permettant le pilotage du module acoustique par l'intermédiaire d'une librairie de fonctions de configuration et d'exécution en temps réel dudit moteur de calcul acoustique. [001 Conformément à l'invention, le module de visualisation comprend une IHMphanie permettant le pilotage du moteur d'éclairage par l'intermédiaire d'une librairie de fonctions de configuration et d'exécution en temps réel dudit moteur de calcul d'éclairage. [0015] De façon avantageuse, l'architecture logicielle comprend en outre un module de gestion de périphérique VRPN permettant la connexion de périphériques afin d'interagir en temps réel sur des scènes virtuelles, ledit module de gestion de périphérique pouvant être installé sur un PC distant. [0016] Avantageusement, le module de visualisation comprend un client de métaphores d'interaction permettant d'interegir avec les scènes virtuelles, par l'intermédiaire de périphériques reliés au module de gestion de périphérique VRPN. [0017] Avantageusement, le module de visualisation comprend en outre un module d'affichage multi projecteurs. [C-f _Plus particulièrement, ladite architecture logicielle est utilisée pour une synchronisation inter salles, afin de connecter deux ou plusieurs salles pour des navigations en temps réel, interactives et simultanée dans des scènes tridimensionnelles. [0019]'autres caractéristiques, détails et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - La figure 1 illustre les éléments de l'architecture logicielle ; - La figure 2 illustre une interface spécifique pour des simulations acoustiques ; - La figure 3 illustre une interface spécifique pour des simulations d'éclairage ; et - La figure 4 montre l'interface du module de visualisation avec un dispositif d'affichage multi projecteurs et avec des périphériques d'interaction avec les scènes virtuelles. 2 9942 98 [002 La figure 1 montre le schéma de principe général de l'architecture logicielle 100. Selon un mode de réalisation de l'invention, avec des outils CAO BIM (Bulding information Modeling), tels que Revit ou ArchiCAD, des architectes ou des projeteurs peuvent créer plusieurs versions successives de maquettes 5 numériques en format IFC, de projets de construction ou de bâtiments existants. Un module de visualisation IFC 10, par exemple constitué du logiciel eveBIM développé par CSTB, permet de charger les maquettes numériques en offrant les fonctionnalités suivantes : - visualiser les maquettes numériques et comparer des versions ; - associer les objets IFC (les maquettes numériques) à des identifiants 10 de matériaux. Lesdits identifiants étant la clé d'accès aux données d'une table des matériaux 4, nécessaires pour les différents moteurs de calcul. -0111Les matériaux sont identifiés dans un classeur Excel à plusieurs onglets, avec un onglet par code de calcul. Ainsi, il y e un onglet pour les données nécessaires à un moteur de calcul acoustique 11 et un onglet correspondant à un 15 moteur de calcul éclairage 12. Ces classeurs sont renseignés par les éditeurs respectifs des moteurs de calculs. Une rnacro est développée, au sein du classeur Excel des matériaux 4, afin d'exporter cette table, au format XML, pour une utilisation avec le logiciel de visualisation 10 nommé eveBIM. [0022]Une fonction logicielle complémentaire est développée dans le module 10, 20 afin de réaliser l'association des objets IFC avec les identifiants de matériaux, tels que disponibles dans la table de matériaux 4, permettant ainsi d'associe.- à chaqus, ci)jet IFC les données spécifiques des matériaux nécessaires aux moteurs de calculs. Les associations des objets IFC avec des identifiants de matériaux sont enregistrées dans des fichiers 6 externes au__ fichiers IFC. Cela permet de 25 les sauvegarder, indépendamment des différentes versions des fichiers IFC correspondants aux évolutions d'une même maquette numérique. Cette fonction comprend une II-1M de présentation de la table des matériaux telle qu'importée avec le fichier XML. Ladite IHM n'est pas représentée sur la figure 1. [0023]D'autres fonctions logicielles complémentaires sont développées au sein du 30 module 10 afin de transmettre des données nécessaires aux moteurs de calcul acoustique et d'éclairage. Le module de visualisation 20 nommé Callisto dans la suite de ce texte, est composé d'un ensemble d'IHM permettant la configuration et le pilotage des moteurs de calculs, et d'un client de Métaphore d'interaction 24, permettant d'interagir en temps réel sur la navigation via des périphériques. La partie client d'interaction du module 20, est décrite plus précisément en relation avec la figure 4. [0024]La figure 2 illustre une interface spécifique pour des simulations acoustiques, dont l'objectif est d'effectuer le rendu sonore en temps réel d'une scène 3D fermée. Le moteur de calcul acoustique 11 appelé « Auralie », est un exécutable piloté par une couche réseau, avec le protocole UDP (User Dataaram Protocol), ce qui permet de déporter les ressources CPU nécessaires sur une machine spécifique. Le fait de déporter les ressources CPU sur une autre machine, permet d'augmenter la rapidité du calcul. Le moteur acoustique 11 est piloté par un module de pilota s:D « Auralie Net », qui est implémenté sous la forme d'une librairie de fonctions, auxquelles l'IHM -auralie, 21, développée dans le module Callisto 20, fait appel pour piloter le moteur de calcul acoustique 11. Par pilotage, on comprend la préparation et l'exécution des simulations acoustiques dans le module Callisto 20 ainsi que la configuration et l'exécution en temps-réel du moteur de calcul acoustique 11. Les données nécessaires aux calculs acoustiques sont issues du logiciel de visualisation eveBIM 10, par l'intermédiaire d'une fonction 1 développée au sein même module de visualisation 10 « eveBIM » et permettant de générer des fichiers qui seront consommés par le moteur de calcul 11. [0025]Le module Callisto 20 et le moteur de calcul acoustique 11, « Auralie », fonctionnent de préférence sur des PC différents, reliés en réseau. Ils peuvent communiquer par commande réseau, en mode UDP (User Datagram Protocol) pour le temps réel et/ou en mode TCP (Transmission Control Protocol) pour les gros échanges de données. Le module de visualisation « callisto » 20 et le moteur de calcul Auralie 11 fonctionnent en architecture client/serveur. Le module 20 gère la géométrie et le paramétrage acoustique, agit de la partie serveur.
Le moteur de calcul Auralie 11 gère le calcul et le rendu audio, il s'agit de la partie client. Chacun des modules 20 et Auralie 11 utilise une bibliothèque de fonction spécifique nommée Network Audio, qui permet la communication entre le serveur et le client. [0026] A titre illustratif, tous les objets d'une scène tridimensionnelle, 3D, se trouvent dans la rairie NetworkAudio. Ainsi, la géométrie d'une scène est définie par des polygones. Chaque polygone est fermé (sans point double premier-dernier) non croisé, il est défini par une liste de points contenus dans un plan. L'ordre des points dans la liste donne l'orientation de la normale (droite principe e). Le volume de la scène est défini sans trou par des polygones joints bord à bord, et leur normale est orientée vers l'intérieur. Pour des objets disposés à l'intérieur de la scène, leur surface est définie également par des polygones jointifs bord à bord, avec leur normale orientée vers l'extérieur de l'o:.)jet. Dans le cas d'un objet sans épaisseur (par erémple une toile tendue), il faut définir deux polygones confondus avec leur normale opposée. Chaque polygone possède son propre identifiant, qui est défini par le module Callisto, qui permet de définir ainsi des objets (mur, fenêtre, table, etc...) comme des groupes de polygones ayant le même identifiant. Chaque polygone possède également un identifiant de matériau, pour permettre de changer les caractéristiques acoustiques des objets. Pour chaque nouvelle scène, il faut définir une plage de huit fréquences et fournir les caractéristiques acoustiques des matériaux pour ces huit fréquences. [0027] La figure 3 montre l'interface spécifique d'éclairage. Un moteur de calcul d'éclairage 12 appelé « phanie » est un logiciel de simulation physique de l'éclairage. Il permet dès la conception d'une salle ou d'un b:timent, de définir et de visualiser des scénarios lumineux en fonction de multiples paramètres qui vont influer sur la qualité de l'éclairage: architecture, sources lumineuses naturelles et climat, lampes et luminaires, nature des matériaux. Dans l'architecture logicielle de l'invention, l'objectif est de développer une bibliothèque de programmation « phanie 10 » pour la manipulation des données nécessaires Jux codes de calculs de « phanie ». Cette bibliothèque est utilisée dans ±e module de visualisation IFC 10 « eve-BIM » pour préparer les calculs et générer les fichiers de données nécessaires aux simulations d'éclairage dans le module 20, Pour cela, on développe, dans un plue spécifique du loçjci.el 10 « eveBIM », une fonction d'exportation 2, via la bibliothèque « phanie io », de données nécessaires à la 2 9942 98 8 simulation en temps réel, qui sera effectuée avec le moteur de calcul éclairage 12, «1anie» dans le module 20. La bibliothèque phanie io est aussi utilisée dans le module 20, pour restituer les résultats des calculs du moteur de calcul d'éclairage 12, « phanie ». 5 [0028] Une IHM -phanie 22, est développée dans le module de visualisation Callisto 20 afin de configurer le moteur de calcul éclairage 12, « phanie » mais aussi d'intégrer et d'exécuter les simulations d'éclairage dudit moteur c_3 calcul éclairage 12 « phanie ». A noter que dans le module 20, une commande permet de passer d'un mode visualisation OpenSceneGraph classique au mode de visualisation 10 phanie. 3029]La figure 4 montre l'interface du module de visualisation 20, avec un dispositif d'affichage multi projecteurs 26 et a../ec un Client Métaphores Interactions 24 qui permet, par l'intermédiaire de périphériques, d'interagir sur les scènes virtuelles. 15 010] La métaphore d'interaction signifie qu'un outil virtuel est la métaphore, la transposition, d'un objet ou d'un concept réel. Une métaphore d'interaction regroupe un ensemble de techniques d'interaction qui utilisent le même outil virtuel ou le même concept pour interagir avec les objets de l'espace virtuel. [103-.., Les périphériques interagissent via un serveur de périphérique VRPN 30 20 (Virtual Reality Peripheral Network), qui est une technologie conçue selon un modèle client/serveur. Basé sur un ensemble de serveurs compatibles avec de nombreux périphériques et une librairie de traitement d'interaction, le serveur de périphérique VRPN 30, permet c 3 s'abstraire de la gestion des périphériques de réalité virtuelle. 25 L_032] Un fichier de configuration VRPN est utilisé pour c:àfinir et identifier les dispositifs reliés à une machine qui sert de serveur d'interaction. Le module 20, vient s'y connecter, via le Client Métaphore Interactions 24, afin de récupérer les données des périphériques sans avoir besoin de définir quel dispositif précis est utilisé. Le fichier de configuration VRPN, permet d'identifier l'adresse du serveur, 30 les trackers (position et/ou orientation de l'objet), les boutons (capteurs à valeur discrète 0/1) et les analoqs (capteur sur un ou plusieurs axes avec valeurs continues) [0033] Le client des métaphores d'interaction 24, est intégré au module Callisto 20, et permet d'interagir avec les scènes virtuelles. Les interactions devront prendre en compte les sensibilités des spectateurs aux environnements virtuels afin d'éviter, par exemple, les problèmes de nausées. [0034]Le module 20 comprend aussi préférentiellement le module d'affichage multi-projecteur 26. Il s'agit d'un module logiciel qui permet un affichage mufti-projecteurs adapté pour une salle immersive, et pour son écran 25. [0035] Une salle immersive peut être de forme sphérique ou cubique, constituée d'écrans de rétroprojecteurs ou de projection directe stéréoscopiques et synchronisés. L'utilisateur est par exemple placé dans une pièce où les murs, le sol et/ou le plafond sont des images projetées qui constituent un environnement géométriquement cohérent. Par un système de capture de la position de l'utilisateur, la perspective de la salle est calculée en temps réel pour respecter le point de vue de l'utilisateur. (O0. "_ Par ailleurs, des technologies ont été développées afin de permettre la connexion de deux ou plusieurs salles immersives pour des présentations et navigations interactives simultanées dans des scènes tridimensionnelles, 3D, en 20 temps réel. [003, j En conclusion, le module de visualisation 20 selon l'invention offre les fonctionnalités suivantes : - Chargement des maquettes de rendu, constituées des fichiers géométriques OpenSceneGraph, en provenance du module de visualisation 10 d'evet3iM et éventuellement modifiés avec un outil d'infographie, 25 et des données complémentaires nécessaires aux moteurs de calculs acoustiques et d'éclairages. Par ailleurs, le module 20 permet de préparer des sessions de navigations en temps-réel en préparant des scénarii de navigations et en configurant les moteurs de calculs. De plus, le module 20 permet d'effectuer les sessions de navigation en temps-réel grâce aux mécanismes de métaphores 30 d'interaction et de l'affichage multi-projecteurs.
L'architecture logicielle selon la présente invention permet de récupérer une maquette numérique utilisée pour la conception d'un bâtiment, de l'enrichir avec les propriétés des matériaux recensés ou envisagés, et c' créer, automatiquement, les maquettes de rendu pour des navigations temps réel, en s'appuyant sur des résultats ..îe simuiations scientifiques.