Planification de trajectoires Simon Chamberland Juillet 2010.

Post on 04-Apr-2015

109 views 0 download

Transcript of Planification de trajectoires Simon Chamberland Juillet 2010.

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?