660 likes | 855 Views
Planification de trajectoires. Simon Chamberland Juillet 2010. Plan. Introduction Problématique Solutions possibles Contraintes différentielles Conclusion. Plan. Introduction Problématique Solutions possibles Contraintes différentielles Conclusion. Introduction.
E N D
Planification de trajectoires Simon Chamberland Juillet 2010
Plan • Introduction • Problématique • Solutions possibles • Contraintes différentielles • Conclusion
Plan • Introduction • Problématique • Solutions possibles • Contraintes différentielles • Conclusion
Introduction • Planification – environnements discrets Cube Rubik Échecs Graphe de navigation
Introduction • Planification – environnements discrets • Nombre fini d’actions possibles • Exploration d’un graphe d’états • État initial • But à atteindre
Introduction • Planification – environnements continus RomanTutor – bras robot canadien Robots humanoïdes http://www.youtube.com/watch?v=IZp4QlQ6Wbo
Introduction • Planification – environnements continus Véhicules auto-guidés Manoeuvres automatiséesde stationnement
Introduction • Planification – environnements continus Jeux Films
Introduction • Planification – environnements continus Chaînes de montage Développement de médicaments
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?
Plan • Introduction • Problématique • Solutions possibles • Contraintes différentielles • Conclusion
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)
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…)
Problématique • Planification de trajectoires • Cinématique inverse • Trouver les angles des joints, étant donné une position à atteindre • Ne tient pas compte des obstacles
Problématique • Planification de trajectoires • Espace d’états • Dimension = nb degrés de liberté • Translations • 2D -> R² (x, y) • 3D -> R³ (x, y, z)
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
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)
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)
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)
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
Problématique • Planification de trajectoires
Plan • Introduction • Problématique • Solutions possibles • Contraintes différentielles • Conclusion
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)
Solutions possibles • Approches exactes • Complètes • Typiquement plus lentes • Approches approximatives • Échantillonnage • Complétude probabiliste • Plus rapides
Plan • Introduction • Problématique • Solutions possibles • Approches exactes • Approches approximatives • Contraintes différentielles • Conclusion
Approches exactes • Décomposition en cellules trapézoïdales • Discrétisation • Conserve la connectivité de l’espace d’états
Approches exactes • Décomposition en cellules trapézoïdales • Construction d’un roadmap
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
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…
Approches exactes • Décomposition en cellules trapézoïdales • Construction d’un roadmap • Donc, garantie de trouver une solution! (si elle existe)
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)
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
Approches exactes • Maximum-clearance roadmaps • Diagrammes de Voronoï généralisés • Permet de trouver un chemin maximisant la distance avec les obstacles
Approches exactes • Shortest-paths roadmaps • Plus court chemin entre deux configurations • On frôle les obstacles!
Plan • Introduction • Problématique • Solutions possibles • Approches exactes • Approches approximatives • Contraintes différentielles • Conclusion
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
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
Approches approximatives • Échantillonnage aléatoire • Probabilistic roadmap (PRM) • Avantage: pas de pire cas • Inconvénient: il faut trouver nos voisins!
Approches approximatives • Échantillonnage aléatoire • Visibility roadmap • On minimise le nombre d’états • En laissant seulement des guards et des connectors
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…
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
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ï
Approches approximatives • Rapidly-exploring Dense Trees (RDTs) • Cas particulier: Rapidly-exploring Random Trees (RRTs) si on utilise une séquence aléatoire
Plan • Introduction • Problématique • Solutions possibles • Contraintes différentielles • Conclusion
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)
Contraintes différentielles • Cas typique: un véhicule (0,0,0o) (1,3,-90o) ?
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!
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
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 = ?
Contraintes différentielles • Robot Azimut3 • Faculté de Génie,laboratoire IntRoLab • 4 roues enlignées selon le CIR (centre instantané de rotation)