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?