Télécharger la présentation
Publié parPierre-Yves Desroches Modifié depuis plus de 9 années
1
Stage de maîtrise Planification de mouvements sans collision pour des robots non-holonomes Élodie-Jane Sims. LAAS-CNRS, Toulouse J’ai fait mon stage à Toulouse au LAAS dans le laboratoire de robotique et intelligence artificielle. Le sujet est planification de mouvements sans collision pour des robots non-holonomes Juillet - Août 2000
2
Robotique But : concevoir des machines autonomes évoluant dans des milieux complexes pour y effectuer des tâches. perception raisonnement mouvement action sur le monde Le but de la robotique est de concevoir des machines autonomes qui évoluent dans des milieux complexes pour y effectuer des tâches. Pour cela il y a plusieurs domaines à maîtriser, la perception de l’environnement, le raisonnement « choisir quoi faire », le mouvement « ce qui nous intéresse ici », et au final faire des actions sur le monde. Juillet - Août 2000
3
Planification de mouvement
Chemins sans collision dans un environnement statique, connu Respecter des contraintes cinématiques Le domaine de la robotique de mon stage est la planification de mouvement. Le problème c’est de trouver des chemins sans collision dans un environnement statique que l’on connaît. Les chemins doivent être faisable par nos robots donc respecter des contraintes cinématiques. Ici vous voyez une photo d’un robot à remorque du LAAS et une modélisation d’une voiture de lego, deux systèmes pour lesquels ont a planifier des chemins. Juillet - Août 2000
4
Robot-remorque attache centrée
Systèmes étudiés Robot-remorque attache décentrée Voiture Robot-remorque attache centrée D’abord on appelle ici robot deux roues soudées entre elle pour rester parallèles. On a planifier des chemins pour trois systèmes : une voiture, un robot à remorque à attache centrée et un à attache décentrée. L’attache est centrée ou décentrée selon qu ’elle est attachée ou non au milieu des roues avant. Une configuration d’une voiture peut être repérée par la position du centre de l’essieu arrière x et y, l’orientation de l’essieu arrière theta et l’angle des roues avant phi. Pour les deux autres systèmes on peut utiliser les mêmes paramètres de repérage. On voit sur le dessin qu’une voiture est un système équivalent à un robot à remorque à attache centrée. , = Juillet - Août 2000
5
Systèmes non holonomes
Contraintes sur les vitesses espace des vitesses plus petit que espace des configurations Ces systèmes sont appelés non holonomes pour dire qu’ils ont des contraintes sur leurs vitesses. L’espace des vitesses est plus petit que l’espace des configurations. Un robot a 3 dimensions : l’abscisse, l’ordonnée et l’orientation. Alors que les deux roues étant liées il ne peut se déplacer que en rotation autour du milieu de ses roues ou dans la direction de ses roues, soit 2 dimensions. Pour nos systèmes qui sont deux robots attachés vous pouvez voir ça avec le problème des créneaux en voiture, la voiture ne peut pas se déplacer en glissant latéralement. Juillet - Août 2000
6
Move3D : algorithme aléatoire
Création d’un graphe de configurations du robot tire aléatoire de configurations les relier par la méthode locale, tests de collision les retenir si non collision Pour planifier des mouvements le laboratoire dispose d’une plate-forme logicielle qui s’appelle Move3D basée sur un algorithme aléatoire. Le principe c’est de créer un graphe des configurations du robot, c’est à dire des positions du robot dans son environnement. On tire au hasard des configuration dans l’espace libre. On utilise une méthode locale pour relier deux configurations. C’est la partie sur laquelle mon stage à porter. Puis on fait des tests de collision sur les chemins locaux pour voir si on peut relier deux configurations dans le graphe. Juillet - Août 2000
7
Graphe de configurations
Ici vous pouvez voir un graphe pour un robot dans la grande salle du laboratoire. FAUT-IL DIRE CETTE PHRASE ? : Sur le dessin les positions sont reliées par des droites mais c’est juste pour le dessin en fait elles sont reliées par des chemins locaux. Juillet - Août 2000
8
Méthode locale Relie deux configurations
respectant les contraintes non holonomes sans se soucier des obstacles Je vous ai dis qu’il fallait une méthode locale qui sert à relier deux configurations. Cette méthode locale est un chemin qui doit respecter les contraintes non holonomes. Pour la voiture si elle doit faire un créneau la méthode locale ne doit pas fournir un chemin où les roues glissent. La méthode fournit un chemin reliant deux configurations sans se soucier s’il y a des obstacles. Juillet - Août 2000
9
Sortie plate d’un robot-remorque
Pour trouver une méthode locale pour nos systèmes on utilise la propriété de platitude différentielle. Elle est basée sur l’existence pour nos systèmes d’une sortie plate. On va le voir dans le cas du robot-remorque à attache centrée. Ici on appelle l la longueur de l’attache. CLIC Si on appelle y le milieu des roues de la remorque, et que l’ont trace la courbe de la trajectoire de ce point. On peut avoir l’orientation de la remorque thêta par la tangente à la courbe en ce point, puisque la vitesse de ce point est toujours dans l’axe des roues. Si on dérive encore une fois la trajectoire de ce point on peut obtenir l’angle robot remorque par phi = l tan courbure. Juillet - Août 2000
10
Platitude différentielle
Intérêt : chercher une courbe à deux dimensions au lieu d’un chemin dans l’espace des configurations Pour trouver une méthode locale pour nos systèmes on utilise la propriété de platitude différentielle. Qui permet de chercher juste une courbe d’un point à deux dimensions au lieu de trouver un chemin à 4 dimensions dans l’espace des configurations avec des contraintes de non-holonomie. En fait n’importe quelle courbe de la sortie plate correspond à un chemin faisable pour le robot. Juillet - Août 2000
11
Courbes canoniques Cercles: angle des roues avant constant q1
Donc maintenant, on va chercher une courbe du centre de la remorque. D’abord on défini des des courbes canoniques qui sont les cercles que l’ont obtient si on laisse l’angle robot-remorque constant. Juillet - Août 2000
12
Combinaison de courbes canoniques
Combinaison convexe g(s) = (1-a (s)).g1(s) + a (s).g2(s) Puis on fait une combinaison convexe des courbes canoniques avec une fonction alpha qui est un polynôme. Si les positions de départ et d’arrivée ont la même courbe canonique on suit cette courbe. g2 g1 g Juillet - Août 2000
13
Problèmes de rapidité Juillet - Août 2000
On a un problème de rapidité. Si par exemple on veut se garer, les chemins vu juste avant vont être en collision. CLIC Il va donc falloir faire des manœuvres. Dans le cadre de notre algorithme aléatoire, il va donc falloir que le hasard pioche des configurations intermédiaires pour se garer. Juillet - Août 2000
14
Point de rebroussement
Pour palier à ce problème on a introduit un point de rebroussement directement dans les chemins locaux. Ces points ne sont introduits que dans certains nécessaire, comme expliquer dans mon rapport. Juillet - Août 2000
15
Optimisation Juillet - Août 2000
Un autre problème à traiter est que notre algorithme de création de graphe aléatoirement nous assure de trouver un chemin si il en existe un mais pas forcement le plus court. CLIC Un a donc une procédure d’optimisation. Juillet - Août 2000
16
Méthode d’optimisation
q_1 q_2 La méthode consiste en prendre deux configurations sur le chemin au hasard. Le chemin étant une suite de chemins locaux. CLIC Ensuite on relie les trois bout par des chemins locaux. On calcul le coût de chaque partie. Et on garde les parties qui coûte le moins. Juillet - Août 2000
17
Méthode d’optimisation
q_1 q_2 Juillet - Août 2000
18
Mon travail Intégrer les chemins locaux pour les robot-remorques dans Move3D Intérêt : ils sont exécutable par des robots physiques sans s’arrêter Avant : chemins = suites arcs de cercles et segments de droites -> arrêt aux jointures Juillet - Août 2000
19
Principale difficulté
Découper les chemins pour tester la non-collision tests de non collisions en un nombre fini de points en assurant la non collision continuellement sur tout le chemin Juillet - Août 2000
20
Autres tâches Placer les points de rebroussement quand et où il faut
Définir un coût pour l’optimisation Choix final tient compte de la longueur du chemin et de la quantité de virages le long du chemin Juillet - Août 2000
21
Exemples Juillet - Août 2000
Quelques exemples fait avec la voiture de lego. Juillet - Août 2000
22
Extension De la cinématique à la dynamique Juillet - Août 2000
23
FIN La suite est juste une réserve. Juillet - Août 2000
24
Calcul de f V_rob = V_rem + l.q’.U On projète Cos f . v_rob = v_rem +0
Sin f . v_rob = 0 + l.q’ Tan f = l.q’/ v_rem = l.k f = l.arc tan k Bon je passe sur le calcul de phi c’est simple. Juillet - Août 2000
25
Mon travail Intégrer les chemins locaux pour les robot-remorques dans Move3D Principales tâches : Découper les chemins pour tester la non-collision Placer les points de rebroussement quand et où il faut Définir un coût pour l’optimisation Juillet - Août 2000
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.