bases théoriques: modélisation et contrôle 2.1 cinématique/cinematicsbleuler 2.2...

Post on 03-Apr-2015

109 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Bases théoriques:modélisation et contrôle

2.1 Cinématique/Cinematics Bleuler2.2 Jacobien/Jacobian Bouri2.3 dynamique/DynamicsBouri2.4 Contrôle/Control Bouri

2.1 Cinematics

• Generic task of industrial robot: Move an object (tool, workpiece)

• Therefore: Need to study cinematics, i.e. geometry of motion

• Velocities, accelerations later

• Forces (statics & dynamics) later

• Tâche "générique" du robot industriel: Déplacer un objet (outil ou pièce)

• Donc: Etude de la cinématique, i.e. géometrie des mouvements

• Forces, statique & dynamique plus tard

• Temps, vitesses, accélérations plus tard

La cinématique peut représenter 80% de l'effortdans l'établissement du modèle d'un robot.

Elle seule peut facilement faire l'objet de coursou de livres entiers.

Ce chapitre 2.1 n’est qu'une introductionse limitant à l'essentiel.

• Cinematics may reach 80% of the effort to model a robot

• There are books and lectures on ro

• This is only an introduction to the bare essentials

Content

1. active & passive transformations2. Translations & rotations 2D around coord. origin3. Combination transl. & rot: Homogenous matrices4. 2D Rotations around any centerpoint5. 3D Rotations: Rot.-axis, quaternions6. Homogenous matrices7. Robot coordinates, direct cinematics p9

Variables robot, Modèle géométrique direct

8. Euler angles p13, p119. Inverse Cinematics Modèle géométrique inverse

2.1.7 Variables robot / Robot Coordinates

Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs).Ces angles ou positions sont les variables robots.Leur nombre n est le nombre de ddl du robot.

A robot is controlled by angular or linear setpoints.These values are sent to the actuators (motors).

These angular or linear values are called joint coordinates or joint variables

{ q1, q2, … qi, …. qn } ou/or { 1, 2, … i, …. n }.

Variables opérationellesOperational (or task) 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 variables, correspondants aux six ddl d’un solide dans l’espace.

{x,y,z} = position d’un point du solide, p.ex. du centre.

Les trois paramètres restants peuvent être représenté par une grande variété de façons.

The robot task is defined in other terms:It is position and orientation of the tool or workpieceto be manipulated.

e.g. x,y,z of the tool center point, + Euler angles

Représentation de l’orientation / Variables for orientation

Parmi les plus communes: Angles autour de trois axes fixés au corps en mouvement.

Vous connaissez au moins une telle représentation:

Tangage, roulis, lacet sont liés aux axes d'un véhicule (avant, haut, directions latérales) (Roll–, Neig– und Gier–winkel) Fig. 13 p.13

Ces définitions peuvent se rapporter à l'observateur

Usually, orientation is defined as

rotation angles around axes fixed to the moving body:

Roll, Pitch, Yaw are used for vehicles, Euler angles for gyroscopes,

rectangular axes tied to approach direction for robots.

Wrist (Poignet) à 3 axes concurrents

5

4

6

Fig 10 p. 11

Poignet à 3 axes: Angles d’Euler

Gruber p. 209

5

4

6

Fig 10b) p. 114

5

y

x

6

Précession

nutation

rotation propre

zWrist

Modèle géométrique direct:(Direct) or Forward Cinematics:

Exprimer les variables opérationelles { x, y, z, }

en fonction des variables robots { q1, q2, … qi, …. qn }

Express the operationel (task level) variables { x, y, z, }

as function of the joint variables{ q1, q2, … qi, …. qn }

Organisation du chapitre 2.1 cinématique

1. Transformations actives et passives2. Translations et rotations 2D autour de l’origine3. Combinaison transl. & rot: Matrices homogènes4. Rotations 2D autour d’un point arbitraire5. Rotations 3D: Axe de rotation, quaternions6. Représentation homogène7. Variables robot, Modèle géométrique direct

robot coordinates, forward cinematics

8. Angles d’Euler9. Modèle géométrique inverse (Inverse

cinematics)

2.1.1 Première difficulté / Conceptual difficulty:

Reférentiels multiples / Multiple reference frames

• Fixes (base du robot, table de travail, etc)

• En mouvement, donc solidaires au corps (élément du robot, poignet, outil, pièce,...)

• Fixed frame of reference (e.g. robot base, work table)

• Frame in motion, tied to a robot element such as wrist, tool, workpiece...

Cela mène à deux tâches de base:

1. Changement de position d'un objet dans unréférentiel fixe:Transformation active

2. Changement de référentiel d'un objet fixe:Transformation passive

(Gruber p.682)

Two basic tasks:

1) Change of position of an object in a fixed frame of reference« Active Transformation »

2) Change of frame of reference without motion of object:« Passive Transformation »

2.1.2 Translation et rotations 2D autour de l'origine O

Translation & rotation in 2D around origine O

x

y

v1

2v

tP (avant)

P (après)

CC

Translation du point P de la position v1 à la position v2

