Planification de trajectoires par échantillonnage
Download
Report
Transcript Planification de trajectoires par échantillonnage
Planification de
trajectoires
Simon Chamberland
Juillet 2010
Plan
Introduction
Problématique
Solutions possibles
Contraintes différentielles
Conclusion
2
Plan
Introduction
Problématique
Solutions possibles
Contraintes différentielles
Conclusion
3
Introduction
Planification – environnements discrets
Cube Rubik
Échecs
Graphe de navigation
4
Introduction
Planification – environnements discrets
Nombre fini d’actions possibles
Exploration d’un graphe d’états
État initial
But à atteindre
5
Introduction
Planification – environnements continus
RomanTutor – bras robot canadien
Robots humanoïdes
http://www.youtube.com/watch?v=IZp4Ql
Q6Wbo
6
Introduction
Planification – environnements continus
Véhicules auto-guidés
Manoeuvres automatisées
de stationnement
7
Introduction
Planification – environnements continus
Jeux
Films
8
Introduction
Planification – environnements continus
Chaînes de montage
Développement de médicaments
9
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?
10
Plan
Introduction
Problématique
Solutions possibles
Contraintes différentielles
Conclusion
11
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)
12
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…)
13
Problématique
Planification de trajectoires
Cinématique inverse
Trouver les angles des joints, étant donné une
position à atteindre
Ne tient pas compte des
obstacles
14
Problématique
Planification de trajectoires
Espace d’états
Dimension = nb degrés de liberté
Translations
2D -> R² (x, y)
3D -> R³ (x, y, z)
15
Problématique
Planification de trajectoires
Espace d’états
Dimension = nb degrés de liberté
Translations
Translations + rotations
2D -> R² (x, y)
3D -> R³ (x, y, z)
2D -> SE(2) (x, y, θ)
3D -> SE(3) (x, y, z, α, β, γ)
Dimensions supplémentaires si corps articulé
Translations/rotations des joints
16
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)
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)
(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)
Transitions plus complexes si contraintes
différentielles
Traitées plus loin
19
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
20
Problématique
Planification de trajectoires
21
Plan
Introduction
Problématique
Solutions possibles
Contraintes différentielles
Conclusion
22
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)
23
Solutions possibles
Approches exactes
Complètes
Typiquement plus lentes
Approches approximatives
Échantillonnage
Complétude probabiliste
Plus rapides
24
Plan
Introduction
Problématique
Solutions possibles
Approches
exactes
Approches approximatives
Contraintes différentielles
Conclusion
25
Approches exactes
Décomposition en cellules trapézoïdales
Discrétisation
Conserve la connectivité de l’espace d’états
26
Approches exactes
Décomposition en cellules trapézoïdales
Construction d’un roadmap
27
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
28
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…
29
Approches exactes
Décomposition en cellules trapézoïdales
Construction d’un roadmap
Donc, garantie de trouver une solution! (si elle existe)
30
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)
31
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
32
Approches exactes
Maximum-clearance roadmaps
Diagrammes de Voronoï généralisés
Permet de trouver un chemin maximisant la
distance avec les obstacles
33
Approches exactes
Shortest-paths roadmaps
Plus court chemin entre deux configurations
On frôle les obstacles!
34
Plan
Introduction
Problématique
Solutions possibles
Approches
exactes
Approches approximatives
Contraintes différentielles
Conclusion
35
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
36
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
37
Approches approximatives
Échantillonnage aléatoire
Probabilistic roadmap (PRM)
Avantage: pas de pire cas
Inconvénient: il faut trouver nos voisins!
38
Approches approximatives
Échantillonnage aléatoire
Visibility roadmap
On minimise le nombre d’états
En laissant seulement des guards et des connectors
39
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…
40
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
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
Biais de Voronoï
Les points les plus isolés ont plus de chance d’être
étendus
Proportionnellement à la taille de leur cellule de Voronoï
42
Approches approximatives
Rapidly-exploring Dense Trees (RDTs)
Cas particulier: Rapidly-exploring Random Trees
(RRTs) si on utilise une séquence aléatoire
43
Plan
Introduction
Problématique
Solutions possibles
Contraintes différentielles
Conclusion
44
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)
(2,0,90o)
(0,0,0o)
(2, 0, 90o)
Ce n’est pas toujours le cas
45
Contraintes différentielles
Cas typique: un véhicule
(0,0,0o)
(1,3,-90o)
?
46
Contraintes différentielles
Cas typique: un véhicule
3 degrés de liberté: SE(2)
2 dimensions « contrôlables »
q = (x, y, θ)
u = (s, φ) -> vitesse, volant
On ne peut pas changer de
direction instantanément!
47
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
48
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 = ?
49
Contraintes différentielles
Robot Azimut3
Faculté de Génie,
laboratoire IntRoLab
4 roues enlignées selon le CIR (centre instantané
de rotation)
50
Contraintes différentielles
Robot Azimut3
Impossible d’effectuer une
rotation complète des roues
Modification du CIR peut requérir l’immobilisation
du robot
51
Contraintes différentielles
Robot Azimut3
Modification du CIR
peut requérir
l’immobilisation du
robot
52
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
53
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
54
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
55
Contraintes différentielles
Utiliser les RRTs
56
Plan
Introduction
Problématique
Solutions possibles
Contraintes différentielles
Conclusion
57
Conclusion
Planification de trajectoires
Problème difficile
Solutions existent
Surtout avec contraintes différentielles
Mais la plupart sont applicables à des problèmes
particuliers
Vers l’infini, et plus loin encore…
Obstacles dynamiques
Plusieurs robots
Contraintes temporelles
58
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.
59
Questions?