La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza."— Transcription de la présentation:

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

2 Objectifs Connaître les approches générales de modélisation dun robot et de son environnement pour planifier les trajectoires. Connaître les deux grandes familles dalgorithmes pour planifier les trajectoires dun robot: »Approches exactes capturant la topologie de lespace de configuration. »Approches (approximatives) par échantillonnage de lespace de configuration. © Froduald KabanzaIFT702 2

3 Sujets couverts Énoncé du problème Exemples dapplications 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, Disponible en ligne: Sections couverts: 3 à 6 et 13 à 14.http://planning.cs.uiuc.edu/

4 Plan Énoncé du problème Exemples dapplications 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

5 Énoncé du problème Planification de trajectoire: Calculer une trajectoire géométrique dun solide (articulé ou non) sans collision avec des obstacles statiques. Planificateur de trajectoires Entrée: Géométrie du robot et des obstacles Ciné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éon iros03-laas.php

6 Plan Énoncé du problème Exemples dapplications 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

7 S. Kagami. U of Tokyo ASIMO Honda S. Kagami. U of Tokyo planiart.usherbrooke.ca/~khaled Applications : robots © Froduald KabanzaIFT702 7

8 Applications: voiture sans pilote © Froduald KabanzaIFT702 8

9 Applications: Ligne dassemblage Démos du MPK - Motion Planning Kit (Jean-Claude Latombe) © Froduald KabanzaIFT702 9

10 Applications: Ligne dassemblage © Froduald KabanzaIFT702 10

11 StarCraft Cossacks: European Wars Applications: jeux vidéos © Froduald KabanzaIFT702 11

12 Applications: cinéma © Froduald KabanzaIFT702 12

13 Plan Énoncé du problème Exemples dapplications 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

14 Énoncé du problème (rappel) Planification de trajectoire: Calculer une trajectoire géométrique dun solide (articulé ou non) sans collision avec des obstacles statiques. Planificateur de trajectoires Entrée: Géométrie du robot et des obstacles Cinétique du robot (degrés de liberté) Configurations initiale et finale Sortie: Un chemin sans collision joignant la configuration initiale à la configuration finale © Froduald KabanzaIFT Julien Pettré, Jean-Paul Laumond, Thierry Siméon iros03-laas.php

15 Action Exécution Planificateur (Solver) Modèle - Géométrie du robot avec les joints (actions) - Obstacles (capteurs) - Configuration initiale -Configuration finale Monitorage Environnement (Monde) Plan (Trajectoire) Agent Boucle de contrôle : planification, exécution, monitorage

16 © Froduald KabanzaIFT Planificateur Modèle continu (Espace de travail, robot, contraintes) Modèle continu (Espace de travail, robot, contraintes) Discrétisation (Décomposition, échantillonnage) Discrétisation (Décomposition, échantillonnage) Modèle discret (Graphe) Modèle discret (Graphe) Solver (Recherche dun chemin dans le graphe) Solver (Recherche dun chemin dans le graphe) Plan (trajectoire)

17 Planification de trajectoires vs Planification des déplacements © Froduald KabanzaIFT702 17

18 Plan Énoncé du problème Exemples dapplications 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

19 Notation W = R 2 ou R 3 : espace de travail (working space) ou monde (world). O W: obstacles (fixes) A W = A 1 × … × A n : robots (déplaçables) © Froduald KabanzaIFT702 19

20 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

21 Polygones convexes Un 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 x 1, x 2 dans X et λ dans [0,1]: © Froduald KabanzaIFT702 21

22 Polygones non convexes Un objet 2D non convexe, peut être représenté par une union dobjet convexes. © Froduald KabanzaIFT702 22

23 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

24 Triangles Un autre modèle très populaire pour les représentations 3D est dutiliser un ensemble de triangle, chaque triangle étant représenté par trois points (ses sommets). © Froduald KabanzaIFT702 24

