• Aucun résultat trouvé

Navigation Réactive d'humain virtuel par planification locale

N/A
N/A
Protected

Academic year: 2021

Partager "Navigation Réactive d'humain virtuel par planification locale"

Copied!
152
0
0

Texte intégral

(1)Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Mohamed Khider Biskra Faculté des Sciences Exactes, des sciences de la Nature et de la Vie Département d’Informatique. N° d’ordre :…...…… Série :………………. Mémoire Présenté en vue de l’obtention du diplôme de Magister en Informatique Option: Synthèse d’images et vie artificielle Titre :. Navigation Réactive d’humain Virtuel Par Planification Locale Par : GAGUI ALI. Soutenu le : Devant le jury : Pr. NourEddine DJEDI. Prof.. Dr. Foudil CHERIF. MCA Université de Biskra. Rapporteur. MCA. Université de Biskra. Examinateur. Dr. Kamel Eddine Melkemi MCA. Université de Biskra. Examinateur. Université de Biskra. Président. Dr. Med Chaouki BABAHENINI.

(2) Remerciements. Je remercie, avant toute personne, mon encadreur Monsieur Dr Cherif Foudil, pour ses précieux conseils et surtout pour sa disponibilité et sa grande aide. qui m’a a suivi et orienté, et que à leur attention, leur disponibilité et leur enthousiasme, j’ai pu arriver au bout de mes peines.. Je tiens aussi à exprimer mes sincères remerciements aux membres de mon jury pour les remarques qu’ils ont pu apporter durant la relecture et la soutenance de mon magister. Enfin ma famille dans tout son ensemble pour l’aide et le soutien qu’on m’a donné et surtout pour l’appui de ma mère qui m’as bien motivé pour faire mon mieux..

(3) Table de matières. Liste de figure……………………………………….……………………………………………… a RÉSUMÉ..................................................................................................................................................B ABSTRACT ............................................................................................................................................. C INTRODUCTION GÉNÉRALE.......................................................................................................... 1 1.. INTRODUCTION ........................................................................................................................ 5. 2.. REPRESENTATION DES PARTIES STATIQUES DE L’ENVIRONNEMENT : ....... 6 2.1.. 2.1.1.. Décompositions approximatives : .................................................................... 6. 2.1.2.. Décomposition exacte : .......................................................................................... 8. 2.2.. 3.. DECOMPOSITION EN CELLULES ............................................................................................... 6. CARTES DE CHEMINEMENT :................................................................................................... 12. 2.2.1.. Cartes de cheminement déterministes. ...................................................... 13. 2.2.2.. Les diagrammes de Voronoï .............................................................................. 13. 2.2.3.. Cartes de cheminement probabilistes ......................................................... 14. LA PLANIFICATION DE MOUVEMENT :......................................................................... 14 3.1.. LA PLANIFICATION GLOBALE ................................................................................................. 14. 3.1.1.. Recherche dans un graphe ................................................................................. 14. 4.. CONCLUSION............................................................................................................................ 18. 1.. INTRODUCTION : ................................................................................................................... 20. 2.. MODELISER LE COMPORTEMENT : ................................................................................. 20 2.1.. GENERALITES ............................................................................................................................ 20. 3.. MODELISATION DU COMPORTEMENT : ....................................................................... 21. 4.. ARCHITECTURES REACTIVES ........................................................................................... 22 4.1.. STIMULUS/REPONSES. : .......................................................................................................... 22. 4.2.. LES MODELES A BASE DE REGLES : ....................................................................................... 23. 4.3.. LES AUTOMATES :..................................................................................................................... 24. 4.4.. SYNTHESE .................................................................................................................................. 24.

(4) 5.. LES MODELES COGNITIFS :............................................................................................... 25 5.1.. CALCUL SITUATIONNEL ET DERIVES :.................................................................................. 25. 5.1.1.. STRIPS............................................................................................................................ 26. 5.1.2.. Les réseaux de tâches hiérarchiques : ........................................................ 26. 5.1.3.. Synthèse :..................................................................................................................... 27. 5.2.. SELECTION D’ACTIONS :......................................................................................................... 28. 5.2.1.. BCOOL ............................................................................................................................. 28. 5.2.2.. Synthèses ..................................................................................................................... 29. 5.3. 6.. SYSTEMES BDI ......................................................................................................................... 29. OBJETS INFORMES ................................................................................................................ 30 6.1.. LES SMART OBJECTS ............................................................................................................... 30. 6.2.. LE MODELE STARFISH.......................................................................................................... 31. 7.. EMOTIONS ET PERSONNALITE ........................................................................................ 31 7.2.. CARTES EMOTIONNELLES FLOUES ......................................................................................... 33. 8.. CONCLUSION............................................................................................................................ 35. 1.. INTRODUCTION ...................................................................................................................... 37. 2.. MODELE A BASE DE PARTICULES ................................................................................... 37 2.1.. 2.1.1.. Le modèle à base de règles :............................................................................. 40. 2.1.2.. Un modèle géométrique prédictif................................................................... 41. 3.. CLASSIFICATION DES TECHNIQUES DE NAVIGATION ............................................................ 43 3.1.. Techniques Actives ou Passives........................................................................... 44. 3.2.. Techniques Physiques ou virtuelles................................................................... 44. 3.3.. En fonction de la tâche à accomplir ................................................................... 44. 3.4. 4.. MODELISATION COMPORTEMENTALE ................................................................................... 39. CLASSIFICATION PAR METAPHORE ...................................................................................... 45. DIFFERENTES MODELISATIONS : PERSONNE, GROUPE, FOULE ..................... 46 4.1.. MODELES D’AGENTS VIRTUELS .............................................................................................. 46. 4.2.. MODELES DE GROUPES ............................................................................................................ 47. 4.3.. MODELES DE FOULES ............................................................................................................... 47. 4.3.1. 5.. Classification des méthodes de foule........................................................... 48. ÉVITEMENT D’OBSTACLES ................................................................................................. 48 5.1.. METHODE DES CHAMPS DE POTENTIEL ................................................................................ 48. 5.2.. METHODE VECTOR FIELD HISTOGRAM................................................................................ 49.

(5) 5.3. 6.. DETECTIONS DE VOISINAGE ET EVITEMENT .......................................................... 53 6.1.. DETECTION DE LA COLLISION................................................................................................ 53. 6.2.. TYPE DETECTIONS DE LA COLLISION :................................................................................ 53. 6.2.1.. Intersection d'objets convexes ....................................................................... 55. 6.2.2.. Partitionnement de l'espace.............................................................................. 58. 6.2.3.. Hiérarchie de volumes englobants ................................................................ 59. 6.2.4.. Approximation ........................................................................................................... 62. 6.2.5.. Accélération matérielle ................................................................................................... 63. 7.. EVITEMENT DE LA COLLISION..................................................................................................... 66. 7.1. 8.. METHODE DE LA FENETRE DYNAMIQUE................................................................................ 51. ADAPTATION POUR L’EVITEMENT ......................................................................................... 67. CONCLUSION............................................................................................................................ 68. LE MODELE PROPOSE .................................................................................................................... 70 1.. INTRODUCTION ...................................................................................................................... 70 1.1.. 2.. VUE GLOBALE SUR LE MODELE : ............................................................................................ 71. LA REPRESENTATION DE L’ENVIRONNEMENT ET PLANIFICATION DE. CHEMIN : ............................................................................................................................................. 72 2.1.. 3.. GENERATION DE LA CARTE DE CHEMINEMENT « GRILLE » ........................................... 72. 2.1.1.. Structure et fonctionnement du nœud ........................................................ 73. 2.1.2.. La diffusion des nœuds......................................................................................... 76. 2.1.3.. La connexion des nœuds ..................................................................................... 77. 2.1.4.. L'inondation se remplit « Flood fill »........................................................... 77. 2.1.5.. Exporté la carte de cheminement sur un support physique ........... 78. NOTRE MODELE D’HUMAIN VIRTUEL ........................................................................... 80 3.1.1. 3.2.. 4.. Perception : ................................................................................................................. 81. CONCLUSION ............................................................................................................................. 83. NAVIGATION REACTIVE ..................................................................................................... 84 4.1.. ARCHITECTURE DE NAVIGATION ........................................................................................... 84. 4.2.. MODELISATION DE LA NAVIGATION..................................................................................... 87. 4.2.1.. L’exploitation de la carte de cheminement .............................................. 87. 4.2.2.. La recherche d’un chemin optimal « Algorithme de A* » ............... 87. 4.2.3.. Comment éviter les obstacles ?....................................................................... 92. . Evitement d’obstacles statiques............................................................................... 95.