v2 = v1 + t valid for any point of rigid body C

Transformation active:

x

y

t

P

O2

Translation du référentiel O1 vers O2

v2 = v1 – t

Transformation passive:

O1

(avantbefore)

v1

v2

(aprèsafter)

Translation du Référentiel

O1 vers O2

v2 = v1 – t

Transf. active = inverse (passive):

x

y

t

P

O2 (après)

O1

v1

v2

x

yv1

2vt

P (avant)P (après)

CC

Translation du point P de

la position v1 à la position v2

v2 = v1 + t

(avant)

Active transformation is simply the mathematical inverse of passive transformation

Translation: Changement de position sans changement d’orientation

(tout les points changent de la même façon)

Rotation: Changement d’orientation,

il existe un point fixe (centre de rotation)*)

Translation: Change of position without change of orientation

Rotation: Change of orientation. There exists a fixed point (center of rotation)

*) dans le cas de 2 dimensions

Rotation (active) autour de O dans le plan

• Axe (z) : toujours perpendiculaire au plan

x

y

v1

v2

C (avant)

C (après)

O

v1

=

x1

y1

=

r cos ϕ

r sin ϕ

v2

=

x2

y2

=

r (cos ϕ + )

r (sin ϕ + )

(2)

P

P

Rotation axis always normal to the plane of motion

In polar coordinates (r, ) this rotation is trivial.In cartesian coordinates, we need some trigonometry:

Pour passer directement de [x1,y1] à [x2,y2] en cordonnées cartésiennes, sans devoir calculer (r, ) à partir de [x1,y1], les théorèmes trigonométriques suivants sont nécessaires:

cos(a+b) = cos(a)cos(b) – sin(a)sin(b)

sin(a+b) = sin(a)cos(b) + cos(a)sin(b)

Appliquée aux sommes d'angles dans (2) donne:

v2 =x2

y2

⎣ ⎢

⎦ ⎥=

r cos(ϕ +ϑ )

r sin(ϕ +ϑ )

⎣ ⎢

⎦ ⎥=

r cosϕ cosϑ − r sinϕ sinϑ

r cosϕ sinϑ + r sinϕ cosϑ

⎣ ⎢

⎦ ⎥=

cosϑ

sinϑ

− sinϑ

cosϑ

⎣ ⎢

⎦ ⎥r cosϕ

r sinϕ

⎣ ⎢

⎦ ⎥

v2

= R

x1

y1

avec R =

cos

sin

− sin

cos

La matrice de rotation R contient l'angle . On l'appelle également Matrice des cosinus directeurs

Matrix of direction cosines, rotation matrix

Rotation around O

v 2 =cosϑ

sinϑ

−sinϑ

cosϑ

⎣ ⎢

⎦ ⎥v1

x

y

v1

v2

C (avant)

C (après)

O

P

P

v 2 = R v1

Exercices

1a) R(= 0) = ?

1b) R(–) = ?

1c) R()–1 = ?

1d) v3 = R(2)v2 = R(2)R(1)v1 = R(?)v1 ?

1e) R(2)R(1) = R(1)R(2) ?

En transformant les vecteurs [1,0]T et [0,1]T, on constate que les colonnes de R forment un repère orthogonal tourné de par rapport au repère cartésien d'origine. (v1

.v2 = 0, vi.vi = 1).

Ces conditions impliquent RT=R–1 (matrice orthogonale).

Le déterminant est nécessairement ||R|| = 1

Transformation of the unit vectors shows that the columns of R represent an orthogonal frame rotated w.r.t. the original frame.

This implies the matrix orthogonality condition

RT = R–1

Moreover, the determinant is 1.

Rotation passive autour de O dans le plan

• Axe: toujours perpendiculaire au plan (z)

Ox1

y1

x 2

y 2

2 v = R(−ϑ ) 1v

=cosϑ sinϑ

−sinϑ cosϑ

⎣ ⎢

⎦ ⎥ 1v

P

2 v et 1v sont des

décompositions différentes du même vecteur

Transformations passives= inverse des transformations

actives

2 v =cosϑ sinϑ

−sinϑ cosϑ

⎣ ⎢

⎦ ⎥ 1v

v2 =cosϑ −sinϑ

sinϑ cosϑ

⎣ ⎢

⎦ ⎥ v1

Translation du Référentiel

O1 vers O2 , même position!

v2 = v1 – t

Translation du point P de

la position v1 à la position v2

v2 = v1 + t

v2 = R v1

2 v = R−1 1v

Rotation du point P de

la position v1 à la position v2

Rotation du référentiel

même vecteur!

Translation: Addition vectorielleRotation: Multiplication matricielle

Il serait utile d’avoir la même opérationmathématique pour tout changement de position, que ce soit translation ou orientation

A unified operation would be useful

Nécessité de combiner rotations et translations

dans une seule opération

Rotation autour de points arbitraires:Rotation around any point?

x

y

O

P

Centre de rotation?

P

Need for unified operation for transl. & rotation

Solution: Homogenous coordiates 2.1.3 représentation homogène

