• Aucun résultat trouvé

4.3 Intégration du modèle dans la plate forme du projet Terra Dynamica

4.3.2 Architecture du projet

Le Projet Terra Dynamica est composé de plusieurs démonstrateurs indépendants, au moins un par domaine applicatif. Chaque composant « contrôleur de démonstration » est entièrement développé par son partenaire responsable. Tous les démonstrateurs utilisent le composant MAC (Moteur d’Animation Comportemental) qui est considéré comme le

"noyau" ou "Kernel" du projet. Le travail réalisé dans cette thèse se trouve dans le MAC

situé au sein de l’application THALES (voir cadre en haut à gauche sur la figure 4.3) Le MAC contient quatre modules essentiels pour le fonctionnement du moteur d’ani-mation qui sont :

– Actor : ce module permet la création et la destruction des agents virtuels, il interprète les perceptions et exécute les actions,

– KernelBase : définit les services de base du MAC : contrôle d’exécution, les états de la simulation, les identifiants uniques, support à la mise au point, logging, etc, – KernelDataModel (KDM) : se charge du partage de données et des services entre les

modules de calcul (en vert sur la figure 4.4) avec les modules externes au MAC, – KernelGlue : s’occupe de l’ordonnancement des autres modules sauf KBase et le

KDM.

4.3. Intégration du modèle dans la plate forme du projet Terra Dynamica71

Figure 4.3 – Schéma de la structure globale du Projet Terra Dynamica

– Environnement : le module environnement comporte le module Sémantique de

l’environnement définit dans cette thèse. Ce module maintient une représentation

sémantique, logique et géométrique du monde simulé, en particulier des lieux et les objets significatifs. Il permet éventuellement de faire évoluer l’état de certains objets, en fonction des actions des agents. Ces informations sont transmises aux acteurs à travers le module de décision (Module d’IA de haut niveau), afin de localiser certains lieux ou objets où/avec ils vont accomplir des actions, ou bien alors pour connaître l’état de certains objets.

– Scénarisation : le module de scénarisation peut créer des agents, initialiser leurs variables de personnalisation, leur affecter un rôle, et une destination. Il peut égale-ment modifier des variables de personnalisation d’acteurs en cours de jeu, voire des variables d’inventaire, ou soumettre au module de décision des propositions de com-portement. Le module de scénarisation peut également créer, modifier et détruire des effets spéciaux. Enfin, il peut aussi agir sur l’état des objets.

– Les modules d’IA de haut niveau : L’architecture décisionnelle FlexMex [De Sevin et al., 2012] conçue pour le projet Terra Dynamica au sein du LIP6, est prévue pour comporter plusieurs modules gérant des aspects différents du comportement des agents. Elle permet d’intégrer un ensemble de modules quelconque en entrée du module de décision en effectuant des propositions de comportement comme par exemple les différents modules qui ont été intégrés dans le projet Terra Dynamica. L’architecture FlexMex peut gérer à la fois des comportements réactifs à court terme, affectifs et des capacités cognitives à long terme.

Figure 4.4 – Composantes du MAC et leur interdépendance

des buts. Il est doté de capacité d’anticipation et de planification à long terme. – le module Motivationnel : il propose des comportements en relation avec les

variables internes d’un agent telle que la faim, la soif, la fatigue,etc. C’est un module réactif, fonctionnant sur le principe de l’homéostasie qui pousse les agents à satisfaire leurs motivations courantes, leur donnant une certaine autonomie. – le module Affectif : il propose des comportements affectifs en réaction aux

événements de l’environnement, tout en tenant compte des caractéristiques indi-viduelles des agents. Il s’agit également d’un module réactif [Campano, 2013]. – le module de Coordination : il est chargé de gérer la coordination de plusieurs

agents souhaitant atteindre un but commun. Plus particulièrement, ce module est chargé de gérer les patrouilles d’agents [Poulet, 2013].

– le module de Décision : ce module transforme les propositions de comporte-ments envoyées par les 4 modules cités précédemment en actions ordonnées [Rey-naud, 2014].

– le module de Navigation : ce module est chargé de planifier le trajet d’un agent pour se rendre d’un point à un autre de l’environnement [Simo Kanmeugne, 2014]. – le module Physique : Le module physique gère quand à lui un état de l’agent

permettant de respecter les contraintes d’enchaînement temporel liées au réalisme des animations visuelles et sonores ; par exemple un piéton assis doit d’abord se lever avant de partir à pieds, ce qui prend un certain temps pendant lequel il ne peut pas encore se déplacer.

– Perception : Ce module notifie les agents de ce qui se passe dans le monde simulé, à l’aide « d’informations perceptives » visuelles ou sonores. Pour cela le module observe le KDM à la recherche des effets spéciaux et de ce que font les agents, susceptibles d’être perçus par les autres agents. Seuls les agents qui peuvent raisonnablement percevoir un effet ou une condition en sont notifiés. Ceci évite aux agents d’avoir à rechercher eux même tout ce qui se passe autour d’eux, et permet d’optimiser la charge de calcul liée aux perceptions.

4.3. Intégration du modèle dans la plate forme du projet Terra Dynamica73

4.5. L’intégration et le développement des modules pour le projet Terra Dynamica est actuellement achevée et fonctionnelle.

Figure 4.5 – Organisation générale des modules du projet Terra Dynamica