(6) . Evitement d’obstacles dynamiques ........................................................................ 95. . Evitement d’obstacles imprévisibles .................................................................... 98. 5.. Comment atteindre la cible ?...................................................................................... 99. 6.. CONCLUSION.......................................................................................................................... 101. 1.. INTRODUCTION .................................................................................................................... 103. 2.. IMPLEMENTATION DU SYSTEME .................................................................................. 103 2.1.. 2.1.1. LANGAGE DE PROGRAMMATION ET BIBLIOTHEQUE GRAPHIQUE .................................. 104 APERÇU SUR L’OUTIL DE DEVELOPPEMENT DE L’APPLICATION......... 104. 2.1.1.1 2.2.. 3.. UNITY 3D....................................................................................................................... 104. DESCRIPTION DES LANGAGES DE DEVELOPPEMENT ....................................................... 106. 2.2.1.. Langage C#................................................................................................................ 106. 2.2.2.. Langage XML............................................................................................................. 106. PRESENTATION DE SYSTEME ......................................................................................... 107 3.1.. PRESENTATION DE DIFFERENTS SCRIPTES UTILISES ..................................................... 108. 3.2.. PRESENTATION DE DIFFERENTS PREFABRIQUES « PREFABS » ................................. 112. 3.3.. LA MISE EN ŒUVRE DE LA CARTE DE CHEMINEMENT ...................................................... 114. 3.3.1.. Présentation et fonctionnement du nœud réalisé ........................... 114. 3.3.2.. La diffusion et la connexion des nœuds ................................................... 116. 3.3.3.. L'inondation se remplit « Flood fill »......................................................... 118. 3.3.4.. Le contenu du fichier XML................................................................................. 119. 3.4.. LA NAVIGATION ...................................................................................................................... 120. 3.4.1.. Trouver la cible........................................................................................................ 121. 3.4.2.. Peaufiner le chemin proposé .......................................................................... 121. 3.4.3.. Evitement des obstacles .................................................................................... 122. 4.. PRESENTATION DU RESULTAT FINAL........................................................................ 125. 5.. CONCLUSION.......................................................................................................................... 127. CONCLUSION GENERALE ET PERSPECTIVES ................................................................... 128 BIBLIOGRAPHIE ............................................................................................................................ 131.

(7) Liste de figures. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure. 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18. Figure Figure Figure Figure. 19 20 21 22. Figure 23 Figure 24 Figure 25 Figure Figure Figure Figure. 26 27 28 29. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure. 30 31 32 33 34 35 36 37 38 39. Utilisation de grille en animation Exemple de grilles uniforme Exemple de grilles uniforme Décomposition par rectangle Exemples de triangulations de Delaunay contrainte Exemples de triangulations de Delaunay filtrées Décomposition en trapèzes carte de cheminement graphe de visibilité diagrammes de Voronoï généralisé Une carte de champ de potentiel Schéma Perception -Décision- Action Pyramide de l'animation selon Terzopoulos Arbre de décision Exemple de Smart Object : interaction avec un casier. Modèle OCC original Modèle FEM Phénomène d’agglutination dans le modèle de particules de D.Helbing [HFV00] Les trois règles comportementales du modèles Flocks of Boids Modèle prédictif de navigation de Feurtey Taxonomie des techniques de déplacement en fonction de la tâche à accomplir Taxonomie des techniques de déplacement axé sur le niveau de contrôle de l’utilisateur Illustration de potentiels primitifs dont la combinaison guide les déplacements. Grille d’occupation locale construite par la méthode "Histogrammic in motion mapping". Utilisation de l’histogramme des obstacles pour déterminer la direction de Déplacement Contrainte d’évitement d’obstacles pour la méthode de la fenêtre Dynamique Fenêtre de sélection des vitesses Contrainte “souple” exprimant une préférence sur la direction à prendre Région de Voronoi d'un sommet, d'une arête et d'une face d'un polyèdre convexe exemple d’octree Ensemble des BVH ordonnés selon leur complexité Diagramme de Voronoi du premier et deuxième ordre pour 9 polygones, Quatre types de collision module de navigation réactive Subdivision de l’espace de navigation Notre module de la navigation réactive représente la structure générale du nœud représente les étapes de la fonction du nœud Catre de cheminement son "flood fill". 06 07 07 08 10 11 12 12 13 14 17 21 21 23 31 32 34 38 40 4 45 45 49 50 51 51 52 53 57 59 60 66 67 71 73 75 76 77 78.

(8) Figure 40 Catre de cheminement avec "flood fill" Figure 41 signe algébrique représente la distance diagonale en 3d Figure 42 A gauche, la pyramide comportementale originelle. A droite, L’équivalent de la pyramide comportementale dans notre modèle. Figure 43 modèle humanoïde Figure 44 Architecteur de system Figure 45 signe algébrique représente la distance diagonale en 3d Figure 46 représentes le déroulement de l'algorithme A* Figure 47 prévention de collision Figure 48 le champ potentiel de deux piétons Figure 49 l’évitement de collision Figure 50 technique d'évitement d'un obstacle dynamique Figure 51 représente la structure du nœud de la détection les obstacles imprévisibles Figure 52 organigrammes représentent les différentes étapes pour atteindre la cible Figure 53 organigramme représente les différentes étapes de la navigation Figure 54 capture d'image de L’éditeur d’Unity 3D Figure 55 représente les déférents scriptes dans le projet Figure 56 : représente le contenu de scripte « spreadre » Figure 57 représente le contenu de scripte « Tester » Figure 58 représente le contenu du scripte « LoadTheGraph » Figure 59 représente le contenu du scripte « Player » Figure 60 représente le contenu du scripte « A_STAR » Figure 61 représente le contenu du scripte «AIController» Figure 62 représente le contenu de scripte « Update Static » Figure 63 représente le contenu de scripte « TargetObserver » Figure 64 représente les déférents préfabriqués utilisés dans le projet Figure 65 représente le contenu du composant "Transform" Figure 66 représente le contenu du composant "Box Collider" Figure 67 représente la forme du nœud réalisé Figure 68 présente les différentes tâches d’un nœud Figure 69 la diffusion des nouds dans une plateforme statique Figure 70 la diffusion des nœuds avec l'affichage de champs de détection Figure 71 représente la phase finale de la carte de cheminement Figure 72 la diffusion des nœuds dans une scène complexe Figure 73 Une carte de cheminement normale Figure 74 Une carte de cheminement avec la technique "Flood fiil" Figure 75 Une capture d'image sur une partie de fichier xml Figure 76 l'application de A* dans une scène 3D. Figure 77 Évitement des obstacles dynamique Figure 78 capture d'image représente l'apprentissage individuel de l’environnement Figure 79 capture d'image représente l'apprentissage de l’environnement en groupe Figure 80 la mise à jour de la carte de cheminement Figure 81 capture d'image de la scène utilisée Figure 82 application de la carte de cheminement à cette scène Figure 83 la navigation de l’agent ver le but Figure 84 l’agent monte l’escalier Figure 85 le groupe des agents aller vers le but. 78 79 80 82 86 89 91 95 95 96 97 98 99 100 105 108 109 109 110 110 111 111 111 112 112 113 113 115 116 117 117 117 118 119 120 121 121 122 123 124 124 125 125 126 126 127.

