• Aucun résultat trouvé

1 5.9INVERSION DU MODELE CINEMATIQUE / GEOMETRIQUE 5.9INVERSION DU MODELE CINEMATIQUE / GEOMETRIQUE

N/A
N/A
Protected

Academic year: 2022

Partager "1 5.9INVERSION DU MODELE CINEMATIQUE / GEOMETRIQUE 5.9INVERSION DU MODELE CINEMATIQUE / GEOMETRIQUE"

Copied!
11
0
0

Texte intégral

(1)

5.9 INVERSION DU MODELE CINEMATIQUE / GEOMETRIQUE

• Nombre mde variables dans l’espace articulaire = nombre de maillons si joints de classe 5

• Nombre nde variables de la tâche = nombre de DDL de la tâche (position + orientation)

• Problème directe: calcul de la configuration correspondant à un jeu de paramètres articulaires donnés

* Ce problème a toujours une solution unique

• Problème inverse: quelles sont les variables articulaires qui réalisent une configuration donnée?

* Problème très non linéaire qui n’a pas toujours de solution ou de solution unique TASK SPACE

xT = [x … x ]1 n

JOINT SPACE

Inverse Problem

Direct Problem

5.9 INVERSION DU MODELE CINEMATIQUE / GEOMETRIQUE

PROBLEME INVERSE: CONDITIONS D’EXISTENCE PROBLEME INVERSE: CONDITIONS D’EXISTENCE

• 1/ La configuration xest à l’intérieur de l’espace de travail – Physiquement atteignables

– Pas de limitation mécanique (butées articulaires)

– Espace de dextérité: tout point est attaquable avec n’importe quelle orientation – Espace de travail en position, certains points ne peuvent pas être atteints avec toutes les

orientations

• 2/ Nombre de degrés de liberté du système

m=n:il existe un nombre fini de solutions pour atteindre le point. La multiplicitéde la solution dépend du nombre de ddls. Cette multiplicité peut poser un problème. On le résout souvent en prenant la solution la plus proche de la configuration courante (précédente).

m>n: il y a une infinité de solutions. Lorsque l’environnement est très contraignant, ces restrictions mènent généralement à ne garder qu’une solution.

m<n: en général, il n’y a pas de solution au problème. On doit ajouter des ddls au système mécanique. On peut également rechercher la solution qui se rapproche le plus de celle

(2)

CINEMATIQUE DU ROBOT PUMA 560

5.10.1 DECOUPLAGE DES POSITIONS ET ORIENTATIONS 5.10.1 DECOUPLAGE DES POSITIONS ET ORIENTATIONS

• Position du poignet dans les coordonnées globales

où d6est la longueur de l’outil

• Nouveau vecteur position de l’organe terminal

• Cette quantité est la nouvelle translation à considérer dans la transformation globale p=

2

4 C1(S23d4+a2C2)¡S1d2

S1(S23d4+a2C2) +S1d2

C23d4¡a2S2

3 5 p=T a with aT = [0 0 ¡d6]

T =

· R p 0 1

¸

5.10 INVERSION ANALYTIQUE DU MODELE CINEMATIQUE DU ROBOT PUMA 560

5.10.2 TECHNIQUE DE PIEPER 5.10.2 TECHNIQUE DE PIEPER

• On considère les équations successives

• Pour chaque équation i donnant

– le membre de gauche est une fonction des coordonnées de la tâchex(connues, et contenues dans les vecteurs n, o, aet p) et des degrés de liberté q1, q2, … qi.

– le membre de droite est une fonction de qi+1, qi+2, … qmou bien de constante ou de zéros.

• L’astuce: identifier les éléments de qui nous permettent de trouver une expression analytique de qi.

• Procédure récursive: on détermine d’abord q1, puis q2connaissant q1, etc

i+ 1A6 i+ 1A6

T =0A1¢1A2¢2A3¢3A4¢4A5¢5A6=0A6

0A¡11¢T = 1A2¢2A3¢3A4¢4A5¢5A6=1A6

1A¡21¢0A¡11¢T = 2A3¢3A4¢4A5¢5A6=2A6 ...

4A¡51: : :1A¡21¢0A¡11¢T = =5A6

(3)

5.10 INVERSION ANALYTIQUE DU MODELE CINEMATIQUE DU ROBOT PUMA 560

LA FONCTION ATAN2(u,v)

BUT: retrouver de manière systématique la valeur exacte de l’arc tangent de u/v

EN PRATIQUE: utiliser la fonction ATAN2(U,V) en FORTRAN