25 Semi-algébriques Semi-algébriques au sens où les contraintes peuvent ici être non- linéaires (i.e. pas seulement des lignes droites). © Froduald KabanzaIFT702 25

26 Transformations géométriques Transformations entre cadres de référence »Au moins un fixé sur le robot (A) »Au moins un fixé sur lespace de travail (W). Types de transformations »Translations »Rotations © Froduald KabanzaIFT702 26

27 Translations © Froduald KabanzaIFT702 27

28 Translations © Froduald KabanzaIFT702 28

29 Rotations © Froduald KabanzaIFT702 29

30 Rotations + Transformations © Froduald KabanzaIFT702 30

31 Rotations + Transformations © Froduald KabanzaIFT702 31

32 Yaw, Pitch and Roll © Froduald KabanzaIFT x y y Nimporte quelle rotation dans lespace à trois dimension peut être représentée par une séquence de yaw, pitch, roll

33 Chaîne cinématique Ensemble de segments rigides articulés reliés par des joints (typiquement en translation ou en rotation) © Froduald KabanzaIFT702 33

34 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

35 Cinématique inverse Déplacement pour les chaînes cinématiques lorsquil ny a pas dobstacle. Déterminer les angles requis selon la position souhaitée de leffecteur 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

36 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

37 Plan Énoncé du problème Exemples dapplications 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

38 Espace de configuration Ensemble des configurations possibles pour un robot pour lequel on planifie. »Le passage dune configuration à une autre est le résultat dune transformation. Ainsi: »Espace de configuration est synonyme de lespace détats. »Transformation est synonyme daction. © Froduald KabanzaIFT702 38

39 États/Actions États = configurations Actions = transformations (+2, 0, +90 o ) (0,0,0 o ) (2,0,90 o ) © Froduald KabanzaIFT702 39

40 Notation C : C-space (espace de configuration) C obs C : configurations en collision avec des obstacles C free C : configurations sans collision © Froduald KabanzaIFT702 40

41 Espace de configuration Variété (manifold) »Espace topologique (topological space) se comportant en tout point selon une notion intuitive de surface © Froduald KabanzaIFT702 41

42 Espace de configuration Variété (manifold) »Identification: méthode générale pour déclarer certains points comme identiques (exemple 0 et 2π radians). © Froduald KabanzaIFT702 42

43 Espace de configuration Variété (manifold) Exemples (C = …) »Translations R 2 : (x, y) R 3 : (x, y, z) © Froduald KabanzaIFT702 43

44 Espace de configuration Variété (manifold) Exemples (C = …) »Translations R 2 : (x, y) R 3 : (x, y, z) »Rotations SO(2) S 1 : (θ) SO(3) RP 3 : (α, β, γ) © Froduald KabanzaIFT x y y

45 Espace de configuration Variété (manifold) Exemples (C = …) »Translations R 2 : (x, y) R 3 : (x, y, z) »Rotations SO(2) S 1 : (θ) SO(3) RP 3 : (α, β, γ) »Translations + rotations SE(2) R 2 × S 1 : (x, y, θ) SE(3) R 3 × RP 3 : (x, y, z, α, β, γ) © Froduald KabanzaIFT702 45

46 Espace de configuration Degrés de liberté = dimension de lespace de configuration C »Exemple: 6 degrés de liberté dans SE(3); (x, y, z, α, β, γ) »n(n+1)/2 degrés de liberté dans SE(n) © Froduald KabanzaIFT702 46

47 Espace de configuration Chaîne cinématique »Ensemble de segments rigides articulés reliés par des joints (typiquement en translation ou en rotation) Degrés de liberté additionnels selon les joints supplémentaires »Et inclusion des configurations des joints dans lespace de configuration »C = C 1 x … x C n © Froduald KabanzaIFT702 47

48 Chemins © Froduald KabanzaIFT Rejoindre deux points Fonction continue τ : [0, 1] -> C free