(9) Résumé. Dans la littérature, le problème général de la navigation est abordé principalement suivant deux perspectives, celle des techniques délibératives et celle des techniques réactives. Les techniques réactives ont été originellement motivées par la nécessité des humains virtuel à pouvoir réagir à l’environnement afin d’éviter les obstacles. Ces techniques nécessitent d’être rapides ce qui limite fortement le temps de calcul disponible tout en évitant de rentrer en collision avec les obstacles de l’environnement. La première difficulté consiste donc à structurer l’environnement pour gérer efficacement les requêtes, comme par exemple trouver un chemin ou détecter les obstacles proches. L’autre difficulté réside dans son peuplement avec des entités pouvant interagir entre elles et avec l’environnement. Nous avons étudié les différentes méthodes de représentations de l’environnement adaptées au calcul de chemins. Notre choix est fait sur. la décomposition cellulaire. « grille », cette. décomposition cellulaire nous a permis de construire un graphe sur lequel on a appliqué les dernières techniques de calcul de chemin optimum. Pour arriver à une navigation réaliste, on a étudié au premier lieu les caractéristiques et les comportements des personnes en déplacement dans un environnement avec des obstacles statiques, dynamiques et imprévisibles. La carte de cheminement est utilisée pour avoir des chemins libres d’obstacles statiques. On a développé notre approche pour l’évitement des obstacles dynamiques et imprévisibles.. mots clefs : animation comportementale, modèles réactifs, représentation de l’environnement, planification de chemin, évitement de collision.. b.

(10) Résumé. Dans la littérature, le problème général de la navigation est abordé principalement suivant deux perspectives, celle des techniques délibératives et celle des techniques réactives. Les techniques réactives ont été originellement motivées par la nécessité des humains virtuel à pouvoir réagir à l’environnement afin d’éviter les obstacles. Ces techniques nécessitent d’être rapides ce qui limite fortement le temps de calcul disponible tout en évitant de rentrer en collision avec les obstacles de l’environnement. La première difficulté consiste donc à structurer l’environnement pour gérer efficacement les requêtes, comme par exemple trouver un chemin ou détecter les obstacles proches. L’autre difficulté réside dans son peuplement avec des entités pouvant interagir entre elles et avec l’environnement. Nous avons étudié les différentes méthodes de représentations de l’environnement adaptées au calcul de chemins. Notre choix est fait sur. la décomposition cellulaire. « grille », cette. décomposition cellulaire nous a permis de construire un graphe sur lequel on a appliqué les dernières techniques de calcul de chemin optimum. Pour arriver à une navigation réaliste, on a étudié au premier lieu les caractéristiques et les comportements des personnes en déplacement dans un environnement avec des obstacles statiques, dynamiques et imprévisibles. La carte de cheminement est utilisée pour avoir des chemins libres d’obstacles statiques. On a développé notre approche pour l’évitement des obstacles dynamiques et imprévisibles.. mots clefs : animation comportementale, modèles réactifs, représentation de l’environnement, planification de chemin, évitement de collision.. b.

(11) Abstract. In the literature, the general problem of navigation is addressed mainly in two perspectives, that of the technical and deliberative techniques reactive. Reactive techniques were originally motivated by the need for virtual humans can react to the environment to avoid obstacles. These techniques need to be fast which greatly reduces the computation time disponible.et its goal while avoiding to collide with the obstacles of the environment. That generate the more difficulty the first challenge is therefore to structure the environment to effectively manage queries, such as finding a path or detect nearby obstacles. Another difficulty lies in its settlement with entities that interact with each other and with the environment. We have studied different methods of representations of the environment suitable for calculating paths. Our choice is made on the cellular decomposition "grid", this cellular decomposition allowed us to construct a graph on which applied the latest techniques for calculating optimum path. To arrive at a realistic navigation was studied first the characteristics and behavior of people moving in an environment with static obstacles, dynamic and unpredictable. The card is used for routing paths free of static obstacles. We have developed our approach for the avoidance of dynamic obstacles and unpredictable.. c.

