2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou...

44
2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is controlled by sending desired joint variables to the actuators. The number of joint variables is the number of degrees of freedom of the robot. Symbols q i or i are used for these variables. Ces angles ou positions sont les variables robots. Leur nombre n est le nombre de ddl du robot. (joint variables) Nous utilisons { q 1 , q 2 , … q i , …. q n } ou { 1 , 2 , … i , …. n }.

Transcript of 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou...

Page 1: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

2.1.7 Variables robot – Joint Variables

Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs).

A robot is controlled by sending desired joint variables to the actuators.The number of joint variables is the number of degrees of freedom of the

robot. Symbols qi or i are used for these variables.

Ces angles ou positions sont les variables robots.Leur nombre n est le nombre de ddl du robot.(joint variables) Nous utilisons { q1, q2, … qi, …. qn }ou { 1, 2, … i, …. n }.

Page 2: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Variables opérationnelles –

Operational (Task-specific) variables

La tâche du robot se décrit dans d’autres termes:

Position et orientation de l’outil, de l’objet à manipuler.

Pour un corps rigide, il sera nécessaire de spécifier six paramètres indépendants, correspondants aux six ddl d’un solide dans l’espace.

{x,y,z, Q} ou {x,y,z, }

The robot task is described in other variables, task specific: The position and orientation of the object to be handled, i.e. the six independant values

{x,y,z, Q} or {x,y,z, }

Page 3: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Modèle Géométrique Direct MGDForward Kinematics

Le MGD donne les coordonnées opérationelles

en fonction des variables articulaires

Forward kinematics is the mathematical expression of the

task variables as function of the joint variables.

{x,y,z, Q} F (q1, q2, … qi, …. qn

Page 4: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Exemple: MGD du SCARA

1. Définition des variables articulaires i

1st step: Definition of the joint variables

2. définir les positions de référence i 2nd step Definition of reference position (of the zero)

3. définir les paramètres du robot Li

3rd step Definition of the robot parameters

Fig.8 1

2

4

L1

L2

y

x

Page 5: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Position de référence

x = … ?

y = … ?

z = 3

= 1 + 2 + 4

L1 L2

i

y

x

1

2

4

L1

L2

y

x

Le MGD donne orientation et position de la main

The forward kinematics will give position & orientation of the hand

Page 6: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Position du centre de la main (tool center point TCP) & orientation de la main

x = L1 cos 1 + L2cos(1 + 2 ) = L1 c1 + L2c12

y = L1 sin 1 + L2sin(1 + 2 ) = L1 s1 + L2s12

z = 3

= 1 + 2 + 4

1

2

L1

L2

y

x

TCP

Page 7: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Position & orientation d’un outil

x = L1 c1 + L2c12 + L4c124

y = L1 s1 + L2s12 + L4s124

z = 3

= 1 + 2 + 4

1

2L4

y

x

TCP

Position & orientationof a tool

Page 8: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

MGD d’un robot à 6 ddl?

La même démarche pour un robot à 6 ddl devient

très difficile utiliser les matrices homogènes!

Exercice 9 !

For a 6 d.o.f. robot, the same task becomes very hardby hand. It becomes straight forward with the use ofhomogenous matrices.

Page 9: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Ex. 9b

1. Rot. de 4 de autour de [ L1 + L2 , 0 ]T

2. Rot. de 2 de autour de [ L1 , 0 ]T

3. Rot. de 1 de autour de [ 0 , 0 ]T

1.)

Page 10: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Ex. 9b

1. Rot. de 4 de autour de [ L1 + L2 , 0 ]T

avec les définitions versine() = 1– cosdonc v4 =– cos 4

et L1 2 = L1 + L2

Page 11: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Ex. 9b MGD complet:

=

Page 12: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Ex. 9c MGD complet:

=

Page 13: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Ex. 10

Application du MGD

L1 L2y

xL4

1

2L4

y

x