49 Chemins géométriques Suite séquentielle de segments discrets Dépendent de la topologie (SE(2), SE(3)…) »Géodésique: généralisation dune « ligne droite » dans des espaces courbes »Typiquement, application linéaire τ(λ) = x 0 + λ * (x 1 – x 0 ) avec λ [0, 1] »I.e. au milieu du chemin, on aurait τ(0.5) = (0, 0, 0 o ) * (2, 0, 90 o ) = (1, 0, 45 o ) (+2, 0, +90 o ) (0,0,0 o ) (2,0,90 o ) © Froduald KabanzaIFT702 49

50 Degrés de liberté Degrés de liberté = dimension de lespace 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

51 Plan Énoncé du problème Exemples dapplications 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

52 Énoncé du problème (Rappel) Planification de trajectoire: Calculer une trajectoire géométrique dun solide (articulé ou non) sans collision avec des obstacles statiques. Planificateur de trajectoires Entrée: Géométrie du robot et des obstacles Ciné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

53 Hypothèses Transformations géométriques seulement (pas de contraintes différentielles pour linstant) Obstacles statiques Environnement déterministe © Froduald KabanzaIFT702 53

54 Roadmaps Ces approches construisent des roadmaps, qui représentent des états joints par des chemins © Froduald KabanzaIFT États = configurations discrètes Actions = chemins (+2, 0, +90 o ) (0,0,0 o ) (2,0,90 o )

55 Sujets couverts Introduction Exemples dapplications 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

56 Approches exactes Approches permettant de trouver des chemins sans approximations »Par opposition aux approches par échantillonnage © Froduald KabanzaIFT702 56

57 Décomposition verticale © Froduald KabanzaIFT Construction du roadmap capturant complètement la topologie de lespace de configuration

58 Décomposition verticale © Froduald KabanzaIFT Construction du roadmap capturant complètement la topologie de lespace de configuration

59 Décomposition verticale © Froduald KabanzaIFT Réduit le problème de planification dune trajectoire à la recherche dun chemin sur le roadmap. q init q oal

60 Décomposition verticale © Froduald KabanzaIFT Réduit le problème de planification dune trajectoire à la recherche dun chemin sur le roadmap. q init q oal

61 Approches exactes Propriétés: 1.Accessibilité: possible de connecter facilement nimporte 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

62 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

63 © Froduald KabanzaIFT Algorithm (sketch) 1.Compute cell decomposition down to some resolution 2.Identify start and goal cells 3.Search for sequence of empty/mixed cells between start and goal cells 4.If no sequence, then exit with no path 5.If sequence of empty cells, then exit with solution 6.If resolution threshold achieved, then exit with failure 7.Decompose further the mixed cells 8.Return to 2

64 © Froduald KabanzaIFT Triangulation

65 © Froduald KabanzaIFT Décomposition verticale 3D Étendre décomposition verticale 2D à un nombre arbitraire de dimensions Contraintes »C obs linéaire par morceaux (piecewise-linear) »Problèmes avec rotation sont du tout exclus

66 © Froduald KabanzaIFT Décomposition cylindre algébrique Suffisamment générale pour nimporte quelle espace de configuration C et obstacles O (semi-algébriques) Extrêmement complexe à implémenter

67 © Froduald Kabanza IFT Approches avec un graphe de visibilité Introduit avec le robot Shakey à SRI dans les années 60. Efficace pour lespace 2D g s

68 © Froduald KabanzaIFT 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(n 3 ), avec n = nombre de sommets des obstacles. Il existe des versions améliorés O(n).

69 © Froduald KabanzaIFT Maximum-Clearance Roadmaps Diagramme de Voronoï généralisé Permet de trouver un chemin maximisant la distance avec les obstacles

70 © Froduald KabanzaIFT Shortest-Path Roadmaps Plus court chemin entre deux configurations

71 Décomposition en grille Room 1 Room 2 Room 5 Room 4 Room 3 © Froduald KabanzaIFT702 71

72 Décomposer la carte en grille (occupancy grid): 4-connected (illustré ici) ou 8-connected. Transitions: - Tourner à gauche - Tourner à droite - Avancer Room 1Room 5 Room 2 Room 4 Room 3 © Froduald KabanzaIFT Décomposition en grille

73 Heuristiques: - Distance euclidienne, durée du voyage - Consommation dénergie ou coût du billet - Degré de danger (chemin près des escaliers, des ennemis). © Froduald KabanzaIFT Décomposition en grille

74 Cartes de coût © Froduald KabanzaIFT Room 1Room 5 Room 2 Room 4 Room 3 Binaire (case occupée ou non)

75 Cartes de coût © Froduald KabanzaIFT Coût basé sur les obstacles fixes et les capteurs (exemple dans ROS)

76 Cartes de coût © Froduald KabanzaIFT Coût basé sur les obstacles fixes et les capteurs (Ferguson & Likachev: )http://repository.upenn.edu/grasp_papers/20/

77 1.Compute cell decomposition down to some resolution 2.Identify start and goal cells 3.Search for sequence of empty/mixed cells between start and goal cells 4.If no sequence, then exit with no path 5.If sequence of empty cells, then exit with solution 6.If resolution threshold achieved, then exit with failure 7.Decompose further the mixed cells 8.Return to 2 © Froduald KabanzaIFT Décomposition en grille

78 Approches exactes Avantages / Inconvénients Avantages »Efficaces si dimension basse, e.g. point-robot dans C = R 2 »Garanties théoriques (complétude, bornes sur le temps dexécution...) »Appropriées si plusieurs requêtes seront faites dans lenvironnement (multi-query) Inconvénients »Lent si nombre élevé de dimensions »Implémentation difficile »Représentation algébrique des obstacles © Froduald KabanzaIFT702 78

79 Plan Énoncé du problème Exemples dapplications 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

80 Approche roadmap probabiliste (PRM - probabilistic roadmap) Espace de configurations libres qbqbqbqb qgqgqgqg milestone (jalon) [Kavraki, Svetska, Latombe, Overmars, 95] © Froduald KabanzaIFT702 80

81 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

82 RDT Bidirectionnel © Froduald KabanzaIFT702 82

83 RDT Bidirectionnel On souhaite faire grandir larbre © Froduald KabanzaIFT702 83

84 RDT Bidirectionnel On souhaite faire grandir larbre; il faut trouver un noeud à étendre © Froduald KabanzaIFT ? ? ?

85 RDT Bidirectionnel m Chaque noeud a une probabilité dêtre étendu inversement proportionnelle à la densité de son voisinage. © Froduald KabanzaIFT702 85

86 RDT Bidirectionnel Supposons que n est choisi © Froduald KabanzaIFT m

87 RDT Bidirectionnel m Un nouveau n est généré dans un voisinage proche de m © Froduald KabanzaIFT n

88 RDT Bidirectionnel © Froduald KabanzaIFT702 88

89 RDT Bidirectionnel © Froduald KabanzaIFT702 89

90 RDT Bidirectionnel X © Froduald KabanzaIFT702 90

91 RDT Bidirectionnel La vérification de collision pour les segments est mémorisée © Froduald KabanzaIFT702 91

92 RDT - Bidirectionnel [LaValle, Section 5] © Froduald KabanzaIFT702 92

93 SBL Un autre cas particulier de RDT. S ingle-query Recacule le roadmap à chaque requète [Hsu, Latombe, Motwani, 1997] B i-directional sampling Construit le roadmap avec deux arbres : de haut en bas et de bas en haut [Hsu, 2000] L azy 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

94 © Froduald KabanzaIFT Approches multi-query Phase préalable de construction et pré-traitement du roadmap de façon à ce quil 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.

95 Approches par échantillonnage Avantages / 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

