• Aucun résultat trouvé

3 Mise en ÷uvre informatique

3. MISE EN ×UVRE INFORMATIQUE 117

La fonction suivante obtenirCouleursInter, utilisée par l'algorithme du joueur de Petri (cf algorithme en pseudo-code 2), prend en paramètre une structure de fusion (groupe d'agrégats, groupe de fusion, ou une transition) s et un événement e. La fonction renvoie l'intersection des couleurs portées par l'événement e et des couleurs qui valident la structure s, c'est-à-dire les couleurs qui peuvent tirer la structure s.

Algorithme 2: Algorithme de la fonction obtenirCouleursInter

Données : structure de fusion(transition, groupe de fusion, groupe d'agrégats) s, événement e

Résultat : liste de couleurs listeCouleursAT irer

1 listeCouleursAT irer = obtenirCouleursAT irer(s);

2 listeCouleursEvenement = e.getCouleursAssociees();

3 listeCouleursAT irer =

Intersection(listeCouleursAT irer, listeCouleursEvenement);

4 retourner listeCouleursAT irer

Enn, la fonction suivante tirerT outesT ransitionsV alideesNonReceptrices est également utilisée par l'algorithme du joueur de Petri (cf algorithme en pseudo-code 3). Son rôle consiste à identier toutes les transitions du modèle non réceptrices d'événements qui sont validées après évolution du modèle et à les tirer. Cependant, ce faisant, cette fonction contribue également à faire évoluer les marquages du modèle : il faut donc vérier à nouveau qu'il ne subsiste pas de transition non réceptrice validée et prête à être tirée. De plus, cette fonction tient également compte, comme l'algorithme du joueur de Petri, des structures de fusion dont une transition à tirer peut faire partie. Respectivement, on vérie si la transition fait partie d'un groupe d'agrégats qui serait validé, puis d'un groupe de fusion ; sinon la transition est tirée individuellement. La fonction prend n lorsque le modèle se  stabilise  et n'évolue plus, c'est-à-dire lorsqu'il ne reste plus aucune transition à tirer dans le modèle dans l'état courant.

118 CHAPITRE 5. MISE EN ×UVRE

Algorithme 3: Algorithme de la fonction tirerT outesT ransitionsV alideesNonReceptrices Données : rien

Résultat : tir de toutes les transitions du modèle validées

1 listeT ransitionsAT irer = obtenirT outesT ransitionsV alideesN onReceptrices();

2 tant que taille(listeT ransitionsAT irer) > 0 faire

3 pour chaque transition transitionAT irer de listeT ransitionsAT irer faire

4 listeCouleursAT irer = obtenirCouleursAT irer(transitionAT irer) si

transitionAT irer fait partie d'un groupe d'agrégats g alors

5 pour chaque couleur c de listeCouleursAT irer faire

6 si g est validé par la couleur c alors tirer g pour la couleur c;

7 n

8 n

9 sinon

10 si transitionAT irer fait partie d'un groupe de fusion f alors

11 pour chaque couleur c de listeCouleursAT irer faire

12 si f est validé par la couleur c alors tirer f pour la couleur c;

13 n

14 n

15 sinon

16 pour chaque couleur c de listeCouleursAT irer faire

17 si transitionAT irer est validée par la couleur c alors tirer

transitionAT irer pour la couleur c;

18 n

19 n

20 n

21 n

22 listeT ransitionsAT irer =

obtenirT outesT ransitionsV alideesN onReceptrices();

119

Chapitre

6

Application

Ce chapitre présente la mise en application des concepts développés dans les chapitres 3 et 4 sur la base des moyens techniques présentés dans le chapitre 5. Un scénario de mission faisant intervenir des conits de défaillance et de préemption est proposé. Les diérents macro- (et micro-) modèles correspondant aux diérentes phases sont construits, an de permettre l'exécution du scénario dans sa totalité. L'environnement technique permettant le jeu de ce scénario, incluant la simulation de diérents éléments de l'architecture du système, est présenté. Enn, la connexion de ce système à une véritable plate-forme robotique est discutée.

1 Scénario

Un scénario, destiné à mettre en pratique l'ensemble des concepts proposés dans le cadre de cette thèse, a été écrit sur la base d'une mission eectuée par un robot terrestre supervisé par un opérateur humain situé à distance. L'objectif de la mission est de réaliser l'identication de cibles placées sur le sol, ces cibles étant situées dans une zone accessible uniquement par le robot. Les diérentes phases constituant ce scénario sont inspirées des observations réalisées sur l'expérimentation préliminaire présentée au chapitre 1, en particulier en ce qui concerne le comportement attendu de l'opérateur.

Le scénario nominal est composé des phases suivantes :

 partant de son point de base, le robot réalise en navigation automatique son trajet jusqu'à la zone d'identication des cibles ;

 une fois sur place, le robot rend la main à l'opérateur an que celui-ci procède ma-nuellement à l'identication des cibles. La téléopération permet de guider nement les déplacements du robot pour la tâche d'identication ;

120 CHAPITRE 6. APPLICATION

Le scénario avec conits est le suivant :

 lors de la phase d'identication des cibles, un premier aléa survient : le niveau de la batterie du robot est considéré comme insusant pour mener la mission dans son intégralité, et le robot doit en priorité retourner à sa base, ce qui revient à supprimer certaines phases de mission pour accomplir uniquement la dernière, le retour à la base. Du point de vue du modèle de l'autorité, il s'agit de l'apparition d'un conit de défaillance sur l'une des ressources du modèle ;

 après le processus de résolution du conit de défaillance par le robot, le robot re-tourne à la base de manière automatique, l'énergie disponible de la batterie étant supposée susante pour cette tâche. Nous présenterons deux résolutions possibles au conit, avec ou sans modication des relations d'autorité ;

 cependant, alors que le robot a commencé son retour vers la base, l'opérateur humain cherche à reprendre le contrôle manuel du véhicule ; l'évolution de la situation va alors dépendre de la solution apportée au conit à l'étape précédente.