Vous êtes sur la page 1sur 8

30/09/09

2.1 Kinematics
2 Theoretical Foundations: Model and Control

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


Therefore: Need to study kinematics, i.e. geometry of motion
Velocities, accelerations later
Forces (statics & dynamics) later

2.1
2.2
2.3
2.4

Kinematics
Jacobian
Dynamics
Control

Bleuler
Bouri
Bouri
Bouri

Tche "gnrique" du robot industriel:


Dplacer un objet (outil ou pice)
Donc: Etude de la cinmatique, i.e. gometrie des mouvements
Forces, statique & dynamique plus tard
Temps, vitesses, acclrations plus tard

Kinematics may reach 80% of the effort to model a robot


Robot Kinematics is a research topic on its own, textbooks
available
This lecture provides only an introduction to the bare essentials

La cinmatique peut reprsenter 80% de l'effort


dans l'tablissement du modle d'un robot.
Elle seule peut facilement faire l'objet de cours
ou de livres entiers.
Ce chapitre 2.1 nest qu'une introduction
se limitant l'essentiel.

2.1.7 Joint Coordinates

Variables robot

A robot is controlled by angular or linear input commands.


These values are sent to the actuators (motors).
These angular or linear values are called
joint coordinates or joint variables

Content of 2.1 Kinematics


1.
2.
3.
4.
5.
6.
7.
8.
9.

Introduction, active & passive transformations


Translations & rotations 2D around coord. origin
Combination transl. & rot: Homogenous matrices
2D Rotations around any centerpoint
3D Rotations: Rot.-axis, quaternions
Homogenous matrices
Forward kinematics
Modle gomtrique direct
Euler angles
Inverse Kinematics
Modle gomtrique inverse!

Operational (or task) variables


Variables oprationelles
The robot task is not defined in joint coordinates:
It is position and orientation of the tool or workpiece
to be manipulated with respect to a fixed working frame.
e.g. x,y,z of the tool center point, orientation

{ q1, q2, qi, . qn } ou/or

{ 1, 2, i, . n }.
La tche du robot se dcrit dans dautres termes:

Tout robot est control par des consignes angulaires ou linaires


envoyes aux actionneurs (moteurs).
Ces angles ou positions sont les variables robots.
Leur nombre n est le nombre de ddl du robot.

Position et orientation de loutil, de lobjet manipuler.


Pour un corps rigide, il sera ncessaire de spcifier six variables, correspondants aux six
ddl dun solide dans lespace.
{x,y,z} = position dun point du solide, p.ex. du centre.
Les trois paramtres restants peuvent tre reprsent par une grande varit de faons.

30/09/09

Variables for orientation

Wrist with 3 intersecting axes

Usually, orientation is defined as

Poignet 3 axes concurrents

rotation angles around axes fixed to the moving body:


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

Rectangular axes tied to the approach direction of the robot hand.

Reprsentation de lorientation

Parmi les plus communes: Angles autour de trois axes fixs au


corps en mouvement.
Vous connaissez au moins une telle reprsentation:
Tangage, roulis, lacet sont lis aux axes d'un vhicule (avant, haut,
directions latrales)
(Roll, Neig und Gierwinkel) Fig. 13 p.13
Ces dfinitions peuvent se rapporter l'observateur

5=
6

z Poignet 3 axes: Angles dEuler


Gruber p. 209

Wrist

( , , )
Prcession

nutation

= 6

Challenge:

Forward Kinematics
Express the operationel (task level) variables
{ x, y, z, , , }
as function of the joint variables
{ q1, q2, qi, . qn }

Modle gomtrique direct

5
4=

Fig 10 p. 11

rotation propre

Exprimer les variables oprationelles


{ x, y, z, , , }

Fig 10b) p. 11

Multiple reference frames

en fonction des variables robots


{ q1, q2, qi, . qn }

Always distinguish the two types of transformation:

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

1. Change of position of an object in a single given system of


coordinates
Active Transformation

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

2. Change of coordinates without motion of object:

A system of coordinates is usually defined for each frame of reference

Passive Transformation

Cela mne deux types de transformation:


1. Changement de position d'un objet dans un systme de
coordonnes donn: Transformation active

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