Cette combinaison est obtenue de la façon suivante:

1. On ajoute un "facteur d'échelle" 1 à chaque vecteur2. On ajoute le vecteur de translation à droite de R3. On ajoute la ligne [0 0 1] sous R

v2 = v1 + t

v2 = T v1

Tv1 =

1 0

0 1

⎢ ⎢ ⎢

⎥ ⎥ ⎥

x1

y1

⎢ ⎢ ⎢

⎥ ⎥ ⎥=

x1 + tx

y1 + ty

⎢ ⎢ ⎢

⎥ ⎥ ⎥

R t

0 1

⎣ ⎢

⎦ ⎥=

cosϑ −sinϑ tx

sinϑ cosϑ ty

0 0 1

⎢ ⎢ ⎢

⎥ ⎥ ⎥=

c −s tx

s c ty

0 0 1

⎢ ⎢ ⎢

⎥ ⎥ ⎥

donc

Question: Est-ce rot-transl ou transl-rot?

Réponse: Trouvez vous-même!

A retenir:

Les vecteurs en représentation homogènecontiennent un élément de plus que le nombre de dimensions géometriques.

Les matrices en représentation homogènecontiennent une ligne et une colonne de plusque le nombre de dimensions géometriques.

Remember: Vectors in homogenous form have one element more than the number of geometric coordinates: The scale factor (in our case always 1)

Homogenous matrices thus have one line and one column more than the number of coordinates. Last line: 0 0 1, last column [ t , 1] ’

Exemple: Enchainement de deux transformations

Sans représentation homogène:

v2 = R(1) v1 + t1

v3 = R(2) v2 + t2 = R(2) R(1) v1 + R(2) t1 + t2

avec représentation homogène: (ex.2)

Solution ex. 2

cos(ϑ 1 +ϑ 2 ) −sin(ϑ 1 +ϑ 2 ) c2t1x − s2t1y + t2 x

sin(ϑ 1 +ϑ 2 ) cos(ϑ 1 +ϑ 2 ) s2t1x + c2t1y + t2 y

0 0 1

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=c12 −s12 c2t1x − s2t1y + t2 x

s12 c12 s2t1x + c2t1y + t2 y

0 0 1

⎢ ⎢ ⎢

⎥ ⎥ ⎥

Ex 3a: Rotation pure? Translation pure? Identité?

3b) Translation puis rotation

3c) Inverse?? (Faites le contrôle!)

Solutions

3b) Translation puis rotation

R 0

0 1

⎣ ⎢

⎦ ⎥I t

0 1

⎣ ⎢

⎦ ⎥=

R Rt

0 1

⎣ ⎢

⎦ ⎥

I −t

0 1

⎣ ⎢

⎦ ⎥R−1 0

0 1

⎣ ⎢

⎦ ⎥=

R−1 −t

0 1

⎣ ⎢

⎦ ⎥

3c) Rotation puis translation -t

2.1.4 Rotation 2D autour de points arbitraires:

x

y

O Centre de rotation?

PO

1. Translation de P vers l’origine

x

y

O

PO

I −OP

0 1

⎣ ⎢

⎦ ⎥=

I −p

0 1

⎣ ⎢

⎦ ⎥

2. Rotation autour de l’origine

x

y

OO

R 0

0 1

⎣ ⎢

⎦ ⎥I −p

0 1

⎣ ⎢

⎦ ⎥=

R −Rp

0 1

⎣ ⎢

⎦ ⎥

3. Translation vers P d’origine

x

y

O

PO

I p

0 1

⎣ ⎢

⎦ ⎥R 0

0 1

⎣ ⎢

⎦ ⎥I −p

0 1

⎣ ⎢

⎦ ⎥=

R p − Rp

0 1

⎣ ⎢

⎦ ⎥ (9)

Cette expression met en évidence qu’une rotation autour de P est équivalente à une rotation autour de O suivie d’une translation P–RP

A l’inverse, on peut trouver un centre de rotation pourtoute combinaison de translation et rotation.

This shows that rotation around P is equivalent to rotation around O and a translation p-Rp

Conversely a center of rotation can be found for any combination of transl. & rotation

Exercice 4

4a) Le paragraphe précédent est-il entièrement correct?

4b) Trouver le centre de rotation 1.) par un dessin, 2.) à l'aide de la formule précédente 3.) en cherchant un vecteur propre de la matrice homogène.

4c) Trouver la matrice homogène qui décrit une rotation de 60° autour d'O

4d) Trouver la matrice homogène qui décrit une translation de un en direction x , puis une rotation de 60° autour d'O

4e) Trouver la matrice homogène qui décrit une rotation de 60° autour de [1,1]T .

4.f) Un objet avec deux points v1, w1 est déplacé de sorte que ces points se retrouvent aux locations v2, w2 .

v1 = [1,0]T, w1 = [1,1]T, v2 = 0.5 [1–√3,1–√3]T, w2 = 0.5 [2–√3,1]T

Trouver la matrice homogène, , p (solution graphique) qui décrit ce déplacement.

top related