96 Métriques Notion de distance entre deux états dans C »Si C = R 2 × S 1 (SE(2)) »ρ((x 1, y 1, θ 1 ), (x 2, y 2, θ 2 )) = ? Contraintes à satisfaire »Soient trois états a, b, c © Froduald KabanzaIFT702 96

97 Métriques Métriques L p © Froduald KabanzaIFT702 97

98 Métriques Produits cartésiens de métriques »Soient C = C 1 x C 2, et a, b C »On peut définir une métrique sur C comme la somme pondérée de deux métriques sur C 1 et C 2 : ρ(a, b) = ρ((a 1, a 2 ), (b 1, b 2 )) = c 1 ρ 1 (a 1, b 1 ) + c 2 ρ 2 (a 2, b 2 ) »Exemple: métrique sur SE(2) où C = R 2 × S 1 © Froduald KabanzaIFT702 98

99 Approches par échantillonnage © Froduald KabanzaIFT Framework général

100 100 Échantillonnage déterministe »Grille/treillis/séquence de Halton, Hammersley… »Avantage: on connaît nos voisins! »Inconvénient: cas problématiques, par construction Construction de roadmap © Froduald KabanzaIFT702

101 101 Échantillonnage aléatoire »Probabilistic roadmap (PRM) »Avantage: pas de pire cas »Inconvénient: il faut trouver les voisins Construction de roadmap © Froduald KabanzaIFT702

102 Résumé des types dapproches Par décomposition »Complètes »Appropriées quand lenvironnement et les obstacles sont connus davance »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 KabanzaIFT

103 Sujets couverts Introduction Exemples dapplications Représentation et transformation des entités Espace de configuration Approches de planification »Exactes »Par échantillonnage Contraintes différentielles Outils suggérés © Froduald KabanzaIFT

104 104 Contraintes différentielles Dans les exemples précédents (géométriques), on assumait: »Quil était toujours possible de relier trivialement deux états arbitraires »Formellement, on assumait en fait que lespace des vélocités (dérivées) atteignables nétait pas contraint. En pratique, il arrive quon veuille modéliser des systèmes plus complexes. (2, 0, 90 o ) (0,0,0 o ) (2,0,90 o ) © Froduald KabanzaIFT702

105 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,0 o ) ? © Froduald KabanzaIFT702 (0,5,0 o ) X

106 106 Représentations des contraintes © Froduald KabanzaIFT702 Soit q C, un état, on veut représenter les vélocités q (dérivées des variables selon le temps) accessibles

107 107 Représentations des contraintes Soit q C, un état, on veut représenter les vélocités q (dérivées des variables selon le temps) accessibles Représentations des contraintes (exemple avec C = R 2, et donc q = (x,y) et q = (x,y)) »Implicite x > 0 (toujours progresser dans laxe des x) x 2 + y 2 >= 1 (vitesse minimale!) © Froduald KabanzaIFT702

108 108 Représentations des contraintes Soit q C, un état, on veut représenter les vélocités q (dérivées des variables selon le temps) accessibles Représentations des contraintes (exemple avec C = R 2, et donc q = (x,y) et q = (x,y)) »Implicite x > 0 (toujours progresser dans laxe des x) x 2 + y 2 >= 1 (vitesse minimale!) »Paramétrique Définir un espace daction (action space) U Chaque u U est une action possible correspondant à un q = (x, y) On aura donc un système de transition q = f(q, u), i.e. le prochain état dépend de létat courant et de laction © Froduald KabanzaIFT702

109 109 Modèle cinématique dune voiture Exemple: modèle cinématique dune voiture Espace de configurations »SE(2): 3 degrés de liberté »q = (x, y, θ) Espace dactions »2 degrés de liberté (vitesse + angle du volant) »u = (s, φ) © Froduald KabanzaIFT702

