Télécharger la présentation
1
Planification de trajectoires
Simon Chamberland Juillet 2010
2
Plan Introduction Problématique Solutions possibles
Contraintes différentielles Conclusion
3
Plan Introduction Problématique Solutions possibles
Contraintes différentielles Conclusion
4
Introduction Planification – environnements discrets Cube Rubik Échecs
Graphe de navigation
5
Introduction Planification – environnements discrets
Nombre fini d’actions possibles Exploration d’un graphe d’états État initial But à atteindre
6
Introduction Planification – environnements continus
RomanTutor – bras robot canadien Robots humanoïdes
7
Manoeuvres automatisées de stationnement
Introduction Planification – environnements continus Véhicules auto-guidés Manoeuvres automatisées de stationnement
8
Introduction Planification – environnements continus Jeux Films
9
Introduction Planification – environnements continus
Chaînes de montage Développement de médicaments
10
Introduction Planification – environnements continus
Nombre infini d’actions possibles Il serait difficile de toutes les essayer! Comment alors trouver une suite d’actions menant au but?
11
Plan Introduction Problématique Solutions possibles
Contraintes différentielles Conclusion
12
Problématique Planification de trajectoires
Facile pour un humain, complexe pour un ordinateur! Calculer une trajectoire géométrique reliant un état initial à un état final En évitant les obstacles (statiques)
13
Problématique Planification de trajectoires Robot Degrés de liberté
Objets articulés reliés entre eux par des joints Degrés de liberté Nombre de joints + Motions possibles dans l’espace (translations/rotations…)
14
Problématique Planification de trajectoires Cinématique inverse
Trouver les angles des joints, étant donné une position à atteindre Ne tient pas compte des obstacles
15
Problématique Planification de trajectoires Espace d’états
Dimension = nb degrés de liberté Translations 2D -> R² (x, y) 3D -> R³ (x, y, z)
16
Problématique Planification de trajectoires Espace d’états
Dimension = nb degrés de liberté Translations 2D -> R² (x, y) 3D -> R³ (x, y, z) Translations + rotations 2D -> SE(2) (x, y, θ) 3D -> SE(3) (x, y, z, α, β, γ) Dimensions supplémentaires si corps articulé Translations/rotations des joints
17
Problématique Planification de trajectoires
Transitions entres les états Géodésique : généralisation d’une « ligne droite » (2,0,90o) (0,0,0o)
18
Problématique Planification de trajectoires
Transitions entres les états Géodésique : généralisation d’une « ligne droite » (2,0,90o) (0,0,0o) (2, 0, 90o)
19
Problématique Planification de trajectoires
Transitions entres les états Géodésique : généralisation d’une « ligne droite » Transitions plus complexes si contraintes différentielles Traitées plus loin (2,0,90o) (0,0,0o) (2, 0, 90o)
20
Problématique Planification de trajectoires Entrée:
Géométrie du robot et des obstacles Cinétique du robot (degrés de liberté) Configurations initiale et finale Planificateur de trajectoires Sortie: Une séquence continue de configurations rapprochées, sans collision, joignant la configuration initiale à la configuration finale
21
Problématique Planification de trajectoires
22
Plan Introduction Problématique Solutions possibles
Contraintes différentielles Conclusion
23
Solutions possibles Cadre général 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)
24
Solutions possibles Approches exactes Approches approximatives
Complètes Typiquement plus lentes Approches approximatives Échantillonnage Complétude probabiliste Plus rapides
25
Plan Introduction Problématique Solutions possibles
Approches exactes Approches approximatives Contraintes différentielles Conclusion
26
Approches exactes Décomposition en cellules trapézoïdales
Discrétisation Conserve la connectivité de l’espace d’états
27
Approches exactes Décomposition en cellules trapézoïdales
Construction d’un roadmap
28
Approches exactes Décomposition en cellules trapézoïdales
Construction d’un roadmap Condition importante: connexion triviale de n’importe quel état valide au roadmap
29
Approches exactes Décomposition en cellules trapézoïdales
Construction d’un roadmap Par extension, connexion possible de n’importe quelle paire (état initial, but) au roadmap…
30
Approches exactes Décomposition en cellules trapézoïdales
Construction d’un roadmap Donc, garantie de trouver une solution! (si elle existe)
31
Approches exactes Décomposition en cellules trapézoïdales
Rn Autres décompositions Triangulation (R²) Décomposition cylindrique algébrique (méthode générale)
32
Approches exactes Décomposition en cellules Avantages
Trouve une solution s’il en existe une! Inconvénients Lent si nombre élevé de dimensions Implémentation difficile Donc peu pratique pour une application réelle
33
Approches exactes Maximum-clearance roadmaps
Diagrammes de Voronoï généralisés Permet de trouver un chemin maximisant la distance avec les obstacles
34
Approches exactes Shortest-paths roadmaps
Plus court chemin entre deux configurations On frôle les obstacles!
35
Plan Introduction Problématique Solutions possibles
Approches exactes Approches approximatives Contraintes différentielles Conclusion
36
Approches approximatives
Discrétisation par échantillonnage Génération et connexion d’états jusqu’à ce qu’une solution soit trouvée! Comment générer les états? De façon déterministe Aléatoirement
37
Approches approximatives
Échantillonnage déterministe Grille/treillis/séquence de Halton, Hammersley… Avantage: on connaît nos voisins! Inconvénient: cas problématiques, par construction
38
Approches approximatives
Échantillonnage aléatoire Probabilistic roadmap (PRM) Avantage: pas de pire cas Inconvénient: il faut trouver nos voisins!
39
Approches approximatives
Échantillonnage aléatoire Visibility roadmap On minimise le nombre d’états En laissant seulement des guards et des connectors
40
Approches approximatives
Prétraitement Création du roadmap à priori Si on prévoit réaliser plusieurs requêtes sur le même environnement Exemples: jeux…
41
Approches approximatives
Rapidly-exploring Dense Trees (RDTs) Échantillonnage d’un nouvel état, puis extension du plus proche voisin jusqu’à ce nouvel état Ou jusqu’à ce que le chemin rencontre un obstacle
42
Approches approximatives
Rapidly-exploring Dense Trees (RDTs) Échantillonnage d’un nouvel état, puis extension du plus proche voisin jusqu’à ce nouvel état Ou jusqu’à ce que le chemin rencontre un obstacle Biais de Voronoï Les points les plus isolés ont plus de chance d’être étendus Proportionnellement à la taille de leur cellule de Voronoï
43
Approches approximatives
Rapidly-exploring Dense Trees (RDTs) Cas particulier: Rapidly-exploring Random Trees (RRTs) si on utilise une séquence aléatoire
44
Plan Introduction Problématique Solutions possibles
Contraintes différentielles Conclusion
45
Contraintes différentielles
Dans les exemples précédents, on assumait: Qu’il était toujours possible de relier trivialement deux états arbitraires (géodésique) Ce n’est pas toujours le cas (2,0,90o) (0,0,0o) (2, 0, 90o)
46
Contraintes différentielles
Cas typique: un véhicule (0,0,0o) (1,3,-90o) ?
47
Contraintes différentielles
Cas typique: un véhicule 3 degrés de liberté: SE(2) q = (x, y, θ) 2 dimensions « contrôlables » u = (s, φ) -> vitesse, volant On ne peut pas changer de direction instantanément!
48
Contraintes différentielles
Fonction de transition q’ = f(q, u) x’ = s * cos(θ) y’ = s * sin(θ) θ’ = (s/L) * tan(φ) Exprime les vélocités liées à chaque variable
49
Contraintes différentielles
Comment obtenir le nouvel état? On intègre les vélocités x0 = (0,0,0o) u = (10m/s,30o) Δt = 5 sec x1 = ?
50
Contraintes différentielles
Robot Azimut3 Faculté de Génie, laboratoire IntRoLab 4 roues enlignées selon le CIR (centre instantané de rotation)
51
Contraintes différentielles
Robot Azimut3 Impossible d’effectuer une rotation complète des roues Modification du CIR peut requérir l’immobilisation du robot
52
Contraintes différentielles
Robot Azimut3 Modification du CIR peut requérir l’immobilisation du robot
53
Contraintes différentielles
Planification de trajectoires On ne peut pas utiliser les approches vues jusqu’à présent… Car il n’est pas toujours possible de connecter 2 états arbitraires Deux frameworks possibles Planifier puis transformer Utiliser les RRTs
54
Contraintes différentielles
Planifier puis transformer Calcul d’une trajectoire sans prendre en compte les contraintes différentielles Lissage de la trajectoire qui respecte les contraintes
55
Contraintes différentielles
Utiliser les RRTs É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
56
Contraintes différentielles
Utiliser les RRTs
57
Plan Introduction Problématique Solutions possibles
Contraintes différentielles Conclusion
58
Conclusion Planification de trajectoires
Problème difficile Surtout avec contraintes différentielles Solutions existent Mais la plupart sont applicables à des problèmes particuliers Vers l’infini, et plus loin encore… Obstacles dynamiques Plusieurs robots Contraintes temporelles
59
Références S. M. LaValle, Planning Algorithms. Cambridge University Press, 2006. A. Yershova, L. Jaillet, T. Simeon, and S. LaValle, Dynamic-domain RRTs: Efficient exploration by controlling the sampling domain, in Proc. of the IEEE International Conference on Robotics and Automation, 2005. Chamberland, S., Beaudry, É., Clavien, L., Kabanza, F., Michaud, F. and Lauria, M. Motion Planning for an Omnidirectional Robot With Steering Constraints. Proc. of IEEE/RSJ Int'l Conference on Intelligent Robots and Systems (IROS), 2010.
60
Questions?
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.