Le domaine de la simulation, liรฉ ร lโenvol des technologies informatiques, permet dโenvisager des cas de plus en plus complexes. Cette amรฉlioration continue des performances des simulations est bien entendu fondรฉe sur lโaugmentation des vitesses de calcul des machines, mais รฉgalement sur les raffinements successifs des algorithmes de simulation. La maquette numรฉrique, basรฉe sur ces technologies de lโinformation, a permis de bouleverser la conception industrielle. Autrefois organisรฉe autour de revues de projets sur maquettes physiques, les mรฉthodes rรฉcentes de conception sโappuient dorรฉnavant sur des prototypes virtuels. Lโinnovation en terme de simulation devient dรฉterminante. Elle fait appel, entre autres, aux techniques รฉmergentes dites de rรฉalitรฉ virtuelle. Ces simulations doivent reflรฉter au mieux les comportements des produits dans le monde auquel ils sont destinรฉs. Et cette constatation est dโautant plus critique, que dans bien des cas le caractรจre temps-rรฉel des simulations est dรฉterminant. Les fortes potentialitรฉs du prototypage virtuel sont claires aujourdโhui. Mais celui-ci ne deviendra une rรฉalitรฉ pleinement tangible en entreprise que lorsquโil aura รฉtรฉ dรฉbarrassรฉ de toutes les contraintes qui y sont liรฉes pour le moment. Nous pouvons citer la prรฉparation des donnรฉes de lโenvironnement que nous souhaitons simuler [DLCG05], mais รฉgalement les difficultรฉs de mise en ลuvre de tous les cas de tests. Ainsi la mise en ลuvre de tests permettant de vรฉrifier lโinteraction entre lโutilisateur et le produit prรฉsente toujours des difficultรฉs liรฉes ร la complexitรฉ des systรจmes en jeu. Les techniques autorisant ร mettre en ลuvre des mannequins virtuels permettant de tester la maquette numรฉrique, sont principalement issues des domaines du jeu vidรฉo et des effets spรฉciaux. Leurs problรฉmatiques technologiques sont trรจs proches de la notre et de maniรจre gรฉnรฉrale, la rรฉalitรฉ virtuelle bรฉnรฉficie รฉnormรฉment des avancรฉes de ces domaines trรจs dynamiques. Cette thรจse a pour objet dโy apporter une contribution. Nos travaux ont รฉtรฉ envisagรฉs principalement pour des applications liรฉes ร lโingรฉnierie mais les dรฉveloppements effectuรฉs pourront bรฉnรฉficier ร tous les domaines intรฉressรฉs par lโhumain virtuel. Une des finalitรฉs de notre travail est de vรฉrifier, de maniรจre virtuelle et pendant sa conception, si le produit rรฉpond bien aux contraintes liรฉes ร son interaction avec lโutilisateur humain (ergonomie, accessibilitรฉ…). Notre รฉtude portera donc sur le dรฉveloppement dโun systรจme temps-rรฉel dโanimation prenant en compte lโinteraction physique avec lโenvironnement, de maniรจre naturelle et toutes ses implications en terme de stabilitรฉ, de contact et dโรฉquilibre.
Modรจles dโhumains virtuels
Une des reprรฉsentations, parmi les plus simples, de lโhumain virtuel est dictรฉe par les techniques robotiques utilisรฉes pour lโanimation . Cโest-ร -dire que nous pouvons voir lโhumain virtuel comme une structure polyarticulรฉe arborescente de solides, que nous appelons assez naturellement squelette. Une gรฉomรฉtrie en relation avec la topologie du corps humain [AMH02], est attachรฉe aux solides, ou os. Deux os sont sรฉparรฉs par une articulation.
Pour obtenir un meilleur aspect visuel (rendu 3D), nous pouvons modรฉliser lโenveloppe extรฉrieure, ou peau de lโhumain. Les techniques ร base de mailles, de NURBS, de subdivisions de surfaces [Rat03], [Kel98], sont particuliรจrement adaptรฉes ร la modรฉlisation de surfaces organiques. Avec ce type de modรจles, des milliers de points paramรจtrent la surface qui reprรฉsente la peau du mannequin. La dimension du problรจme est ร lโheure actuelle beaucoup trop รฉlevรฉe pour รชtre rรฉsolue de maniรจre directe. Lโidรฉe est donc de reparamรฉtrer la surface, grรขce au modรจle de squelette dรฉcrit auparavant, problรจme de dimension rรฉduite. Le mouvement est alors rรฉsolu sur le squelette et les mouvements du squelette sont appliquรฉs ร lโenveloppe [AMH02]. Cette technique est appelรฉe skinning et peut maintenant รชtre accรฉlรฉrรฉe par les cartes graphiques et leurs langages de programmation de shaders . Le skinning est beaucoup utilisรฉ dans les jeux vidรฉo, il est dโailleurs mis ร profit sur les derniers dรฉmonstrateurs de nVidiar [Pha05]. Cโest la mรฉthode que nous utiliserons pour le rendu – nous utilisons ร ce titre le logiciel Virtoolsr qui implรฉmente lโalgorithme.
Le rรฉalisme peut รชtre poussรฉ encore plus avant. Les mannequins virtuels peuvent servir lors de crash tests virtuels. Pour obtenir des donnรฉes intรฉressantes les modรจles doivent รชtre particuliรจrement dรฉtaillรฉs [fSH05], leur topologie sera dictรฉe par les mรฉthodes de calcul utilisรฉes. Ces modรจles sont beaucoup plus complexes que ceux citรฉs prรฉcรฉdemment et sont loin dโรชtre compatibles avec les contraintes temps-rรฉel รฉvoquรฉes par la suite.
Lโanimation de personnages virtuels dans la littรฉrature
Contrรดle du mouvement
Nous prรฉsentons ici des techniques dโanimation dโhumains virtuels (vus comme des structures polyarticulรฉes arborescentes de solides), dรฉjร donnรฉes dans la littรฉrature. Nous dรฉcrivons dโabord les bases mathรฉmatiques utiles ร notre รฉtude. Nous abordons alors des mรฉthodes de contrรดle trรจs bas niveau, puis des mรฉthodes sโappuyant sur ces couches basses.
Formalisme mathรฉmatique : groupes de Lie
Les considรฉrations qui suivent peuvent รชtre retrouvรฉes dans [PC04], ou [MLSS94]. Un cadre mathรฉmatique naturel pour lโรฉtude des dรฉplacements des corps rigides (ou solides) est celui du groupe spรฉcial Euclidien SE(3). Le groupe spรฉcial Euclidien SE(3) est le produit semi-direct de R3 et du groupe spรฉcial orthogonal SO(3). Un รฉlรฉment de SE(3) est reprรฉsentรฉ par une matrice de transformation homogรจne.
Apartรฉ – SE(3) en deux mots
Concrรจtement lโespace SE(3) est une modรฉlisation de lโespace dans lequel nous vivons. Pour repรฉrer les positions des solides, on leur adjoint un repรจre dโespace , dont la position est exprimรฉe dans SE(3) espace 6D. Trois des paramรจtres sont liรฉs aux translations, les trois autres รฉtant liรฉs ร lโattitude, ou orientation du solide. SE(3) est รฉgalement appelรฉ espace opรฉrationnel, ou espace de la tรขche.
Contrรดle haut niveau
Edition de mouvement
Les mรฉthodes dโรฉdition de mouvement (motion editing en anglais) permettent de modifier des mouvements obtenus au prรฉalable. Ils pourront ainsi รชtre rรฉutilisรฉs dans des conditions diffรฉrentes ce celles dans lesquelles ils ont รฉtรฉ obtenus, ou transformรฉs dans le but de leur ajouter des mouvements secondaires… Nous distinguons deux grandes familles dโutilisation : lโadaptation de mouvements (motion adaptation) et le motion retargetting (terme anglais difficilement traduisible). La premiรจre permet de modifier le mouvement pour lโadapter ร de nouvelles conditions, dโenvironnement notamment. La seconde permet de modifier le squelette sur lequel le mouvement est appliquรฉ.
Les premiรจres techniques dโadaptation de mouvement utilisent des mรฉthodes issues du traitement du signal, sur les signaux des paramรจtres articulaires [BW95], [WP95] : filtrage, dรฉcomposition frรฉquentielle, dรฉcomposition temps-frรฉquence, interpolation, look-up tables… Elles permettent de modifier le mouvement directement sur les signaux articulaires. On peut accentuer la nervositรฉ du mouvement (en accentuant les hautes frรฉquences), au contraire rendre les mouvements posรฉs, ou mรฉlanger deux mouvements par interpolation… Ces mรฉthodes sont pour la plupart articulaires, aussi nous ne maรฎtrisons pas toujours parfaitement le sens de nos modifications et celles-ci peuvent amener ร violer des contraintes. Aussi [GL98] introduit un algorithme permettant dโeffectuer des modifications sur le mouvement, tout en respectant certaines contraintes opรฉrationnelles. Grรขce ร cette mรฉthode, nous pouvons, par exemple, modifier la position des mains alors que les pieds sont contraints ร leur position initiale. La diffรฉrence avec la cinรฉmatique inverse est que lโoptimisation est faite sur toute la sรฉquence de mouvement (on parle dโoptimisation espace-temps). La diffรฉrence entre le mouvement initial et le mouvement rรฉsultant est minimisรฉe, tout en respectant les contraintes, ce qui permet de conserver les caractรฉristiques du mouvement initial (comme la dรฉmarche par exemple). Le mรชme auteur utilise la mรชme technique pour le motion retargetting [Gle98]. Dans ce cas on ne modifie plus les contraintes opรฉrationnelles identifiรฉes, mais le squelette sur lequel le mouvement est appliquรฉ. Cโest-ร -dire que nous modifions le squelette tout en respectant des contraintes en position de repรจres de contrรดle.
Les mรฉthodes vues jusquโร prรฉsent sont cinรฉmatiques, il existe รฉgalement des mรฉthodes dynamiques dโรฉdition de mouvement [PW99], [SHP04]. Mieux, certaines permettent de rendre physiquement rรฉaliste un mouvement qui ne lโรฉtait pas. Le principe du premier article [PW99] est de trouver le mouvement physique le plus proche du mouvement initial, les paramรจtres peuvent alors รชtre modifiรฉs et le mouvement final enfin reconstruit. Le problรจme est lourd dโun point de vue calculs. Le mouvement initial est donc dโabord appliquรฉ sur un squelette ร la cinรฉmatique simplifiรฉe. Le mouvement physique le plus proche est ensuite recherchรฉ par un problรจme dโoptimisation (espace-temps) dont le critรจre est une distance entre le mouvement rรฉsultant et le mouvement initial, sous contrainte de respect de la dynamique. Le deuxiรจme article ( [SHP04] ) rรฉduit aussi la dimension de lโespace des solutions, mais en faisant lโobservation que les mouvements sont souvent coordonnรฉs. Il postule grรขce ร des observations biomรฉcaniques que quand une jambe bouge, le mouvement du bras opposรฉ est connu. Le mouvement est donc reparamรฉtrรฉ.
|
Table des matiรจres
Introduction
1 Contexte de la simulation des humains virtuels
1.1 Modรจles dโhumains virtuels
1.2 Lโanimation de personnages virtuels dans la littรฉrature
1.2.1 Contrรดle du mouvement
1.2.1.1 Formalisme mathรฉmatique : groupes de Lie
1.2.1.2 Contrรดle bas niveau
1.2.1.3 Contrรดle haut niveau
1.2.1.4 Humains virtuels interactifs
1.2.2 Spรฉcification du mouvement
1.3 Prototypage virtuel
1.4 Mise en place des prรฉmices dโune architecture
1.4.1 Schรฉma fonctionnel de la simulation dโun humain virtuel
1.4.2 Identification des รฉlรฉments constituants du contrรดle
1.4.2.1 Contrรดle dโune tรขche dans lโespace opรฉrationnel
1.4.2.2 Contrรดle dโune tรขche interne
1.4.2.3 Contraintes physiques et biomรฉcaniques
1.4.2.4 Proposition dโune architecture pour le bas niveau
1.5 Contributions scientifiques
2 Gรฉnรฉration des mouvements dโun humain virtuel
2.1 La passivitรฉ : un guide de synthรจse pour la commande
2.2 Architecture
2.2.1 Dรฉtails de la simulation et des contrรดles externes et internes
2.2.1.1 Simulation physique
2.2.1.2 Intรฉgration numรฉrique
2.2.1.3 Contrรดle de tรขches externes
2.2.1.4 Contrรดle interne
2.2.2 Multi-tรขches conflictuel
2.2.2.1 Rรฉsolution de tรขches conflictuelles par pondรฉration
2.2.2.2 Rรฉsolution de tรขches conflictuelles par prioritรฉs
3 Gestion des contraintes unilatรฉrales
3.1 Solveur de contraintes unilatรฉrales
3.1.1 Gestion des contacts : รฉtat de lโart
3.1.2 Solveur de contraintes unilatรฉrales par LCP
3.2 Contact et limites articulaires
3.2.1 Formulation du contact
3.2.2 Formulation des limites articulaires
3.3 Humains virtuels en รฉquilibre
3.3.1 Analyse de lโexistant
3.3.2 Intรฉgration de lโรฉquilibre dans notre architecture
3.3.2.1 Rรฉsolution de lโรฉquilibre par LCP : une premiรจre approche
3.3.2.2 Equilibre multi-contacts non-coplanaires
4 Ordonnancement de modes de commande
4.1 Transition de modes de commande
4.1.1 Mise en place des diffรฉrents modes
4.1.2 Ordonnancement
4.2 Intรฉgration
4.3 Applications et performances
4.3.1 Applications
4.3.1.1 Mouvements simples
4.3.1.2 Interaction avec une balle
4.3.1.3 Deux mannequins
4.3.1.4 Fonctionnalitรฉs composรฉes
4.3.1.5 Cas industriel
4.3.2 Performances
4.4 Perspectives
Conclusion