Vous êtes sur la page 1sur 9

24.09.

14

2.1 Cinmatique!
2 Theoretical Foundations: Modeling and
Control!

Tche "gnrique" du robot industriel:


Dplacer un objet (outil ou pice)!

2.1
2.2
2.3
2.4

!Kinematics!
!Jacobian !
!Dynamics !
!Control
!

!
!
!
!

!
!
!
!

!
!
!
!

!Bleuler!
!Bouri!
!Bouri!
!Bouri!

Donc: Etude de la cinmatique, i.e. gometrie


des mouvements!
Forces, statique & dynamique plus tard!
Temps, vitesses, acclrations plus tard!

Programme!
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.!

A robot is controlled by angular or linear input commands.


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

or

{1, 2, i, . n }.

8.
9.

Euler angles
Inverse Kinematics

Modle gomtrique inverse


Tout robot est control par des consignes angulaires ou linaires


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

{ q1, q2, qi, . qn }


ou
{1, 2, i, . n }.

3
{ q1, q2, qi, . qn }

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

Degrees of Freedom
Degrs de Libert

Variables robot

Joint Coordinates

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

2
3

The number n of joints


is the number of
degrees of freedom of the robot.

24.09.14

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, tool orientation, which can
be represented in many different ways (angles, matrices,
quaternions)

La tche du robot se dcrit dans dautres termes:


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 (angles, matrices, quaternions).

y

x

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

4=
= 6

Fig 10 p. 11

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

rotation propre

Modle gomtrique direct

5
x

Exprimer les variables oprationelles


{ x, y, z, , , }

Fig 10b) p. 11

en fonction des variables robots


{ q1, q2, qi, . qn }

24.09.14

Challenge:

Multiple reference frames

Always distinguish the

two types of transformation:

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


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

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


coordinates
Active Transformation
A system of coordinates can be defined for each frame of reference!
2. Change of coordinates without motion of object:

Passive Transformation
Rfrentiels

(Bases des systmes de coordonnes)

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


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

(Gruber p.682)

Passive transformation:!

2.1.2 Translation & rotation in 2D around origine O!


Active transformation!

P (before)
t
C
v2

v1

v2

(after)

P (after)

O2

O1

(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 of the frame O1 to O2!


v 2 = v 1 t!

The passive transformation is the inverse of the active:!


P

P (avant)

y
v1

C t

P (aprs)
v2

Translation:
y

O2

v1

t
O1

(before)

Translation of object C from!


position 1 to position 2!

!
v2 = v1 + t

v2

(after)

Translation of frame from!


O1 to O2!

Changement de position sans changement


dorientation !
(tout les points changent de la mme faon)!

Rotation: Changement dorientation, !


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

v2 = v1 t!

24.09.14

Rotation (active) autour de O


dans le plan!

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


cordonnes cartsiennes,

Axe (z) : toujours perpendiculaire au plan!

sans devoir calculer (r, ) partir de [x1,y1], les


P

C (aprs)

v1

y v
2
O

x
r cos
v 1 = ! y1 # = ! r sin #
"
$
" 1$

formules trigonomtriques suivantes sont utiles:!

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


C (avant)

x
r cos( + )
v 2 = ! y2 # = ! r sin( + ) #
$
" 2$ "

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


(2)

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 (

La matrice de rotation est lexpression des vecteurs de base!


du du nouveau systme de coordones en composantes!
des vecteurs de base du systme de dpart (produits scalaires!

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).
Ces conditions impliquent RT=R1 (matrice orthogonale).

y1
y2

x2

x1

!
#
!" x 2 , y #$ = & cos sin '
2
" sin cos $
! x x y x #
2 1
2 1 '
=&
& x2 y y y '
1
2 1 $
"

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.
Such an orthogonal matrix satisfies
RT = R1

Matrix of Direction Cosines!


Its determinant is 1.

24.09.14

Rotation passive autour de O dans


le plan

Exercices

Axe: toujours perpendiculaire au plan (z)

1a)


R(= 0) = ?

1b)


R() = ?

1c)


R()1 = ?

1d)


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

1e)


Squences 1) rot.; 2) transl.

y1

v = R( ) 1 v

y2

x2

x1

1) transl.; 2) rot.

$ cos
=&
%sin

sin ' 1
) v
cos (

v et v sont des
dcompositions
diffrentes du mme vecteur


Constat?

Transformations passives
= inverse des transformations actives

Rotation autour de points arbitraires:


Rotation around any point?

Translation du point P de

Translation du Rfrentiel

la position v1 la position v2

O1 vers O2 , mme position!

v2 = v1 + t

v2 = v1 t

O

Rotation du point P de
la position v1 la position v2

mme vecteur!
2

v 2 = R v1
$cos
v2 = &
% sin

sin '
) v1
cos (

Rotation du rfrentiel

v = R1

$ cos
v =&
%sin

Trouvez le centre de rotation!

sin ' 1
) v
cos (

2.1.4 Rotation 2D autour de points


arbitraires:

1. Translation de C vers O

C
O

Centre de rotation

24.09.14

2. Rotation autour de lorigine O

3. Translation vers C

y
y

Solution: !Homogenous coordinates


2.1.3

Coordonnes homognes
August Ferdinand Mbius, Leipzig, 1827

Homogenous coordinates have been introduced!


by Mbius in the context of projective geometry.!
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 )