(12) ‫ﻣﻠﺨﺺ‬. ‫ﻓﻲ اﻟﻄﺒﯿﻌﺔ‪ ،‬ﺗﻨﻘﺴﻢ ﻣﺸﻜﻠﺔ اﻟﻤﻼﺣﺔ أﺳﺎﺳﺎ اﻟﻰ ﻗﺴﻤﯿﻦ‪ ،‬اﻟﺘﻘﻨﯿﺎت اﻟﻔﻨﯿﺔ واﻟﺘﺪاوﻟﯿﺔ ﻋﻠﻰ رد اﻟﻔﻌﻞ‪ .‬ان اﻟﺪاﻓﻊ ﻟﺘﻘﻨﯿﺎت رد‬ ‫اﻟﻔﻌﻞ ﯾﻌﻮد ﻟﺤﺎﺟﺔ اﻻﻧﺴﺎن ﻋﻨﺪ اﻟﺘﻔﺎﻋﻞ ﻣﻊ اﻟﺒﯿﺌﺔ ﻟﺘﺠﻨﺐ اﻟﻌﻘﺒﺎت ‪.‬ھﺬه اﻟﺘﻘﻨﯿﺎت ﺗﺤﺘﺎج إﻟﻰ أن ﺗﻜﻮن ﺳﺮﯾﻌﺔ ﻣﻤﺎ ﯾﻘﻠﻞ إﻟﻰ‬ ‫ﺣﺪ ﻛﺒﯿﺮ ﻣﻦ اﻟﻮﻗﺖ اﻟﻼزم ﻟﻠﺤﺴﺎب ‪ ،‬ﻣﻊ ﺗﻔﺎدي اﻻﺻﻄﺪام ﻣﻊ ﻟﻤﻌﻮﻗﺎت اﻟﺒﯿﺌﺔ ‪ .‬ھﺬا اﻟﺬي ﯾﻮﻟﺪ ﺗﺤﺪﯾﯿﻦ اﻻول ھﯿﻜﻠﺔ ھﺬه‬ ‫اﻟﺒﯿﺌﺔ واﻟﺜﺎﻧﻲ ھﻮ اﻟﻌﺜﻮر ﻋﻠﻰ اﻟﻤﺴﺎر و اﻟﻜﺸﻒ ﻋﻦ اﻟﻌﻮاﺋﻖ اﻟﻘﺮﯾﺒﺔ‪ .‬وھﻨﺎك ﺻﻌﻮﺑﺔ أﺧﺮى ﺗﻜﻤﻦ ﻓﻲ ﺗﺴﻮﯾﺔ ﻣﻊ اﻟﻜﯿﺎﻧﺎت‬ ‫اﻟﺘﻲ ﺗﺘﻔﺎﻋﻞ ﻣﻊ ﺑﻌﻀﮭﺎ اﻟﺒﻌﺾ وﻣﻊ اﻟﺒﯿﺌﺔ‪.‬‬ ‫ﻓﻲ ھﺬه اﻟﺪراﺳﺔ ﻗﺪ ﻗﻤﻨﺎ ﺑﺪراﺳﺔ ﻣﺨﺘﻠﻒ اﻻﺳﺎﻟﯿﺐ اﻟﻤﻨﺎﺳﺒﺔ ﻟﺘﻤﺜﯿﻞ اﻟﺒﯿﺌﺔ ﻗﺼﺪ ﺣﺴﺎب اﻟﻤﺴﺎرات‪ .‬وﻗﺪ ﻗﻤﻨﺎ ﺑﺎﺧﺘﯿﺎر طﺮﯾﻘﺔ‬ ‫اﻟﺘﺤﻠﻞ اﻟﺨﻠﻮي ﻋﻠﻰ ﺷﻜﻞ "اﻟﺸﺒﻜﺔ" ‪ ،‬ﺳﯿﺴﻤﺢ ﻟﻨﺎ ھﺬا اﻟﺘﻤﺜﯿﻞ ﻟﺒﻨﺎء اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ اﻟﺬي ﯾﻌﺘﻤﺪ ﻋﻠﻰ ﺗﻄﺒﯿﻖ أﺣﺪث اﻟﺘﻘﻨﯿﺎت‬ ‫ﻟﻠﻮﺻﻮل إﻟﻰ ﺣﺴﺎب اﻟﻨﺘﯿﺠﺔ اﻟﻤﺘﻮﻗﻌﺔ ھﻲ اﻟﻄﺮﯾﻖ اﻷﻣﺜﻞ‪ .‬ﻟﻠﻮﺻﻮل إﻟﻰ واﻗﻌﯿﺔ اﻟﻤﻼﺣﺔ ﻗﻤﻨﺎ ﺑﺪراﺳﺔ أوﻻ ﺧﺼﺎﺋﺺ‬ ‫وﺳﻠﻮﻛﯿﺎت اﻻﻧﺴﺎن اﻟﻤﻮﺟﻮد ﻓﻲ ﺑﯿﺌﺔ ﺗﺤﺘﻮي ﻣﺨﺘﻠﻒ اﻟﻌﻘﺒﺎت ﺳﻮاء ﻛﺎﻧﺖ ھﺬه اﻟﻌﻘﺒﺎت ﺛﺎﺑﺘﺔ او ﻣﺘﺤﺮﻛﺔ او ﻏﯿﺮ ﻣﺘﻮﻗﻌﺔ‪.‬‬ ‫ﻧﺴﺘﺨﺪم اﻟﺨﺮﯾﻄﺔ ﻟﺘﺠﻨﯿﺐ اﻻﻧﺴﺎن اﻟﻌﻘﺒﺎت اﻟﺴﺎﻛﻨﺔ‪ .‬وﻗﺪ وﺿﻌﻨﺎ ﻧﮭﺠﻨﺎ ﻟﺘﺠﻨﺐ اﻟﻌﻘﺒﺎت اﻟﻤﺘﺤﺮﻛﺔ واﻟﺘﻲ ﻻ ﯾﻤﻜﻦ اﻟﺘﻨﺒﺆ ﺑﮭﺎ‪.‬‬.

(13) Introduction générale Après la deuxième. moitié du vingtième siècle, la science a connu un. développement dans tous les domaines, les améliorations techniques rapides des ordinateurs, ainsi que le développement des applications de simulation du monde réel en trois dimensions. Cette technologie a connue aussi une évolution appréciable touchant plusieurs domaines parmi eux: l’éducation et apprentissage, la médecine, l’architecture et les jeux vidéo etc. Le thème de notre recherche, nous oblige à nous intéresser à l’environnement virtuel et à la simulation de l’un du comportement humain (navigation), La navigation des piétons virtuels à l’intérieur d’un environnement a besoin d'une grande quantité d’informations. Ces données sur l’environnement représentent l’espace navigable et non- navigable, autrement dit on doit tenir compte des formes géométriques (objets statiques). Ce déplacement nécessite la résolution des problèmes : -. Comment représenter les espaces navigables et non- navigables en 3D ?. -. Comment trouver le chemin optimal de déplacement ?. -. Comment résoudre le problème d’évitement de la collision avec les objets statiques, dynamiques et éventuellement tous les obstacles imprévisibles ?. Nous essayons par notre étude d’atteindre l’objectif de réaliser un système dynamique applicable sur n’importe quelle scène 3D, représentant les espaces navigables et non navigables et permettant au piéton de naviguer dans un environnement 3d tout en évitant la collision avec les objets statiques, dynamiques et éventuellement tous les obstacles imprévisibles.. Pour répondre à notre problématique et donner des illustrations aux questions posées et atteindre l’objectif prévu, on va utiliser l’un des modèles de représentation spatiale, modèle approximative à base de grille « en anglais Grid ».. 1.

(14) Cette approche par décomposition cellulaire permet de réaliser un graphe à partir des nœuds générés par chaque élément de la division cellulaire de notre environnement. Cette approche offre la possibilité de trouver un chemin par l’application des algorithmes de la recherche sur graphe. Pour cela on a retenu l’algorithme A* « A star » qui permet de tracer un chemin optimal de sa position de départ à celle de son arrivée.. Domaines d’applications Les domaines d’application de la navigation réactive sont variés tels que les jeux vidéo, domaines de la médecine et des soins des phobies. Validation ergonomique de sites. La création de lieux publiques pose des problèmes d’ordre ergonomique, autrement dit, relatif à la qualité de leur utilisation, des problèmes peuvent se poser quant à la bonne navigation à l’intérieur des lieux. Dans ce cadre la navigation des humain Virtual peut être utilisée pour effectuer des validations sur sur des maquettes virtuelles, les éventuelle problèmes peuvent alors être détectée et corriger avant la construction. Jeux Vidéo : Avec l’évolution de la puissance de calcule des GPU, cette évolution permet aux concepteurs de jeux vidéo a concentre sur le comportement des personnages par exemple Autodesk® Gameware Navigation® Autodesk a beaucoup investi dans la navigation dans les dernières années, la constitution d'une équipe qualifiée, basée à Paris. La société a également concentré ses ressources de développement sur la refonte Kynapse, ce qui a entraîné des annonces relativement moins sur le produit (et de nouvelles fonctionnalités) jusqu'à ce que Gameware navigation a été introduite la semaine dernière. Robotique : Un robot est une machine équipé de capacités de perception de décision, et d’action qui lui permettent d’agir de manière autonome dans son environnement en fonction de la perception. La navigation d’un robot consiste à déterminer une suite de coordonnées que ce dernier doit suivre pour atteindre une destination donnée.les navigation réactive est ensemble de comportement fonctionnant en parallèle, contrôle le robot ,la navigation réactive de robot supprime les problème dus aux différence entre la réalité et le modèle de l’environnement du robot.. 2.

(15) Médecine : dans le développement de simulations chirurgicales en environnement immersif nouveau besoins se font sentir en ce qui concerne les outils d’interaction et de visualisation, dans ce cadre les navigations réactive utilisée pour améliorer la navigation dans réseaux vasculaire dense.. Plan du mémoire. Ce document est organisé en deux parties. La première partie est un développement de l’état de l’art sur tous les aspects qui entrent dans le domaine de. l’animation. comportementale . Nous y aborderons aussi des sujets inhérents à l’étude du comportement humain, et se décompose en trois chapitres:.  Le premier chapitre présente des représentations de l’environnement adaptées au calcul de chemins et les algorithmes de planification de chemin sont présentés.  Le second chapitre presente les différents modèles de comportement d’humain virtuel (la définition ,les proprietés …) ainsi les différentes architectures de simulation d’humains virtuels.  Le troisième chapitre présente les modeles de comportement de navigation réactive d’humain virtuel , le processus de detection et d’évitement de collision sont traités. La seconde partie du document est dédiée à la présentation des travaux effectués dans le cadre de ce mémoire. Elle se divise en deux chapitres:  Le quatrième chapitre présente notre modèle de navigation reactive d’humain virtuel par planification locale. L’architecture ainsi que les détails des modules de notre système sont présentés.  Le dernier chapitre présente l’implémentation et la validation des résultats de notre système de simulation.. 3.