TCP

x = L1 c1 + L2c12 + L4c124

y = L1 s1 + L2s12 + L4s124

Page 14: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

1. Définir les variables robots

2. Définir leurs positions de référence

3. Définir les paramètres du robot

4. Enchainer les mouvements successifs(multiplication de matrices homogènes)

L1 L2y

xL4

Etablissement du MGD:

Page 15: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

MGD d’un robot 6ddl

1. Variables robot

2

4

6

5

1

3

Convention:Partir de la base vers la main

Page 16: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

2. Positions de référence

i Les flèches indiquent

le sens de rotation positif

The arrows indicate positiverotation

Le référentiel (x,y,z) est fixe

(coordonnées opérationelles)

Fixed coordinate frame!

2

3

5

4 6

y

z

x

1

Page 17: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

3. Paramètres du robot

2

3 5

4 6

y

z

x

Les axes 1 et 2 se croisent => L1=0

L2

Les axes 3 et 4 se croisent => L3=0

Les axes 4 et 5 se croisent => L4=0

Les axes 3 et 5 sont décalés sur l'axe 4 d'une distance D4

D4

Les axes 1 et 4 sont décalés sur l'axe 3 d'une distance D3

Distance between 1 and 4 along 3 : D3

Les axes 2 et 3 sont parallèles, dist. L2

D3

cross each other

1

Page 18: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Généralisation de la paramétrisation:Paramètres Denavit-Hartenberg

Les axes de rotation successifs i sont reliés par les perpendiculairescommunes, définissant ainsi des points de repère Pi

Passage de l'axe 1 à l'axe 2:Déplacement de L1,Angle fixe de 1 autour de L1

Li: Link lengthi: Twist angle

Distance de Pi à Pi':Joint offset Di

2 3

1 P1'

P2

P2'

P3

L2

L1

i

D2

Page 19: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

4. Enchainement des mouvements

2

3

5

4 6

y

z

x

1. Rot. de 6 autour de l'axe z , décalée de p = [D3,0,0]'

L2

D4

D3

Page 20: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

2. Rot. de 5 autour de l'axe x , décalé de p = [0,0, L2+D4]'

2

3

5

4 6

y

z

x

L2

D4

D3

et ainsi de suite pour K4 ,K3 , K2 , K1

Page 21: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

MGD du robot 6ddl

P(i) = (K1 K2 K3 K4 K5 K6 ) P0

2

4

6

5

1

3

P0P(i)

Forward kinematics of the robot arm:

Page 22: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

2.1.8 Représentation de l’orientation: Angles d'Euler

L'orientation est très souvent exprimée en angles autour de trois axes fixés au corps en mouvement.

(Figures p. 2.1-11)

Historiquement ce sont précession, nutation,

rotation propre (axes z,x,z liés au corps)

Généralisation: On trouve 12 jeux d'angles différents

Orientation is often expressed as angles around body-fixed axes.

Historically, these were first defined by Euler as precession, nutation and proper rotation of a gyroscope

Page 23: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Orientation: Poignet à 3 axes concurrents

5

4

6

Fig 10

Wrist with three axes through a common intersection

Page 24: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Poignet à 3 axes: Angles d ’Euler

Gruber p. 209

ϑPrécession

nutation

rotation propre

5

4

4

y

x

6

z

axes z,x,z(corps)body-fixed

Page 25: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Poignet cardanique:

Angles d'Euler (x,y,z), axes liés au corps

Roulis (roll) aut. axe x, direction d'approche

tangage (pitch) ϑaut. axe y

lacet (yaw) aut. axe z

5

4

6

Cardanic wrist

Page 26: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

MGD:

Comment trouver les angles (ϑ)par rapport à des axes fixes x,y,z?

P(i) = (K1 K2 K3 K4 K5 K6 ) P0

R1 R2 R3 R4 R5 R6 Rtot

Rtot Rz Ry Rx