Rotation autour de points arbitraires:


Rotation around any point?

Translation: Addition vectorielle


Rotation: Multiplication matricielle!
Consquence: Une squence de plusieurs mouvement
devient algbriquement de plus en plus compliqu.!
!
cf. ex. 1e)

Squences

1) rot.;
2) transl. 







1) transl.;

2) rot.
!
!
Il serait utile davoir la mme opration mathmatique
pour tout changement de position, !
que ce soit translation ou orientation!
!
Cela permettrait de grouper une squence de mouvements!

Centre de rotation?
O

x
Ncessit de combiner rotations et translations
dans une seule opration

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
$#

% " x1 % " x1 + t x %
'$ ' $
'
' $ y1 ' = $ y1 + t y '
'& $# '& $#
'&

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

24.09.14

A retenir:
donc!

"cos
"R t% $
=
$
' sin
# 0 1& $
$# 0

sin
cos
0

t x % "c s t x %
' $
'
ty ' = $s c t y '
1 &' #$0 0 1 '&

Question (2): Est-ce rot-transl


!
Rponse: Trouvez vous-mme!!

ou

transl-rot?!

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)
Homogenous matrices thus have one line and one column more than the
number of coordinates. Last line: 0 0 1, last column [ t , 1]

Ex 3a: Rotation pure?


Translation pure?
Identit?
3b)

Translation puis rotation

3c)

Inverse??
(Faites le contrle!)

Exercice 3d) 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: Multiplication matricielle!

Solution ex. 3 d:!


$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

c2t1x s2t1y + t 2 x &


(
s2t1x + c2t1y + t 2 y (
('
1

Solutions
3b)

Translation puis rotation

"R 0%" I t% "R Rt%


$
'$
'=$
'
# 0 1&#0 1& # 0 1 &
3c)

Rotation - puis translation

-t

# I t&#R1 0& #R1 t&


(=%
(
%
(%
1'
$0 1 '$ 0 1' $ 0

24.09.14

2.1.4 Rotation 2D autour de points


arbitraires:

1. Translation de P vers lorigine

P
O

P
O

Centre de rotation?

# I OP& # I p&
%
(=%
(
1 ' $0 1 '
$0

2. Rotation autour de lorigine

3. Translation vers P dorigine

"R 0%" I p% "R Rp%


$
'$
'=$
'
1 &
# 0 1&#0 1 & # 0

P
O

" I p%"R 0%" I p% "R p Rp%


$
'$
'$
'=$
'
1 &
#0 1 &# 0 1&#0 1 & # 0

(9)

Exercices 4
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.

This shows that rotation around P is


equivalent to rotation around O and a
translation p-Rp

4a) Toute combinaison de rotations et translations (dans le plan) peut tre dcrite
par une rotation autour dun centre (dtermin) Est-ce entirement correct? !

4b)
Trouver le centre de rotation 1.) par un dessin, 2.) l'aide de la formule (9)*)
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,

Conversely a center of rotation can be found


for any combination of transl. & rotation

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


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

!
a $
*) Donn:

#
#"

0
0

b
1

&
&%


Quel est p ?

24.09.14

2.1.5 Rotations in 3D: Rotation axis!


2D:

3D:

Angle


Center of rotation

Angle

Rotations around axes as direction cosines!


!
% x1 x 2
! x 2 , y , z2 # = % y x 2
"
$ % 1
2
% z1 x 2
"

y1

y2

z1 =

In 3 dimensions, we need to
specify
angle and axis#

y1

y1=

y2

y2

x1
x
2

x1 y 2
y1 y 2
z1 y 2

y1 y 2
z1 y 2

#
x1 z 2 &
y1 z 2 &
&
z1 z 2 &
$

x2
x1

! cos
%
= % sin
% 0
"

sin
cos
0

0
0
1

#
&
&
&
$

Rotation around x,y,z!

Rotations around axes as direction cosines!


!
% x1 x 2
! x 2 , y , z2 # = % y x 2
"
$ % 1
2
% z1 x 2
"

z2

x1 y 2

#
x1 z 2 &
y1 z 2 &
&
z1 z 2 &
$

Ex. 5: Ry=?

# cos 0 sin &


%
(
Ry = % 0
1
0 (
%$ sin 0 cos ('
#1
0
0 &
%
(
Rx = %0 cos sin (
%$0 sin cos ('

#cos sin 0&


%
(
Rz = % sin cos 0(
%$ 0
0
1('

Exercice 6

a): rotation by 90 around z, then


rotation by 90 around y
b): rotation by 90 around y, then
rotation by 90 around z