(16) Chapitre 1 : Représentation de l’environnement et planification de chemin. 4.

(17) Chapitre I. Représentation de l’environnement et planification de chemin 1.Introduction La modélisation d’environnement sous forme de bases géométriques en trois dimensions devient de nos jours de plus en plus courants. Toute personne, a déjà vu, et ce depuis de nombreuses années, un bâtiment, une ville, une maison ou toutes autres formes architecturales modélisées en 3D. Et ce, dans les films d’animations (Disney), dans les jeux vidéo ou tout simplement dans les effets spéciaux de films récents.. La nécessité d’une description topologique, permettant de représenter et d’organiser l’environnement de simulation. Cette description topologique peut être plus ou moins fine, exacte ou approximative, et peut éventuellement contenir des informations sémantiques. Les algorithmes utilisés en animation comportementale pour représenter l’environnement sont étroitement liés à ceux employés en robotique [Lat91], domaine où cette représentation tient un rôle prépondérant.. Cette description est ensuite exploitée par des algorithmes de recherche de chemin. Ceux-ci peuvent se baser sur différentes informations issues de l’environnement, qu’elle soit géométriques comme les distances, ou qualitatives comme la charge cognitive associée au chemin. Cette planification de chemin constitue un premier pas vers des modèles de décision plus poussés, ouvrant la voie à une gestion comportementale individuelle.. 5.

(18) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. 2.Représentation des parties statiques de l’environnement : Il existe deux grandes familles de techniques de représentation de l’environnement la décomposition en cellules et les cartes de cheminement.. 2.1. Décomposition en cellules L’espace libre est découpé en zones, correspondant à des cellules. Les relations de proximité sont représentées grâce à un graphe. Ces décompositions peuvent êtres exacts ou approximatifs.. Figure.1Utilisation de grille en animation 2.1.1. Décompositions approximatives : L’approche la plus immédiate consiste à discrétiser l’espace de manière uniforme, suivant des figures régulières, le plus souvent des carrés [LD04] ou des rectangles. a. Grille uniforme La décomposition uniforme permet d’accéder rapidement à un point connaissant ses coordonnées. Cependant, elle souffre de certains défauts. Une cellule pouvant à la fois contenir un obstacle et une partie accessible, des informations utiles sont perdues. Ainsi, pour augmenter la précision, il faut diminuer la taille des cellules. En conséquence, la quantité de mémoire utilisée augmente de manière quadratique. Il est donc nécessaire de trouver un compromis sur la taille des cellules pour avoir une précision et une occupation mémoire satisfaisantes.. 6.

(19) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. Figure.2 Exemple de grilles uniforme. Pour réduire ce problème, une évolution de ce modèle est apparue sous la forme des grilles hiérarchiques. b. Grilles hiérarchiques L’utilisation de grilles hiérarchiques consiste à découper l’espace grâce à un arbre de cellules. Les cellules est entièrement libres ou entièrement occupées sont conservée telle quelle. En revanche, les cellules mixtes sont de nouveau divisées. Le processus s’arrête quand les cellules ont atteintes une taille minimale. Cette technique permet donc une compression des données puisqu’elle ne rajoute de l’information qu’aux endroits où c’est utile.. Figure.3 Exemple de grilles uniforme. 7.

(20) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. c. Décomposition par rectangle : Cette méthode de décomposition consiste à représente l’espace sous la forme d’une collection de rectangle, ces rectangles alignés sur les axes, et recouvrent tout l’espace et ne partagent que des frontière. Cette décomposition (les rectangles) représente une zone de navigation libre c a d une zone contenue à l’intérieur d’un obstacle ou bien une zone comprenant à la fois une zone de navigation et une partie d’obstacle.. L’avantage de cette méthode de permettre de créer des cellules de taille variable en fonction de la complexité de la géométrique de l’environnement.. Figure.4 Décomposition par rectangle. 2.1.2. Décomposition exacte : Le but de ce méthode et de représenter exactement l’espace libre sous la forme de cellules convexes (découper l’espace navigable en cellules convexes) de différentes formes (triangle…..) Il existe plusieurs modèles pour effectuer cette décomposition, la plus utilisée qu’est la triangulation de Delaunay, ainsi qu’à ses évolutions. a. Triangulation de Delaunay : En mathématiques et plus particulièrement en géométrie algorithmique, la triangulation de Delaunay d'un ensemble P de points du plan est une triangulation DT(P) telle qu'aucun point de P n'est à l'intérieur du cercle circonscrit d'un des triangles de DT(P). Les triangulations de Delaunay maximisent le plus petit angle de l'ensemble des angles des. 8.

(21) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. triangles, évitant ainsi les triangles "allongés". Cette triangulation a été inventée par le mathématicien russe Boris Delaunay (1890- 1980) en 1934. D'après la définition de Delaunay [PPD07], le cercle circonscrit d'un triangle constitué de trois points de l'ensemble de départ est vide s'il ne contient pas d'autres sommets que les siens. Ainsi, les autres points sont autorisés sur le périmètre en lui-même mais pas à l'intérieur strict du triangle. La condition de Delaunay affirme qu'un réseau de triangles est une triangulation de Delaunay si tous les cercles circonscrits des triangles du réseau sont vides. Ceci constitue la définition originale en deux dimensions. En remplaçant les cercles par des sphères circonscrites, il est possible d'étendre la définition à la dimension trois. Il n'existe pas de triangulation de Delaunay pour un ensemble de points alignés. De toute manière, la triangulation n'est dans ce cas pas définie. Pour 4 points concentriques, tels que les sommets d'un rectangle, la triangulation de Delaunay n'est pas unique. Trivialement, les triangulations utilisant chacune des deux diagonales satisfont la condition de Delaunay. Il est possible de généraliser cette notion pour des mesures non Euclidienne, sans garanti de l'existence ou de l'unicité de la triangulation. La propriété la plus intéressante de cette triangulation [LD04] est que chaque point y est relié à son plus proche voisin par l’arête d’un triangle. Ainsi, cette triangulation peut être utilisée pour représenter l’espace navigable, les points d’entrée étant issus des obstacles. Une autre utilisation possible de cette triangulation est cette fois dynamique lors de la simulation [BY95], pour calculer un graphe de voisinage entre les entités mobiles, qui serviront cette fois-ci de point d’entrée. b. Triangulation de Delaunay contrainte en 2d Cette triangulation peut être utilisé pour effectuer une subdivision spatiale en triangle [KBT03] .les contraintes expriment alors les arêtes des polygones délimitant les obstacles peuplent les environnements, permettent d’effectuer une subdivision d’environnements sous forme de triangle.. 9.

(22) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. Le nombre des arrêtes et de triangle générer la relation de Euler [BY95] le nombre de triangle utilisé pour la subdivision spatiale est donc linéaire en fonction du nombre de points, indiquant que la discrétisation est donc directement proportionnelle à la. complexité géométrique de l’environnement. Cette propriété présente un avantage certain comparativement aux méthodes approximatives, où la discrétisation est fonction de la précision désirée de la représentation. Figure.5 Exemples de triangulations de Delaunay contrainte c. Triangulation de Delaunay filtrée La triangulation de Delaunay filtrée [Lat91] est une extension de la version contrainte. Deux types de filtrages sont proposés, l’un ayant pour effet d’augmenter le nombre de triangles produits afin d’affiner la représentation de l’environnement, l’autre de le diminuer afin de tenir compte de la visibilité pour l’élaboration d’un graphe de voisinage. Premièrement, concernant son application à la subdivision spatiale, la triangulation.de Delaunay est filtrée par l’ajout progressif de contraintes représentant les goulets d’étranglement (Figure(d)). Ainsi, en considérant l’ensemble des arêtes produites, on est sûr de représenter tous les rétrécissements présents dans l’environnement. Deuxièmement, concernant son application aux graphes de voisinage, la triangulation de Delaunay est filtrée sur un principe équivalent à la triangulation contrainte, en supprimant les arêtes intersectées des obstacles de l’environnement (Figure (f)). Ainsi, cette triangulation peut servir à déterminer trivialement quels sont les voisins directs visibles d’une entité, et avec un simple parcours de graphe peut sélectionner les entités visibles à une certaine distance.. 10.

(23) [REPRESENTATION DE L’ENVIRONNEMENT]. (f )Filtrage pour graphe de voisinage. Seules les arêtes noires seront conservées, n’entrant pas en collision avec les obstacles de l’environnement.. Chapitre I. (a): l’environnement au départ.. (b): après la triangulation de Delaunay. (c): distance minimum entre les angles et les murs.. (d) : triangulation de Delaunay en prenant en compte la distance minimum.. d. Décomposition en trapèzes : Permet de décomposer l’environnement sous forme de cellules trapézoïdales [LD04], elle est basée sur un algorithme de balayage. La géométrie de l’environnement délimité par des point tries suivant l’axe des cordonnées. Les segments généré (maximum 2 segment), ayant les point sélectionné comme origine et pour extrémité la prochaine intersection avec le bord d’un polygone délimitant un obstacle.. 11.

(24) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. Figure.7 Décomposition en trapèzes. 2.2. Cartes de cheminement : Une carte de cheminement est une représentation implicite de l’environnement [PPD07], particulièrement bien adaptée pour la recherche de chemins. Ces techniques utilisent un graphe dont les sommets correspondent à des points clés, c’est à dire à des positions où l’humanoïde peut tenir debout sans entrer en collision avec l’environnement. Si une arrête existe entre deux sommets, il est possible de naviguer d’un point à l’autre.. Calculs sur l’environnement d’origine. Exemple de carte de cheminement. Figure.8 Cartes de cheminement. 12.

(25) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. 2.2.1. Cartes de cheminement déterministes. Les sommets d’un graphe de visibilité correspondent aux coins des obstacles. Les sommets du graphe sont reliés par une arrête s’il est possible d’aller d’un point à l’autre en ligne droite, sans rencontrer d’obstacle. Dans le cas d’espaces très ouverts, cette technique produit de grands graphes.. Figure.9 graphe de visibilité 2.2.2. Les diagrammes de Voronoï Peuvent être calculés à partir d’une triangulation de Delaunay. L’objectif est de partitionner l’espace grâce à des lignes équidistantes des obstacles les plus proches. Les intersections de ces lignes constituent les points clés de la carte de cheminement. Les chemins calculés à partir de cette représentation sont assez éloignés des obstacles, contrairement à ceux obtenus à partir du graphe de visibilité. Dans le cas où l’environnement a été subdivisé en cellules, il est possible de se ramener à une carte de cheminement. Un point clé est placé sur le milieu de chaque segment libre des cellules, puis un chemin est établit entre les points clés de chaque cellule. La génération de cartes de cheminement [LD04], chaque obstacle constitue un site l (Ai) les frontières de chaque zone V(Ai) constituer la carte de cheminement .les points clefs sont définis comme étant les point équidistants d’au moins trois obstacles, c a d à l’intersection d’au moins trois zones, Le chemin alors générer maximiser la distance aux obstacles. 13.

(26) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. Figure.10diagrammes de Voronoï généralisé. 2.2.3. Cartes de cheminement probabilistes Plutôt que de définir les points clés de manière déterministe en s’appuyant sur les caractéristiques de l’environnement, il est possible de prendre ces points au hasard dans l’espace. Deux points sont reliés s’il n’y a pas d’obstacles entre eux. Il est nécessaire de trouver un compromis sur le nombre de points pour ne pas alourdir les calculs tout en évitant de créer des zones isolées.. 3.La planification de Mouvement : Afin d’exploiter une représentation de l’environnement, qu’elle soit approximative ou exacte, La planification de mouvement est un champ de recherche très étudié en robotique, Cette planification cherche une trajectoire de mouvement dans un environnement, généralement présenter par un graphe, donc La planification consiste à calculer un chemin permettant à l’humanoïde de relier un point à un autre en passant par des zones navigables. Les différentes techniques utilisées sont fortement dépendantes de la façon dont l’environnement est représenté.. 3.1. La planification globale 3.1.1. Recherche dans un graphe Quelle que soit la représentation globale utilisée, les principaux algorithmes de recherche performants. L’algorithme de Dijkstra détermine le chemin le plus court d’un. 14.

(27) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. nœud du graphe à chacun des autres.Il est notamment utilisé lorsqu’aucune heuristique viable ne peut être faite sur l’environnement. Cette technique comporte généralement un coût trop important pour être appliquée à la recherche d’un chemin entre uniquement deux nœuds du graphe. L’algorithme A* ou IDA* permet de trouver le chemin minimisant un coût de cheminement entre la configuration initiale et la configuration cible. Il nécessite d’avoir une bonne heuristique. 3.1.1.1.. Algorithmes de parcours. Différents algorithmes de parcours de graphe peuvent être utilisés dans le cadre de la planification de chemin.  A) Dijkstra :. L’algorithme de Dijkstra permet de trouver l’ensemble des meilleurs chemins entre deux nœuds du graphe. Cet algorithme utilise une file de priorité où il stocke pour chaque nœud exploré deux informations : – la distance parcourue depuis le nœud de départ jusqu’au nœud courant . – le nœud précédent, i.e. parcouru avant le nœud courant. L’algorithme commence avec un nœud source correspondant généralement à la position courante de l’entité, qui n’a donc aucun prédécesseur et un compteur de distance nul. Cet algorithme fonctionne directement sur le graphe topologique, qu’il soit explicite ou implicite .Afin de trouver un chemin entre deux nœuds, en admettant que la longueur de. ce chemin soit l, l’algorithme explorera par propagation circulaire l’ensemble des nœuds se trouvant à une distance inférieure à 1. Les intérêts majeurs de cet algorithme si un chemin existe il sera forcément trouvé et son abstraction totale de la destination. Son point faible est sa complexité calculatoire, étant de l’ordre de O(A+ N. logN) où A est le nombre d’arcs du graphe, et N son nombre de nœuds.  B)A* :. Dans l’animation comportementale la performance de la recherche est primordiale, comme en animation (jeux vidéo) l’algorithme A* [Nil82] est plus utilisé. Celui-ci fonctionne d’une façon similaire à l’algorithme de Dijkstra, mais en ajoutant un coût prédictif aux nœuds correspondant au reste du chemin à parcourir. Le coût total est donc la longueur. 15.

(28) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. réelle du chemin jusqu’au nœud, incrémentée par une valeur prédite pour le chemin menant au but, calculée par une heuristique. L’algorithme va ainsi parcourir les nœuds dans l’ordre croissant de leurs coûts associé. La rapidité de convergence de cet algorithme est directement dépendante de la qualité de l’heuristique employée. Dans le cas de la recherche de plus court chemin, l’heuristique employée est une estimation de distance.. L’avantage de cet algorithme réside dans sa rapidité calculatoire. Son inconvénient majeur réside dans le recours à une heuristique. En effet, plus l’évaluation de la longueur de chemin sera complexe, pouvant faire intervenir d’autres paramètres que la distance (par exemple un coût associé à la sémantique), plus cette heuristique sera difficile à expliciter. Ainsi, il est difficile d’utiliser cet algorithme pour des planifications de chemin.  Évolutions du A* :. Un certain nombre d’évolutions ont été proposées pour améliorer les propriétés du A* B. Logan et N. Alechina [LA98] proposent l’algorithme ABC (pour A* with Bounded Cost), permettant d’ajouter des contraintes molles à respecter lors de la planification, comme des limitations de temps ou d’énergie.  L’algorithme IDA*. L’algorithme A* reste très gourmand en espace. Des variantes de l’algorithme A* sont alors apparues pour réduire l’espace exploré comme c’est le cas pour IDA*. Le principe de l’algorithme de recherche IDA* utilise une approche différente une recherche en profondeur dans le graphe supervisé par une heuristique. Une borne F de longueur est initialisé avec la distance estimé au but(une distance maximale de parcours)en commencent l’exploration par le nœud d’origine du chemin et explorer successivement puis évalue récursivement les voisins jusqu’à ce que l’une des deux conditions suivantes soit vérifiée : soit le chemin est trouvé il s’agit du chemin optimal soit un nœud est parcouru dont le coût est supérieur à F. Dans le cas ou aucun chemin n’est trouvé la borne F est remise à jour avec la petite estimation de la distance au but évaluée précédemment. cet algorithme est plus lent que le A* traditionnel, mais nécessite moins de mémoire.. 16.

(29) [REPRESENTATION DE L’ENVIRONNEMENT] . Chapitre I. L’algorithme HPA* :. [BMS04]. (Pour Hierarchical Pathfinding A*) consiste à redécouper – abstraire – le graphe. de l’environnement afin de hiérarchiser la planification. En suite, l’algorithme propose d’associer des pré-calculs de plus courts chemins entre des points clefs de chaque partie abstraite. Ainsi, cet algorithme va pouvoir évaluer un chemin de haut niveau en ne manipulant que peu de nœuds.. L’algorithme de Djiksra est peu utilisé dans le cadre de la recherche de chemin. Le choix entre A* et IDA* est préféré à l’algorithme A* dans le de domaines de taille exponentielle [Lat91] car la taille de la liste triée à l’algorithme A* devient elle –même Exponentielle. Mais dans la cadre de la planification de chemin, cette considération n’a pas de signification, autre vue que ces deux algorithme possèdent des complexités équivalentes mais (IDA* nécessité moins de mémoires). 3.1.2. Champ de potentiel Fajen [FWTK03] utilise une méthode de navigation inspirée de la physique, l’environnement étant représenté par un champ de potentiel. Les obstacles produisent des forces de répulsion et le but produit une force d’attraction. L’humanoïde est soumis à ces forces, qui l’attirent vers le but, tout en évitant les obstacles locaux. Cependant, cette approche peut donner une mauvaise trajectoire au niveau global. En effet, il est possible de rencontrer un minimum local, c’est à dire un point où les forces d’annulent, provoquant un blocage. Des méthodes probabilistes sont alors utilisées pour tenter de sortir de cette situation.. Figure.11 Une carte de champ de potentiel en noir les obstacles (répulsion),. 17.

(30) [REPRESENTATION DE L’ENVIRONNEMENT]. Chapitre I. 4.Conclusion La représentation de l’environnement joue un rôle important, d’une part pour la planification de chemin, mais dans certains cas pour la détection de collision. Nous avons mis en évidence l’importance du choix de la représentation de l’environnement pour la navigation d’humanoïdes virtuels. Il est primordial d’une part d’éliminer les informations inutiles pour obtenir des calculs rapides et d’autre part de conserver les données importantes pour avoir un comportement réaliste. Plusieurs étapes sont nécessaires pour faire naviguer un humanoïde vers un point de l’espace. Un chemin grossier est calculé, puis affiné pour mieux correspondre à la réalité. Enfin, les modèles proposés tendent à modifier localement la trajectoire pour éviter les obstacles dynamiques.. 18.

(31) Chapitre II : Le Comportement humain.

(32) Chapitre II. Le Comportement Humain. 1.Introduction : Si l’on s’intéresse au comportement humain, il est nécessaire de s’intéresser à un certain nombre de sujets tels que la compréhension des mécanismes sous-tendant les fonctionnements du langage (production et perception), de la mémoire, de la perception, du contrôle musculaire ou encore des émotions. En résumé, il faut s’intéresser au fonctionnement des différentes facultés qui constituent ensemble l’esprit humain, sans oublier leur relation avec le corps.. 2.Modéliser le comportement : Pour pouvoir animer de manière réaliste un être humain virtuel, il est nécessaire disposer d’un modèle de comportement d’un être humain réel dans son environnement avant d’adapter ce modèle à l’informatique. Nous allons donc considérer en premier lieu des généralités constituant la base de tout travail sur le comportement, puis nous mettrons en valeur les points importants de la modélisation du comportement du point de vue de l’animation comportementale.. 2.1. Généralités Un être vivant évolue dans un environnement et va interagir avec celui-ci. Il peut par exemple se déplacer, saisir un objet, ou encore recevoir de l’information concernant son environnement par l’intermédiaire de ses sens. L’étude du comportement concerne classiquement l’observation de la manifestation de ces activités. Une représentation largement répandue d’un agent évoluant dans un environnement est présentée sur la figure 12. La perception permet à un agent de recevoir des informations sur son environnement. Il peut alors décider d’un but à atteindre, et va pour cela effectuer des actions qui modifieront. 20.

(33) [LE COMPORTEMENT HUMAIN]. Chapitre II. l’état de l’environnement. Cette première représentation constitue la brique fondamentale du. travail de modélisation du comportement. Nous allons présenter quelques études. réalisées sur le comportement humain ainsi que les architectures qui en ont été déduites.. 3.Modélisation du comportement : L'animation d'un humanoïde est généralement décomposée en cinq niveaux (Figure 13) les niveaux géométrique, cinématique, contrôle du mouvement, réactif et enfin cognitif.. Figure.13.Pyramide de l'animation selon Terzopoulos [Lam03]. 21.

(34) [LE COMPORTEMENT HUMAIN]. Chapitre II. Les trois premiers niveaux peuvent être assimilés à la représentation d'un humanoïde, la dimension comportementale est caractérisée par les deux niveaux supérieurs que sont la réaction et la cognition. On distingue généralement un comportement cognitif d'un comportement réactif selon respectivement l'usage ou le non-usage explicite d'une représentation des connaissances.. Nous nous intéresserons aux architectures réactives et cognitives puis nous terminerons ce chapitre par une conclusion.. 4.Architectures réactives Les modèles réactifs sont des modèles d´écrivant pour l’humain virtuel des comportements reliant directement la perception à l’action, sans modélisation abstraite des connaissances et sans raisonnement. Il existe trois grandes catégories de modèle réactif :. stimulus/réponses. règles de comportement. automates d'états finis.. 4.1. stimulus/réponses : Les modèles stimuli-réponse se basent sur un modèle du comportement dans lequel les actions sont des réponses directes à une stimulation de l’environnement. Ils utilisent dans la plupart des cas des réseaux de neurones formels qui représentent en fait une fonction mathématique dont les paramètres sont les valeurs issues de la perception de l’environnement. et dont le résultat indique l’action (ou les actions) à réaliser. Le principal avantage de cette approche est que les réseaux de neurones peuvent subir un processus d’apprentissage à partir d’une base d’exemples de couples (perception, action) qui permet par la suite au système de réagir de façon similaire à celle apprise lorsqu’une situation comparable se présente. L’inconvénient majeur de ce système est qu’il n’est pas interprétable. En effet, un réseau de neurones est constitué de neurones lies entre eux par des transitions ayant chacune une valeur représentant le poids de cette transition et il n’est pas possible pour un utilisateur de comprendre le lien entre ces valeurs et les sorties du réseau à cause de sa. 22.

(35) [LE COMPORTEMENT HUMAIN]. Chapitre II. complexité. Par conséquent, effectuer une modification du comportement nécessite de recommencer tout le processus d’apprentissage. D’autre part, cet effet boîte noire fait qu’il n’est pas possible de prévoir les réactions de l’entité et que donc seuls des tests permettent mesurer la qualité du système obtenu après apprentissage.. 4.2. Les modèles à base de règles : L'approche règles de comportement consiste à appliquer une règle de comportement qui aura été sélectionnée en fonction de la perception de l'environnement (c'est-à-dire en fonction des informations en entrée). Une des solutions pour stocker les règles est de les mettre dans un arbre de décision où chaque branche représente un comportement. Ces règles sont sélectionnées par un algorithme de parcours d'arbre. Cette approche apporte un niveau d'abstraction plus élevée que la première. Cependant, le cœur de son problème est la pondération des différents comportements. Il existe pour cela plusieurs solutions : soit un choix fixe de l'ordre des règles, soit le parcours d'un arbre des possibilités pondéré, ou soit l'utilisation d'une hiérarchie d'experts. Dans le premier cas, on ne peut pas spécifier de comportements complexes, dans le second, on peut ne pas privilégier toujours la même règle et dans le dernier cas on peut confronter plusieurs comportements concurrents, mais en laissant le choix à un expert de plus haut niveau. Cette approche a le défaut de se limiter à un environnement limité, voire entièrement défini.. .. Figure.14Arbre de décision. 23.

(36) [LE COMPORTEMENT HUMAIN]. Chapitre II. 4.3. Les automates : Les modèles à base d’automates permettent d’introduire des comportements reposant sur un enchainement conditionnel d’actions. En effet, chaque ´état de l’automate correspond à une tâche considérée comme unitaire et le passage d’un état à l’autre par les transitions de l’automate permet de modifier l’état et donc le comportement de l’agent. On a donc bien un système pour lequel l’enchainement des actions dépend du contexte perçu mais aussi de la dernière action effectuée. Différentes approches ont permis d’augmenter le niveau de complexité du comportement d´écrit par des systèmes à base d’automates et aussi d’introduire plusieurs niveaux d’abstraction. En premier lieu, les piles d’automates [NT97] ont apporté la notion d’appel de fonction. Lorsqu’un automate en appelle un autre, le premier est empilé alors que le second est lancé. Une fois que le second est terminé, le premier est dépilé et reprend. D’autre part, les automates parallèles [BW95] permettent la description de comportements complexes car le comportement à une instante donne est le résultat du produit de plusieurs automates décrivant des comportements simples. Enfin, les automates parallèles hiérarchiques ajoutent une structure à un groupe d’automates parallèles. Au sein de cette structure, chaque automate père peut soit superviser l’exécution de ses fils, soit effectuer un filtrage au niveau des propositions générées par ses automates fils. Le modèle HPTS++ [LD02], basé sur des automates parallèles hiérarchiques, a pour particularité d’ajouter des notions de ressources afin de permettre la gestion des exclusions mutuelles inhérentes aux systèmes parallèles et de permettre la mise en place de priorités afin de donner plus d’importance à certains comportements. Par rapport aux approches précédentes, l’intérêt majeur des automates est la possibilité de représenter des comportements reposant sur des enchainements d’actions. Par ailleurs, deux grands avantages de ces systèmes résident dans la puissance du formalisme des automates à états finis ainsi que dans la complexité des comportements rendus possibles grâce aux différentes approches présentées.. 4.4. Synthèse Les modèles réactifs, malgré l’absence de raisonnement abstrait, permettent d’exhiber des comportements relativement complexes. Les systèmes stimuli-réponse se détachent particulièrement des autres approches par leur opacité à la compréhension et par le fait qu’ils peuvent être construits à partir d’un ensemble d’exemples de réactions, sans. 24.

(37) [LE COMPORTEMENT HUMAIN]. Chapitre II. connaissances a priori sur le comportement à construire. Les systèmes à base de règles sont facilement interprétables et modifiables mais manquent du pouvoir d’exprimer un comportement comportant un enchainement d’actions au cours du temps, contrairement aux approches à base d’automates.. 5.Les modelés cognitifs : Apres avoir décrit les modèles réactifs, nous présentons dans cette section différents modèles dits cognitifs. Les systèmes cognitifs, contrairement aux systèmes réactifs, utilisent une représentation abstraite du monde afin de pouvoir planifier une suite d’actions leur permettant d’atteindre un but souhaité. Ils vont se projeter dans l’avenir afin d’évaluer les conséquences de leurs actions et de comparer ce résultat avec le but qu’ils recherchent.. 5.1. Calcul situationnel et dérives : Le calcul situationnel [MH69] est un formalisme utilisant six concepts pour décrire des environnements complexes ainsi que les actions qui peuvent y être réalisées. Les concepts sont décrits dans la liste ci-dessous.  Les situations : une situation correspond à l’état du monde à un instant donné.  Les fluents : un fluent représente une propriété du monde.  Les causalités : une causalité décrit une relation de cause à effet et permet de déduire la valeur d’une propriété à partir d’une autre.  Les actions : une action est décrite par des pré-conditions et des effets et permet de modifier une situation.  Les stratégies : une stratégie est une suite d’actions spécifiées par le concepteur dans le but de décrire un raisonnement scripte.  La connaissance : elle sert à modéliser le fait que les entités connaissent ou non L´état de certaines propriétés du monde. Ce formalisme permet de d´écrire un but sous la forme d’une expression booléenne portant sur des fluents et la planification consiste alors à déterminer une suite d’action permettant d’atteindre une situation dans laquelle cette expression est vérifiée. Un environnement de programmation permettant d’utiliser la puissance du formalisme du calcul situationnel est proposée par J. Funge [FT99]. Cet environnement, baptisé CML (Cognitive Modelling Language), a pour particularité de proposer un langage haut-niveau à. 25.

Références

Documents relatifs

Donner la mesure de l’angle marqué en justifiant

[r]

En comparaison avec le lancer de marteau, quel type d’action doit exercer le Soleil sur une planète pour l’empêcher de s’échapper dans l’espace?. (figures 1 et

3 -a – Compléter le schéma suivant avec les noms des changements d’état physique convenable ( fusion – vaporisation – solidification – liquéfaction ). 3 –b- Donner le

1 -a – Compléter le schéma suivant avec les noms des changements d’état physique convenable ( fusion – vaporisation – solidification – liquéfaction ). 1 –b- donner le

On peut construire un triangle si le plus grand coté est ……… à la somme des deux autres cotés.. Ex 6 : Sans faire de dessin, peut-on construire ces

2) En supposant que les figures ci-dessous sont composées de petits carrés tous identiques, indiquer quelle fraction de chaque figure représente la partie colorée. 3) En supposant

[r]