ATAN2(u,v): calcule la valeur de ARCTAN(u/v) et utilise les signes de u et de v pour déterminer le quadrant de la solution

µ=ATAN2(u;v)

µ=AT AN2 (u; v) = 8<

:

tan¡1 uv ifv >0 tan¡1 uv +¼sign(u) ifv <0 +¼2sign(u) ifv= 0

5.10 INVERSION ANALYTIQUE DU MODELE CINEMATIQUE DU ROBOT PUMA 560

RESOUDRE L’EQUATION

Poser

Soient

La solution

Deux solutions si ½2=a2+b2> c2 Pas de solution si ½2< c2. sin(µ+Á) = c

½ cos(µ+Á) =§ s

1¡c2

½2 Á=AT AN2 (a; b) a=½sinÁ b=½cosÁ

acos µ + bsin µ = c

½=p a2+b2

µ=ATAN2(c

½;§ s

1¡c2

½2)¡ATAN2(a;b) µ=ATAN2(c;§p

½2¡c2)¡ATAN2(a;b)

(4)

CINEMATIQUE DU ROBOT PUMA 560

CALCUL DE CALCUL DE θθ11

• Exprimons

qui vaut après calcul

avec où le vecteur λreprésente

soit le vecteur n, o, aou p

• Identifions avec l’expression de (avec d6=0)

0A¡11¢T= 2 66 4

f11(n) f11(o) f11(a) f11(p) f12(n) f12(o) f12(a) f12(p) f13(n) f13(o) f13(a) f13(p)

0 0 0 1

3 77 5

f11(¸) =C1¸x+S1¸y

f12(¸) =¡¸z

f13(¸) =¡S1¸x+C1¸y

1A6

1A6 = 2 66 4

? ? ? S2 3d4+a2C2

? ? ? ¡C2 3d4+a2S2

? ? ? d2

0 0 0 1

3 77 5

0A¡11T = 2 66 4

C1 S1 0 0

0 0 ¡1 0

¡S1 C1 0 0

0 0 0 1

3 77 5 2 66 4

nx ox ax px

ny oy ay py

nz oz az pz

0 0 0 1

3 77 5

5.10 INVERSION ANALYTIQUE DU MODELE CINEMATIQUE DU ROBOT PUMA 560

CALCUL DE CALCUL DE θθ11

• L’examen du terme (3,4) fournit:

• La solution de cette équation est donnée par:

• Il y a deux solutions possibles à cette équation, chacune d’elles correspondant physiquement à une posture « bras à gauche » et « bras à droite ».

CALCUL DE

CALCUL DE θθ22ET DE ET DE θθ33

• On peut faire une entorse à la procédure de Pieper stricte et essayer d’exploiter au maximum l’information disponible à ce niveau.

• On extrait les relations suivantes:

f13(p) =¡S1px+C1py =d2

f11(p) =C1px+S1py =S23d4+a2C2=® f12(p) =¡pz =¡C23d4+a2S2=¯ µ1 =ATAN2(py;px)+ATAN2(d2;§q

p2x+p2y¡d22)

(5)

5.10 INVERSION ANALYTIQUE DU MODELE CINEMATIQUE DU ROBOT PUMA 560

CALCUL DE

CALCUL DE θθ22ET DE ET DE θθ33

• On part des relations suivantes:

• On en somme les carrés pour trouver:

• On peut encore en faire la combinaison linéaire

• Si on élimine S3entre ces deux équations on trouve une relation nous donnant la valeur de θ2:

f11(p) =C1px+S1py =S23d4+a2C2=® f12(p) =¡pz =¡C23d4+a2S2

®22=a22+d24+ 2a2d4S3

®C2+¯S2=a2+S3d4

®C2+¯S2= ®22+a22¡d24 2a2

5.10 INVERSION ANALYTIQUE DU MODELE CINEMATIQUE DU ROBOT PUMA 560

CALCUL DE

CALCUL DE θθ22ET DE ET DE θθ33

• La solution de cette équation trigonométrique s’écrit:

• La solution introduit encore deux branches: la première branche correspond à une posture « bras en haut » et l’autre à une posture « bras en bas »

µ2=¡AT AN2 (®; ¯) +AT AN2 (°;§p

®22¡°2)

(6)

CINEMATIQUE DU ROBOT PUMA 560

CALCUL DE

CALCUL DE θθ22ET DE ET DE θθ33

• Pour déterminer θ3, on doit générer encore une autre combinaison des équations de base:

• En la combinant avec (déjà connue)

• On obtient:

• Remarques: la solution θ3est unique, mais dépend des postures déjà effectués pour θ1 et θ2.

• Les solutions de θ1θ2et θ3ne dépendent que de la position du poignet. On a un système découplé!

®S2¡¯C2=C3d4

®C2+¯S2=a2+S3d4

µ3 =AT AN2 (®C2+¯S2¡a2; ®S2¡¯C2)

p=f (µ1; µ2; µ3)

5.10 INVERSION ANALYTIQUE DU MODELE CINEMATIQUE DU ROBOT PUMA 560

CALCUL DE

CALCUL DE θθ44 θθ55ET ET θθ66

• Appliquons à nouveau la technique de Pieper pour obtenir θ4, θ5et θ6. Pour cela il faut au moins se placer au delà du poignet, soit

• Tous calculs faits cette équations se trouve sous la forme

avec les fonctions où le vecteur λreprésente

soit le vecteur n, o, aou p

• On trouve alors les solutions

2A¡31¢1A¡21¢0A¡11¢T =3A6

2 66 4

f3 1(n) f31(o) f31(a) f3 1(p)¡a2

f3 2(n) f32(o) f32(a) f3 2(p) f3 3(n) f33(o) f33(a) f33(p)¡d2

0 0 0 1

3 77 5 =

2 66 4

? ? C4S5 0

? ? S4S5 0

¡S5C6 S5S6 C5 d4

0 0 0 1

3 77 5

f3 1(¸) =C1C23¸x+S1C2 3¸y¡S23¸z

f3 2(¸) =¡S1¸x+C1¸y

f3 3(¸) =C1S2 3¸x+S1S23¸y+C2 3¸z

µ4 =AT AN2 [f32(a); f31(a)]

µ5 =AT AN2 [C4f31(a) +S4f32(a); f33(a)]

µ6 =AT AN2 [f33(o);¡f33(n)]

(7)

5.11 SOLUTION NUMERIQUE DU PROBLEME INVERSE

• Formellement, on suppose que le modèle inverse a la forme:

et que pour un ensemble de xidonnés il existe une solution approchée qi* qui peut servir de point de départ pour une solution itérative

• Le principe des solutions itératives pour résoudre ce type de problème consiste à calculer des incréments δqide telle sorte que:

• On effectue un développement en séries de Taylor de cette équation:

xi=fi(qj) (i= 1; : : : n; j= 1; : : : m)

xi=fi(qj¤+±qj)

xi=fi(qj¤) + Xm i=1

@fi

@qj

±qj+O(±q2j)

5.11 SOLUTION NUMERIQUE DU PROBLEME INVERSE

• On définit:

– La valeur au point courant:

– le résidu:

– la matrice Jacobienne (n x m) du système:

• L’équation de base de la solution itérative devient:

• La méthode de résolution dépends des valeurs de met de n x¤i =fi(qj¤) ri=xi¡x¤i

r=J±q+O(±q2) J =

·@fi

@qj

¸

(8)

CAS REGULIER M=N CAS REGULIER M=N

• Si Jest non singulière, on peut utiliser une méthode de Newton-Raphson pour résoudre l’équation

• Le flow-chart de la méthode

• Remarques:

– Le coût de la procédure dépend du nombre d’itérations qui dépend lui-même de paramètres tels que la distance du point de départ au point solution, du nombre de conditionnement de la matrice Jacobienne et du nombre de variables.

– La solution du problème n’est pas unique; différentes solutions numériques vont être générées en fonction du point de départ.

– Il se peut qu’il n’y ait pas convergence en dehors du domaine d ’attraction vers l’optimum

• Des progrès sont toujours nécessaires dans des méthodes de résolution robustes et rapides

r=J±q

5.11 SOLUTION NUMERIQUE DU PROBLEME INVERSE

CAS REGULIER M=N CAS REGULIER M=N

Starting Procedure q = q0 *

Residual Vector r = x - f(q )k k

q = qk Convergence

Check

|r | < k ε

Evaluation of correction r = J qk kδk

Correction q = q + qk+1 k δk

k = k+ 1

Yes

No

(9)

5.11 SOLUTION NUMERIQUE DU PROBLEME INVERSE

CAS SUR

CAS SUR--DETERMINE M<NDETERMINE M<N

• Aucune solution n’existe en général

• Une solution peut être trouvée si on recherche la configuration qui minimise l’erreur de positionnement

Soit le problème

• L’erreur de position est minimum si

q1min;:::qm

( F=1

2 Xn i= 1

wi[xi¡fi(qj)]2 )

minq

½ F=1

