Etalonnage de robots par vision



Documents pareils
1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

Transmission d informations sur le réseau électrique

Mathématiques financières

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Représentation géométrique d un nombre complexe

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

André Crosnier LIRMM ERII4, Robotique industrielle 1

Chapitre 2 : Caractéristiques du mouvement d un solide

Chapitre 1 Cinématique du point matériel

Deux disques dans un carré


Manipulateurs Pleinement Parallèles

Cours d Analyse. Fonctions de plusieurs variables

Résolution d équations non linéaires

C f tracée ci- contre est la représentation graphique d une

Définitions. Numéro à préciser. (Durée : )

A. Benali Objectifs du cours

Angles orientés et fonctions circulaires ( En première S )

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Fonctions de plusieurs variables

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Les indices à surplus constant

Une brique dans le cartable. Du Plan à l Ouvrage

F411 - Courbes Paramétrées, Polaires

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Chapitre 0 Introduction à la cinématique

Cours de D.A.O. Mécanique

Puissances d un nombre relatif

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Compter à Babylone. L écriture des nombres

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

3 Approximation de solutions d équations

Chapitre 0 : Généralités sur la robotique 1/125

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Architecture des Systèmes d Information Architecture des Systèmes d Information

Multivac Vision System (MVS) : Détection visuelle d objets et inspection qualité. * Le meilleur de l emballage

Cours Informatique Master STEP

Cercle trigonométrique et mesures d angles

Cours de Mécanique du point matériel

TP : Gestion d une image au format PGM

Fonctions homographiques

BACCALAURÉAT PROFESSIONNEL SUJET

Mesure d angles et trigonométrie

Représentation d un entier en base b

de calibration Master 2: Calibration de modèles: présentation et simulation d

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Cours 02 : Problème général de la programmation linéaire

Programmation linéaire

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Polynômes à plusieurs variables. Résultant

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Chaînes de Markov au lycée

Comparer des surfaces suivant leur aire en utilisant leurs propriétés géométriques Découverte et manipulation

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Programmation Python pour Arcgis

Oscillations libres des systèmes à deux degrés de liberté

Algorithmes récursifs

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X

Simulation de variables aléatoires

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

LA PUISSANCE DES MOTEURS. Avez-vous déjà feuilleté le catalogue d un grand constructeur automobile?

Python - introduction à la programmation et calcul scientifique

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Angles orientés et trigonométrie

Complément d information concernant la fiche de concordance

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Équations non linéaires

Sujet. calculatrice: autorisée durée: 4 heures

Chafa Azzedine - Faculté de Physique U.S.T.H.B 1

Caractéristiques des ondes

SDLS08 - Modes propres d'une plaque carrée calculés sur base réduite

MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .

Premiers Pas avec OneNote 2013

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

Indications pour une progression au CM1 et au CM2

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Précision d un résultat et calculs d incertitudes

Algorithmes pour la planification de mouvements en robotique non-holonome

Mesures et incertitudes

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

CORRIGES DES CAS TRANSVERSAUX. Corrigés des cas : Emprunts

Représentation des Nombres

V- Manipulations de nombres en binaire

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

Programme de calcul et résolution d équation

OPTIMISATION DE LA MAINTENANCE DES EQUIPEMENTS DE MANUTENTION DU TERMINAL A CONTENEURS DE BEJAIA (BMT)

Formation des enseignants. Le tensiomètre. Objet technique modélisable issu de l environnement des élèves

Introduction à MATLAB R

Fonctions de plusieurs variables

STATIQUE GRAPHIQUE ET STATIQUE ANALYTIQUE

Transcription:

Etalonnage de robots par vision Nicolas Andreff Novembre 2012

Institut Français de Mécanique Avancée UV Étalonnage et Identification des Systèmes TP Étalonnage Géométrique Nicolas Andreff Année 2004 2005 1 Position du problème Dans ce TP, nous allons chercher à étalonner le robot Motoman Figure 1 Le robot Motoman et ses données constructeur 2

