2a Tis Robotique Poly
2a Tis Robotique Poly
2a Tis Robotique Poly
Université de Strasbourg
Robotique
Modélisation et commande des robots manipulateurs
Bernard BAYLE
Ce document évolue grâce à votre concours.
Pour l’améliorer, communiquez moi vos remarques ou corrections par mail :
[email protected]
Table des matières
3.3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.2 Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Modèle cinématique direct . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.2 Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.3 Règles pratiques . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Génération de mouvements 37
4.1 Les différents problèmes . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.1 Problèmes point-à-point . . . . . . . . . . . . . . . . . . . . . 37
4.1.2 Problèmes à mouvement opérationnel imposé . . . . . . . . . . 38
4.2 Système de commande d’un robot . . . . . . . . . . . . . . . . . . . . 40
4.2.1 Contrôleur de robot . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.2 Variateur de vitesse . . . . . . . . . . . . . . . . . . . . . . . . 43
5 Technologie 45
5.1 Motorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1.1 Moteurs électriques pour la robotique . . . . . . . . . . . . . . 45
5.1.2 Moteurs à courant continu (avec balais) . . . . . . . . . . . . . 45
5.1.3 Moteurs à courant continu sans balais . . . . . . . . . . . . . . 47
5.1.4 Réducteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Mesure de position . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.1 Codeurs incrémentaux . . . . . . . . . . . . . . . . . . . . . . 50
5.2.2 Génératices tachymétriques . . . . . . . . . . . . . . . . . . . 51
5.2.3 Résolveurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.3 Variateurs de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.1 Principe et modélisation de l’actionneur . . . . . . . . . . . . . 52
5.3.2 Principe et modélisation du convertisseur statique . . . . . . . . 56
5.3.3 Variation de vitesse du moteur à courant continu . . . . . . . . 57
6 Commande 73
6.1 Commande point-à-point . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.1.1 Principe de la génération de mouvement . . . . . . . . . . . . . 73
6.1.2 Interpolation polynomiale de degré cinq . . . . . . . . . . . . . 73
6.1.3 Loi Bang-Bang . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.4 Loi trapézoïdale en vitesse . . . . . . . . . . . . . . . . . . . . 76
6.2 Commande à mouvement opérationnel imposé . . . . . . . . . . . . . . 77
6.2.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.2 Méthodes d’inversion . . . . . . . . . . . . . . . . . . . . . . . 78
Table des matières iii
Annexes 79
A Modélisation d’un bras manipulateur de type SCARA 81
A.1 Robot de type SCARA : présentation . . . . . . . . . . . . . . . . . . 81
A.2 Robot Samsung RSM-5 : modélisation . . . . . . . . . . . . . . . . . 81
A.2.1 Géométrie du robot . . . . . . . . . . . . . . . . . . . . . . . . 82
A.2.2 Modélisation géométrique . . . . . . . . . . . . . . . . . . . . 83
A.2.3 Modélisation cinématique . . . . . . . . . . . . . . . . . . . . 83
Bibliographie 88
Index 89
Partie I
Modélisation des robots manipulateurs
Chapitre 1
1.1.1 Points
Soit un repère orthonormé cartésien noté R = (O, x, y, z) selon la convention de
Gibbs. La position d’un point M est donnée par un triplet de coordonnées. On choisit
par commodité de représenter ces coordonnées par un vecteur m de R3 , sous la forme
d’une matrice colonne : 0 1
mx
m = my A .
@
mz
Le mouvement du point est la courbe paramétrée m(t) de R3 donnant sa position au
cours du temps. Le support du mouvement (la courbe non paramétrée) est la trajectoire
du point.
1.1.2 Solides
Un solide S est dit indéformable si, pour toute paire de points de ce solide de
coordonnées m et n, ||m(t) n(t)|| = ||m(0) n(0)|| = constante au cours du temps.
Par la suite, les solides seront tous considérés comme indéformables.
Le mouvement rigide d’un solide S, considéré comme un sous-ensemble de R3 est le
mouvement de chacun de ces points. Il est ainsi représenté par une famille d’applications
g(t) : S ! R3 .
La situation d’un solide S est donnée par la position et l’orientation dans R d’un
repère lié à ce solide.
4 1. Représentation des transformations et des mouvements rigides
1.2 Rotations
1.2.1 Matrice de rotation
Soit deux repères orthonormés directs R = (O, x, y, z) et R0 = (O, x0 , y 0 , z 0 )
partageant la même origine O, conformément à la figure 1.1.
z0 z
y0
O
y
x
M x0
c’est-à-dire :
m = Rm0 . (1.1)
La relation (1.1) rend compte du changement de base des coordonnées d’un point. On
peut aussi en faire une analyse en terme de rotation si l’on considère que M est un point
d’un solide S (en pointillés sur la figure 1.2) ayant effectué, autour de O, une rotation
caractérisée par la matrice R. Alors m0 représentent les coordonnées initiales de M dans
R et m ses coordonnées finales, toujours dans R, une fois la rotation effectuée.
z0 z
y0
O
y
x x0
M
1.2.3 Exemple
p
On considère la rotation d’un point M de coordonnées initiales ( 3 0 1)T dans R,
comme cela est représenté à la figure 1.3. On cherche à déterminer les coordonnées du
point transformé par une rotation de centre O et d’angle ✓, autour de z.
y
x0
y0
✓
O z = z0 x
Comme évoqué précédemment, on peut p vérifier qu’il s’agit aussi des coordonnées dans
R d’un point qui initialement en ( 3 0 1) , se trouverait déplacé en M sous l’effet
T
de la rotation
p
R(z, ✓). A titre d’exemple, pour ✓ = ⇡3 (c’est le cas de la figure 1.3)
m = ( 23 32 1)T .
soit, en posant v 0 = m0 n0 :
v = Rv 0 .
1.2. Rotations 7
Premier cas : R00 résulte de la rotation de R0 autour d’un axe lié à R0 Ce cas peut
être analysé comme un problème de deux changements de base :
m = R1 m 0
m0 = R2 m00
1. Une matrice identité, quel que soit son ordre, sera notée I.
8 1. Représentation des transformations et des mouvements rigides
et donc :
m = R1 R2 m00 .
Comme nous l’avons vu précédemment, les coordonnées m de M dans R sont aussi
les coordonnées d’un point de coordonnées m00 dans R auquel on aurait appliqué les
deux rotations successives. Par exemple considérons la combinaison des deux rotations
suivantes :
– une première rotation d’un angle ⇡4 autour de z ;
– une seconde rotation d’un angle ⇡ autour de l’axe y 0 résultant de la première
rotation.
Ceci correspond à l’illustration de la figure 1.4. On considère le point de coordonnées
z z0
⇡
M y0
x00
O
x0
x
⇡
4
z 00
Second cas : R00 résulte de la rotation de R0 autour d’un axe lié à R Ce cas peut
être analysé comme un problème de rotations successives d’un point. La transforma-
tion d’un point de coordonnées initiales m00 dans R donne un point intermédiaire, qui,
1.2. Rotations 9
m = R2 (R1 m00 ).
z z0
M
O x00
y
x0
x
⇡
4
z 00
xx z x + xy z y + xz z z = 0 ;
Les six cosinus directeurs incomplets sont ainsi liés entre eux par trois relations. Mal-
heureusement, ces relations non linéaires ne permettent pas de fournir trois paramètres
de manière unique, mais une collection de solutions : il faut donc conserver les six
paramètres ou utiliser un autre mode de représentation de l’orientation.
Représentation angle/axe
Vecteur rotation Pour toute rotation, on peut trouver une unique paire (e, ") où e
représente de vecteur directeur de l’axe de la rotation, de norme unité, et " l’angle de
rotation en radians. Pour que la représentation soit unique, il faut choisir ⇡ < " 6 ⇡ et
e de coordonnées e = [ex ey ez ]T tel que ex + ey + ez > 0.
On appelle vecteur rotation le vecteur " = "e. On peut bien évidemment établir la
correspondance entre cette représentation à quatre paramètres (" et les trois composantes
de e) et les cosinus directeurs. On montre que :
✓ ◆
xx + yy + z z 1
" = arccos ,
2
0 1
yz z y
1 @
et e = z x xz A .
2 sin "
xy yx
dm(t)
= e ⇥ m(t) = ê m(t),
dt
avec : 0 1
0 ez ey
ê = @ ez 0 ex A
ey ex 0
la matrice du tenseur antisymétrique associé au vecteur de coordonnées e. Alors :
(êt)2
exp(êt) = I + êt + + ...
2
Cette matrice représente la rotation d’axe e. Si on l’évalue en t = ", on obtient une
représentation de la rotation d’axe e et d’angle " :
c 6 0,
1< p 6 1,
1< q 6 1,
1< r 6 1.
Les paramètres d’Euler complets sont liés par la relation c2 +p2 +q 2 +r2 = 1. L’avantage
majeur de cette représentation est qu’elle ne présente pas de singularité. Du fait du faible
nombre de paramètres utilisés, elle représente donc un bon compromis.
12 1. Représentation des transformations et des mouvements rigides
z z
z✓ z'
y✓ y'
y '
y
✓
x x x✓ x'
F IGURE 1.6 – Rotations successives dans le paramétrage par les angles d’Euler
soit finalement :
0 1
cos cos ' sin cos ✓ sin ' cos sin ' sin cos ✓ cos ' sin sin ✓
R = @sin cos ' + cos cos ✓ sin ' sin sin ' + cos cos ✓ cos ' cos sin ✓A .
sin ✓ sin ' sin ✓ cos ' cos ✓
La transformation inverse permet d’établir les angles d’Euler à partir des cosinus direc-
teurs 2 :
• si zz 6= ±1 :
= atan2(zx , zy ),
✓ = acos zz ,
' = atan2(xz , yz ).
• si zz = ±1 :
✓ = ⇡(1 zz )/2,
+ zz ' = atan2( yx , xx ),
et donc et ' sont indéterminés.
2. Pour cela il faut définir la fonction atan2, qui permet d’associer l’unique angle ⇡ < x 6 ⇡ tel que
x = atan2(sin x, cos x).
1.2. Rotations 13
z
↵
F IGURE 1.7 – Rotations successives dans le paramétrage par les angles de roulis, tangage
et lacet
soit finalement :
0 1
cos ↵ cos sin ↵ cos + cos ↵ sin sin sin ↵ sin + cos ↵ sin cos
@
R = sin ↵ cos cos ↵ cos + sin ↵ sin sin cos ↵ sin + sin ↵ sin cos A
sin cos sin cos cos
La transformation inverse permet d’établir les angles de roulis, tangage et lacet à partir
des cosinus directeurs :
• si 6= ± ⇡2 :
↵ = atan2(xy , xxp ),
= atan2( xz , x2x + x2y ),
= atan2(yz , zz ).
• si = ± ⇡2 :
↵ signe( ) = atan2(zy , zx ),
(ou ↵ signe( ) = atan2(yx , yy ) équivalent . . . normalement),
et donc ↵ et sont indéterminés.
14 1. Représentation des transformations et des mouvements rigides
z
y0
O0
p
O x0
y
M
x
1 1
On peut alors exprimer la transformation rigide (1.2) par la relation matricielle :
✓ ◆ ✓ ◆ ✓ 0◆
m R p m
= (1.3)
1 0 1 1
que l’on notera :
m̄ = T m̄0
en posant : ✓ ◆
R p
T = .
0 1
La matrice T , dite matrice de passage homogène, décrit ainsi le passage du repère R au
repère R0 et donc la transformation rigide g = (p, R).
1.4. Mouvements rigides 15
z0 z
y0
O
y
vM
x x0
OM
M
F IGURE 1.9 – Mouvement de rotation pure, axe instantané de rotation et vecteur vitesse
de rotation d’un solide S
16 1. Représentation des transformations et des mouvements rigides
v M = ⌦ ⇥ OM .
vM = ⌦ ⇥ m,
= ⌦ ⇥ R m0 ,
= ˆ R m0 ,
⌦ (1.5)
en définissant : 0 1
0 ⌦z ⌦y
ˆ = @ ⌦z
⌦ 0 ⌦x A
⌦y ⌦x 0
la matrice du tenseur antisymétrique associé au vecteur de coordonnées ⌦ = (⌦x ⌦y ⌦z )T ,
permettant de remplacer le produit vectoriel par un produit matriciel. Par ailleurs, si l’on
dérive l’équation (1.1) :
dm dR 0
= vM = m. (1.6)
dt dt
Il résulte de (1.5) et (1.6) que :
dR ˆ R.
=⌦ (1.7)
dt
Cas des mouvements quelconques A la section 1.3 on a calculé la position d’un point
M effectuant une transformation rigide composée d’une translation et d’une rotation.
Pour décrire le mouvement rigide d’un point M , donc sa position comme une fonction
continue du temps, on souhaite connaître la vitesse vM du point dans R, à l’image de ce
qui a été fait dans le paragraphe précédent, dans le cas d’une rotation pure. Si l’on dérive
l’équation (1.2) :
dm dR 0 dp
= vM = m + , (1.8)
dt dt dt
ˆ 0
= ⌦ R m + vM 0 (1.9)
bâti
(corps C0 ) liaison liaison liaison liaison liaison
L1 L2 L3 Ln 1 Ln
On désigne fréquemment les bras manipulateurs en acollant les lettres R (pour rotoïde) et
P (pour prismatique) pour décrire la succession des liaisons. Par exemple un bras manipu-
lateur de type anthropomorphe sera désigné par le sigle 6R alors qu’un bras manipulateur
de type SCARA sera de type RRP ou RRP R (il existe plusieurs variantes).
↵i zi
1
xi
Oi
zi zi 1
ri
Oi xi zi
1 1
ai 1 xi
⌦i 1
✓i
xi 1
axe liaison
axe liaison
Li 1
Li
Les repères étant choisis, la situation du repère d’un corps respectivement à celle du
repère du corps suivant peut être définie conformément à la figure 2.3. Les paramètres
↵i 1 , ai 1 , ✓i et ri , avec i = 1, 2, . . . , n, placés sur cette figure sont appelés paramètres
de Denavit-Hartenberg modifiés. Textuellement, on peut les définir comme suit :
– ↵i 1 : angle algébrique entre z i 1 et z i , mesuré autour de xi 1 ;
– ai 1 : distance arithmétique de la perpendiculaire commune aux axes des liaisons
Li 1 et Li mesurée le long de xi 1 ;
– ✓i : angle algébrique entre xi 1 et xi , mesuré autour de z i ;
– ri : distance algébrique du point Oi à la perpendiculaire, mesurée le long de z i .
Les paramètres de Denavit-Hartenberg modifiés permettent de déterminer de manière
unique la configuration des corps et donc la géométrie du bras manipulateur. Lorsque
rn+1
zn
On+1
z
On
xn
O
y an
l’on modélise une bras manipulateur, il est souhaitable de représenter celui-ci dans
une configuration particulière, pour visualiser plus facilement les paramètres et annuler
certains paramètres constants. On obtient alors la valeur des les paramètres constants
↵i 1 et ai 1 et la configuration des liaisons décrite par les paramètres ✓i et ri variables.
a2 r4 r7
z0 , z1 x3 x4 , x 5 , x 6
z4 , z6 Organe terminal
x0 , x 1 , x 2
O7
O0 , O 1 , O 2 O3 O4 , O 5 , O 6
z2 z3 z5
articulation i 1 2 3 4 5 6
i 0 0 0 0 0 0
⇡ ⇡ ⇡ ⇡
↵i 1 0 0
2 2 2 2
ai 1 0 0 a2 0 0 0
✓i q1 q2 q3 q4 q5 q6
ri 0 0 0 r4 0 0
soit :
0 1
cos ✓i sin ✓i 0 ai 1
Bcos ↵i 1 sin ✓i cos ↵i 1 cos ✓i sin ↵i 1 ri sin ↵i 1 C
Ti =B
@ sin ↵i 1 sin ✓i sin ↵i 1 cos ✓i
C (2.1)
1, i
cos ↵i 1 ri cos ↵i 1 A
0 0 0 1
ṗi = q̇i z i
On
q̇i z i
Oi
axe liaison
Li
F IGURE 2.6 – Vitesse du point On pour une vitesse q̇i de la i ème liaison, dans le cas
d’une liaison prismatique
ṗi = q̇i z i
⌦i = 0.
Le cas d’une liaison rotoïde d’axe z i est illustré à la figure 2.7 page suivante. Il en
résulte que :
pi = q̇i z i ⇥ pi,n
On
pi,n
⌦i = q̇i z i
Oi
axe liaison
Li
F IGURE 2.7 – Vitesse du point On pour une vitesse q̇i de la i ème liaison, dans le cas
d’une liaison rotoïde
3.2.1 Définition
Le modèle géométrique direct (MGD) d’un bras manipulateur exprime la situation de
son OT en fonction de sa configuration 1 :
f: N ! M
(3.1)
q 7 ! x = f (q).
3.2.2 Calcul
Le calcul du MGD consiste donc à exprimer la position du point On+1 et l’orientation
du repère Rn lié à l’OT, en fonction de sa configuration. Il faut pour cela multiplier les
matrices de passage homogènes successives reliant le repère R0 lié au bâti au repère Rn
lié à l’OT :
T0,n (q) = T0,1 (q1 ) T1,2 (q2 ) . . . Tn 1,n (qn ). (3.2)
La matrice : ✓ ◆
R0,n p0,n
T0,n =
0 1
permet donc de connaître l’orientation de l’OT dans le repère de base et la position
p0,n = (px py pz )T du point On . Comme précédemment, on note :
0 1
xx yx z x
R0,n = @ xy yy z y A
xz yz z z
et l’on rappelle qu’il suffit de connaître les première et troisième colonne de cette matrice
pour définir de manière unique l’orientation du repère terminal. La position (x1 x2 x3 )T
du point On+1 se déduit alors facilement, compte tenu des coordonnées (an 0 rn+1 )T de
On+1 dans Rn :
x1 = px + an xx + rn+1 zx ,
x2 = py + an xy + rn+1 zy , (3.3)
x3 = pz + an xz + rn+1 zz .
Si = sin qi
Ci = cos qi
Si+j = sin (qi + qj )
Ci+j = cos (qi + qj )
...
Par ailleurs à chaque nouvelle opération effectuée on définit une variable intermé-
diaire qui permet de n’effectuer qu’une fois un produit ou une addition survenant à
de nombreuses reprises ;
– si l’on mène le calcul en effectuant le produit (3.2) à rebours (de droite à gauche)
on peut s’abstenir de calculer la seconde colonne des différentes matrices. En effet,
si l’on considère le produit de deux matrices de passage homogènes A et B, avec
3.2. Modèle géométrique direct 25
3.2.4 Exemple
On traite ici le cas du bras manipulateur de type 6R dont le paramétrage a été établi
précédemment à la figure 2.5.
On calcule tout d’abord les matrices de passage homogènes successives. D’après
(2.1), on obtient :
0 1 0 1
C1 S1 0 0 C2 S2 0 0
B S1 C 1 0 0 C B0 0 1 0C
T0, 1 = B @0
C
A T1, 2 = B @
C
0 1 0 S2 C 2 0 0A
0 0 0 1 0 0 0 1
0 1 0 1
C3 S3 0 a2 C4 S4 0 0
B S3 C3 0 0C B0 0 1 r4 C
T2, 3 = B
@0
C T3, 4 = B C
0 1 0A @ S4 C4 0 0 A
0 0 0 1 0 0 0 1
0 1 0 1
C5 S5 0 0 C6 S6 0 0
B 0 0 1 0C B0 0 1 0C
T4, 5 = B
@ S5
C T5, 6 = B C
C5 0 0A @ S6 C6 0 0A
0 0 0 1 0 0 0 1
La multiplication des matrices, selon les règles précédemment énoncées fait apparaître
les variables auxiliaires suivantes :
D1 = a2 C2
D2 = a2 S2
D3 = C5 C6
D4 = S5 C 6
D5 = C4 D3 S4 S6
D6 = C4 S5
D7 = S4 D3 + C4 S6
D8 = S4 S5
D9 = C2+3 D5 + S2+3 D4
D10 = C2+3 D6 + S2+3 C5
D11 = r4 S2+3 + D1
26 3. Modélisation des bras manipulateurs
px = C1 D11
py = S1 D11
pz = r4 C2+3 + D2
xx = C 1 D9 + S 1 D7
xy = S 1 D9 C 1 D7
xz = S2+3 D5 C2+3 D4
zx = C1 D10 + S1 D8
zy = S1 D10 C1 D8
zz = S2+3 D6 C2+3 C5
yx = z y xz z z xy
yy = z z xx z x xz
yz = z x xy z y xx
1.2.7). Supposons par ailleurs que x soit une situation accessible par le bras manipulateur,
c’est-à-dire que la situation appartient à l’ espace de travail 2 . Alors (dans la majorité des
cas) :
– si n < m, il n’existe pas de solution au MGI ;
– si n = m, il existe un nombre fini de solutions en dehors de certaines configurations,
appelées configurations singulières ;
– si n > m, il existe une infinité de solutions.
On sait que dans les cas où n < 6 les bras manipulateurs sont tous solubles, c’est-à-dire
qu’il existe une solution connue au MGI. C’est aussi le cas de la plupart des structures à
six liaisons, notamment celles possédant un poignet sphérique (trois dernières liaisons
rotoïdes concourantes). Enfin, seul le calcul du MGI permet de connaître le nombre de
solutions.
3.3.2 Calcul
px = x1 an x x rn+1 zx ,
py = x2 an x y rn+1 zy ,
pz = x3 an x z rn+1 zz .
3.3.3 Exemple
py
S1 = D11
q1 = atan2(S1 , C1 )
2 +p2 (r 2 +a2 )
D11
S3 = z
2a2 r4
4 2
p
C 3 = "3 1 S32
q3 = atan2(S3 , C3 ) ! 2 solutions "3 = ±1
(r4 C3 )D11 +(r4 S3 +a2 )pz
S2 = 2 +p2
D11 z
(r4 C3 )pz +(r4 S3 +a2 )D11
C2 = 2 +p2
D11 z
q2 = atan2(S2 , C2 )
D11 a2 C2
S2+3 = r4
pz +a2 S2
C2+3 = r4
D10 = C 1 z x + S1 z y
D8 = S1 z x C1 z y
D9 = C 1 x x + S1 x y
D7 = S1 x x C1 xy
D6 = C2+3 D10 + S2+3 zz
C5 = S2+3 D10 C2+3 zz
D5 = C2+3 D9 + S2+3 xz
D4 = S2+3 D9 C2+3 xz
p
S5 = "5 D62 + D82 ! 2 solutions "5 = ±1
q5 = atan2(S5 , C5 )
Si S5 = 0 : q4 indéterminé ! FIN
sinon :
C4 = D 6
S5
D8
S4 = S5
q4 = atan2(S4 , C4 )
D3 = C4 D5 + S4 D7
S6 = S4 D5 + C4 D7
C6 = C5 D3 S5 D4
q6 = atan2(S6 , C6 ) ! FIN
3.4. Modèle cinématique direct 29
ẋ = J q̇, (3.5)
J : Tq N ! Tx M
@f
q̇ 7 ! ẋ = J q̇, où J = .
@q
3.4.2 Calcul
On souhaite calculer la vitesse opérationnelle ẋ résultant de la vitesse généralisée q̇.
Dans un premier temps, on calcule la vitesse du point On et la vitesse de rotation du
repère Rn en appliquant le principe de superposition. On obtient, d’après (2.2) et (2.3) :
n
X
ṗ = ( i z i + ¯i z i ⇥ pi,n )q̇i ,
i=1
Xn
⌦ = (¯i z i ) q̇i .
i=1
On obtient alors : ✓ ◆
ṗ
= J g q̇
⌦
avec :
✓ ◆
1 z 1 + ¯1 z 1 ⇥ p1,n 2 z 2 + ¯2 z 2 ⇥ p2,n ... n z n + ¯n z n ⇥ pn,n
Jg =
¯1 z 1 ¯2 z 2 ... ¯n z n
une matrice vectorielle de dimension 2 ⇥ n. Si l’on projette cette relation dans le repère
R0 lié au bâti : ✓ ◆
ṗ
= Jg q̇
⌦
où ṗ et ⌦ sont les coordonnées respectives de ṗ et ⌦.
30 3. Modélisation des bras manipulateurs
Enfin, on notera que le calcul du MCD ne passe pas nécessairement par celui de
la matrice jacobienne. Si l’on n’a pas besoin de la matrice jacobienne, on pourra se
contenter d’exprimer ẋ en fonction de q̇ en un nombre minimal d’opérations, à l’image
de ce qui a été fait pour le MGD.
3.4.4 Exemple
Reprenons l’exemple du bras manipulateur de type 6R.
Dans ce cas, comme n = 6, k = 3. On calcule donc la matrice J4 |R3 . Comme toutes
les liaisons sont rotoïdes, et que le bras se finit par un poignet sphérique (p4,5 = p4,6 =
0) : !
z 1 ⇥ p1,4 z 2 ⇥ p2,4 z 3 ⇥ p3,4 0 0 0
J4 =
z1 z2 z3 z4 z5 z6
Pour projeter cette matrice vectorielle dans le repère R3 , le mieux est d’exprimer
ses composantes vectorielles en fonction des vecteurs de la base R3 , ce qui donnera
directement la projection. On a tout d’abord :
z2 = z3,
z4 = y3,
(x1 y 1 z 1 )T = R1,3 (x3 y 3 z 3 )T
soit z 1 = S2+3 x3 + C2+3 y 3 ,
(x5 y 5 z 5 )T = R3,5 (x3 y 3 z 3 )T
soit z 5 = S4 x 3 + C 4 z 3 ,
(x6 y 6 z 6 )T = R3,6 (x3 y 3 z 3 )T
soit z 6 = D6 x3 C5 y 3 + D8 z 3 .
z 3 ⇥ p3,4 = z 3 ⇥ r4 z 4 ,
= z 3 ⇥ r4 ( y 3 ),
= r4 x 3 .
z 2 ⇥ p2,4 = z 2 ⇥ (p2,3 + p3,4 ),
= z 3 ⇥ ( r4 y 3 + a2 x2 ),
= z 3 ⇥ ( r4 y 3 + a2 (C3 x3 S3 y 3 )),
= (r4 + a2 S3 )x3 + a2 C3 y 3 .
et enfin :
z 1 ⇥ p1,4 = z 1 ⇥ (p1,2 + p2,4 ),
= (S2+3 x3 + C2+3 y 3 ) ⇥ (a2 C3 x3 (r4 + a2 S3 )y 3 ),
= z 3 ⇥ ( r4 y 3 + a2 (C3 x3 S3 y 3 )),
= D11 z 3 .
32 3. Modélisation des bras manipulateurs
On pose donc :
E 1 = a2 S 3 + r 4 ,
E 2 = a2 C 3
et l’on a :
0 1
0 E 1 r4 0 0 0
B 0 E2 0 0 0 0 C
B C
B D11 0 0 0 0 0 C
J4 | R 3 =B
B S2+3 0 0
C.
B 0 S4 D6 CC
@ C2+3 0 0 1 0 C5 A
0 1 1 0 C4 D8
Alors : ✓ ◆✓ ◆✓ ◆
R0,1 0 R1,2 0 R2,3 0
Jg = J|
0 R0,1 0 R1,2 0 R2,3 4 R3
E3 = C2+3 E1 S2+3 E2
E4 = C2+3 r4
E5 = C2+3 S4
E6 = C2+3 D6 + S2+3 C5
E7 = S2+3 E1 + C2+3 E2
E8 = S2+3 r4
E9 = C1 S2+3
E10 = S1 C 4 + C 1 E 5
E11 = C 1 E 6 + S 1 D8
E12 = S1 S2+3
E13 = S1 E 5 C 1 C 4
E14 = S 1 E 6 C 1 D8
E15 = S2+3 S4
E16 = S2+3 D6 C2+3 C5
E17 = D11 S1 zy r7
E18 = E 3 z z r7
E19 = C1 E18
E20 = E 4 z z r7
E21 = C1 E20
E22 = (C2+3 zy + E12 zz )r7
E23 = ( E15 zy + E13 zz )r7
E24 = D11 C1 + zx r7
E25 = S1 E18
E26 = S1 E20
E27 = ( C2+3 zx E9 zz )r7
E28 = (E15 zx E10 zz )r7
E29 = (C1 zx + S1 zy )r7
E30 = E7 + E29
3.4. Modèle cinématique direct 33
E31 = E8 + E29
E32 = ( E12 zx + E10 zy )r7
E33 = ( E14 zx + E11 zy )r7
avec :
0 1
E17 E19 E21 E22 E23 0
BE24 E25 E26 E27 E28 0 C
B C
B 0 E30 E31 E32 E33 0 C
Jg = B
B 0
C
B S1 S1 E9 E10 E11 C
C
@ 0 C1 C1 E12 E13 E14 A
1 0 0 C2+3 E15 E16
On en termine par :
E34 = cos
E35 = sin
E36 = E35 / sin ✓
E37 = E34 / sin ✓
E38 = E36 cos ✓
E39 = E37 cos ✓
Finalement :
✓ ◆
I D
ẋ = Jg q̇,
0 C
avec : 0 1
1 0 0 0 r7 z z r7 z y
B0 1 0 r7 z z 0 r7 z x C
✓ ◆ B C
I D B0 0 1 r7 z x r7 z x 0 C
=B
B0
C
0 C B 0 0 E38 E39 1 C C
@0 0 0 E34 E35 0 A
0 0 0 E36 E37 0
Partie II
Commande des robots manipulateurs
Chapitre 4
Génération de mouvements
xf qf qr (t)
MGI génération
variateur robot
de mouvement
q0 q(t)
capteur
Comme souligné par Khalil et Dombre [Khalil 04, Khalil 13], la génération de mou-
vements point-à-point dans l’espace articulaire présente plusieurs avantages : 1) moins
38 4. Génération de mouvements
de calculs en ligne, puisque l’on n’a pas besoin des modèles une fois calculée la confi-
guration cible ; 2) aucun problème au passage des configurations singulières ; 3) les
contraintes telles que vitesses et couples maximums sont prises en compte au niveau de
la génération de mouvements (de consigne) du robot, entre les deux configurations. En
revanche, la prise en compte des contraintes géométriques entre le point de départ et le
point d’arrivée est impossible : pas de gestion des auto-collisions, ni des collisions du
robot avec l’environnement. C’est la raison pour laquelle ces mouvements point-à-point
conviennent bien à des robots industriels qui ont un espace de travail compact, avec
peu ou pas d’auto-collisions possibles entre deux points de cet espace de travail, et qui
évoluent dans des environnements peu encombrés. C’est en particulier le plus souvent le
cas des robots qui travaillent dans des cellules dédiées, comme à la figure 4.2.
x(t)
q(t)
x0
MGD capteur
Le mouvement à suivre xr (t) peut résulter d’une génération préalable, comme par
exemple si l’on souhaite que l’organe terminal suive une ligne droite entre la situation
courante x0 et la situation finale xf (exemple figure 4.4). Dans ce cas, il ne s’agit pas
d’une tâche point-à-point, puisque la trajectoire entre le point initial et le point final est
imposée. Dans d’autres cas, le mouvement opérationnel à suivre xr (t) sera complètement
défini par la tâche, et ne nécessitera pas de planification préalable.
La résolution de ce type de problème permet bien sûr de réaliser des tâches plus
complexes que les tâches point-à-point. Cette approche permet par ailleurs de reformuler
les problèmes de commande selon une approche dite référencée capteur, ou l’on utilise
des capteurs extéroceptifs (des caméras par exemple) pour asservir la situation de l’organe
terminal du robot. En revanche, elle rend difficile, voire impossible, une prise en compte
systématique des contraintes telles que les butées articulaires, les limites de vitesse ou
l’évitement des obstacles. Elle oblige à utiliser à chaque itération un ou plusieurs modèles
du robot pour traduire en commande articulaire la position (ou la vitesse) désirée au
niveau de l’organe terminal, et pour reconstruire la situation de l’organe terminal à partir
des mesures des capteurs placés au niveau des articulations. Enfin, ce type de commande
peut être mis en échec lors du passage par une configuration singulière dans laquelle
la continuité de la commande ne sera plus assurée, le problème de cinématique inverse
n’ayant alors plus de solution. Il existe évidemment certaines solutions aux différents
problèmes posés, mais nous ne les aborderons cependant pas dans le cadre de ce cours.
Le lecteur intéressé pourra se référer à [Khatib 08] ou [Nakamura 91]. Notamment nous
n’aborderons que très peu la notion de redondance et son utilisation pour résoudre les
problèmes de commande.
40 4. Génération de mouvements
F IGURE 4.5 – Système de commande d’un robot Adept Viper s650 [Adept 13b].
4.2. Système de commande d’un robot 41
Once this code has run, loc_b exists as a transformation that is completely independent of loc_a. The following instruction
moves the robot another -50mm in the x, 20mm in the y, and 30mm in the z direction (relative to loc_c) :
MOVE loc_c :loc_b
Multiple relative transformations can be chained together. If we define loc_d to have the value 0, 50, 0, 0, 0, 0 :
SET loc_d = TRANS(0,50)
and then issue the following MOVE instruction :
MOVE loc_a :loc_b :loc_d
the robot moves to a position x = -50mm, y =70mm, and z = 30mm relative to loc_a.
Ceci suffit généralement à la plupart des fonctionnalités requises pour utiliser des
robots dans un contexte industriel, moyennant le fait que le contrôleur de robot puisse
échanger des entrées/sorties avec des dispositifs tiers (convoyeur, automate, capteurs) en
utilisant un des bus de communication et le protocole associé (figure 4.6).
Adept utilise en particulier la liaison IEEE 1394 (FireWire) pour la communication
avec le contrôleur, qui autorise des transferts à haut débit (800 Mb/s pour le FireWire 800).
Celle-ci présente l’intérêt d’être cadencée à fréquence élevée, à 8kHz, et de permettre
un fonctionnement dit en temps-réel. Ceci implique qu’outre la validité des données
transférées, le bus est aussi capable de garantir le cadencement temporel. Le contrôleur
dispose de nombreuses autres possibilités de communication (Fast Ethernet, Device-
Net=bus terrain CAN, liaisons séries RS-232, XDIO=entrées/sorties tout ou rien, etc.).
Dans le cas du SmartController Adept, on dispose aussi de fonctionnalités dédiées à la
commande du robot par vision, ou au pilotage du robot de manière coordonnée avec
un convoyeur automatisé. Ceci s’explique par la destination industrielle de ce type de
robots.
42 4. Génération de mouvements
Technologie
5.1 Motorisation
La motorisation des axes des robots résulte le plus souvent de l’association d’un
moteur électrique avec un réducteur de vitesse. Cet ensemble dit moto-réducteur est
alimenté par un dispositif électronique appelé convertisseur statique. Equipé d’un capteur
de position, le moto-réducteur peut être asservi en position ou vitesse. Le système
d’électronique de puissance, associant convertisseur et asservissements est généralement
appelé variateur de vitesse. Il est adapté à la technologie de moteur considérée.
F IGURE 5.1 – Principe de fonctionnement d’un moteur à courant continu [Bernot 99].
spires du moteur n’est pas sans incidence sur le fonctionnement du moteur. Il en limite
tout d’abord la vitesse maximale. Par ailleurs, les balais qui appuient sur le collecteur
grâce à un système de ressorts sont en graphite pour permettre le passage du courant
(et une usure maîtrisée). Le collecteur, qui est lui en cuivre, ne s’use pratiquement pas,
ce qui est souhaitable puisque tout le bobinage est soudé sur ce collecteur. Le moteur à
courant continu avec balais nécessite donc une maintenance régulière. Par ailleurs, le
passage du courant à travers le contact glissant provoque parfois des étincelles, ce qui
limite l’usage de ces moteurs dans certains environnements, explosifs notamment.
5.1.4 Réducteurs
Réducteurs conventionnels et réducteurs planétaires
Les réducteurs les plus conventionnels consistent en un ensemble de roues engrénant
les unes sur les autres, grâce au profil de leur dentures qui peuvent être droites ou
hélicoïdales (cf. figure 5.3). Ces réducteurs offrent un rapport de réduction égal au
rapport du nombre de dents des roues dentées. La plus petite des roues, nommée pignon,
montée sur l’arbre moteur, tourne plus vite que la plus grande (nommée simplement
roue), comme on le devine pour le réducteur de la figure 5.3, gauche. Il est fréquent de
préférer les engrenages à denture hélicoïdale (figure 5.3, droite) aux engrenages à denture
droite pour des raisons de bruit et de contraintes mécaniques sur les dentures.
Bien que l’on puisse utiliser des roues possédant des diamètres très différents pour
augmenter le taux de réduction, il est généralement souhaitable de mettre plutôt plusieurs
étages de réduction pour obtenir ce résultat de manière beaucoup plus compacte (figure
5.4 gauche). On peut ainsi retrouver une sortie coaxiale, ce qui est aussi un avantage.
F IGURE 5.4 – Réducteurs Maxon compacts à dentures droite (gauche) ou à train épicy-
cloïdal (droite) (http://www.maxonmotor.com).
Par ailleurs, il existe des réducteurs dits planétaires (ou à train épicycloïdal), qui ne
sont pas constitués de roues engrenant entre elles par paires. Les trains épicycloïdaux
possèdent comme précédemment un arbre de sortie coaxial à l’arbre d’entrée et sont
le plus souvent caractérisés par des grands rapports de réduction et la possibilité de
transmettre des couples élevés. Les trains épicycloïdaux comportent deux arbres coaxiaux
dits planétaires, le planétaire extérieur est généralement appelé couronne. Des satellites,
généralement au nombre de trois engrènent avec les deux planétaires, tournant ainsi
autour de leur axe commun. Les satellites sont reliés entre eux par un porte-satellites.
Le plus fréquemment, c’est la couronne qui est reliée au bâti, comme sur la figure 5.5,
où l’arbre d’entrée est le planétaire intérieur et l’arbre de sortie le porte satellite. Pour
bien visualiser le fonctionnement d’un réducteur à train épicycloïdal, rien de tel qu’une
animation comme on en trouve de nombreuses sur Internet [Educmeca 13].
exemple de roue codeuse à la figure 5.8). Ces capteurs, beaucoup plus onéreux que les
simples codeurs incrémentaux, peuvent être préférés en robotique malgré leur prix, afin
d’éviter des fastidieuses procédures de recalage. Enfin, autre inconvénient des codeurs
optiques, la mesure de position résultante est discrète d’où un effet de quantification
du signal de position, qui est gênant en particulier aux très basses vitesses, ou lorsque
l’on cherche à obtenir la vitesse de rotation par dérivation du signal de position. La
documentation technique du codeur Heidenhan HEDL 5540, préconisé pour le moteur
Maxon RE36, est donnée à la figure 5.23, en fin de chapitre.
5.2.3 Résolveurs
Un résolveur est un dispositif monté sur l’arbre du moteur et aligné avec le champ
magnétique du rotor du moteur (voir figure 5.9). Il possède un bobinage primaire tournant
au rotor, et deux bobinages secondaires diphasés. Le couplage magnétique entre les
bobinages primaire et secondaire dépend de la position du rotor. Lorsque l’on alimente
le bobinage rotorique avec une tension alternative, on récupère ainsi deux tensions
alternatives déphasées de 90 degrés sur les bobinages secondaires. Les résolveurs sont
appréciés pour leur robustesse et leur longue durée de vie, liées notamment à l’absence
d’usure mécanique. Les signaux mesurés peuvent être transmis sans perturbations sur de
longues distances, mais leur exploitation nécessite une électronique adaptée. Un avantage
des résolveurs est de fournir potentiellement des informations de position et de vitesse
exploitables avec un seul capteur. La documentation technique du résolveur préconisé
pour le moteur Maxon RE36, est donnée à la figure ? ?.
52 5. Technologie
Nous allons dans les paragraphes suivants présenter les problèmes d’asservissement
de courant et de vitesse propres aux variateurs, ainsi que des exemples pratiques.
c
v B
!
R L
i
e
v
L’équation mécanique rendant compte des couples agissant sur le rotor s’écrit :
d!(t)
c(t) c0 (t) B!(t) = J (5.3)
dt
où c(t) est le couple moteur, c0 (t) est le couple résistant (charge et perturbations), B le
coefficient de frottement visqueux et J le moment d’inertie du rotor. Par construction, le
couple c(t) est proportionnel au courant d’induit i(t) :
En règle générale les coefficients Ke et Km sont si proches qu’il est raisonnable de les
considérer égaux, négligeant alors les pertes durant la conversion électromécanique de
puissance. On pose Kem = Ke = Km .
Le modèle du moteur à courant continu peut être mis sous forme de schéma-bloc,
comme représenté à la figure 5.12.
C0 (s)
V (s) + I(s) C(s) + ⌦(s)
1 1
Kem
R + Ls B + Js
E(s)
Kem
Cette écriture est intéressante pour identifier la fonction de transfert sous la forme
canonique :
K !n2
G(s) = 2
s + 2⇠!n s + !n2
2. En ordonnant (5.7) de façon à avoir un coefficient de un devant le degré de
dérivation le plus faible (i.e. !(t)), il vient :
On observe un dépassement du courant qui peut atteindre des valeurs très importantes
lors des transitoires. Ceci s’explique par la présence d’un zéro dans la fonction de
F IGURE 5.15 – Réponse en boucle ouverte du moteur à courant continu (non chargé).
58 5. Technologie
transfert :
I(s)
GI (s) =
V (s)
Cette fonction de transfert s’obtient aisément à partir du schéma de la figure 5.12
(analogie avec le calcul du signal d’erreur d’un asservissement). On obtient :
Js + B
GI (s) =
LJs2 2
+ (RJ + LB)s + RB + Kem
Bode Diagram
0
−10
Magnitude (dB)
−20
−30
−40
−50
90
45
Phase (deg)
−45
−90
−2 −1 0 1 2 3 4 5
10 10 10 10 10 10 10 10
Frequency (rad/sec)
Asservissement de courant
Les dépassements de courant observés précédemment constituent un problème, tant
pour le convertisseur statique que pour le moteur. Si le système (convertisseur+moteur)
a été dimensionné pour une utilisation nominale, les transitoires de courant risquent de
détruire les composants de puissance du convertisseur statique. Par ailleurs, dans le cas où
l’on utilise des éléments commerciaux, il arrive que le convertisseur soit surdimensionné,
car pouvant fonctionner avec une gamme de moteurs de différentes puissances. Alors, le
convertisseur pourra délivrer le courant appelé et ce sont les conducteurs du moteur qui
risquent d’être détruits par une surintensité. Pour ces raisons il convient donc :
1. d’asservir le courant pour avoir la maîtrise des dépassements ;
2. de limiter le courant maximum pour protéger le moteur dans tous les cas.
5.3. Variateurs de vitesse 59
1 1 1
GI (s) = =
R + Ls R 1 + ⌧e s
La fonction de transfert étant celle d’un premier ordre une simple correction PI :
✓ ◆
1
CI (s) = Kp 1 +
⌧i s
conduit à :
Kp 1 + ⌧ i s
CI (s)GI (s) =
R⌧i s(1 + ⌧e s)
Le choix le plus simple consiste alors à compenser le pôle électrique en choisissant
⌧i = ⌧e , ce qui conduit à un système en boucle fermé d’ordre un de fonction de transfert :
1 1
GIBF (s) =
Ki 1 + KR⌧ i
p Ki
s
Remarque 1 L’étude précédente est effectuée sans tenir compte du hacheur. Or, la
modélisation proposée pour le hacheur (qui est un système échantillonné) occulte le fait
qu’entre la tension de commande du hacheur et sa sortie il existe en fait un retard, dit
statistique, d’une demi-période d’échantillonnage. La prise en compte de ce retard se fait
dans certains cas en représentant son effet par une fonction de transfert du premier ordre
(passe-bas de constante de temps la demi-période de commutation). Ceci n’est bien sûr
valable que lorsque le temps de retard reste petit devant la dynamique du système, si bien
que l’on préférera ne pas tenir compte de l’effet retard du hacheur dans la synthèse du
correcteur et considérer simplement que la bande passante du système est limitée.
Asservissement de vitesse
L’asservissement de vitesse du moteur à courant continu est réalisé une fois réglée la
boucle de courant. On a donc un asservissement avec boucles imbriquées ou asservisse-
ment cascade, répondant au schéma de principe présenté en introduction. Pour réaliser
l’asservissement de la vitesse du rotor d’un moteur à courant continu, la tension image
de la vitesse mesurée est comparée à une tension de référence vr , image de la vitesse
de rotation désirée !r . La vitesse du rotor est mesurée par l’un ou l’autre des capteurs
possibles (génératrice tachymétrique, synchro-résolveur, codeur) et la tension image
est directement obtenue en sortie du procédé dans le cas des capteurs analogiques, ou
après comptage dans le cas des codeurs incrémentaux. En faisant abstraction du mode de
60 5. Technologie
⌦(s)
Vr (s) + + V (s)
C⌦ (s) CI (s) mcc
Ki I(s)
V⌦ (s) = K! ⌦(s)
K!
F IGURE 5.17 – Asservissement de vitesse d’un moteur à courant continu avec boucle
interne de courant.
Ki
Kem
dynamiques du moteur à courant continu asservi en courant. Ceci étant, on peut considérer
que le bloc de fonction de transfert R+Ls
1
du schéma 5.12 est simplement remplacé par
la fonction de transfert en boucle fermée GIBF (s). Dans ce cas, la constante de temps
de la boucle de courant étant très petite devant la constante de temps électromécanique
du système, on obtient un modèle d’ordre deux de classe 0, très proche d’un système du
premier ordre (on considère la force électromotrice comme une perturbation). On peut
donc à nouveau effectuer une correction PI.
saturant la valeur de la commande de la boucle de courant par une tension égale à ±Ki iM ,
iM représentant la valeur maximale du courant préconisée par le constructeur. Ce réglage
est donc effectué par une simple fonction seuil analogique, la valeur du seuil étant
ajustée par un potentiomètre. Si la boucle de courant est réglée convenablement (rapide
et sans dépassement), les seules saturations proviendront alors d’un appel de courant
trop fort, par exemple dû à une modification brutale de la charge ou du sens de rotation.
Des raffinements dans ce mode de protection sont cependant généralement prévus. Les
moteurs peuvent en effet le plus souvent supporter des courants transitoires largement
supérieur à la valeur maximale continue (typiquement 5 fois le courant maximum pendant
50 à 200 ms ou dans le cadre d’un fonctionnement intermittent).
Documentations techniques
maxon DC motor
M 1:2
Stock program
Standard program Order Number
Special program (on request)
118797 118798 118799 118800 118801 118802 118803 118804 118805 118806 118807 118808 118809 118810
Motor Data
Values at nominal voltage
1 Nominal voltage V 18.0 24.0 32.0 42.0 42.0 48.0 48.0 48.0 48.0 48.0 48.0 48.0 48.0 48.0
2 No load speed rpm 6610 6210 6790 7020 6340 6420 5220 4320 3450 2830 2280 1780 1420 1180
3 No load current mA 153 105 88.6 70.4 61.4 54.6 41.6 32.6 24.7 19.5 15.2 11.5 8.97 7.31
4 Nominal speed rpm 5880 5530 6120 6350 5660 5740 4520 3600 2720 2090 1530 1010 651 390
5 Nominal torque (max. continuous torque) mNm 70.2 78.2 77.1 77.9 79.9 79.5 81.5 82.2 83.6 84.1 84.1 83.8 84.1 83.1
6 Nominal current (max. continuous current) A 2.90 2.25 1.82 1.45 1.33 1.18 0.978 0.813 0.660 0.545 0.439 0.343 0.275 0.226
7 Stall torque mNm 730 783 832 866 786 785 627 504 403 326 258 198 158 127
8 Starting current A 28.6 21.5 18.7 15.3 12.6 11.1 7.22 4.80 3.06 2.04 1.30 0.784 0.501 0.334
9 Max. efficiency % 84 85 86 86 86 86 85 84 82 81 79 77 75 72
Characteristics
10 Terminal resistance " 0.628 1.11 1.71 2.74 3.35 4.32 6.65 10.0 15.7 23.5 36.8 61.3 95.8 144
11 Terminal inductance mH 0.0988 0.201 0.300 0.487 0.597 0.760 1.15 1.68 2.62 3.87 5.96 9.70 15.1 21.9
12 Torque constant mNm / A 25.5 36.4 44.5 56.6 62.6 70.7 86.9 105 131 160 198 253 315 380
13 Speed constant rpm / V 375 263 215 169 152 135 110 90.9 72.7 59.8 48.2 37.8 30.3 25.1
14 Speed / torque gradient rpm / mNm 9.23 8.05 8.27 8.18 8.14 8.25 8.41 8.65 8.67 8.80 8.96 9.17 9.21 9.51
15 Mechanical time constant ms 6.00 5.89 5.84 5.81 5.81 5.80 5.81 5.81 5.82 5.83 5.84 5.86 5.85 5.88
16 Rotor inertia gcm2 62.0 69.9 67.5 67.8 68.1 67.2 66.0 64.2 64.1 63.3 62.2 61.1 60.7 59.0
maxon DC motor
portation dans n’importe quel système CAD. La pente vitesse / couple indique la force du moteur. (voir page 35 «Caractéristique de rendement»).
Présentation des vues conforme à la méthode E Plus cette courbe est plate, moins la vitesse est Le rendement maximal est dérivé de la relation
(ISO). sensible aux variations de la charge. La pente vi- entre la marche à vide et le courant de démarrage.
Toutes les dimensions sont exprimées en [mm]. tesse / couple est calculée à une température de
bobinage de 25°C. Ligne 14 Constante de couple kM [mNm / A]
Taraudage de montage dans le plastique La constante de couple, ou couple spécifique, est le
Ligne 6 Courant à vide Io [mA] quotient du couple fourni et du courant s’y rappor-
La réalisation de connexions vissées sur des flas-
ques plastiques nécessite une attention spéciale. C’est le courant qui s’établit lorsque le moteur est à tant.
vide. Il dépend du frottement des balais et du frotte-
Couple de serrage maximal [Ncm] ment à l’intérieur des paliers, il se modifie légère- Ligne 15 Constante de vitesse kn [tr / min / V]
Un tournevis automatique doit être ajusté à cette ment avec la vitesse. Elle indique la vitesse spécifique par Volt de la ten-
valeur d’étalonnage. sion appliquée, sans tenir compte des pertes par
Ligne 7 Courant de démarrage frottement. La valeur inverse de la constante de vi-
Profondeur active de vissage [mm] IA [mA], [A] tesse est la constante de tension, aussi appelée
La relation entre la profondeur de vissage et le diamè- C’est le rapport de la tension nominale (tension aux constante FEM.
tre du pas de vis doit être au moins de 2 : 1. La profon- bornes) et de la résistance du moteur. Il est obtenu Ligne 16 Constante de temps mécanique
deur de vissage ne doit en aucun cas dépasser la lon- au couple de blocage. $m [ms]
gueur utile de taraudage! Ligne 8 Résistance aux bornes R ["] C’est le temps nécessaire au rotor (sans charge ex-
C’est la résistance mesurée à 25°C aux bornes térieure), pour passer de la vitesse 0 à 63 % de sa
de connection. Elle détermine, sous une tension vitesse à vide.
Caractéristiques U donnée, le courant de démarrage. Dans le cas 2
de balais en graphite, la résistance de contact Ligne 17 Moment d’inertie du rotor JR [gcm ]
Ligne 1 ● Puissance conseillée P2T [W] varie en fonction de la charge. C’est le moment d’inertie de masse du rotor, basée
C’est la puissance max. fournie, dans la plage de sur l’axe de rotation.
puissances conseillée. Elle dépend des types et Ligne 9 Vitesse limite nmax [tr / min]
correspond à la représentation du Guide de Sélecti- La vitesse limite ne doit pas être dépassée en foncti- Ligne 18 Inductance terminale L [mH]
on (voir également pages 50-146 «Plages d’utili- onnement normal, un dépassement intempestif C’est l’inductivité du bobinage lorsque le rotor est à
sation»). endommagerait la commutation, mettant ainsi le l’arrêt, mesurée à l’aide d’une tension sinusoïdale
moteur en panne. à 1 kHz.
Ligne 2 Tension nominale U [Volt]
C’est la tension à laquelle se réfèrent toutes les va- Ligne 19 Résistance thermique
Ligne 10 Courant permanent max.
leurs nominales (lignes 3, 4, 6, 7, 12, 13).Elle est fixée Icont [mA], [A] Rth2 [K / W]
pour que la vitesse à vide ne dépasse pas la vitesse C’est la résistance thermique entre la carcasse et
C’est le courant qui, à une température ambiente de
maximale admissible. Mais l’utilisation du moteur l’air ambiant. Valeur théorique sans aucun refroi-
25°C, fait monter la température du rotor à sa limite
n’est pas limitée par cette tension. Pour atteindre la max. admissible. disseur additionnel. L’addition des lignes 19 et 20
puissance assignée (ligne 1), il est possible d’utiliser permet de définir la puissance dissipée max.
une tension de service plus haute. La puissance Ligne 11 Couple permanent max. Admissible. Sur les moteurs à flasque métallique,
maximale de sortie est alors plus élevée (ligne 12). Mcont [mNm] la résistance thermique Rth2 peut être réduite jus-
C’est le couple délivré en permanence ou en valeur qu'à 50 %, à condition que le moteur soit couplé
Ligne 3 Vitesse à vide no [tr / min] moyenne, qui élève la température du bobinage jus- directement à un bon conducteur thermique (mé-
C’est la vitesse atteinte par le moteur sans charge qu’à sa valeur max. admissible. On se base sur une tallique) au lieu d'une plaque en matière synthéti-
additionnelle et alimenté à la tension nominale. Elle température ambiante de 25°C. que.
est pratiquement proportionnelle à la tension appli-
quée. Ligne 12 Puissance max. fournie Ligne 20 Résistance thermique
Pmax [mW], [W] Rth1 [K / W]
Ligne 4 Couple de démarrage MH [mNm] C’est la puissance max. disponible à la tension no- Idem entre rotor et carcasse.
Ce couple est appliqué sur l’arbre pour obtenir minale et à une température rotor de 25°C. Les va-
Ligne 21 Constante de temps thermique du
l’arrêt à tension nominale. La croissance rapide de leurs d’utilisation se situent en-dessous de cette
bobinage $w [s]
la température du moteur provoque la baisse du puissance (voir «courant max. permanent» et «vi-
couple de démarrage (Voir page 38 «Comporte- tesse limite»). C’est le temps nécessité par le bobinage pour modi-
ment thermique»). fier sa température.
T
I ON % I cont
t ON
Edition Juillet 2005 / Modifications réservées maxon DC motor 49
-
-
position est généralement délivrée par un
n
codeur digital.
Principe: Compensation R x I
Courant Valeur réelle
Le régulateur de courant alimente le moteur E Valeur de consigne
avec une intensité proportionnelle à la valeur maxon motor control
de consigne. Ainsi le couple du moteur est pro-
portionnel à la consigne.
Le régulateur de courant améliore aussi la dy- I
M
-
-
namique d’un circuit de régulation de position -
ou de vitesse supérieur.
U
Valeur réelle
Déviation du système
Con-
Moteur
trôleur
-
-
-
é tage de puissance n
(actuateur)
Valeur réelle
Capteur
32
maxon motor
maxon motor control 4-Q-DC Servoamplificateur ADS 50/5
Référence de commande 145391
Notice d'utilisation Edition Juillet 2009
La version actuelle de cette notice d’utilisation est disponible sur Internet au format PDF sur le site
www.maxonmotor.com (cliquez sur Services & Downloads, puis saisissez le numéro de référence 145391), ou
bien dans la boutique en ligne de maxon motor, à l’adresse http://shop.maxonmotor.com.
66 5. Technologie
maxon motor
4-Q-DC Servoamplificateur ADS 50/5 Notice d'utilisation
2 Données techniques
2.1 Caractéristiques électriques
Tension d’alimentation nominal +Vcc ........................................................................12 … 50 VDC
Tension d’alimentation absolute minimal +Vcc min............................................................ 11.4 VDC
Tension d’alimentation absolute maximal +Vcc max .......................................................... 52.5 VDC
Tension de sortie max ...................................................................................................... 0.9 · VCC
Courant de sortie max Imax ...................................................................................................... 10 A
Courant de sortie permanent Icont ............................................................................................. 5 A
Fréquence de commutation ................................................................................................ 50 kHz
Rendement ............................................................................................................................ 95 %
Bande passante du régulateur de courant......................................................................... 2.5 kHz
Self de lissage intégrée ..............................................................................................150 µH / 5 A
2.2 Entrées
Valeurs de consigne «Set value» .......................................................... -10 ... +10 V (Ri = 20 kΩ)
Enable ............................................................................................... +4 ... +50 VDC (Ri = 15 kΩ)
Tension DC tacho «Tacho Input» .................................... min. 2 VDC, max. 50 VDC (Ri = 14 kΩ)
Signaux codeur «Canaux A, A\, B, B\»............................................... max. 100 kHz, Niveau TTL
2.3 Sorties
Image du courant «Monitor I», protégé du court-circuit .................. -10 ... +10 VDC (RO = 100 Ω)
Image de la vitesse «Monitor n», protégé du court-circuit .............. -10 ... +10 VDC (RO = 100 Ω)
Message de surveillance «READY»
collecteur ouvert, protégé du court-circuit............................................ max. 30 VDC (IL ≤ 20 mA)
2.4 Tension de sortie
Tension auxiliaire, protégée du court-circuit ........... +12 VDC, -12 VDC, max. 12 mA (RO = 1 kΩ)
Tension d’alimentation du codeur................................................................. +5 VDC, max. 80 mA
2.5 Potentiomètres de réglage
Compensation IxR
Offset
nmax
Imax
gain
2.6 Indicateur LED
LED 2 couleurs .................................................................................................. READY / ERROR
vert = ok, rouge = défaut
2.7 Température / Humidité
Exploitation ................................................................................................................ -10 ... +45°C
Stockage ................................................................................................................... -40 ... +85°C
Humidité relative.................................................................................. 20 ... 80 % non condensée
2.8 Caractéristiques mécaniques
Poids ............................................................................................................................... ca. 360 g
Dimensions................................................................................................................... voir dessin
Plaque de fixation ........................................................................................................ pour vis M4
2.9 Connexions
Bornes PCB..........................................................................«Power» (5 pôles), Signal (12 pôles)
Pas..............................................................................................................................3.81 mm
Convenant pour sections de fils .................................................0.14 - 1 mm2 fil fin torsadé ou
2
................................................................................................0.14 - 1.5 mm à un conducteur
Codeur.........................................................................................................connecteur DIN41651
pour câble plat, pas de 1.27 mm, AWG 28
Edition Juillet 2009 / Doc. No. 539149-06 / Sous réserve de modification maxon motor control 3
5.3. Variateurs de vitesse 67
maxon motor
4-Q-DC Servoamplificateur ADS 50/5 Notice d'utilisation
4 maxon motor control Edition Juillet 2009 / Doc. No. 539149-06 / Sous réserve de modification
68 5. Technologie
maxon motor
4-Q-DC Servoamplificateur ADS 50/5 Notice d'utilisation
4 Instructions d’utilisation
4.1 Détermination de la puissance d’alimentation
N’importe quelle alimentation à courant continu peut être utilisée, si elle répond
aux exigences minimales résumées ci-dessous.
Durant la phase d’installation et de mise au point, nous vous recommandons de
séparer mécaniquement le moteur de la machine qu’il doit entraîner, afin
d’éviter tout dommage résultant d’un mouvement incontrôlé.
Puissance d’alimentation nécessaire
Tension de sortie Vcc min. 12 VDC; max. 50 VDC
Ondulation <5%
Courant de sortie Dépend de la charge, permanent 5 A
(10 A en crête)
Edition Juillet 2009 / Doc. No. 539149-06 / Sous réserve de modification maxon motor control 5
5.3. Variateurs de vitesse 69
maxon motor
4-Q-DC Servoamplificateur ADS 50/5 Notice d'utilisation
Remarque
• Valeur -10 ... +10 V correspond à un courant moteur de +Imax ... -Imax.
• En fonctionnement comme régulateur de courant, les potentiomètres P1,
P3 et P5 gain sont inactifs.
6 maxon motor control Edition Juillet 2009 / Doc. No. 539149-06 / Sous réserve de modification
70 5. Technologie
maxon motor
4-Q-DC Servoamplificateur ADS 50/5 Notice d'utilisation
10 Schéma bloc
Case
+12V OUT -12V OUT Enable Ready
DIP5 Poly-
+5V fuse Ground
+5V
+5V/80mA Safety
+12V
Gnd 1K +12V 1K -12V -12V Supply 3 Earth
Encoder A earth
optional
Encoder A\ F/V Converter
PTC
Encoder B 4 +Vcc 12-50VDC
Encoder B\ DIP6
5 Power Gnd
+12V
P8 I cont Current
limit
DIP1
-Set value 1
P7 I gain +Motor
+Set value
PWM,
Control & MOSFET
P5 gain P6 n gain Protection Full-Bridge
DIP4 Logic
P3 n max P4 Imax 2 -Motor
-Tacho Input
LED 3
P1 IxR Current
DIP2 Voltage
Detector Detector
DIP3
+12V -12V
P2 Offset
Monitor n Monitor I
11 Dimensions
Dimensions en [mm]
14 maxon motor control Edition Juillet 2009 / Doc. No. 539149-06 / Sous réserve de modification
5.3. Variateurs de vitesse 71
Encoder HEDL 5540 500 CPT, 3 Channels, with Line Driver RS 422
Cycle C = 360°e
Pulse P = 180°e
UHigh
maxon sensor
Channel A
ULow
Phase shift 90°e
UHigh
Channel B
ULow
UHigh
Channel I
ULow
s3 s4 s1 s2 s 1..4 = 90°e
s 45°e
Line receiver
Output signal EIA Standard RS 422 2 VCC VCC
EN 60603-13
Moment of inertia of code wheel 0.6 gcm2 flat band cable AWG 28
Channel B
The index signal is synchronized with channel A or B. Terminal resistance R = typical 120
May 2016 edition / subject to change maxon sensor 401
maxon sensor
• To establish total inertia add motor and
tacho inertias.
• With the output shaft turning CW as seen from
the mounting surface, the tacho output voltage
will be positive at the + terminal.
• A high impedance load is recommended at
tacho terminals.
• The tacho current should be kept low.
• The indicated resonance frequency refers to the
motor-tacho rotor system.
Commande
La fonction d’interpolation P (t), telle que P (0) = 0 et P (tf ) = 1 permet de calculer des
consignes admissibles. Il existe plusieurs façons de synthétiser P (t) de façon à satisfaire
les conditions aux limites et les contraintes |q̇(t)| 6 !m et |q̈(t)| 6 m , 80 6 t 6 tf .
Nous allons voir successivement trois de ces méthodes.
F IGURE 6.1 – Mouvement articulaire généré avec une fonction polynomiale d’ordre 5,
avec !m = 4 rad.s 1 et m = 1, 5 rad.s 2 .
F IGURE 6.2 – Mouvement articulaire généré avec une commande Bang-bang, avec
!m = 4 rad.s 1 et m = 1, 5 rad.s 2 .
76 6. Commande
F IGURE 6.3 – Vitesse et accélération dans le cas d’un profil trapézoïdal, comparaison
avec la commande Bang-Bang (d’après [Khalil 13]).
opérationnel de consigne est connu entièrement à l’instant initial. Soulignons enfin le fait
que la gestion des efforts n’est pas prise en compte explicitement dans notre problème.
Ainsi, dans un premier temps, cette approche conviendrait par exemple à une tâche de
soudage au chalumeau, mais pas de soudage à l’arc.
On trouve dans la littérature de nombreuses méthodes permettant de résoudre le
problème de la commande des bras manipulateurs à mouvement opérationnel imposé
[Khatib 08] ; elles sont parfois appelées algorithmes de cinématique inverse. Il existe en
particulier deux méthodes :
– tout d’abord, les méthodes dites d’inversion, qui utilisent le calcul d’une inverse
du modèle cinématique direct ;
– ensuite, la méthode dite de la transposée.
Par la suite, on ne considèrera que les méthodes dites d’inversion. Le lecteur curieux
pourra consulter [Sciavicco 00] pour plus de précision sur la méthode de la transposée.
q̇(t) = J 1
(t) (ẋr (t) + W (xr (t) x(t))) (6.17)
où W est une matrice de pondération définie positive (Figure 6.5). En effet, en pré-
d
dt
ẋr (t)
+
xr (t) +
génération 1 variateur robot
W J
de mouvement +
x(t) q(t)
MGD capteur
multipliant l’équation (6.17) par J(t), on constate que cette loi conduit à une décroissance
asymptotique de l’erreur e(t) :
ė(t) + W e(t) = 0
A cause de leur cinématique, ces robots sont bien adaptés à tous les travaux de
manipulation de palettes, de boîtes ou de cartouches, ou plus généralement d’objets
devant être saisis et déplacés soit parallèlement, soit perpendiculairement à l’horizontale.
On les rencontre notamment sur des chaînes de production (voir figure A.2).
1. On rappelle que le robot est de type RRP R, les deux dernières articulations
concernant la montée–descente et la rotation de l’organe terminal autour de son
axe. Dessiner le schéma cinématique de ce robot.
Paramétrage
1. Quelle précaution concernant la configuration du robot est préconisée dans le cours
pour placer les repères selon la convention de Denavit-Hartenberg ? Si nécessaire
refaire un schéma cinématique du robot dans une configuration adaptée.
2. Placer les repères R0 à R4 sur le schéma, en respectant les conventions de paramé-
trage vues en cours (paramètres de Denavit-Hartenberg modifiés).
3. Rassembler dans un tableau les paramètres de Denavit-Hartenberg modifiés :
ai 1 , ↵i 1 , ri , ✓i , dont on rappellera brièvement la définition. On ajoutera à ce
tableau une ligne donnant la valeur des paramètres de configuration, notés qi , dans
la configuration du schéma cinématique.
4. Relever les valeurs numériques de ces paramètres. On continuera néanmoins les
calculs en conservant les notations symboliques. Les valeurs numériques seront
utilisées à des fins de vérification.
A.2. Robot Samsung RSM-5 : modélisation 83
angles nutation, 12
d’Euler classiques , 12
roulis, tangage et lacet, 13 paramètres
d’Euler complets, 11
bras manipulateur paramètres de Denavit-Hartenberg modi-
série, 17 fiés, 19
bras manipulateur paramètres de Denavit-Hartenberg modi-
anthropomorphe, 17 fiés, 18
SCARA, 17 poignet sphérique, 27
position
configuration d’un point, 3
singulière, 27 précession, 12
coordonnées
d’un point, 3 rotation propre, 12
coordonnées homogènes, 14 roulis, 13
cosinus directeurs, 10
situation
cosinus directeurs incomplets, 10
d’un solide, 3
espace solide
de travail, 27 indéformable, 3
groupe tangage, 13
spécial orthogonal, 7 trajectoire
d’un point, 3
indice préférentiel, 30 transformation
rigide, 4
lacet, 13
vecteur
matrice vitesse de rotation, 15
de changement de base, 4 vecteur rotation, 10
de passage, 4
de rotation, 4
matrice de passage homogène, 14
matrice jacobienne, 29
modèle
cinématique direct, 29
différentiel direct, 29
géométrique direct, 23
géométrique inverse, 26
mouvement
d’un point, 3
rigide, 3