Étude d`article : "Design de personnages mécaniques
Transcription
Étude d`article : "Design de personnages mécaniques
Taupiac Jean-Daniel Master 2 Images, Games and Intelligent Agents GMIN 330 - Réalité virtuelle et augmentée Étude d'article : "Design de personnages personnages mécaniques par ordinateur" ordinateur" Source : http://www.disneyresearch.com/project/mechanical-characters/ Auteurs : • Stelian Coros (Disney Research, Zurich) • Bernhard Thomaszewski (Disney Research, Zurich) • Gioacchino Noris (Disney Research, Zurich) • Shinjiro Sueda (Disney Research, Boston) • Moira Forberg (Disney Research, Boston) • Robert W Sumner (Disney Research, Zurich) • Wojciech Matusik (MIT CSAIL) • Bernd Bickel (Disney Research, Zurich) Laboratoire de recherche : http://www.disneyresearch.com/ Étude d'article : "Design de personnages mécaniques par ordinateur" I. Taupiac Jean-Daniel Contexte De nos jours, l'arrivée d'imprimantes 3D sur le marché amène de nouvelles perspectives technologiques. Ainsi, pour chaque utilisateur en possédant une, il est possible de fabriquer chez soi l'objet qu'il souhaite, à partir du moment où il dispose d'un modèle conçu au préalable. La modélisation 3D, cette étape importante de la conception, est un des domaines appliqués de la réalité virtuelle. Cette étude d'article s'intéresse donc à une méthode de conception de figurines mécaniques proposée par les chercheurs de Disney Research. Il s'agit d'un laboratoire de recherche financé par la compagnie Walt Disney et collaborant notamment avec l’École polytechnique de Zurich et l'Université Carnegie-Mello de Pittsburg. Crée en 2008, ce laboratoire de recherche et développement destine ses travaux aux domaines de l'informatique appliqué au cinéma et à l'animation en images de synthèse, ainsi qu'au domaine de la robotique. II. Objectif À l'heure actuelle, grâce à des logiciels, les artistes peuvent donner vie à des personnages virtuels dans des domaines tels que le cinéma d'animation ou encore les jeux vidéos. Dans le monde réel, des créatures animées et robotisées sont utilisées dans les parcs d'attraction et pour certains effets spéciaux au cinéma. De manière moins sophistiquée, ces mécanismes sont aussi utilisés afin de réaliser des jouets qui restent assez populaires et ce depuis le 19ème siècle. Cependant, créer des mouvements complexes et précis pour des personnages mécaniques reste une tache fastidieuse. En effet, ces mouvements sont régis par des assemblages d'arbres et engrenages. De ce fait, la création de ces systèmes reste une discipline réservée à des designers et ingénieurs expérimentés. Même pour ces professionnels, le processus de réalisation reste jalonné d'essais infructueux dû aux difficultés d'obtenir un résultat acceptable. Ces difficultés proviennent de la complexité du design d'un personnage mécanique dans l'espace et aux limitations liées à ses mouvements possibles. Par conséquent, il apparaît intéressant de simplifier ce processus de conception afin de le rendre plus accessible. Cet article présente un système de design interactif de conception de structures mécaniques. Celui-ci a donc pour but de permettre à des utilisateurs non experts de créer leur propre personnage mécanique. La méthode a été présentée à lACM SIGGRAPH 2013, une conférence internationale sur l'infographie et les techniques interactives qui a eu lieu fin Juillet 2013 à Anaheim, en Californie. 2 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel III. Application présentée 1. Principe général de l'application L'application amène l'utilisateur à fabriquer le personnage mécanique correspondant à un personnage articulé dont il dispose de manière virtuelle et pour lequel il souhaite définir les mouvements. Une fois la figurine fabriquée, les assemblages mécaniques qui la compose, peuvent être enclenchés par un mouvement manuel (manivelle, roue crantée) ou encore un moteur électrique. À partir du personnage articulé modélisé en 3D, l'utilisateur crée une animation en dessinant les courbes de mouvement des différentes parties du personnage supposées bouger. Pour chaque courbe, le programme crée ensuite un mécanisme optimisé qui reproduit le mouvement de manière la plus réaliste possible. Ces mécanismes sont ensuite ajoutés au personnage et reliés entre eux par des engrenages en utilisant des procédés de modélisation basés sur des concepts physiques. Le système automatise les étapes délicates du processus de design et permet d'obtenir un personnage mécanique qui peut être fabriqué rapidement en utilisant des outils tels que des imprimantes 3D. Les mouvements de ce personnage peuvent être planaires ou sur trois dimensions. 2. Principe général du système interactif Le système commence par gérer une librairie d'assemblages mécaniques qu'il pré-calcule pour chaque type d'assemblages. Après cela, il procède aux étapes suivantes : • Un personnage articulé est importé et une zone contenant les mécanismes est définie (a). L'utilisateur définit alors les points en mouvement à relier aux mécanismes et dessine leurs courbes de mouvement (b). • Pour chaque courbe, une base de données est interrogée afin d'extraire un mécanisme correspondant à la courbe. • Le système relie alors les mécanismes correspondants au personnage. • Une fois tous les mécanismes liés au personnage, ceux-ci sont reliés entre eux par ensemble d'engrenages (d). De la même manière, le système va modifier les mécanismes si ceux-ci sont simplifiables, c'est à dire si plus d'engrenages que nécessaires ont été générés. • Si le personnage est planaire, le système repositionne les mécanismes afin qu'il n'y ait aucune collision lors des mouvements. • Pour terminer, le support du personnage est généré de manière à masquer les mécanismes (e). Le modèle ainsi produit permet à l'utilisateur de l'imprimer en 3D (f). 3 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel 3. Génération des mécanismes Les composants sont liés par différents types de connections, chaque type ayant des contraintes mécaniques différentes. Quatre types de connections ont été implémentés. Une fois combinés, ils permettent de simuler un grand nombre d'assemblages mécaniques : • Les connections "par point", permettant de modéliser une articulation entre deux composants. • Les connections "point sur ligne", représentant des liaisons glissières. • Les connections "périodiques", connectant les engrenages entre eux en tenant compte de leurs contraintes mécaniques (nombre de dents, forme circulaire ou non, etc...) • Les connections "à état fixe", simulant les structures fixes comme le support ou les arbres du mécanisme. Elles permettent également à l'utilisateur de rendre temporairement fixe certaines parties du personnage. Afin de générer les mécanismes correspondants aux courbes dessinées, le système gère en entrée une librairie de mécanismes déjà définis. Chacun d'entre eux contient au moins un engrenage qui sera directement connecté à la source qui crée le mouvement, ou à d'autres engrenages qui le transmettront. Afin d'obtenir le mécanisme produisant un mouvement le plus fidèle possible, le système doit effectuer deux opérations. Il va chercher une courbe correspondant globalement, puis modifier les paramètres des éléments (taille, forme, position, vitesse angulaire, etc...) afin que le mouvement de sortie corresponde. Une fois initialisés, les assemblages sont ensuite reliés au personnage. 4. Liaison des mécanismes Afin de transmettre le mouvement actionnant le personnage, il est nécessaire de relier les mécanismes entre eux. Le système décompose ce traitement en deux étapes, la première consistant à déterminer la disposition des engrenages, leur nombre et leurs connections. La deuxième étape amène ensuite le système à calculer les paramètres des engrenages afin qu'ils respectent quelques contraintes telles que la correspondance des dents lorsqu'ils sont connectés, la vitesse angulaire voulue et l'absence de collisions entre deux engrenages. Ce traitement est effectué au sein d'une fonction déterminant la qualité du mécanisme produit. Différents types d'engrenages Selon la position des engrenages, sur le même plan, le même axe ou non, le système génère un type de mécanisme différent : • Séquentiel (jaune) si les engrenages ont le même plan, ils sont reliés par un ou plusieurs engrenages selon la distance les séparant, les vitesses angulaires et le rayon de chacun. • Parallèle (rouge) si les engrenages ont le même axe. • Combiné (vert) entre séquentiel et parallèle dans d'autres cas. 4 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel Ces liaisons sont alors transformées en un ensemble de contraintes ajoutées au schéma optimisé du mécanisme qui permet d'obtenir l'assemblage mécanique. Cet ajout prend également en compte les contraintes de collision engrenage-engrenage. Selon les chercheurs, cette méthode, qui consiste à assembler les engrenages par paires de manière itérative, permet d'obtenir un processus vraiment intuitif amenant des résultats rapides. Néanmoins, afin de simplifier l'opération, les chercheurs ont laissé la possibilité à l'utilisateur de choisir les engrenages à lier s'il le souhaite. 5. Gestion des collisions Lors de la génération des mécanismes, les collisions engrenageengrenage ont déjà été gérées mais le système doit éviter les collisions entre les différents éléments (figurine, engrenage, arbres). Pour ce faire, les chercheurs ont permis à l'utilisateur de déplacer intuitivement les engrenages si des collisions sont détectées. Pour des mouvements en trois dimensions, le procédé s’avérerait assez complexe à mettre en œuvre, ce qui explique que les chercheurs aient souhaité limiter leur système aux mouvements en deux dimensions. Pour contourner le problème, lorsque les composants des assemblages se déplacent sur des plans parallèles, ce qui est assez fréquent, le système décale automatiquement chaque composant afin d'éviter les collisions. Dans ce cas de figure, le problème de gestion des collisions est traité en résolvant un problème de satisfactions de contraintes (CSP), où l'ensemble de contraintes est défini par les contraintes propres aux mécanismes et celles liés à la non-collision des éléments. Les composants sont placés sur différents plans pour éviter les collisions 6. Génération du support L'utilisateur peut choisir de dessiner lui même le support, mais lorsque ce n'est pas le cas, le système utilise un simple algorithme qui aide l'utilisateur à le faire. Celui-ci commence par englober tout le mécanisme dans une boite, puis récupère les voxels non occupés lors de l'exécution d'un cycle complet du personnage. Il propose ensuite l'information à l'utilisateur qui peut définir les positions des parois de son support. Une fois qu'une paroi est crée, les axes de rotation des engrenages qui peuvent s'y greffer y sont automatiquement connectés. Pendant que le système calcule et définit les liaisons de chaque axe, l'application indique à l'utilisateur les axes restants à relier. Une fois tous les axes liés au support, l'assemblage est prêt à être fabriqué. Le système permet aussi de définir une boite à engrenages qui ne fait pas office de support mais qui est interne au personnage. 7. Fabrication De nombreux exemples de fabrication utilisent un système de structure décomposée en couches permettant de séparer facilement les différents éléments de la pièce. Cela permet de les fabriquer indépendamment et de les assembler soi-même ensuite. Même si cette méthode est moins coûteuse, elle représente une opération lourde en temps. C'est pourquoi les chercheurs ont préféré utiliser une technique rapide d'impression 3D leur permettant de fabriquer le personnage d'un seul trait. 5 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel IV. Résultats obtenus 1. Objectif premier Le but principal des recherches étant d'arriver à proposer un système interactif permettant de réaliser ses propres figurines mécaniques, les chercheurs ont démontré l'atteinte de leur objectif en fabriquant eux même des personnages mécaniques. Pour prouver la souplesse de leur système, ils ont dessiné dix personnages mécaniques et en ont fabriqué un bon nombre. En se penchant sur les caractéristiques des automates réalisés, on constate effectivement une portabilité de leur méthode sur des personnages de complexités différentes : Détails des automates fabriqués 2. Comparaison de courbes Pour vérifier la qualité de leur module de comparaison de courbe, les chercheurs ont dessiné des courbes et ont retrouvé la courbe la plus proche pour chacune d'entre elles au sein d'une base de données de 1000 courbes générées aléatoirement. Ils ont ensuite comparé leur méthode implémentée avec celles qu'ils avaient à leur disposition : 6 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel Les courbes bleues correspondent aux courbes dessinées et pour lesquelles on recherche une correspondance. Les courbes rouges, quant à elles, correspondent aux résultats obtenus avec les différentes méthodes. La première ligne correspond aux résultats obtenus avec leur propre système paramétré avec des coefficients optimisés. La deuxième ligne montre ceux obtenus en appliquant les distances de Frechet. La dernière ligne représente les courbes calculées en utilisant leur propre méthode avec des coefficients unitaires. Bien que chaque méthode donne des résultats satisfaisants, on s’aperçoit que dans certains cas (soulignés en jaune) les écarts entre les courbes sont trop importants. Malgré le fait qu'il soit difficile de juger l'efficacité des méthodes, il apparaît clairement aux chercheurs que leur méthode optimisée retourne des courbes correspondant bien mieux dans tous les cas. 3. Recherche du mécanisme optimal Les chercheurs ont également analysé les performances de leur processus de recherche de mécanisme correspondant à une courbe de mouvement. Lors de cette étape importante quatre types principaux de mécanismes ont été utilisés : Pour les deux mécanismes de gauche, modifier la vitesse angulaire des engrenages affecte la courbe générée. Pour assurer une correspondance avec les différents types de courbes recherchées, il a fallu créer quatre engrenages différents pour chacun d'entre eux, chaque engrenage possédant une vitesse angulaire différente. Les deux mécanismes à droite étant plus simples, il n'a pas été nécessaire d'en faire de même. 7 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel Pour chaque type de mécanisme, 3000 courbes associées ont été stockées. Par rapport aux autres approches de recherche et comparaison dans la base de données qu'ils avaient à leur disposition, ils obtiennent des résultats 20 à 30 fois plus efficaces avec la méthode de comparaison par calcul de gradient qu'ils ont déployé. Dans certains cas, ces autres approches pouvaient mettre 30 min à 2h30 à explorer la base de données si aucun exemple ne pouvait être trouvé. 4. Complexité des personnages Le système permet de créer des personnages de haute complexité. En effet, les chercheurs sont parvenus à créer des animations différentes pour un même personnage, et plus particulièrement en contrôlant le timing de ses mouvements. Par exemple, le personnage nommé EMA a été conçu pour deux mouvements différents : En haut : EMA marchant. En bas : EMA galopant. En utilisant des engrenages non circulaires, le système permet de décomposer le mouvement et avoir un contrôle sur le timing des pas du personnage. Ainsi le personnage EMA a pu être mécanisé avec un mouvement de galop au cours duquel ses membres effectuaient un mouvement de descente plus rapide que le mouvement de montée. 5. Conception En moyenne, le système permet de concevoir le mécanisme en moins de 30 minutes. Pour les personnages imprimés en une seule et même pièce, la conception s'effectuait donc en moins d'une journée. Le temps supplémentaire venait généralement de la génération des structures de support. 8 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel L'impression 3D a pu prendre jusqu'à 42 heures dans certains cas. Peaufiner la réalisation du support, c'est à dire enlever la matière en trop, a pu nécessiter jusqu'à 2 heures supplémentaires. Les personnages créés pièce par pièce ont requis du temps de préparation et d'assemblage supplémentaire, mais les temps d'impression ont été significativement réduits. V. Perspectives d'évolution Afin d'exploiter pleinement leur pipeline, les chercheurs estiment que deux améliorations majeures sont à prévoir. La première consisterait à améliorer la gestion des courbes de mouvement pour inclure la gestion des courbes en trois dimensions. La deuxième évolution nécessaire serait d'améliorer la méthode automatique de gestion des collisions en trois dimensions. La variété de mouvements possibles dépend directement des types de mouvements stockés en base de données. Son contenu limite donc le panel de mouvements possibles, et il y aurait donc un intérêt à chercher des méthodes qui permettraient d'extraire automatiquement les mécanismes d'assemblages existants afin d'en extraire des données réutilisables. Il est également envisageable d'ajouter un module permettant de prendre en compte les contraintes physiques, mécaniques et matérielles afin de gérer, par exemple, le poids ou la robustesse du personnage. Pour leurs phases de fabrication, les chercheurs ont eux même effectué un tel processus dans leurs approches et restent convaincus qu'il est automatisable. Il semble également possible que les mouvements de torsion entre les éléments du mécanisme puissent être amortis en utilisant des engrenages non circulaires, qui ont déjà été utilisés lorsqu'il y a eu besoin de contrôler le timing d'un mouvement. De même, les chercheurs souhaiteraient ajouter des optimisations supplémentaires permettant de minimiser au maximum la force nécessaire pour faire fonctionner le personnage conçu. Le système informe l'utilisateur lorsqu'un problème de violation de contraintes apparaît, et celuici doit intervenir manuellement pour le résoudre. Une amélioration intéressante suggérée serait de pouvoir identifier et signaler le problème soulevé, ou encore de donner des indications pour le guider afin de l'aider à le solutionner de manière optimale. Une des limitations basique du système reste la restriction des mouvements des personnages à des mouvements cycliques uniquement. Il serait intéressant d'amener les personnages à effectuer des mouvements qui ne soient pas seulement cycliques, en utilisant par exemple des systèmes physiques permettant d'activer ou désactiver plusieurs mécanismes actifs ou non. Les personnages fonctionnent sans prendre en compte leur environnement. Une des aspirations les plus ambitieuses des chercheurs, serait d'amener leurs travaux à ce qu'ils puissent appréhender leur environnement et interagir avec lui afin d'effectuer des tâches un peu plus complexes. 9 / 10 Étude d'article : "Design de personnages mécaniques par ordinateur" Taupiac Jean-Daniel VI.Impressions L'arrivée des imprimantes 3D sur le marché ouvre de nouvelles perspectives technologiques et l'impression de ses propres jouets en fait assurément partie. Bien qu'au stade expérimental, le concept semble promis à un large éventail d'améliorations possibles. Ces nombreuses perspectives laissent facilement imaginer qu'il sera bientôt possible pour chacun de fabriquer facilement ses propres automates. Outre le domaine de la figurine articulée, on peut aisément envisager des utilisations diverses de cet outil. Parc d'attractions, boutiques, particuliers pourraient ainsi personnaliser leurs décors. Le domaine de l'art pourrait tout aussi bien y trouver une utilité tant les possibilités qu'offre un tel système peuvent amplifier les désirs créatifs. Techniquement, ce thème alliant robotique, informatique et mécanique semble passionnant. Mettre au point et affiner des procédés permettant de comparer des courbes et modéliser des mécanismes optimaux reproduisant ces mouvements, apparaît comme complexe mais stimulant. Enfin, il peut sembler étonnant de constater que Disney favorise la fabrication de jouets par des particuliers. En effet, la compagnie assurant la fabrication et la vente de leurs produits dérivés, on pourrait être tenté de penser que cela irait à l'encontre de leurs intérêts. Cependant, inciter les gens à créer leurs propres jouets et à partager leurs créations, pourrait leur permettre d'avoir un aperçu réaliste des pensées créatives qui animent le public. Cela pourrait notamment leur permettre de cibler plus facilement les marchés à leur portée. 10 / 10