IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza...

89
IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza

Transcript of IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza...

Page 1: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

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.

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.

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.

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.

É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.

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.

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.

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.

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.

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.

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.

É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.

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.

© 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.

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.

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.

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.

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.

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.

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.

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.

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.

Translations

© Froduald KabanzaIFT702 27

Page 24: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

Rotations

© Froduald KabanzaIFT702 29

Page 25: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

Rotations + Transformations

© Froduald KabanzaIFT702 30

Page 26: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

Rotations + Transformations

© Froduald KabanzaIFT702 31

Page 27: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

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.

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.

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.

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.

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.

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.

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.

É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.

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.

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.

É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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

© 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.

© 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.

© 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

RDT Bidirectionnel

© Froduald KabanzaIFT702 82

Page 62: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

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.

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.

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.

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.

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.

RDT Bidirectionnel

© Froduald KabanzaIFT702 88

Page 68: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

RDT Bidirectionnel

© Froduald KabanzaIFT702 89

Page 69: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

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.

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.

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.

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.

© 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.

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.

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.

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.

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.

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.

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• φ’ =

Page 80: IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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