En mouvement, donc solidaires au corps
(lment du robot, poignet, outil, pice,...)

2. Changement de systme de coordonnes d'un objet fixe:

Transformation passive

(Gruber p.682)

30/09/09

Passive transformation:

2.1.2 Translation & rotation in 2D around origine O


Active transformation

P (before)
t

v1

P (after)

O 2

v2

v2

(after)

O 1

(before)

v1

Translation of point P at position v1 to position v2

v2 = v1 + t

valid for any point of the rigid body C

Translation: Change of position without change of


orientation

The passive transformation is the inverse of the active:


P

P (avant)

y
v1

C t

v2

v2

(after)

P (aprs)

y
O 2

Rotation: Change of orientation.


v1

(before)

Translation of object C from

In 2D, there exists a fixed point (center of rotation)

t
O 1

Translation:

Translation of frame from

position 1 to position 2

v2 = v1 + t

Translation of the frame O1 to O2


v 2 = v 1 t

Changement de position sans changement dorientation

O1 to O2

(tout les points changent de la mme faon)

v2 = v1 t

Rotation: Changement dorientation,


En 2D il existe un point fixe (centre de rotation)

Rotation (active) autour de O


dans le plan

In polar coordinates (r, ) this rotation is trivial.


In cartesian coordinates, we need some trigonometry:

Axe (z) : toujours perpendiculaire au plan


P

C (aprs)

v1

y v
2
O

Pour passer directement de [x1,y1] [x2,y2] en cordonnes


cartsiennes, 
sans devoir calculer (r, ) partir de [x1,y1], 
les thormes trigonomtriques suivants sont ncessaires:

x
r cos
v 1 = y1 = r sin

C (avant)
x

x
r cos( + )
v 2 = y2 = r sin( + )

Rotation axis always normal to the plane of motion

(2)

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


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

30/09/09

Application to the sums of angles in (2) gives:


Rotation around O
x r cos( + ) r cos cos r sin sin cos sin r cos
v 2 = 2 =
=
=

y2 r sin( + ) r cos sin + r sin cos sin cos r sin

x
v 2 = R y1
1

avec

v 2 = R v1

cos sin
R = sin cos

Matrice des cosinus directeurs

C (aprs)

v1

y v
2
O

La matrice de rotation R contient l'angle . On l'appelle galement

C (avant)
x

cos sin
v2 =
v1
sin cos

This is the matrix of direction cosines for a plane rotation


by an angle (also simply called rotation matrix)

En transformant les vecteurs [1,0]T et [0,1]T, on constate que les


colonnes de R forment un repre orthogonal tourn de par
rapport au repre cartsien d'origine. (v1.v2 = 0, vi.vi = 1).

Exercices

Ces conditions impliquent RT=R1 (matrice orthogonale).

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) ?

Le dterminant est ncessairement ||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 = R1
Moreover, the determinant is 1.

Transformations passives
= inverse des transformations actives

Rotation passive autour de O dans


le plan
Axe: toujours perpendiculaire au plan (z)
P

y1

x1

O
2

sin 1
v
cos

O1 vers O2 , mme position!

v2 = v1 t

Rotation du point P de

Rotation du rfrentiel

la position v1 la position v2

mme vecteur!
2

v 2 = R v1

v = R1

v et v sont des
dcompositions
diffrentes du mme vecteur

cos
v2 =
sin

Translation du Rfrentiel

la position v1 la position v2

v2 = v1 + t

v = R( ) v

cos
=
sin

Translation du point P de

sin
v1
cos

cos
v =
sin

sin 1
v
cos

30/09/09

Rotation autour de points arbitraires:


Rotation around any point?

2.1.4 Rotation 2D autour de points


arbitraires:

Centre de rotation?
O

x
Ncessit de combiner rotations et translations
dans une seule opration

Centre de rotation

Need for unified operation for transl. & rotation

1. Translation de C vers O

2. Rotation autour de lorigine O

y
y

C
O

3. Translation vers C

Translation: Addition vectorielle


Rotation: Multiplication matricielle

Il serait utile davoir la mme opration


mathmatique pour tout changement de
position, que ce soit translation ou
orientation

