Vous êtes sur la page 1sur 8

08.10.

14

2.1.7

Variables robot Joint Variables

Variables oprationnelles

Operational (Task-specific) variables

Tout robot est control par des consignes angulaires ou linaires


envoyes 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 }.

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 paramtres
indpendants, correspondants aux six ddl dun solide dans lespace.
{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, , , }

Modle Gomtrique Direct MGD


Forward Kinematics

Exemple: MGD du SCARA

Le MGD donne les coordonnes oprationelles

L2

en fonction des variables articulaires

y

Fig.8

L1

2
1

Forward kinematics is the mathematical expression of the


task variables as function of the joint variables.

1. Dfinition des variables articulaires i

1st step: Definition of the joint variables

{x,y,z, Q} =

F (q1, q2, qi, . qn )


2. dfinir les positions de rfrence i = 0

2nd step Definition of reference position (of the zero)

3. dfinir les paramtres du robot Li

3rd step Definition of the robot parameters


Position de rfrence

L1

Position du centre de la main (tool center point


TCP) & orientation de la main

i = 0

L2

TCP

L1

Le MGD donne orientation et position de la main

L2

L1

1
x

1
x

x = ?

L2

y = ?

x = L1 cos 1 +

L2cos(1 + 2 ) = L1 c1 + L2c12

z = 3

y = L1 sin 1 +

L2sin(1 + 2 )

= 1 + 2 + 4

z = 3

The forward kinematics will give position & orientation of the hand

= L1 s1 + L2s12

= 1 + 2 + 4

08.10.14

Position & orientation dun outil

MGD dun robot 6 ddl?

TCP

La mme dmarche pour un robot 6 ddl devient


y

L4

trs difficile => utiliser les matrices homognes!

For a 6 d.o.f. robot, the same task becomes very hard


by hand. It becomes straight forward with the use of
homogenous matrices.

x = L1 c1 +

L2c12 + L4c124

y = L1 s1 +

L2s12 + L4s124

Position & orientation
of a tool

z = 3

Exercice 9 !

= 1 + 2 + 4

Ex. 9b

Ex. 9b

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

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

#c
#R p Rp& % 4
=
%
( s
1 ' % 4
$0
%$ 0

1.)

s4
c4
0

#c
#R p Rp& % 4
=
%
( s
1 ' % 4
$0
%$ 0

]T