Les données constructeur de ce robot sont (voir Figure 1) : H = 200mm D 1 = 150mm L 1 = 260mm D 2 = 70mm L 2 = 260mm Le logiciel SoftEIS permet de commander le robot Motoman en position moteur q = (q 1, q 2, q 3, q 4, q 5, q 6 ) A chaque position moteur q correspond, du fait de la géométrie du robot, la pose (position/orientation) 0 T 6 du repère terminal du robot (R 6 ) par rapport à son repère de base (R 0 ) Le repère terminal du robot est situé au centre du poignet Cette pose du robot n est pas mesurable directement Pourtant, les tâches robotiques sont le plus souvent exprimées dans l espace Cartésien, c est-à-dire en terme de poses du robot Aussi, pour pouvoir faire une commande Cartésienne, est-il nécessaire de pouvoir estimer la pose Pour cela, il faut écrire un modèle géométrique direct, représentant aussi fidèlement que possible, la pose du robot en fonction de la configuration moteur q et de la géométrie du robot 11 Première modélisation Donner l expression du modèle géométrique direct de ce robot (formalisme de Khalil-Kleinfinger) en fonction des des opérateurs rotation et translation (Rot(axe,valeur) et Trans(axe,valeur)) Ecrire la fonction Matlab [T ] = MyMGD(θ, H, D 1, L 1, D 2, L 2 ) qui fournit la matrice homogène contenant la position et l orientation du repère terminal en fonction des positions articulaires θ Vérifier la validité de votre fonction par rapport au robot en visualisant la position et l orientation du repère terminal via la fonction afficherepere(matrice,taille) Remarque : Aidez-vous des opérateurs Rot(axe,valeur) et Trans(axe,valeur) déjà programmés 12 Prise en compte des caractéristiques géométriques des moteurs Êtes-vous d accord avec la relation suivante? avec K i, rapport de réduction et q 0, décalage angulaire? Pouvez-vous donner la valeur de ces paramètres? 13 Importance des données géométriques θ(i) = K i q(i) + q 0 (i) (1) Mettre en évidence le besoin d estimer finement les longueurs H, D i et L i, i = 1, 2 2 Modélisation 21 Écriture du modèle géométrique sans dispositif de mesure Écrire l expression mathématique du modèle géométrique direct fourni par la CAO et corrigé des décalages articulaires et inverses des rapports de réduction Rappel : 3

