planification de trajectoires simon chamberland juillet 2010
TRANSCRIPT
Planification de trajectoires
Simon ChamberlandJuillet 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
Graphe de navigation
Échecs
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
http://www.youtube.com/watch?v=IZp4QlQ6Wbo
RomanTutor – bras robot canadien
Robots humanoïdes
7
Introduction Planification – environnements continus
Manoeuvres automatiséesde stationnement
Véhicules auto-guidés
8
Introduction Planification – environnements continus
FilmsJeux
9
Introduction Planification – environnements continus
Développement de médicamentsChaînes de montage
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 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 »
(0,0,0o) (2,0,90o)
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
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: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
Problème continu(espace de configuration + contraintes)
Discrétisation(décomposition, échantillonnage)
Recherche heuristique dans un graphe(A* ou similaire)
Cadre général de résolution du problème
24
Solutions possibles Approches exactes
Complètes Typiquement plus lentes
Approches approximatives Échantillonnage Complétude probabiliste Plus rapides
25
Plan Introduction Problématique Solutions possibles
Approches exactesApproches 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 exactesApproches 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 dedirection 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)
x1 = ?
u = (10m/s,30o)Δt = 5 sec
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 unerotation 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
1) Calcul d’une trajectoire sans prendre en compte les contraintes différentielles
2) 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.
Questions?