Synthèse géométrique des Synthèse géométrique des manipulateurs parallèles manipulateurs parallèles
sphériques à trois degrés de sphériques à trois degrés de libertéliberté
Présentation de mémoire de maîtrisepar Stéphane Brunet
23 décembre 2003
SommaireSommaire
● Présentation de la démarche● Topologie et géométrie du manipulateur● Cinématique du robot● Calcul d'espaces de travail● Détection de collision● Synthèse géométrique par algorithmes
génétiques
IntroductionIntroduction
Démo
IntroductionIntroductionApplication visée: machine-outil hybride à six axes:
– Le manipulateur sphérique oriente la pièce à usiner;
– Un manipulateur parallèle en translation (3 ddl)déplace la tête d'usinage.
Démarche suivieDémarche suivie
● L'objectif est d'obtenir un manipulateur optimal pour une application donnée:– trouver le nombre minimal de paramètres
nécessaires pour décrire la géométrie;– choisir une technique d'optimisation;– choisir des critères d'optimisation.
Démarche suivieDémarche suivie
● L'optimisation consiste principalement à maximiser l'espace de travail :– Utiliser une méthode de calcul d'espaces de
travail.● Il faut prendre en considération les
particularités du manipulateur :– Plusieurs modes d'opération,– Nombreuses possibilités d'obstructions.
Topologie du manipulateurTopologie du manipulateur
Topologie = description de la chaîne cinématique
Liaison actionnée3 chaînesidentiques
Deux boucles fermées
Description de la géométrieDescription de la géométrieDeux familles de géométrie possibles pour la même topologie:
Axesparallèles
Axesconcourants
Description de la géométrieDescription de la géométrie
Dans un manipulateur sphérique:– Les axes de toutes les liaisons sont concourants;– Toutes les transformations sont des rotations;– Aucune translation n'est utilisée.
Description de la géométrieDescription de la géométrie
● Géométrie du bâti :
Trois angles déterminent l'orientation relative des trois actionneurs attachés au bâti
Axe de rotationd'un actionneur
Description de la géométrieDescription de la géométrie
● Géométrie de l'effecteur :
Trois angles déterminent l'orientation relative des trois rotoïdes attachés à l'effecteur
Description de la géométrieDescription de la géométrie
● Géométrie des jambes :
Pour chaque jambe, deux angles déterminent la longueur des membrures proximale et distale
Description de la géométrieDescription de la géométrie
En résumé:– trois angles pour le bâti,– trois angles pour l'effecteur,– deux angles pour chacune des jambes.
Douze paramètres indépendants décrivent la géométrie du
manipulateur sphérique 3-RRR
Démo
Résolution de la cinématiqueRésolution de la cinématique
● Modèle géométrique direct :– Les variables articulaires sont connues;– La position de l'effecteur est calculée.
● Modèle géométrique inverse :– La position de l'effecteur est connue;– Les variables articulaires sont calculées.
Résolution de la cinématiqueRésolution de la cinématique
● Inconnues cinématiques:– Angles des trois actionneurs :– Orientation des membrures distales par rapport
aux membrures proximales :– Orientation de l'effecteur par rapport aux
membures proximales :
1A ,1
B ,1C
2A ,2
B ,2C
3A ,3
B ,3C
Résolution de la cinématiqueRésolution de la cinématique
● Équations de la cinématique:– Pour chaque jambe, une équation à trois
inconnues;– Deux boucles cinématiques relient ces équations.
Seulement six des neuf inconnues doivent être calculées pour obtenir la
position de tous les solides
Résolution de la cinématiqueRésolution de la cinématique
● Démarche de résolution du MGI:– L'orientation de l'effecteur est donnée (angles
d'Euler);– La position des joints distaux en est déduite;– Les inconnues cinématiques sélectionnées sont
obtenues en deux temps :1. Angles des actionneurs
2.Orientation de la membure distale par rapport à la membrure proximale
1k
2k
Résolution de la cinématiqueRésolution de la cinématique
● Angles des actionneurs:
Déduits de l'orientationde l'effecteur
Fonctions de l'angle
1k
1k
Trois équations Trois inconnues
Résolution de la cinématiqueRésolution de la cinématique
● Angles
Déduits de l'orientationde l'effecteur
Exprimé à l'aide de ,préalablement calculé,et de , inconnue
2k
1k
Chaque jambe est résolue
indépendamment
w3k=w3
k
2k
Résolution de la cinématiqueRésolution de la cinématique
● Modes opératoires = existence de plusieurs solutions
Démo
Trois jambes donnent 8 modes
différents
Calcul d'espaces de travailCalcul d'espaces de travail
● But : évaluer au mieux les caractéristiques du manipulateur
● Méthode : 2k-arbres (quadtree, octree)– Structure hiérarchique permettant de discrétiser
l'espace– k = dimension de l'espace– p = profondeur de discrétisation
Calcul d'espaces de travailCalcul d'espaces de travail
● Profondeur de discrétisation
Exemple d'un quadtree (k=2)
Calcul d'espaces de travailCalcul d'espaces de travail
● Discrétisation dans un octree (k=3)
Calcul d'espaces de travailCalcul d'espaces de travail
● Exemple en 2D (quadtree, k=2)
Représentation dans l'espace (plan)
Représentation de la structure hiérarchique
Noeud intermédiaireNoeudfeuille
Racine de l'arbre
L'appartenance à la formeest calculée au centre
Calcul d'espaces de travailCalcul d'espaces de travail
● Simplification de la hiérachie
Représentation dans l'espace (plan)
Représentation de la structure hiérarchique
Calcul d'espaces de travailCalcul d'espaces de travail
● Simplification de la hiérachie
Représentation dans l'espace (plan)
Représentation de la structure hiérarchique
Calcul d'espaces de travailCalcul d'espaces de travail
● Méthode de numérotation (k=2)
Chemin vers unnoeud feuille
Calcul d'espaces de travailCalcul d'espaces de travail
● Méthode de numérotation (k=3)
Calcul d'espaces de travailCalcul d'espaces de travail
● Contribution personnelle aux 2k-arbres :
une double utilisation de la structure de données:● Description d'une forme (usage traditionnel)● Ajout d'informations supplémentaires aux noeuds-
feuilles :– Nombre de solutions disponibles (modes opératoires),– Présence ou non de collisions entre les membrures,– Degré d'isotropie du manipulateur,– Etc.
● Inconvénient : les simplifications possibles du 2k-arbre sont plus rares.
Calcul d'espaces de travailCalcul d'espaces de travail
● Programmation en C++ :– Utilisation des conteneurs standards map et set ;– Utilisation des templates de classes pour
améliorer la modularité et la réutilisation;– Seulement deux classes particulières :
● Une pour contenir le chemin vers un noeud,● Une pour retrouver le lien entre le chemin et la position
dans l'espace.
– Possibilité de stocker l'information supplémentaire
Calcul d'espaces de travailCalcul d'espaces de travail
● Application au manipulateur sphérique– Espace décrit par les angles d'Euler Z-X-Z (k=3)
● Toutes les positions sont décrites lorsque :
– Profondeur « raisonnable » :● Trop petite = temps de calcul excessif● Trop grande = erreur dues à la discrétisation grossière● p = 5 ou 6 donnent des bons résultats
Démo
Détection de collisionDétection de collision
● Manipulateurs théoriques optimaux:– Les membrures proximales et distales font toutes
90°● En pratique, les collisions entre les
membrures sont nombreuses :– 100% de l'espace est parcouru, théoriquement;– Seulement 70% environ est exempt de collisions.
Jusqu'à 30% d'erreur!!
Détection de collisionDétection de collision
● Problématique en détection de collisions :– Choisir une technique de représentation des
solides :● Modèle polyédrique,● Modèle filaire.
– Trouver des algorithmes de détection de collision rapides et fiables;
– Les algorithmes et la technique de représentation sont indissociables.
Détection de collisionDétection de collision
● Représentation par modèle polyédrique :– Relativement précis,– Basé sur une facettisation des solides (très
courante en CAO),– Difficile à générer « à la volée ».– Algorithmes de détection de collision :
● Principalement basés sur des polyèdres convexes,● Nécessitent un pré-traitement pour devenir rapide.
Détection de collisionDétection de collision
● Représentation par modèle filaire :– Bonne précision, surtout pour des volumes
élancés (bras de robots, par exemple),– Basé sur des segments entourés de matière,– Facile à générer « à la volée ».– Algorithmes de détection de collision :
● Basés sur un calcul de distance entre des segments,● Nécessitent un pré-traitement très simple pour devenir
rapide.
Détection de collisionDétection de collision
● Exemple de modèle filaire
Attention!Ceci est un seul
solide!
Détection de collisionDétection de collision
● Modèle filaire – algorithme non optimisé de détection de collision :
1.Prendre, un à un, tous les couples de segments entre deux solides;
2.Calculer la distance entre les deux segments;
3.Vérifier que cette distance est suffisamment grande pour qu'il n'y ait pas de collision.
Trop de calculs pour rien!
Détection de collisionDétection de collision
● Modèle filaire – décomposition hiérarchique :– Permet d'obtenir une description de plus en plus
détaillée;– Si l'algorithme de détection de collision n'a pas
besoin d'une description détaillée, un gain est réalisé.
Temps de calcul divisés par 8!
Détection de collisionDétection de collision
● Modèle filaire – décomposition hiérarchique :
Racine de la hiérachie=
un seul segmentenglobe tout
Détection de collisionDétection de collision
● Modèle filaire – décomposition hiérarchique :
Détection de collisionDétection de collision
● Modèle filaire – décomposition hiérarchique :
Détection de collisionDétection de collision
● Résultats comparatifs modèle filaire/modèle polyédrique :– Vitesse du même ordre de grandeur,– Plus grande précision pour le modèle polyédrique
mais la différence est faible (4 à 5% pour le manipulateur traité),
– Modèle filaire extrèmement simple!
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Choix d'une méthode d'optimisation :– Méthodes déterministes,– Stochastiques,– Semi-déterministe.
● Algorithmes génétiques :– Mécanismes d'évolution calqués sur le modèle
biologique,– Déjà utilisés en synthèse géométrique en
robotique.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Domaines d'excellence des algorithmes génétiques :– Problèmes avec beaucoup de paramètres (i.e.
espaces de recherche de dimension importante)– Espaces de recherches :
● discontius,● complexes,● peu connus.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Inconvénients des algorithmes génétiques :– Programmation plus complexe que d'autres
méthodes;– La technique ne garantit pas l'obtention de la
solution optimale globale.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Fonctionnement – une génération en images...
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Fonctionnement du croisement
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Fonctionnement du croisement
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Fonctionnement de la mutation
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Algorithmes génétiques codés binaires/réels :– Codés binaires :
● Première technique utilisée;● Les paramètres sont codés à l'aide d'un nombre de bits
fixes;● Une correspondance doit être établie.
– Codés réels :● Évolution plus récente des algorithmes génétiques;● Les paramètres sont codés à l'aide de nombre réels.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Opérateur de croisement : BLX-
Valeur du gènepour le parent B
Valeur du gènepour le parent A
II I
La valeur du gène pour l'enfant est choisie aléatoirement dans cet intervalle
Zonesd'exploration
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Opérateur de mutation :– La mutation aléatoire ne fonctionne pas
correctement;– L'opérateur utilisé est donc particulier au
problème.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Opérateur de mutation :– Il réalise l'une des opérations suivante :
● Changer la longueur totale d'une jambe;● Changer la position du joint intermédiaire sur la jambe;● Déformer la base ou l'effecteur;● Rendre la base ou l'effecteur symétrique;● Rendre les jambes identiques;● Permuter des angles de la base, des jambes ou de
l'effecteur.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Critères d'optimisation :– Volume de l'espace de travail,– Facteur de forme de l'espace de travail,
● Étendue de la calotte sphérique où se trouvent des orientations atteignables,
● Poids plus important pour les solutions proches de la position initiale.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Critères d'optimisation :– Volume de l'espace corrigé en tenant compte de
la position des jambes,
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Critères d'optimisation :– Le degré de symétrie du manipulateur,– La longueur des jambes,– La dimension du bâti,– La dimension de l'effecteur.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Combinaison linéaire des critères
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Résultat :– Obtenu après 208 générations et quelques jours
de calcul;– Le manipulateur optimal est symétrique.
Il n'est plus nécessaire d'étudier les manipulateurs non symétriques, d'où un
paramétrage simplifié.
Synthèse géométrique par Synthèse géométrique par algorithmes génétiquesalgorithmes génétiques
● Autre calcul – résultat :
=75°Dimension fixe
Manipulateursymétrique
ConclusionConclusion
● Travail réalisé :– Un paramétrage minimal mais complet de la
géométrie;– Une librairie générique pour les 2k-arbres;– Une contribution dans la détection de collision
appliquée à la robotique;– La synthèse géométrique par algorithmes
génétiques pour une application en fabrication.
ConclusionConclusion
● Limites du projet :– Les formes des membrures pourraient être plus
complexes;– Le nombre de critères d'optimisation pourrait être
plus grand.● Travail à réaliser :
– Génération de trajectoires avec passage d'un mode opératoire à un autre;
– Étude dynamique du manipulateur.
ConclusionConclusion
● Remarques supplémentaires :– Manipulateur difficile à utiliser;– Modifier légèrement la topologie peut réduire les
risques de collision;– Changer radicalement de manipulateurs pour
l'application en fabrication :● Passer de 6 à 5 degrés de libertés;● Deux degrés en translation pour la tête d'usinage;● Deux degrés en rotation et un en translation pour la
table d'usinage.
Période de questionsPériode de questions
Top Related