?&
(
?(
1('

avec

donc

s4
c4
0

L12 v4 &
(
L12 s4 (
1 ('

les dfinitions versine() = 1 cos



v4 = 1 cos 4
L1 2

et

L1 + L2

MGD complet:

Ex. 9b
#c1 s1
%
%s1 c1
%$ 0 0

#c12
%

=
%s12
%$ 0

0&#c2
(%
0(%s2
1('%$ 0

s12
c12
0

Ex. 9b

L1v2 &#c4
(%
L1s2 (%s4
1 ('%$ 0

s4
c4
0

L12 v4 &
(
L12 s4 (
1 ('

L1 (c1v2 + s1s2 )&#c4


(%
L1 (s1v2 c1s2 )(%s4
1
'($% 0

s4
c4
0

L12 v4 &
(
L12 s4 (
1 ('

s2
c2
0

#c12
%
%s12
%$ 0

#c124
%
=
%s124
%$ 0

MGD complet:

s12
c12
0

s124
c124
0

L1 (c1v2 + s1s2 )&#c4


(%
L1 (s1v2 c1s2 )(%s4
1
'($% 0

s4
c4
0

L12 v4 &
(
L12 s4 (
1 ('

L12 (c12 v4 + s12 s4 ) + L1 (c1v2 + s1s2 )&


(
L12 (s12 v4 c12 s4 ) + L1 (s1v2 c1s2 )(
('
1

08.10.14

Application du MGD
y

Ex. 10

L1

Etablissement du MGD:

L4

L2

1. Dfinir les variables robots

2. Dfinir leurs positions de rfrence


"x% "c124
$ ' $
$ y' = $s124
$#1'& $# 0

s124
c124
0

L12 (c12 v4 + s12 s4 ) + L1 (c1v2 + s1s2 )%" L124 %


'$
'
L12 (s12 v4 c12 s4 ) + L1 (s1v2 c1s2 )'$ 0 '
'&$# 1 '&
1

3. Dfinir les paramtres du robot


4. Enchainer les mouvements successifs
(multiplication de matrices homognes)

TCP

L4

2

1

x = L1 c1 +

L2c12 + L4c124

y = L1 s1 +

L2s12 + L4s124

L1

L4

L2

MGD dun robot 6ddl


1. Variables robot

i = 0

3

The arrows indicate positive


rotation

6
5

Convention:
Partir de la
base vers la main

Le rfrentiel (x,y,z) est fixe



(coordonnes oprationelles)

Fixed coordinate frame!


3. Paramtres du robot

Gnralisation de la paramtrisation:
Paramtres Denavit-Hartenberg

4 , 6

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



cross each other

Les axes 2 et 3 sont parallles, dist. L2

Les axes de rotation successifs i sont relis par les perpendiculaires"


communes, dfinissant ainsi des points de repre Pi"

D4

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


P3

D3

D2

P2

L1

2
Les axes 3 et 5 sont dcals sur l'axe 4 d'une distance D4

L2

Les axes 1 et 4 sont dcals sur l'axe 3 d'une distance D3


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


Distance between 1 and 4 along 3 : D3


Les flches indiquent


le sens de rotation positif

4 , 6

2. Positions de rfrence

P1'

L2

P2'

Passage de l'axe 1 l'axe 2:


Dplacement de L1,
Angle fixe de 1 autour de L1

Li: Link length


i: Twist angle
Distance de Pi Pi':
Joint offset Di

08.10.14

4. Enchainement des mouvements z


4 , 6

1. Rot. de 6 autour de l'axe z , 


dcale de p = [D3,0,0]'

" I3 3
$#01 3

p 31 % "R
1 '&#$ 0

#D3 & #c6


% ( %
p Rp = % 0 ( %s6
%$ 0 (' %$ 0

0% " I
1&' $#0

p% "R
=
1 '& #$ 0

c6
0

#c6
# R
p Rp& %s6
%
(=%
1 ' %0
$0 0 0
%$0

## 0 && #1 0
%% (( %
p Rp = %% 0 (( %0 c5
%$%$ L24 ('(' %$0 s5

D4

p Rp %
1 &'

4 , 6

5
D4

0 &# 0 & # 0 &


(% ( %
(
s5 (% 0 ( = % L24 s5 (
c5 ('%$ L24 (' %$ L24 v5 ('

3
D3

s6 0 D3v6 &
(
c6 0 D3 s6 (
= K6
0 1
0 (
0 0
1 ('

L2

D3

0&# D3 & # D3v6 &


(% ( %
(
0(% 0 ( = %D3 s6 (
1('%$ 0 (' %$ 0 ('

s6

2. Rot. de 5 autour de l'axe x , 



dcal de p = [0,0, L2+D4]'

#1 0
0
# R
p Rp& %0 c5 s5
%
(=%
1 ' %0 s5 c5
$0 0 0
%$0 0 0

0 &
(
L24 s5 (
= K5
L24 v5 (
1 ('

L2

y

2

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

MGD du robot 6ddl

2.1.8 Reprsentation de lorientation: Angles d'Euler


L'orientation est trs souvent exprime en angles autour de trois
axes fixs au corps en mouvement.

P0

(Figures p. 2.1-11)

P(i)

6
5 4

1
Forward kinematics of the robot arm:"

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

Historiquement ce sont prcession, nutation,


rotation propre (axes z,x,z lis au corps)
Gnralisation: On trouve 12 jeux d'angles diffrents

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

Ex. 11: Donnez toutes les 6 matrices homognes Ki


Orientation: Poignet 3 axes concurrents

5= z
Poignet 3 axes: Angles dEuler

Gruber p. 209

Wrist with three axes through a common intersection

( , , )
6 =

Prcession

nutation

4
5

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

4=

Fig 10

08.10.14

Poignet cardanique:
Roulis (roll)

tangage (pitch)

aut. axe y

lacet (yaw)

MGD:

aut. axe x, direction d'approche

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

Comment trouver les angles (, , ) par


rapport des axes fixes x,y,z?

aut. axe z

"r11 r12
$
$r21 r22
$#r31 r32

R1 R2 R3 R4 R5 R6 = Rtot =

Angles d'Euler (x,y,z), axes lis au corps

Cardanic wrist

Axes fixes, donc ordre inverse:


" c c
$
$ s c
$
$# s

Rtot = Rz Ry Rx =

r13 %
'
r23 '
r33 '&

c s s s c
... = r22

c s

c s c s s %
'
'
... = r23
'
c c
'&

2.1.9 MGI
Tche pratique:
Quelles variables i pour un P donn?

Solution:

= Atan2(r32, r33)

= A tan 2(r31 , r 2 32 + r 2 33 )

= Atan2(r21, r11)

P(i)

6
5 4

On cherche i(P) , donc la


fonction inverse du MGD P(i)

Modle Gomtrique Inverse (indirect)


Inverse Kinematics, rckwrts Kinematik

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

Problme mathmatiquement difficile!

x = L1 c1 +

L2c12 = L1 c1 + L2c1c2 L2s1s2


Exemple trs simple:

y = L1 s1 +

L2s12 = L1 c1 + L2s1c2 + L2c1s2


L2

L1

MGD

x = L1 c1 +

L2c12

y = L1 s1 +

L2s12

Donns x & y, quels sont 1 et 2 ?

2. L'introduction des sinus ncessite d'ajouter


les relations entre sinus et cosinus

s12 + c12 = 1

s22 + c22 = 1

4 quations, 4 inconnues
mais des quations quadratiques!

08.10.14

Nous constatons donc que le MGI est


beaucoup plus complexe que le MGD!
1. Les quations sont non-linaires
2. Des solutions analytiques gnrales comme
dans le cas d'qu. linaires sont inconnues
3. Solutions multiples possibles!
4. Infinit de solutions possible (redondance)

Solution des 4 quations:

(x2 + y2) = L12 + L22 + 2 L1 L2 c2



Cela donne cos(2) et donc deux angles 2
Exercice 12: Trouvez 1

Note Robot redondant:

Plus de ddl que ncessaires au positionement


Raison: Accessabilit
Applications typiques: Soudure, peinture sur
des lments complexes (carosserie d'auto)

Robot 6 ddl
Position:
On peut trouver le MGI en combinant deux fois
l'exemple planaire qui vient d'tre fait.
Nous avons donc dj 2x2=4
postures possibles

MGI du robot 6 ddl


Orientation: Les angles sont des angles d'Euler
par rapport l'orientation du troisime membre.
R(consigne) = R(base) R(4,5,6)

donc
R(4,5,6) = R(base)1 R(consigne)

Postures? (nombre de solutions?)

08.10.14

Postures du poignet

6
4
5

5 => -5

4 => 4
6 => 6

Robots parallles?

q3

Le MGD se trouve de faon systmatique.


(Paramtres Denavit Hartenberg, matrices homognes)
Il y a toujours une solution dans le domaine de travail

Le MGI ne peut pas se calculer systmatiquement


dans tous les cas (besoin d'astuces)
Solutions multiples (postures) possibles
Nombre de solutions inconnu en gnral!
Mthodes numriques ne donnent pas toutes les solutions

Solution:

(x, y)

q1

Rcapitulation MGD et MGI

q2

MGD: Donnes q1, q2, q3,


Quels sont

(x, y, ) ?

Constat:
Pour les robots parallles,
c'est le modle gomtrique direct MGD
qui aura plusieurs solutions.
On les appelle les "contorsions"

MGI?
(x, y)

q1

q3

q2

MGI: Donnes
Quels sont

(x, y, ) ,
q1, q2, q3 ?

08.10.14

MGI

(x, y)

Fin section 2.1 "Cinmatique"


Robots sriels:
Le MGD a une seule solution; mthode "infaillible" existe
Le MGI a des solutions multiples! (Les postures)

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

Robots parallles, c'est juste l'inverse:


Le MGD a des solutions multiples! (Les contorsions)
Le MGI n'a qu'une solution, souvent facile trouver
Ces questions sont objet de recherche en robotique.
(publications, confrences...)