• Aucun résultat trouvé

4.3 Les simulateurs

Dans cette section nous présentons en détail le fonctionnement du c÷ur du système, à savoir les quatres simulateurs, piliers de la simulation. Nous abordons en particulier le rôle de chacun d'eux, décrivons les processus qui les composent et détaillons les liens établis entre ces simulateurs et le reste des composants de la simulation.

4.3.1 Le simulateur de véhicules

Le simulateur de véhicules a en charge le calcul de l'évolution de la dynamique de l'ensemble des robots connectés au système de simulation. Cette évolution est calculée à partir des commandes envoyées par les robots et les perturbations environnementales locales, au travers de modèles pouvant être propres à chaque véhicule. En eet, deux AUVs n'auront pas nécessairement le même modèle et d'autres modèles pour d'autres types de véhicules (UGV, ASV,...) peuvent être utilisés simultanément.

La fréquence d'intégration pour ce simulateur est d'environ dix fois la fréquence d'échantillonnage des commandes actionneurs. L'évolution des modèles se calcule de façon séquentielle (dans l'ordre avec lequel ils sont décrits dans le chier de conguration) et l'ensemble des vecteurs d'état de ces engins est envoyé en une seule fois au simulateur d'environnement qui est chargé de détecter les collisions éventuelles.

Dans cette section nous présentons gure 4.5 la structure interne du simulateur de véhicules. Ce simulateur est composé de trois processus distincts et de deux zones de données partagées. Un premier processus se charge de réceptionner, décoder et partager les commandes d'un actionneur d'un véhicule. Un second processus opère de même avec les vecteurs de forces environnementales calculées localement et exercées sur un véhicule en particulier. Les zones de données partagées sont donc constamment mises à jour pour l'ensemble des véhicules. Le troisième processus, qui est le processus de simulation à proprement parler, accède aux deux zones de données partagées an de calculer l'évolution des modèles des véhicules connectés.

Après une étape de vérication des collisions (faites par le simulateur d'environne- ment), les vecteurs d'état de tous les véhicules à l'instant t + 1 sont envoyés sans accusé de réception au simulateur de capteurs.

4.3.2 Le simulateur de capteurs

Le simulateur de capteurs est chargé de calculer la réponse de l'ensemble des capteurs de tous les véhicules connectés au simulateur. Il s'agit aussi bien des capteurs proprio- ceptifs (type centrale inertielle, capteur de pression, ...) que des capteurs extéroceptifs (type sonar, CTD, appareil photographique ou caméra). Ce simulateur permet également à plusieurs modèles diérents de coexister ; les comportements temporels (eg taux d'échan- tillonnage, délais propres au capteur, ...) et logiques (demande d'acquisition, ...) sont pris en compte.

La période de la boucle de simulation vaut environ le dixième du taux d'échantillonnage le plus élevé de l'ensemble des capteurs. Ce choix permet de garantir moins de 10% d'erreur sur la fréquence d'échantillonnage propre d'un capteur. La réponse d'un capteur est élaborée après chaque envoi pour les capteurs autonomes, et sur commande pour les autres.

Chapitre 4 : Proposition d'une architecture

Fig. 4.5  Structure interne du simulateur de véhicules

La gure 4.6 présente la structure interne du simulateur de capteurs. Ce simulateur est composé de quatre processus distincts et de trois zones de données partagées.

Comme précédemment, trois processus sont chargés de réceptionner, décoder et par- tager les données en provenance des autres entités participant à la simulation. Parmi ces entités, on retrouve les véhicules, qui ont la possibilité d'envoyer des commandes d'ac- quisition pour certains capteurs commandés (sonar, vidéo, ...), le simulateur de véhicules qui envoie tous les vecteurs d'état de tous les véhicules et enn le simulateur d'environ- nement qui propage les données environnementales locales et adaptées pour les véhicules concernés (c'est-à-dire ceux qui disposent de capteurs extéroceptifs).

Les réponses des capteurs proprioceptifs sont élaborées à partir des vecteurs d'état des robots envoyés par le simulateur de véhicules alors que les réponses des extéroceptifs sont élaborées grâce aux données environnementales, sur requête véhicule ou de façon pé- riodique. L'ensemble des informations nécessaires pour élaborer ces réponses se trouvent dans les zones de données partagées rattachées au processus concerné ; elles sont en per- manence mises à jour, et c'est au processus de simulation d'élaborer les réponses en tenant compte du taux de rafraîchissement propre à chaque capteur. Elles sont alors envoyées au moment adéquat et nominativement (c'est-à-dire une réponse d'un capteur en particulier à un véhicule unique) sans accusé de réception.

Il existe un cas particulier que nous n'avons pas détaillé ici : la simulation d'un capteur d'images. Qu'il s'agisse d'une caméra ou d'un appareil photo, ce type de périphérique étant un fort consommateur de bande passante, nous envisageons de lui dédier du matériel (réseaux dédiés entre autre) pour garder les propriétés "real-time like" du système.

4.3 Les simulateurs

Fig. 4.6  Structure interne du simulateur de capteurs

4.3.3 Le simulateur de moyens de communication

Le simulateur de moyens de communication est chargé de reproduire le comporte- ment logico-temporel des diérents périphériques de communication présents à bord des robots, et de calculer la forme analogique du message avant émission, au niveau de l'an- tenne. Il est à noter que le message est transmis au simulateur d'environnement en clair (c'est-à-dire une chaîne de caractères) et sous forme de représentation numérique du mes- sage analogique (respect du critère de Shannon). Le comportement logique du moyen de communication désigne son changement d'état (mode réception, mode émission, en som- meil...) en fonction des stimuli externes (réception d'une porteuse, buer d'émission plein, commande utilisateur,...) et interne (délai avant mise en veille écoulé, rapport signal sur bruit dépassant un certain seuil,...). Le comportement temporel correspond aux diérents délais mis par le moyen de communication pour passer d'un état à un autre.

La gure 4.7 présente la structure interne du simulateur de moyens de communica- tion. Ce simulateur est composé de trois processus distincts et de deux zones de données partagées.

Comme précédemment, deux processus sont chargés de réceptionner, décoder et par- tager les données en provenance des autres simulateurs. Le simulateur de moyens de communication reçoit les messages en provenance des robots participant à la simulation. Chacun d'entre eux peut émettre un message à diuser dans le milieu à n'importe quel instant. Le robot peut donc envoyer un message formaté comme dans la réalité : la seule diérence est que ce message est dirigé vers le simulateur de moyens de communication à la place du périphérique de communication réel. Ce formatage identique permet de simu- ler les diérentes couches d'un modèle de communication (typiquement couche physique,

Chapitre 4 : Proposition d'une architecture

Fig. 4.7  Structure interne du simulateur de moyens de communication liaison de données, application).

Le message est ensuite traité par le simulateur qui, après avoir reproduit le comporte- ment du périphérique de communication réel (mise en le d'attente, réveil, ...), l'envoie en clair et sous forme numérisée vers le simulateur d'environnement. Le message revient éven- tuellement, et au bout d'un certain temps, au simulateur de moyens de communication. En outre, ce message a été étiqueté an de préciser quels sont les moyens de commu- nication et les véhicules susceptibles de le recevoir. Un traitement inverse (décodage du message numérique, toujours avec prise en compte du comportement logico-temporel du périphérique traitant) est eectué par le modèle du moyen de communication concerné, puis envoyé au véhicule concerné.

Il est à noter que bien qu'implémentée, nous n'utilisons pas actuellement la forme numérique du message analogique. En revanche, nous utilisons le message en clair, ce qui constitute un premier pas susant au vu de notre problématique. La possibilité d'uti- liser la représentation numérique s'adresse davantage à la communauté de scientiques travaillant sur le traitement du signal des ondes reçues/envoyées par des moyens de com- munication (modem acoustique, wi, UHF, ...).

4.3.4 Le simulateur d'environnement

Le simulateur d'environnement est chargé de plusieurs tâches :

 Calculer l'évolution des modèles environnementaux. Il s'agit principalement des vagues, des courants, du vent, mais aussi de la salinité de l'eau, de sa température, ... Le fond de l'océan, une éventuelle calotte glacière et le sol peuvent également être représentés dans ce simulateur.

 Calculer les collisions se produisant entre les véhicules ou entre un véhicule et l'en- vironnement (fond, objet,...)

4.3 Les simulateurs

Fig. 4.8  Structure interne du simulateur d'environnement

 Calculer la propagation des ondes électro-magnétiques ou acoustiques. Ce calcul permet de déterminer quels récepteurs perçoivent quoi et où.

 Partager les informations nécessaires avec les autres entités participant à la simula- tion. Il s'agit principalement du simulateur de capteurs, du simulateur de véhicules et de l'achage 3D.

Il est à noter qu'aucun robot n'est directement connecté à ce quatrième simulateur. Seuls les trois autres simulateurs, l'achage 3D et l'utilisateur peuvent échanger des informa- tions avec le simulateur d'environnement.

La gure 4.8 présente la structure interne du simulateur d'environnement. Ce simulateur est également composé de trois processus distincts et de deux zones de données partagées. Comme précédemment, deux processus sont chargés de réceptionner, décoder et parta- ger les données en provenance des autres composants de la simulation. Le simulateur d'en- vironnement reçoit les vecteurs d'état de l'ensemble des véhicules. Ces vecteurs d'état lui permettent de vérier l'absence de collisions véhicule/véhicule ou véhicule/environnement. Si une telle collision se produit, il calcule alors les nouveaux vecteurs d'état des robots entrés en collision. Il est à noter ici, que nous ne considérons pas pour l'instant les inter- actions avec l'environnent. Les chocs n'ont donc d'eet que sur les véhicules.

Une fois cette vérication faite, il renvoie au simulateur de véhicules les nouveaux vecteurs d'état et les vecteurs forces environnementales pour chacun de ces véhicules. Cela permettra au simulateur de véhicule de calculer les eets du vent, courants et vagues sur les robots. Connaissant le vecteur d'état de chaque robot et les capteurs embarqués pour chacun d'entre eux, le simulateur d'environnement est en mesure d'envoyer une "portion" de carte environnementale de tous les capteurs extéroceptifs de tous les véhicules, au simulateur de capteurs. Ces données permettront à ce dernier d'élaborer la réponse de chacun de ces capteurs.

Chapitre 4 : Proposition d'une architecture

Fig. 4.9  Structure interne de l'acheur 3D

Enn lorsque le simulateur d'environnement reçoit de la part du simulateur de moyens de communication un message à diuser, celui-ci calcule sa propagation, déterminant ainsi quels sont les véhicules susceptibles de le recevoir et quand. Il est également possible de cal- culer durant cette étape quels sont les "déformations" du message propagé (interférences inter-symbole par exemple). Le simulateur d'environnement renvoie donc les messages à diuser à un véhicule en particulier au simulateur de moyens de communication, qui sera alors en mesure de le délivrer au bon véhicule après avoir reproduit le comportement du périphérique de communication utilisé.

Enn le simulateur d'environnement envoie à l'achage 3D le vecteur d'état des vé- hicules et l'état des communications (quels sont les liens de communication actifs, quels sont les messages en cours de propagation, quel est l'état des moyens de communication des véhicules,...). Ces informations permettront de calculer un rendu 3D de la scène.