i 1 T i = R(x, α i )T (x, d i )R(z, θ i )T (z, r i ) (2) et par convention α 1 = d 1 = 0 22 Dispositif de mesure Ce modèle n est pas utilisable tel quel En effet, il faudrait pouvoir mesurer 0 T 6 ce qui est impossible directement Par conséquent, nous mettons en place un système de mesure (ici, caméra et mire, cf étalonnage caméra) Figure 2 Intégration du dispositif de mesure dans la chaîne cinématique d un robot à n articulations Pour un robot à n articulations, on peut modéliser, de manière générique, 1 T 0 (respectivement n T n+1 ) par 6 paramètres indépendants : { 1 T 0 = R(z, γ c )T (z, b c )R(x, α c )T (x, d c )R(z, θ c )T (z, r c ) n (3) T n+1 = R(z, γ m )T (z, b m )R(x, α m )T (x, d m )R(z, θ m )T (z, r m ) Montrer qu on peut alors se ramener à la forme canonique : 1 T 1 = R(x, α 0 )T (x, d 0 )R(z, θ 0 )T (x, r 0 )R(x, α 1)T (x, d 1)R(z, θ 1)T (z, r c ) n 1 T n+1 = R(x, α n)t (x, d n)r(z, θ n)t (x, r n)r(x, α n+1 )T (x, d n+1 )R(z, θ n+1 )T (z, r n+1 ) (4) avec α 0 = 0 α 1 = α c α n = α n α n+1 = α m d 0 = 0 d 1 = d c d n = d n d n+1 = d m θ 0 = γ c θ 1 = θ 1 + θ c θ n (5) = θ n + γ m θ n+1 = θ m r 0 = b c r 1 = r 1 + r c r n = r n + b m r n+1 = r m Par conséquent, nous ne pourrons identifier séparément les couples : (θ 1, θ c ), (r 1, r c ), (θ n, γ n ) et (r n, b m ) 4

23 Paramètres du modèle Dresser la liste des paramètres à identifier (ξ) et en donner une première estimation NB : Pour obtenir une estimation des paramètres de 1 T 0 (paramètres caméra) et 6 T 7 (paramètres mire), il faut aller faire les mesures sur le robot! 3 Algorithme d identification sans les paramètres moteurs Dans un premier temps, nous allons fixer les paramètres moteurs (rapport de réduction à 1 et décalage angulaire à 0), afin de diminuer le nombre de paramètres à identifier Dans cette partie, ces paramètres sont donc fixés et n apparaissent pas dans le vecteur ξ 31 Matrice jacobienne Notons X r (j) = (R j r, t j r) la j ieme mesure de c T m (= 1 T 7 ) et X m (q j, ξ) = (R j m, t j m) l estimation de c T m obtenue à partir du modèle construit ci-avant, des paramètres géométriques ξ et des positions moteurs (q j ) associées à la j ieme mesure Notons X j l erreur entre X r (j) et X m (q j ), calculée numériquement par la fonction erreurtr(t 1,T 2 ) Comme vu en cours, nous pouvons alors écrire : Sachant que : ψ αi = X j = ψ j ξ où ψ j = ψ(q j, ξ) est la matrice jacobienne du MGD ( X ξ ) [ ] xi 1 L i 1, ψ x di = i 1 [ ] [ ] [ ] xi 1 zi L, ψ 0 θi = i zi, ψ 3x1 z ri =, ψ i 0 Ki = q(i)ψ θi, ψ q0i = ψ θi 3x1 écrire l expression par bloc de ψ j Les formules concernant ψ Ki et ψ q0i ne seront utilisées que dans le chapitre suivant On rappelle que x i 1 est obtenu par la matrice homogène c T i 1, z i par c T i et que L i est le vecteur d origine le centre du repère (R i ) et d extrémité le centre du repère (R n+1 ) 32 Fonction Repères Écrire la fonction [Reperes] = M GD(q, ξ) où [Reperes] = c T 0 c T 1 c T m 33 Fonction Regresseur Utiliser la fonction précédente afin de construire la fonction regresseur (ψ = Regresseur(q, ξ)), permettant d obtenir la matrice jacobienne [ψ] 34 Écriture du système d identification Écrire la fonction [A,b]=systeme(LesQ,LesX,ξ) qui permet de construire le système suivant : Ax = b (6) 5

avec A = ψ 1 ψ e, b = X 1 X e 35 Fonction identification, x = ξ, e : nombre de mesures, LesQ = q 1 q e, et LesX = X r (1) X r (e) Écrire la fonction [ξ, nbiter, erreur] = identifier(lesq, LesX, ξ 0 ) qui réalise l identification à partir des fonctions précédentes NB : Pour résoudre le système (6), on pourra utiliser : 36 Acquisition de données x = A\b ou x = pseudoinv(a) b Le logiciel SoftEIS permet d enregistrer simultanément la configuration codeur courante (fichiers art) et l image courante (fichiers gif) La boîte à outils TOOLBOX CALIB permet d estimer la pose c T m de la mire par rapport à la caméra, à partir d une image et des paramètres intrinsèques de la caméra NB : Pour créer LesQ et LesX : Initialisation : LesQ = [] (7) LesX = [] (8) A chaque nouvelle mesure : LesQ = [LesQ; q] (9) LesX = [LesX; X] (10) où q aura été lu dans le fichier art approprié (fonction dlmread sous matlab) et X aura été calculé par vision 37 Identification Procéder à l identification des paramètres ξ Donner et interpréter les résultats obtenus Afin d apprécier la précision de la Jacobienne, demander le conditionnement du regresseur (matrice A) calculée à chaque itération (fonction Matlab cond(a)) Comparer la position et l orientation du repère terminal avec le nouveau vecteur ξ à la position réelle via les fonctions repere et afficherepere, ainsi que par observation directe sur le robot 38 Amélioration de la méthode numérique La valeur du conditionnement de la matrice jacobienne reste loin de 1 Ceci est lié aux différences d ordre de grandeur entre les paramètres En effet les longueurs (en millimètres) sont de l ordre de 100 et les angles (en radians) de l ordre de l unité Une telle différence perturbe l algorithme 6

Que peut-on envisager pour améliorer l algorithme? Dans la suite du TP nous exprimerons les valeurs des longueurs en mètre et les angles en radians, afin de travailler avec le même ordre de grandeur pour tous les paramètres Que doit-on changer dans les programmes MatLab? Demander les nouveaux fichiers à un encadrant attentionné! Recommencer la procédure d identification Qu en concluez-vous? 4 Algorithme d identification complet Reprenez la méthode précédente en considérant les rapports de réduction et les décalages angulaires comme paramètres du vecteur ξ Combien de paramètres sont maintenant à identifier? 1 Écriture de la jacobienne 2 Écriture de la fonction Repere2 3 Écriture de la fonction Regresseur2 4 Écriture du système d identification 5 Écriture de la fonction d identification 6 Identification (avec les mêmes valeurs puis augmenter le nombre de mesures) 7 Validation 7