110 110 Modèle cinématique dune voiture Exemple: modèle cinématique dune voiture Espace de configurations »SE(2): 3 degrés de liberté »q = (x, y, θ) Espace dactions »2 degrés de liberté (vitesse + angle du volant) »u = (s, φ) Fonction de transition »q = f(q, u) x = s * cos(θ) y = s * sin(θ) θ = (s/L) * tan(φ) © Froduald KabanzaIFT702

111 111 Modèle dynamique dune voiture Exemple: modèle dynamique dune voiture Rendre les déplacements plus smooth : accélération et vitesse de rotation du volant © Froduald KabanzaIFT702

112 112 Modèle dynamique dune voiture Exemple: modèle dynamique dune voiture Rendre les déplacements plus smooth : accélération et vitesse de rotation du volant Phase space: on augmente lespace de configuration »3 degrés de liberté + vitesse s + angle du volant φ »q = (x, y, θ, s, φ) Espace dactions »2 degrés de liberté (accélération + vitesse de rotation du volant) »u = (a, s φ ) © Froduald KabanzaIFT702

113 113 Modèle dynamique dune voiture Exemple: modèle dynamique dune voiture Rendre les déplacements plus smooth : accélération et vitesse de rotation du volant Phase space: on augmente lespace de configuration »3 degrés de liberté + vitesse s + angle du volant φ »q = (x, y, θ, s, φ) Espace dactions »2 degrés de liberté (accélération + vitesse de rotation du volant) »u = (a, s φ ) Fonction de transition »q = f(q, u) x = ? y = ? θ = ? © Froduald KabanzaIFT702 s = ? φ = ?

114 114 Modèle dynamique dune voiture Exemple: modèle dynamique dune voiture Rendre les déplacements plus smooth : accélération et vitesse de rotation du volant Phase space: on augmente lespace de configuration »3 degrés de liberté + vitesse s + angle du volant φ »q = (x, y, θ, s, φ) Espace dactions »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 φ

115 115 Fonction de transition Comment obtenir le nouvel état? x 0 = (0,0,0 o ) x 1 = ? u = (10m/s,30 o ) Δt = 5 sec © Froduald KabanzaIFT702

116 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

117 117 Planification de trajectoires © Froduald KabanzaIFT702

118 118 Planification de trajectoires On ne peut pas utiliser les approches (géométriques) vues jusquà présent… »Car elles ne considéraient pas les contraintes sur lespace des vélocités possibles Deux frameworks possibles »Planifier puis transformer »Utiliser les RRTs © Froduald KabanzaIFT702

119 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

120 120 Planification de trajectoires Approche B : Utiliser les RDTs »Étendre larbre de façon aléatoire Avec un certain biais vers le but (létat final) »Échantillonnage de lespace de contrôle © Froduald KabanzaIFT702

121 121 Planification de trajectoires Utiliser les RDTs Différence principale avec la version géométrique: le local planner sassure que la trajectoire générée respecte les contraintes différentielles © Froduald KabanzaIFT702

122 122 Planification de trajectoires Utiliser les RDTs © Froduald KabanzaIFT702

123 Plan Introduction Exemples dapplications Représentation et transformation des entités Espace de configuration Approches de planification »Exactes »Par échantillonnage Contraintes différentielles Outils suggérés © Froduald KabanzaIFT

124 Outils suggérés l ROS (Robotics Operating System) ROS (Robotics Operating System) l Facilite la programmation bas-niveau du contrôle dun robot l OMPL (Open Motion Planning Library) OMPL (Open Motion Planning Library) l Planification de trajectoires l MoveIT MoveIT l Intégration de ROS, OMPL et dautres outils (exemple: simulateur Gazebo) l Demo Demo © Froduald KabanzaIFT

125 Architecture dintégration pour MoveIT © Froduald KabanzaIFT ROS Gazebo (simulator) Rviz (visualizator – robots 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

126 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


Télécharger ppt "IFT 702 Planification en intelligence artificielle Planification de trajectoires Froduald Kabanza Laboratoire PLANIART planiart.usherbrooke.ca/kabanza."

Présentations similaires


Annonces Google