2[x¡f(q)]TW[x¡f(q)]

¾

W =diag(w1: : : wn)

@F

@qj

=¡X

i

@fj

@qj

wi[xi¡fi(qj)] = 0 JTW[x¡f(q)] = 0

5.11 SOLUTION NUMERIQUE DU PROBLEME INVERSE

CAS SUR

CAS SUR--DETERMINE M<NDETERMINE M<N

• En développant en séries de Taylor, on obtient l’équation de la correction:

où rest le résidu défini précédemment

• Puisque West une matrice diagonal définie positive, JTW Jest aussi symétrique et définie positive et elle peut être inversée. C’est une matrice inverse généraliséede la matrice Jacobienne.

qui vérifie la propriété

• On vérifie que lorsque J est invertible,

JTW[x¡f(q¤)¡J±q] = 0 JTW J±q=JTW r

J+= (JTW J)¡1JTW J+J=I

(10)

CAS SOUS DETERMINE M>N CAS SOUS DETERMINE M>N

• Il y a une infinité de solutions.

• La redondance peut être levée en imposant des contraintes

• Par exemple: trouver la solution qui minimise la déviation par rapport à une configuration de référence

avec

• Fonctionnelle augmentée (Lagrangien) (à n+m variables)

• Conditions d’optimalité minq

½ F=1

2[q¡q0]TW[q¡q0]

¾

x¡f(q) = 0

G(q; ¸) =1

2[q¡q0]TW[q¡q0] +¸T[x¡f(q)]

@G

@q = 0 @G

@¸= 0

5.11 SOLUTION NUMERIQUE DU PROBLEME INVERSE

CAS SOUS DETERMINE M>N CAS SOUS DETERMINE M>N

• Système des conditions d’optimalité (n+m variables)

• La substitution de la première équation dans la deuxième donne

• En utilisant cette valeur dans la première équation, on trouve

• La matrice suivante a la signification d’une matrice pseudo-inversede la matrice Jacobienne Jsingulière:

W±q¡JT±¸= 0 J±q=r

JW¡1JT±¸=r

±q=W¡1JT(JW¡1JT)¡1r

J+=W¡1JT(J W¡1JT)¡1

(11)

5.11 SOLUTION NUMERIQUE DU PROBLEME INVERSE

CAS SOUS DETERMINE M>N CAS SOUS DETERMINE M>N

• La matrice suivante a la signification d’une matrice pseudo-inversede la matrice JacobienneJsingulière:

• Elle vérifie l’identité

• Si Jest invertible on retrouve:

J+=W¡1JT(J W¡1JT)¡1

JJ+=I

J+=J¡1

5.12 RELATION DE PROJECTION DE LA MATRICE JACOBIENNE

• La matrice Jacobienne transforme l’espace des vitesses articulaires en espace des vitesses cartésiennes par la relation:

• N(J): Espace du noyau de Jcontient les solutions de

• R(J) représente toutes les vitesses possibles de l’effecteur qui peuvent être générées par les m joints.

x = 0.

R(J) N(J)

q.

Qm x. Xn

Jq_ = 0.

x_=Jq_

Références

Documents relatifs

[4] LEONARD DE PISE, Le livre des nombres carrés, traduit du latin médiéval en français, avec une introduction et des notes par Paul Ver Eecke, Desclée de Brouwer et Cie,

— lorsque P parcourt le cercle, les droites GP et JP tournent d’un même angle autour de G et J [théo- rème de l’angle inscrit].. La pente de JP est donc une

c) Place un point M sur le diamètre [AB]. Trace la droite perpendiculaire à [AB] et passant par M. Cette droite coupe le cercle en deux points P et R. Marque les milieux des

d) Recommence au paragraphe c) avec de nombreux points M. 2) L’ensemble de ces points M forme une ellipse que tu traceras.. Justine 5 e 1

e) Recommence au paragraphe c) avec de nombreux points A. Trace ensuite la médiatrice du segment [AS]. 2) L’ensemble des médiatrices délimite les deux branches d’une courbe

d) Construis les points B et C sur la droite (SA) tels que les distances AB et AC soient égales au rayon du cercle... e) Recommence au paragraphe c) avec de nombreux points

Soit L l'intersection de (OK) avec le cercle (C). Trace une partie des segments [LM] et [LP].. DENIERE – La géométrie pour le plaisir – Editions DENIERE - www.deniere.com ).. Trace

Soient A et B les deux points et D et D', les deux droites données. 143), comment on détermine le plus court chemin d'un point à un autre, en passant par une droite donnée; si donc