A unified operation would be useful

30/09/09

Rotation autour de points arbitraires:


Rotation around any point?
P

Solution: Homogenous coordinates


2.1.3

Coordonnes homognes

August Ferdinand Mbius, Leipzig, 1827

Centre de rotation?
O

x
Ncessit de combiner rotations et translations
dans une seule opration

Les coordonnes homognes sont largement utilises en


infographie pour la reprsentation de scnes 3D
Elles sont adaptes la gomtrie projective, utilise dans
logiciels graphiques (OpenGL , Direct3D )

Need for unified operation for transl. & rotation

Comment obtenir addition vectorielle


dans une multiplication matricielle?

v2 = v1 + t
v2 = T v1

1 0

Tv1 = 0 1

donc

x1 x1 + t x

y1 = y1 + t y

cos
R t

= sin
0 1
0

Cette combinaison est obtenue de la faon suivante:

un "facteur d'chelle" 1 chaque vecteur


1. On ajoute
2. On ajoute le vecteur de translation droite de R
3. On ajoute la ligne [0 0 1] sous R

A retenir:
Les vecteurs en reprsentation homogne
contiennent un lment de plus que le nombre
de dimensions gometriques.
Les matrices en reprsentation homogne
contiennent une ligne et une colonne de plus
que le nombre de dimensions gometriques.

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

sin
cos
0

t x c s t x

ty = s c t y
1 0 0 1

Question: Est-ce rot-transl

ou

transl-rot?

Rponse: Trouvez vous-mme!

Exemple:
Enchainement de deux transformations
Sans reprsentation homogne:

v2 = R(1) v1 + t1
v3 = R(2) v2 + t2 = R
(2) R(1) v1 + R(2) t1 + t2
avec reprsentation homogne:

(ex.2)

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

30/09/09

Solution ex. 2
cos( 1 + 2 ) sin( 1 + 2 ) c2t1x s2t1y + t 2 x

sin( 1 + 2 ) cos( 1 + 2 ) s2t1x + c2t1y + t 2 y

0
0
1

c12

= s12
0

s12
c12
0

Ex 3a: Rotation pure?


Translation pure?
Identit?

c2t1x s2t1y + t 2 x

s2t1x + c2t1y + t 2 y

3b)

Translation puis rotation

3c)

Inverse??
(Faites le contrle!)

2.1.4 Rotation 2D autour de points


arbitraires:

Solutions
3b)

Translation puis rotation

R 0 I t R Rt

0 10 1 0 1

3c)

Rotation - puis translation

-t

Centre de rotation?

I tR1 0 R1 t
=

1
0 1 0 1 0

2. Rotation autour de lorigine

1. Translation de P vers lorigine

R 0 I p R Rp

1
0 10 1 0

y
y

P
O

I OP I p

1 0 1
0

30/09/09

3. Translation vers P dorigine

Cette expression met en vidence


quune rotation autour de P est quivalente
une rotation autour de O suivie dune translation PRP
A linverse, on peut trouver un centre de rotation pour
toute combinaison de translation et rotation.

P
O

This shows that rotation around P is


equivalent to rotation around O and a
translation p-Rp

I pR 0 I p R p Rp

1
0 1 0 10 1 0

(9)

Conversely a center of rotation can be found


for any combination of transl. & rotation

Exercice 4
4a) Le paragraphe prcdent est-il entirement correct?
4b) Trouver le centre de rotation 1.) par un dessin, 2.) l'aide de la formule
prcdente 3.) en cherchant un vecteur propre de la matrice homogne.
4c) Trouver la matrice homogne qui dcrit une rotation de 60 autour d'O
4d) Trouver la matrice homogne qui dcrit une translation de un en direction x ,
puis une rotation de 60 autour d'O
4e) Trouver la matrice homogne qui dcrit une rotation de 60 autour de [1,1]T .
4.f) Un objet avec deux points v1, w1 est dplac de sorte que ces points se
retrouvent aux locations v2, w2 .
v1 = [1,0]T, w1 = [1,1]T,

v2 = 0.5 [13,13]T, w2 = 0.5 [23,1]T

Trouver la matrice homogne, , p (solution graphique) qui dcrit ce dplacement.