2. Présenté par :
Pierre Fagedet,
Jean Ibarz,
Hédi Najar
Encadré par :
Euriell Le Corronc,
Pauline Ribot
M1 ISTR - 2015/2016
3. Plan
1. Introduction
2.Le procédé et son modèle
3. Spécifications - pilotage sûr
4. Planification de trajectoires - pilotage optimal
5. Mise en œuvre de la solution globale
3
4. 1. Introduction
AGV : Autonomous Guided Vehicule ( Véhicule Autonome Guidé )
La réalisation de cette étude passe par différentes étapes :
la modélisation du procédé en tant que systèmes à événements discrets grâce au
formalisme des réseaux de Petri,
la définition des contraintes matérielles et des spécifications à appliquer,
la planification de trajectoires optimales selon une fonction de coût.
4
6. 2. Le procédé et son modèle
2.1 Le procédé
6
capteur de position
7. 2. Le procédé et son modèle
2.1 Le procédé
7
Choix du regroupage des alimentations
=
contrainte matérielle
Alimentation des tronçons nécessaire
au déplacement d’un AGV
8. 2. Le procédé et son modèle
2.1 Le procédé
8
Ensemble des cas possibles de passage de 2 AGV dans l’intersection D
Alimentation en 2 groupes
9. 2. Le procédé et son modèle
2.1 Le procédé
9
ENTREES AU TOTAL SORTIES AU TOTAL
16 88
10. 2. Le procédé et son modèle
2.2 Modèle du procédé avec ses contraintes
10
Contrainte d’alimentation :
11. Exemple : déplacements de W1 vers A1 et W2 vers C2
2. Le procédé et son modèle
2.2 Modèle du procédé avec ses contraintes
11
12. 3. Spécification - pilotage sûr (sans collision, sans blocage)
3.1 Spécification de non-collision
Superviseur
Non-collision Non-blocage
Modèle du procédé
12
13. 13
3. Spécification - pilotage sûr (sans collision, sans blocage)
3.1 Spécification de non-collision
14. 3. Spécification - pilotage sûr
3.2 Spécification de non-blocage
14
Non-blocage de 3 AGV :
Non-blocage de 2 AGV :
16. Rôle du planificateur : étant donné un modèle RdP (étendu par des coûts associés
aux transitions) et une mission, générer un plan permettant de faire évoluer ce
modèle de son marquage initial à un marquage final en accomplissant la mission,
Sous-mission : séquence d’objectifs (positions) à atteindre,
Mission : ensemble de « sous-missions » qui peuvent évoluer en parallèles (une par
AGV dans notre cas),
Plan : séquence de transitions contrôlables à tirer.
16
4. Planification de trajectoires - pilotage optimal
4.1 Planification de trajectoires
19. 4. Planification de trajectoires - pilotage optimal
4.4 Simplification des modèles
19
20. Modèle du procédé simplifié de position :
4. Planification de trajectoires - pilotage optimal
4.4 Simplification des modèles
20
21. Modèle du procédé supervisé simplifié (position des
AGV indifférenciée) :
3. Planification de trajectoires - pilotage optimal
3.4 Simplification des modèles
21
22. Exemple :
22
3. Planification de trajectoires - pilotage optimal
3.3 Algorithme de recherche d'un plan optimal
23. Exemple :
23
3. Planification de trajectoires - pilotage optimal
3.3 Algorithme de recherche d'un plan optimal
24. Exemple :
24
3. Planification de trajectoires - pilotage optimal
3.3 Algorithme de recherche d'un plan optimal
25. 25
4. Mise en œuvre de la solution globale
4.4 Résultats obtenus
26. Conclusion
Approfondissement des connaissances en SED,
programmation en langage JAVA et planification
algorithmique.
Réussite du projet : réalisation des objectifs fixés.
Améliorations possibles : Autres types d’algorithmes
ou changement de contraintes de coût.
26
Kikoo c’est nous (présentation du groupe), nous allons vous présenter notre projet de TER encadré par P. Ribot et E. Le Corronc dont le sujet est le pilotage de véhicules autonomes.
Introduction : l’objectif du sujet est de réaliser une solution permettant un pilotage optimal de plusieurs AGV, en utilisant le formalisme des RdP et en garantissant des spécifications de « non-collision » et de « non-blocage ».
Absence de collisions (pilotage sûr)
Trajectoires optimales selon un critère/une fonction coût (pilotage optimal)
1.1 Le procédé
1.1.1 Le réseau
1.1.2 Les AGV
1.2 Modèle du procédé avec ses contraintes
2.1 Spécification de non-collision
2.2 Spécification de non-blocage
2.3 Modèle supervisé
3.1 Planification de trajectoires
3.2 Mission et coûts
3.3 Algorithme de recherche d'un plan optimal
4.1 Lecture/écriture de fichiers .ndr
4.2 Transformation du modèle RdP -> GMA
4.3 Analyse des performances et optimisations
4.4 Résultats obtenus
Toutes les portions du réseau ont une alimentation pour les rails et lorsque cette alimentation est à 0, le sens de déplacement d’un AGV correspond au sens 1 (alimentation à 1 = sens opposé).
Peut-être mettre aussi une diapo avec la contrainte fusionnée avec le procédé pour montrer le résultat du modèle contraint par cette contrainte. On pourrait aussi refaire cette image (du bas) en mettant la ressource partagée « p_arret » a gauche pour mieux voir quand elle est consommée/rendu.
Pour moi on ne devrait illustrer que par un seul exemple (l’exemple A1 me semble judicieux) et mettre le modèle du procédé de position correspondant pour visualiser les transitions concernées
Pas d’explication sur les 2 images du haut : il faut écrire quelque part que l’image en haut a gauche représente les ressources pour le non-blocage de 2 AGV (1 AGV au maximum autorisé dans chaque zone rouge), en haut à droite les ressources pour le non-blocage de 3 AGV (2 AGV autorisés au maximum dans chaque zone grise)
Pour le modèle supervisé simplifié ici ?!?
Le planificateur de trajectoire doit assurer un pilotage optimal. Mais qu’est-ce qu’on entend par pilotage optimal ? Cela peut-être un pilotage optimal en distance, en temps, ou selon d’autres critères…
Nous allons vous présenter un exemple ou les coûts représentent une distance, ce qui nous permettra donc de calculer une trajectoire optimale en distance.
La mission est d’aller à la position p2 puis de revenir en p0, en partant de p0.
Si l’on ne tient pas compte des coûts, le planificateur calculerait la trajectoire la plus courte en taille de séquence et on obtiendrait la séquence t1 -> t2 -> t9. Mais cette trajectoire n’est pas optimale en distance puisque l’on voit que la trajectoire représentée en vert est plus courte. En tenant compte des coûts, le planificateur choisirait la trajectoire verte puisqu’elle représente un coût total de 5 contre un coût de 12 pour la trajectoire orange : on obtiendrait donc un pilotage optimal en distance.
Sur le modèle supervisé, nous avions environ 600000 états possibles. Pour diminuer le coût en calculs et en mémoire de la planification, nous allons simplifier ce modèle. En effet, les transitions encadrées en grises ici et là sont des transitions non-contrôlables : il n’est donc pas possible d’agir dessus. Nous allons donc les supprimer. La transition encadrée en orange est contrôlable mais elle n’est pas nécessaire à la planification puisque la mission sera d’aller d’un terminal à un autre et qu’il n’est pas nécessaire de vouloir contrôler l’arrêt d’un AGV sur le capteur A1. Nous allons donc la supprimer également.
En bas s’affiche le modèle simplifié qui ne contient que les transitions vertes qui sont nécessaires à la planification, puisque celle de gauche permet d’arrêter l’AGV sur le terminal et les 2 de droites permettent de choisir le chemin à emprunter à l’entrée de l’intersection.
Ici est représenté le modèle simplifié de position complet.
Et ici le procédé supervisé simplifié complet avec une position des AGV indifférenciée. Après avoir différencié les positions on obtient un modèle avec environ 2500 états possibles ce qui est environ 240 fois moins qu’avant simplification.
Pour calculer la trajectoire, nous avons mis en place un algorithme de type Djikstra sur le GMA du modèle RdP fourni au planificateur. Ici nous avons représenté un exemple avec un GMA où les marquages sont simplement représentés par des numéros. Le tir de chaque transition est unitaire.
Entre crochets sont représentés les objectifs et entre parenthèses le coût minimal obtenu pour chaque état.
L’algorithme commence l’exploration par et doit remplir la mission « atteindre l’état 2 puis l’état 5 ». Le coût initial est de 0. On explore via les transitions tout les états suivants et s’ils n’ont pas déjà été explorés on devra les explorer à leur tour de façon récursive. A chaque fois qu’un état est exploré avec un nouveau coût minimal on devra l’explorer ou le réexplorer.
Entre l’état 3 et l’état 2 ici, la mission change parce que l’état 2 est atteint : la mission devient donc d’atteindre l’état 5, et le coût vaut celui de l’état 3 plus 1 donc 2. En appliquant l’algorithme on obtient finalement la trajectoire optimale en vert et on terminera la mission avec un coût de 4 en passant par l’état 0, l’état 3, l’état 2, l’état 4 puis l’état 5.
Pour calculer la trajectoire, nous avons mis en place un algorithme de type Djikstra sur le GMA du modèle RdP fourni au planificateur. Ici nous avons représenté un exemple avec un GMA où les marquages sont simplement représentés par des numéros. Le tir de chaque transition est unitaire.
Entre crochets sont représentés les objectifs et entre parenthèses le coût minimal obtenu pour chaque état.
L’algorithme commence l’exploration par et doit remplir la mission « atteindre l’état 2 puis l’état 5 ». Le coût initial est de 0. On explore via les transitions tout les états suivants et s’ils n’ont pas déjà été explorés on devra les explorer à leur tour de façon récursive. A chaque fois qu’un état est exploré avec un nouveau coût minimal on devra l’explorer ou le réexplorer.
Entre l’état 3 et l’état 2 ici, la mission change parce que l’état 2 est atteint : la mission devient donc d’atteindre l’état 5, et le coût vaut celui de l’état 3 plus 1 donc 2. En appliquant l’algorithme on obtient finalement la trajectoire optimale en vert et on terminera la mission avec un coût de 4 en passant par l’état 0, l’état 3, l’état 2, l’état 4 puis l’état 5.
Pour calculer la trajectoire, nous avons mis en place un algorithme de type Djikstra sur le GMA du modèle RdP fourni au planificateur. Ici nous avons représenté un exemple avec un GMA où les marquages sont simplement représentés par des numéros. Le tir de chaque transition est unitaire.
Entre crochets sont représentés les objectifs et entre parenthèses le coût minimal obtenu pour chaque état.
L’algorithme commence l’exploration par et doit remplir la mission « atteindre l’état 2 puis l’état 5 ». Le coût initial est de 0. On explore via les transitions tout les états suivants et s’ils n’ont pas déjà été explorés on devra les explorer à leur tour de façon récursive. A chaque fois qu’un état est exploré avec un nouveau coût minimal on devra l’explorer ou le réexplorer.
Entre l’état 3 et l’état 2 ici, la mission change parce que l’état 2 est atteint : la mission devient donc d’atteindre l’état 5, et le coût vaut celui de l’état 3 plus 1 donc 2. En appliquant l’algorithme on obtient finalement la trajectoire optimale en vert et on terminera la mission avec un coût de 4 en passant par l’état 0, l’état 3, l’état 2, l’état 4 puis l’état 5.
Nous allons vous montrer ici avec une petite animation le plan obtenu pour notre modèle simplifié supervisé pour la mission présentée tout à l’heure où l’AGV 1 doit faire un aller retour de là à là, l’AGV2 doit faire un aller retour de là à là et l’AGV 3 d’ici à ici.
Taille du plan : 22.