Page 27: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Solution:

= Atan2(r21, r11)

= Atan2(r32, r33)

Page 28: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

2.1.9 MGI Tâche pratique:

Quelles variables i pour un P donné?

On cherche i(P) , donc la fonction inverse du MGD P(i)

2

4

6

5

1

3

P(i)

x

y

z

Page 29: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Modèle Géométrique Inverse (indirect)Inverse Kinematics, rückwärts Kinematik

Problème mathématiquement difficile!

Exemple très simple:

L2

1

2

xL1

x = L1 c1 + L2c12

y = L1 s1 + L2s12

MGD

Donnés x & y, quels sont 1 et 2 ?

Page 30: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

1. Remplacer cos(1 2) par cos1 et cos2

x = L1 c1 + L2c12 = L1 c1 + L2c1c2 – L2s1s2

y = L1 s1 + L2s12 = L1 c1 + L2s1c2 + L2c1s2

2. L'introduction des sinus nécessite d'ajouter les relations entre sinus et cosinus

s12 + c1

2 = 1

s22 + c2

2 = 1 4 équations, 4 inconnues

mais des équations quadratiques!

Page 31: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Nous constatons donc que le MGI est beaucoup plus complexe que le MGD!

1. Les équations sont non-linéaires

2. Des solutions analytiques générales comme dans le cas d'équ. linéaires sont inconnues

3. Solutions multiples possibles!

4. Infinité de solutions possible (redondance)

Page 32: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Note Robot redondant:

Plus de ddl que nécessaires au positionement

Raison: Accessabilité

Applications typiques: Soudure, peinture sur des éléments complexes (carosserie d'auto)

Page 33: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Solution des 4 équations:

(x2 + y2) = L12 + L2

2 + 2 L1 L2 c2

Cela donne cos(2) et donc deux angles 2

Exercice: Trouvez 1

Page 34: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Robot à 6 ddl

Position:On peut trouver le MGI en combinant deux foisl'exemple planaire qui vient d'être fait.

Nous avons donc déjà 2x2=4 postures possibles

Page 35: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.
Page 36: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

MGI du robot à 6 ddl

Orientation: Les angles sont des angles d'Eulerpar rapport à l'orientation du troisième membre.

R(consigne) = R(base) R(456donc R(456R(base)–1 R(consigne)

Postures? (nombre de solutions?)

Page 37: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Postures du poignet

5

4

6

55 44

66

Page 38: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Récapitulation MGD et MGI

•Le MGD se trouve de façon systématique. (Paramètres Denavit Hartenberg, matrices homogènes)•Il y a toujours une solution dans le domaine de travail

•Le MGI ne peut pas se calculer systématiquement dans tous les cas (besoin d'astuces)•Solutions multiples (postures) possibles•Nombre de solutions inconnu en général!•Méthodes numériques ne donnent pas toutes les solutions

Page 39: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Robots parallèles?

q1 q2

q3

MGD: Données q1, q2, q3,

Quels sont (x, y, ) ?

(x, y)

Page 40: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Solution:

Page 41: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Constat:

Pour les robots parallèles, c'est le modèle géométrique direct MGDqui aura plusieurs solutions.On les appelle les "contorsions"

Page 42: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

MGI?

q1 q2

q3

MGI: Données (x, y, ) ,

Quels sont q1, q2, q3 ?

(x, y)

Page 43: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

MGI (x, y)

A l'évidence, il n'y a qu'une seule solution.

Page 44: 2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is.

Fin section 2.1 "Cinématique"

•Le MGI n'a qu'une solution, souvent facile à trouver

•Le MGD a des solutions multiples! (Les contorsions)

Ces questions sont objet de recherche en robotique.(publications, conférences...)

Robots parallèles, c'est juste l'inverse:

•Le MGI a des solutions multiples! (Les postures)

•Le MGD a une seule solution; méthode "infaillible" existe

Robots sériels: