![Page 1: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/1.jpg)
IFT 702Planification en intelligence artificielle
Planification de trajectoires
Froduald KabanzaLaboratoire PLANIART
planiart.usherbrooke.ca/kabanza
![Page 2: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/2.jpg)
Objectifs Connaître les approches générales de modélisation d’un
robot et de son environnement pour planifier les trajectoires.
Connaître les deux grandes familles d’algorithmes pour planifier les trajectoires d’un robot:» Approches exactes capturant la topologie de l’espace
de configuration.» Approches (approximatives) par échantillonnage de
l’espace de configuration.
© Froduald KabanzaIFT702 2
![Page 3: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/3.jpg)
Sujets couverts Énoncé du problème Exemples d’applications Cadre de résolution générale Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 3
Reference: Steven Lavalle. Planning Algorithms. Cambridge University Press, 2006. Disponible en ligne: http://planning.cs.uiuc.edu/. Sections couverts: 3 à 6 et 13 à 14.
![Page 4: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/4.jpg)
Plan Énoncé du problème Exemples d’applications Cadre de résolution général Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 4
![Page 5: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/5.jpg)
Énoncé du problème Planification de trajectoire: Calculer une trajectoire
géométrique d’un solide (articulé ou non) sans collision avec des obstacles statiques.
Planificateur de trajectoires
Entrée:Géométrie du robot et des obstaclesCinétique du robot (degrés de liberté)Configurations initiale et finale
Sortie:Un chemin sans collision joignant la
configuration initiale à la configuration finale
© Froduald KabanzaIFT702 5
Julien Pettré, Jean-Paul Laumond, Thierry Siméonhttp://www.cs.uu.nl/centers/give/movie/publications/iros03-laas.php
![Page 6: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/6.jpg)
Plan Énoncé du problème Exemples d’applications Cadre de résolution général Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 6
![Page 7: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/7.jpg)
S. Kagami. U of Tokyo
ASIMO Honda
S. Kagami. U of Tokyo
planiart.usherbrooke.ca/~khaled
Applications : robots
© Froduald KabanzaIFT702 7
![Page 8: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/8.jpg)
Applications: Ligne d’assemblage
Démos du MPK - Motion Planning Kit (Jean-Claude Latombe)
© Froduald KabanzaIFT702 9
![Page 9: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/9.jpg)
Applications: Ligne d’assemblage
© Froduald KabanzaIFT702 10
![Page 10: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/10.jpg)
Applications: cinéma
© Froduald KabanzaIFT702 12
![Page 11: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/11.jpg)
Plan Énoncé du problème Exemples d’applications Cadre de résolution général Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 13
![Page 12: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/12.jpg)
Énoncé du problème (rappel) Planification de trajectoire: Calculer une trajectoire
géométrique d’un solide (articulé ou non) sans collision avec des obstacles statiques.
Planificateur de trajectoires
Entrée:Géométrie du robot et des obstaclesCinétique du robot (degrés de liberté)Configurations initiale et finale
Sortie:Un chemin sans collision joignant la
configuration initiale à la configuration finale
© Froduald KabanzaIFT702 14
Julien Pettré, Jean-Paul Laumond, Thierry Siméonhttp://www.cs.uu.nl/centers/give/movie/publications/iros03-laas.php
![Page 13: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/13.jpg)
Action
Exécution
Planificateur (Solver)
Modèle - Géométrie du robot avec les joints (actions) - Obstacles (capteurs) - Configuration initiale -Configuration finale
MonitorageEnvironnement
(Monde)
Plan (Trajectoire)
Agent
Boucle de contrôle :planification, exécution, monitorage
![Page 14: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/14.jpg)
© Froduald KabanzaIFT702 16
Planificateur
Modèle continu (Espace de travail, robot, contraintes)
Discrétisation (Décomposition, échantillonnage)
Modèle discret (Graphe)
Solver (Recherche d’un chemin dans le graphe)
Plan (trajectoire)
![Page 15: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/15.jpg)
Planification de trajectoires vsPlanification des déplacements
© Froduald KabanzaIFT702 17
![Page 16: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/16.jpg)
Plan Énoncé du problème Exemples d’applications Cadre de résolution général Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 18
![Page 17: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/17.jpg)
Représentation géométrique des entités Polygones / polyèdres Semi-algébriques Triangles Carte de coût discrétisée
» Cas particulier: carte binaire (bitmap)
© Froduald KabanzaIFT702 20
![Page 18: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/18.jpg)
Polygones convexesUn objet 2D qui est qui est un polygone convexe peutêtre représenté par une intersection de plans.
Convexe: un sous-ensemble X, si pour tout x1, x2 dans X et λ dans [0,1]:
© Froduald KabanzaIFT702 21
![Page 19: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/19.jpg)
Polygones non convexes Un objet 2D non convexe, peut être représenté par une
union d’objet convexes.
© Froduald KabanzaIFT702 22
![Page 20: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/20.jpg)
Polyèdres Pour des environnements 3D, les concepts précédents sont
généralisés en remplaçant les polygones par des polyèdres et les demi-plans par des demi-espaces.
© Froduald KabanzaIFT702 23
![Page 21: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/21.jpg)
Triangles Un autre modèle très populaire pour les représentations 3D est
d’utiliser un ensemble de triangle, chaque triangle étant représenté par trois points (ses sommets).
© Froduald KabanzaIFT702 24
![Page 22: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/22.jpg)
Transformations géométriques Transformations entre cadres de référence
» Au moins un fixé sur le robot (A)» Au moins un fixé sur l’espace de travail (W).
Types de transformations» Translations» Rotations
© Froduald KabanzaIFT702 26
![Page 23: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/23.jpg)
Translations
© Froduald KabanzaIFT702 27
![Page 24: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/24.jpg)
Rotations
© Froduald KabanzaIFT702 29
![Page 25: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/25.jpg)
Rotations + Transformations
© Froduald KabanzaIFT702 30
![Page 26: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/26.jpg)
Rotations + Transformations
© Froduald KabanzaIFT702 31
![Page 27: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/27.jpg)
Yaw, Pitch and Roll
© Froduald KabanzaIFT702 32
x
y
y
N’importe quelle rotation dans l’espace à trois dimension peut être représentée par une séquence de yaw, pitch, roll
![Page 28: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/28.jpg)
Chaîne cinématique Ensemble de segments rigides
articulés reliés par des joints (typiquement en translation ou en rotation)
© Froduald KabanzaIFT702 33
![Page 29: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/29.jpg)
Transformations géométriques pour les chaînes cinématiques
Le manuel du cours explique comment les transformations de base précédentes sont appliquées aux corps articulées: Voir Section 3.3.
© Froduald KabanzaIFT702 34
![Page 30: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/30.jpg)
Cinématique inverse
Déplacement pour les chaînes cinématiques lorsqu’il n’y a pas d’obstacle.
Déterminer les angles requis selon la position souhaitée de l’effecteur terminal (end effector)» Problème algébrique (optimisation
non-linéaire)• Utilisation de la matrice jacobienne:
relate la vélocité des mouvements des joints par rapport aux différentes positions des effecteurs terminaux.
• Ne prend pas en compte les obstacles externes.
© Froduald KabanzaIFT702 35
![Page 31: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/31.jpg)
Cinématique inverse
Applications» Robotique
• Bras robot canadien
» Infographie• Aider les concepteurs: calculer
automatiquement les angles des joints selon les poses désirées
© Froduald KabanzaIFT702 36
![Page 32: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/32.jpg)
Plan Énoncé du problème Exemples d’applications Cadre de résolution général Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 37
![Page 33: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/33.jpg)
Espace de configuration
Ensemble des configurations possibles pour un robot pour lequel on planifie.» Le passage d’une configuration à une autre est le
résultat d’une transformation.
Ainsi:
» Espace de configuration est synonyme de l’espace d’états.
» Transformation est synonyme d’action.
© Froduald KabanzaIFT702 38
![Page 34: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/34.jpg)
États/Actions
États = configurations Actions = transformations
(+2, 0, +90o)(0,0,0o) (2,0,90o)
© Froduald KabanzaIFT702 39
![Page 35: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/35.jpg)
Degrés de liberté Degrés de liberté = dimension de l’espace de configuration C
» Un corps rigide, capable de translation et de rotation selon tous les axes a six degré de liberté.
» Pour une chaîne cinématique, le nombre de degré de liberté dépend des joints.• Les joints limitent le nombre de degrés de libertés.
© Froduald KabanzaIFT702 50
![Page 36: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/36.jpg)
Plan Énoncé du problème Exemples d’applications Cadre de résolution général Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 51
![Page 37: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/37.jpg)
Énoncé du problème (Rappel) Planification de trajectoire: Calculer une trajectoire
géométrique d’un solide (articulé ou non) sans collision avec des obstacles statiques.
Planificateur de trajectoires
Entrée:Géométrie du robot et des obstaclesCinétique du robot (degrés de liberté)Configurations initiale et finale
Sortie:Un chemin sans collision joignant la
configuration initiale à la configuration finale
© Froduald KabanzaIFT702 52
![Page 38: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/38.jpg)
Hypothèses
Transformations géométriques seulement (pas de contraintes différentielles pour l’instant)
Obstacles statiques Environnement déterministe
© Froduald KabanzaIFT702 53
![Page 39: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/39.jpg)
Roadmaps Ces approches construisent des roadmaps, qui
représentent des états joints par des chemins
© Froduald KabanzaIFT702 54
États = configurations discrètes Actions = chemins
(+2, 0, +90o)(0,0,0o) (2,0,90o)
![Page 40: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/40.jpg)
Sujets couverts Introduction Exemples d’applications Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 55
![Page 41: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/41.jpg)
Approches exactes
Approches permettant de trouver des chemins sans approximations» Par opposition aux approches par échantillonnage
© Froduald KabanzaIFT702 56
![Page 42: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/42.jpg)
Décomposition verticale
© Froduald KabanzaIFT702 57
Construction du roadmap capturant complètement la topologie de l’espace de configuration
![Page 43: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/43.jpg)
Décomposition verticale
© Froduald KabanzaIFT702 58
Construction du roadmap capturant complètement la topologie de l’espace de configuration
![Page 44: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/44.jpg)
Décomposition verticale
© Froduald KabanzaIFT702 59
Réduit le problème de planification d’une trajectoire à la recherche d’un chemin sur le roadmap.
qinit
qoal
![Page 45: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/45.jpg)
Décomposition verticale
© Froduald KabanzaIFT702 60
Réduit le problème de planification d’une trajectoire à la recherche d’un chemin sur le roadmap.
qinit
qoal
![Page 46: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/46.jpg)
Approches exactes Propriétés:
1. Accessibilité: possible de connecter facilement n’importe quelle configuration viable (pas dans un obstacle) à la roadmap
2. Conserve la connectivité: si un chemin existe entre deux états, un chemin (potentiellement différent) qui passe par la roadmap existe aussi
© Froduald KabanzaIFT702 61
![Page 47: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/47.jpg)
Cadre générale de résolution du problème
Problème continu(espace de configuration + contraintes)
Discrétisation(décomposition, échantillonnage)
Recherche heuristique dans un graphe(A* ou similaire)
© Froduald KabanzaIFT702 62
![Page 48: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/48.jpg)
© Froduald KabanzaIFT702 63
Algorithm (sketch)
1. Compute cell decomposition down to some resolution2. Identify start and goal cells3. Search for sequence of empty/mixed cells between start
and goal cells4. If no sequence, then exit with no path5. If sequence of empty cells, then exit with solution6. If resolution threshold achieved, then exit with failure7. Decompose further the mixed cells8. Return to 2
![Page 49: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/49.jpg)
© Froduald Kabanza
IFT70267
Approches avec un graphe de visibilité
Introduit avec le robot Shakey à SRI dans les années 60.
Efficace pour l’espace 2D
g
s
![Page 50: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/50.jpg)
© Froduald KabanzaIFT702
68
Algorithme simplifié
VG signifie « Visibility Graph » (Graphe de visibilité)
Algorithm• Install all obstacles vertices in VG, plus the start and goal
positions• For every pair of nodes u, v in VG• If segment(u,v) is an obstacle edge then• insert (u,v) into VG• else• for every obstacle edge e• if segment(u,v) does not intersects e• insert (u,v) into VG• Search VG using A*
Complexité : O(n3), avec n = nombre de sommets des obstacles. Il existe des versions améliorés O(n).
![Page 51: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/51.jpg)
Décomposition en grille
Room 1
Room 2
Room 5
Room 4
Room 3
© Froduald KabanzaIFT702 71
![Page 52: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/52.jpg)
Décomposer la carte en grille (occupancy grid): 4-connected (illustré ici) ou 8-connected.
Transitions: - Tourner à gauche - Tourner à droite - Avancer
Room 1 Room 5
Room 2
Room 4
Room 3
© Froduald KabanzaIFT702 72
Décomposition en grille
![Page 53: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/53.jpg)
Cartes de coût
© Froduald KabanzaIFT702 74
Room 1 Room 5
Room 2
Room 4
Room 3
Binaire (case occupée ou non)
![Page 54: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/54.jpg)
Cartes de coût
© Froduald KabanzaIFT702 75
Coût basé sur les obstacles fixes et les capteurs (exemple dans ROS)
![Page 55: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/55.jpg)
Cartes de coût
© Froduald KabanzaIFT702 76
Coût basé sur les obstacles fixes et les capteurs (Ferguson & Likachev: http://repository.upenn.edu/grasp_papers/20/ )
![Page 56: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/56.jpg)
1. Compute cell decomposition down to some resolution2. Identify start and goal cells3. Search for sequence of empty/mixed cells between start
and goal cells4. If no sequence, then exit with no path5. If sequence of empty cells, then exit with solution6. If resolution threshold achieved, then exit with failure7. Decompose further the mixed cells8. Return to 2
© Froduald KabanzaIFT702 77
Décomposition en grille
![Page 57: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/57.jpg)
Approches exactesAvantages / Inconvénients
Avantages» Efficaces si dimension basse, e.g. point-robot
dans C = R2
» Garanties théoriques (complétude, bornes sur le temps d’exécution...)
» Appropriées si plusieurs requêtes seront faites dans l’environnement (multi-query)
Inconvénients» Lent si nombre élevé de dimensions» Implémentation difficile» Représentation algébrique des obstacles
© Froduald KabanzaIFT702 78
![Page 58: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/58.jpg)
Plan Énoncé du problème Exemples d’applications Cadre de résolution général Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 79
![Page 59: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/59.jpg)
Approche roadmap probabiliste (PRM - probabilistic roadmap)
Espace de configurations libres
qb
qg
milestone(jalon)
[Kavraki, Svetska, Latombe, Overmars, 95]
© Froduald KabanzaIFT702 80
![Page 60: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/60.jpg)
Rapidly Exploring Dense Tree (RDT)
[LaValle, Section 5] RRT (Rapidly Exploring Random Tree): cas particulier de RDT
avec séquence aléatoire.
© Froduald KabanzaIFT702 81
![Page 61: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/61.jpg)
RDT Bidirectionnel
© Froduald KabanzaIFT702 82
![Page 62: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/62.jpg)
RDT Bidirectionnel
On souhaite faire grandir l’arbre
© Froduald KabanzaIFT702 83
![Page 63: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/63.jpg)
RDT Bidirectionnel
On souhaite faire grandir l’arbre; il faut trouver un noeud à étendre
© Froduald KabanzaIFT702 84
?
?
?
![Page 64: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/64.jpg)
RDT Bidirectionnel
m
Chaque noeud a une probabilité d’être étenduinversement proportionnelle à la densité de son voisinage.
© Froduald KabanzaIFT702 85
![Page 65: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/65.jpg)
RDT Bidirectionnel
Supposons que n est choisi
© Froduald KabanzaIFT702 86
m
![Page 66: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/66.jpg)
RDT Bidirectionnel
m
Un nouveau n est généré dans un voisinage proche de m
© Froduald KabanzaIFT702 87
n
![Page 67: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/67.jpg)
RDT Bidirectionnel
© Froduald KabanzaIFT702 88
![Page 68: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/68.jpg)
RDT Bidirectionnel
© Froduald KabanzaIFT702 89
![Page 69: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/69.jpg)
RDT Bidirectionnel
X
© Froduald KabanzaIFT702 90
![Page 70: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/70.jpg)
RDT Bidirectionnel
La vérification de collision pour les segments est mémorisée
© Froduald KabanzaIFT702 91
![Page 71: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/71.jpg)
RDT - Bidirectionnel [LaValle, Section 5]
© Froduald KabanzaIFT702 92
![Page 72: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/72.jpg)
SBL
Un autre cas particulier de RDT.
Single-query
Recacule le roadmap à chaque requète [Hsu, Latombe, Motwani, 1997]
Bi-directional sampling
Construit le roadmap avec deux arbres : de haut en bas et de bas en haut [Hsu, 2000]
Lazy collision checking
Vérifie la collision avec les segments seulement après avoir trouvé une séquence de milestones joignant les configurations initiale et finale [Bohlin and Kavraki, 2000]
© Froduald KabanzaIFT702 93
![Page 73: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/73.jpg)
© Froduald KabanzaIFT702 94
Approches multi-query Phase préalable de construction et pré-traitement du
roadmap de façon à ce qu’il puisse répondre à plusieurs requêtes» (Obstacles et environnement ne changent pas)
Les roadmaps obtenus ici ne sont pas aussi « puissants » que les roadmaps combinatoires obtenus avec les approches exacts» Il est possible que certaines
requêtes ne puissent pas être résolues par le roadmap.
![Page 74: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/74.jpg)
Approches par échantillonnageAvantages / Inconvénients
Avantages» Préférables dans les environnements de haute
dimension» Représentation arbitraire des obstacles et du robot
Inconvénients» Résultats potentiellement non-déterministes» Garanties plus faibles de complétude
• Resolution complete avec des approches déterministes• Probabilistically complete avec des approches aléatoires
© Froduald KabanzaIFT702 95
![Page 75: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/75.jpg)
Résumé des types d’approches
Par décomposition» Complètes» Appropriées quand l’environnement et les obstacles sont connus
d’avance» Requièrent une représentation algébrique des obstacles
Par échantillonnage» Garanties plus faibles de complétude (résolution/probabiliste)» Plus efficaces dans des espaces de grande dimension» Détection de collisions comme une boîte noire (obstacles
arbitraires)
© Froduald KabanzaIFT702 102
![Page 76: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/76.jpg)
Sujets couverts Introduction Exemples d’applications Représentation et transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 103
![Page 77: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/77.jpg)
104
Contraintes différentielles Dans les exemples précédents (géométriques), on assumait:
» Qu’il était toujours possible de relier trivialement deux états arbitraires
» Formellement, on assumait en fait que l’espace des vélocités (dérivées) atteignables n’était pas contraint.
En pratique, il arrive qu’on veuille modéliser des systèmes plus complexes.
(2, 0, 90o)(0,0,0o) (2,0,90o)
© Froduald KabanzaIFT702
![Page 78: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/78.jpg)
105
Contraintes différentielles
Cas typique: une voiture» Impossible de se déplacer latéralement! (i.e. contraintes sur
les vélocités atteignables)
(0,0,0o)
?
© Froduald KabanzaIFT702
(0,5,0o)
X
![Page 79: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/79.jpg)
114
Modèle dynamique d’une voiture
Exemple: modèle dynamique d’une voiture Rendre les déplacements plus smooth : accélération et vitesse de
rotation du volant Phase space: on augmente l’espace de configuration
» 3 degrés de liberté + vitesse s + angle du volant φ» q = (x, y, θ, s, φ)
Espace d’actions» 2 degrés de liberté (accélération + vitesse de rotation du
volant)» u = (a, sφ)
Fonction de transition» q’ = f(q, u)
• x’ = s * cos(θ)• y’ = s * sin(θ)• θ’ = (s/L) * tan(φ)
© Froduald KabanzaIFT702
• s’ = a• φ’ =
sφ
![Page 80: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/80.jpg)
115
Fonction de transition
Comment obtenir le nouvel état?
x0 = (0,0,0o)
x1 = ?
u = (10m/s,30o)Δt = 5 sec
© Froduald KabanzaIFT702
![Page 81: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/81.jpg)
116
Fonction de transition
Comment obtenir le nouvel état?» On intègre les vélocités dans le temps.
» Intégration• Symbolique• Numérique (pour équations non-intégrables symboliquement),
exemple Runge-Kutta
© Froduald KabanzaIFT702
![Page 82: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/82.jpg)
119
Planification de trajectoires Approche A : Planifier puis transformer
1) Calcul trajectoire sans tenir compte les contraintes différentielles
2) Lissage de la trajectoire qui respecte les contraintes
© Froduald KabanzaIFT702
![Page 83: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/83.jpg)
120
Planification de trajectoires
Approche B : Utiliser les RDTs» Étendre l’arbre de façon aléatoire
• Avec un certain biais vers le but (l’état final)» Échantillonnage de l’espace de contrôle
© Froduald KabanzaIFT702
![Page 84: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/84.jpg)
121
Planification de trajectoires
Utiliser les RDTs
Différence principale avec la version géométrique: le local planner s’assure que la trajectoire générée respecte les contraintes différentielles
© Froduald KabanzaIFT702
![Page 85: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/85.jpg)
122
Planification de trajectoires
Utiliser les RDTs
© Froduald KabanzaIFT702
![Page 86: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/86.jpg)
Plan
Introduction Exemples d’applications Représentation et
transformation des entités Espace de configuration Approches de planification
» Exactes» Par échantillonnage
Contraintes différentielles Outils suggérés
© Froduald KabanzaIFT702 123
![Page 87: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/87.jpg)
Outils suggérés ROS (Robotics Operating System)
Facilite la programmation bas-niveau du contrôle d’un robot
OMPL (Open Motion Planning Library)
Planification de trajectoires
MoveIT
Intégration de ROS, OMPL et d’autres outils (exemple: simulateur
Gazebo)
Demo
© Froduald KabanzaIFT702 124
![Page 88: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/88.jpg)
Architecture d’intégration pour MoveIT
© Froduald KabanzaIFT702 125
ROS
Gazebo(simulator)
Rviz(visualizator – robot’s
perspective)
World state
MoveIt Planning Plugin
OMPL
PQP
MoveIt Setup Assistant
Robot description(joints, links, controller, etc.)
e.g. PR2
MoveIt ROS package
Launch
Create
![Page 89: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza](https://reader038.vdocuments.site/reader038/viewer/2022110305/551d9d94497959293b8cb74d/html5/thumbnails/89.jpg)
126
Conclusion
Planification de trajectoires» Problème continu et discret» Contraintes spatiales et
possiblement temporelles» Approches exactes et par échantillonage» Approches tenant compte des contraintes
différentielles
Au-delà…» Environnement non-déterministe» Obstacles dynamiques» Contraintes temporelles