95
Télécom Physique Strasbourg Université de Strasbourg Robotique Modélisation et commande des robots manipulateurs Bernard BAYLE

Robotique - eavr.u-strasbg.freavr.u-strasbg.fr/~bernard/education/2a_tis_robotique/2a_tis_robot... · Ce document évolue grâce à votre concours. Pour l’améliorer, communiquez

Embed Size (px)

Citation preview

Télécom Physique Strasbourg

Université de Strasbourg

RobotiqueModé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

Partie I – Modélisation des robots manipulateurs 1

1 Représentation des transformations et des mouvements rigides 31.1 Notations et définitions . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 Solides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.3 Transformations rigides . . . . . . . . . . . . . . . . . . . . . 4

1.2 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.1 Matrice de rotation . . . . . . . . . . . . . . . . . . . . . . . . 41.2.2 Rotation d’un point appartenant à un solide . . . . . . . . . . . 51.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.4 Rotation d’un vecteur . . . . . . . . . . . . . . . . . . . . . . . 61.2.5 Propriétés des rotations . . . . . . . . . . . . . . . . . . . . . . 71.2.6 Combinaison de rotations . . . . . . . . . . . . . . . . . . . . 71.2.7 Représentation de l’orientation d’un solide dans l’espace . . . . 9

1.3 Transformations rigides . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3.1 Matrices de passage homogènes . . . . . . . . . . . . . . . . . 141.3.2 Propriétés des transformations rigides . . . . . . . . . . . . . . 15

1.4 Mouvements rigides . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.4.1 Vecteur vitesse de rotation . . . . . . . . . . . . . . . . . . . . 151.4.2 Vitesse d’un point lié à un solide . . . . . . . . . . . . . . . . . 16

2 Description des bras manipulateurs 172.1 Chaîne cinématique d’un bras manipulateur . . . . . . . . . . . . . . . 172.2 Paramètres de Denavit-Hartenberg modifiés . . . . . . . . . . . . . . . 182.3 Relations géométriques . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4 Relations cinématiques . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Modélisation des bras manipulateurs 233.1 Configuration et situation d’un bras manipulateur . . . . . . . . . . . . 233.2 Modèle géométrique direct . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.2 Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.3 Règles pratiques . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.3 Modèle géométrique inverse . . . . . . . . . . . . . . . . . . . . . . . 26

ii Table des matières

3.3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.3.2 Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.3.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4 Modèle cinématique direct . . . . . . . . . . . . . . . . . . . . . . . . 293.4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4.2 Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4.3 Règles pratiques . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Partie II – Commande des robots manipulateurs 35

4 Génération de mouvements 374.1 Les différents problèmes . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.1.1 Problèmes point-à-point . . . . . . . . . . . . . . . . . . . . . 374.1.2 Problèmes à mouvement opérationnel imposé . . . . . . . . . . 38

4.2 Système de commande d’un robot . . . . . . . . . . . . . . . . . . . . 404.2.1 Contrôleur de robot . . . . . . . . . . . . . . . . . . . . . . . . 414.2.2 Variateur de vitesse . . . . . . . . . . . . . . . . . . . . . . . . 43

5 Technologie 455.1 Motorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1.1 Moteurs électriques pour la robotique . . . . . . . . . . . . . . 455.1.2 Moteurs à courant continu (avec balais) . . . . . . . . . . . . . 455.1.3 Moteurs à courant continu sans balais . . . . . . . . . . . . . . 475.1.4 Réducteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2 Mesure de position . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505.2.1 Codeurs incrémentaux . . . . . . . . . . . . . . . . . . . . . . 505.2.2 Génératices tachymétriques . . . . . . . . . . . . . . . . . . . 515.2.3 Résolveurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.3 Variateurs de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3.1 Principe et modélisation de l’actionneur . . . . . . . . . . . . . 525.3.2 Principe et modélisation du convertisseur statique . . . . . . . . 565.3.3 Variation de vitesse du moteur à courant continu . . . . . . . . 57

6 Commande 736.1 Commande point-à-point . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.1.1 Principe de la génération de mouvement . . . . . . . . . . . . . 736.1.2 Interpolation polynomiale de degré cinq . . . . . . . . . . . . . 736.1.3 Loi Bang-Bang . . . . . . . . . . . . . . . . . . . . . . . . . . 746.1.4 Loi trapézoïdale en vitesse . . . . . . . . . . . . . . . . . . . . 76

6.2 Commande à mouvement opérationnel imposé . . . . . . . . . . . . . . 776.2.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . 776.2.2 Méthodes d’inversion . . . . . . . . . . . . . . . . . . . . . . . 78

Table des matières iii

Annexes 79

A Modélisation d’un bras manipulateur de type SCARA 81A.1 Robot de type SCARA : présentation . . . . . . . . . . . . . . . . . . 81A.2 Robot Samsung RSM-5 : modélisation . . . . . . . . . . . . . . . . . 81

A.2.1 Géométrie du robot . . . . . . . . . . . . . . . . . . . . . . . . 82A.2.2 Modélisation géométrique . . . . . . . . . . . . . . . . . . . . 83A.2.3 Modélisation cinématique . . . . . . . . . . . . . . . . . . . . 83

Bibliographie 88

Index 89

Partie I

Modélisation des robots manipulateurs

Chapitre 1

Représentation des transformations etdes mouvements rigides

Ce chapitre contient des rappels mathématiques sur les transformations rigides etl’orientation des corps dans l’espace [Murray 94, Renaud 86, Craig 89].

1.1 Notations et définitionsL’objet de ce paragraphe est de fournir un ensemble de définitions mathématiques

précises pour l’étude des mécanismes polyarticulés.

1.1.1 Points

Soit un repère orthonormé cartésien noté R = (O, x, y, z) selon la convention deGibbs. La position d’un point M est donnée par un triplet de coordonnées. On choisitpar commodité de représenter ces coordonnées par un vecteur m de R3, sous la formed’une matrice colonne :

m =

0

@mx

my

mz

1

A .

Le mouvement du point est la courbe paramétrée m(t) de R3 donnant sa position aucours du temps. Le support du mouvement (la courbe non paramétrée) est la trajectoiredu point.

1.1.2 Solides

Un solide S est dit indéformable si, pour toute paire de points de ce solide decoordonné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 lemouvement de chacun de ces points. Il est ainsi représenté par une famille d’applicationsg(t) : S ! R3.

La situation d’un solide S est donnée par la position et l’orientation dans R d’unrepère lié à ce solide.

4 1. Représentation des transformations et des mouvements rigides

1.1.3 Transformations rigidesOn appelle transformation rigide le résultat d’un mouvement rigide amenant le solide

d’une situation initiale à une situation finale. Une transformation rigide est représentéepar une application unique g : S ! R3 qui transforme les coordonnées des points dusolide S de leur position initiale vers leur position finale.

Une application g représentera une transformation rigide si elle conserve à la foisles distances et l’orientation. Soit le vecteur v = m n où m et n représentent lescoordonnées de deux points et :

g? : R3 ! R3 telle que g?(v) = g(m) g(n).

Conformément à la définition précédente, une application g représente une transformationrigide si et seulement si :

1. ||g(m) g(n)|| = ||m n||, 8m, n 2 R3 ;2. g?(v w) = g?(v) g?(w), 8v, w 2 R3.

Cela signifie notamment qu’un repère orthonormé direct reste orthonormé direct parapplication d’une transformation rigide.

1.2 Rotations

1.2.1 Matrice de rotationSoit deux repères orthonormés directs R = (O, x, y, z) et R0

= (O, x0, y0, z0)partageant la même origine O, conformément à la figure 1.1.

O

z0 z

y

Mx

y0

x0

FIGURE 1.1 – Changement de base des coordonnées d’un point

Soit x0, y0, z0 les coordonnées des vecteurs de la base R0 exprimés dans R. Alors :

x0=

0

@x0.xx0.yx0.z

1

A , y0 =

0

@y0.xy0.yy0.z

1

A et z0 =

0

@z0.xz0.yz0.z

1

A .

La matrice R = (x0 y0 z0) de dimension 3 3 est appelée matrice de rotation oumatrice de passage ou encore matrice de changement de base du repère R vers le repèreR0. En effet, selon le but recherché, on pourra l’utiliser pour rendre compte :

– du changement de base des coordonnées d’un point ou d’un vecteur entre lesrepères R et R0 ;

1.2. Rotations 5

– de la rotation d’un solide lié à un repère orthonormé, initialement en R, et déplacéen R0 par la rotation autour de O.

Nous allons illustrer ceci dans les paragraphes suivants.

1.2.2 Rotation d’un point appartenant à un solideLe repère R est un repère fixe cartésien orthonormé. Soient m = (mx my mz)

T

et m0= (m0

x m0y m0

z)T les coordonnées d’un point M respectivement dans R et R0

(voir figure 1.1). Les coordonnées des vecteurs de la base R0 exprimées dans R étant(toujours) notées x0, y0, z0, les coordonnées de M dans R sont données par :

m = m0xx

0+m0

yy0+m0

zz0,

soit encore sous forme matricielle :

m =

x0 y0 z0

0

@m0

x

m0y

m0z

1

A

c’est-à-dire :m = Rm0. (1.1)

La relation (1.1) rend compte du changement de base des coordonnées d’un point. Onpeut aussi en faire une analyse en terme de rotation si l’on considère que M est un pointd’un solide S (en pointillés sur la figure 1.2) ayant effectué, autour de O, une rotationcaractérisée par la matrice R. Alors m0 représentent les coordonnées initiales de M dansR et m ses coordonnées finales, toujours dans R, une fois la rotation effectuée.

O

z0 z

y

Mx

y0

x0

FIGURE 1.2 – Rotation d’un solide autour d’un point fixe

1.2.3 ExempleOn considère la rotation d’un point M de coordonnées initiales (

p3 0 1)

T dans R,comme cela est représenté à la figure 1.3. On cherche à déterminer les coordonnées dupoint transformé par une rotation de centre O et d’angle , autour de z.

Les coordonnées des vecteurs de base de R0 dans R sont :

x0=

0

@cos sin 0

1

A , y0 =

0

@ sin cos 0

1

A et z0 =

0

@0

0

1

1

A

6 1. Représentation des transformations et des mouvements rigides

M

y0

z= z0O x

yx0

FIGURE 1.3 – Exemple de rotation plane

si bien que la matrice de rotation de R vers R0, notée R(z, ), est :

R(z, ) =

0

@cos sin 0

sin cos 0

0 0 1

1

A .

Les coordonnées du point M dans R0 sont :

m0=

0

@

p3

0

1

1

A .

Dans R ses coordonnées sont :

m =

0

@cos sin 0

sin cos 0

0 0 1

1

A

0

@

p3

0

1

1

A=

0

@

p3 cos p3 sin 1

1

A .

Comme évoqué précédemment, on peut vérifier qu’il s’agit aussi des coordonnées dansR d’un point qui initialement en (

p3 0 1)

T , se trouverait déplacé en M sous l’effetde la rotation R(z, ). A titre d’exemple, pour =

3 (c’est le cas de la figure 1.3)

m = (

p32

32 1)

T .

1.2.4 Rotation d’un vecteurBien évidemment, la rotation s’applique aussi aux vecteurs. Les coordonnées d’un

vecteur sont en effet la différence des coordonnées de deux points de R3. On peut ainsiappliquer la rotation à un vecteur de coordonnées v = m n dans R :

m n = Rm0 Rn0= R(m0 n0

),

soit, en posant v0 = m0 n0 :v = Rv0.

1.2. Rotations 7

1.2.5 Propriétés des rotationsLa matrice de rotation R, par définition, est constituée de colonnes orthonormales et

donc :RTR = I.

Par ailleurs, on montre que :

detR = (x0)

T(y0 z0) = (x0

)

Tx0= 1.

La matrice de rotation R est donc un élément de l’ensemble :

SO(3) = R 2 R33/RRT= I, detR = 1

appelé groupe spécial orthogonal. Cet ensemble, muni de l’opération multiplicationmatricielle, est un groupe sur R33. Ceci a des implications pratiques :

1. La combinaison de deux rotations R1 et R2 est la rotation R1R2.

2. Il existe un unique élément neutre, qui est la matrice identité 1 d’ordre 3.

3. Pour une matrice de rotation R donnée, il existe une unique inverse R1= RT .

Par ailleurs, une rotation est une transformation rigide car :

1. ||RmRn|| = ||m n||, 8m, n 2 R3.

2. R(v w) = Rv Rw, 8v, w 2 R3.

1.2.6 Combinaison de rotationsLe groupe SO(3) est non commutatif car le produit matriciel n’est pas commutatif.

Ainsi, soient deux rotations R1 et R2, alors R1R2 6= R2R1. Ces deux produits ont chacunleur signification propre, que nous allons expliquer maintenant.

Deux cas se présentent pour combiner deux rotations :– soit on effectue la seconde rotation par rapport au repère résultant de la première

rotation ;– soit on effectue les deux rotations par rapport à un repère fixe unique.

Soit R0 et R00 les repères résultant des deux rotations successives du repère fixe R. Dansles deux cas évoqués précédemment, le repère R0 résulte de la rotation R1 de R autourd’un axe lié au repère fixe R. Ensuite, les deux cas précédents donnent :

– dans le premier cas R00 résulte de la rotation de R0 autour d’un axe lié à R0 ;– dans le second cas R00 résulte de la rotation de R0 autour d’un axe lié à R.

Examinons maintenant ces deux cas. Soit M de coordonnées respectives m, m0, m00

dans les repères R, R0 et R00.

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 = R1m0

m0= R2m

00

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 = R1R2m

00.

Comme nous l’avons vu précédemment, les coordonnées m de M dans R sont aussiles coordonnées d’un point de coordonnées m00 dans R auquel on aurait appliqué lesdeux rotations successives. Par exemple considérons la combinaison des deux rotationssuivantes :

– une première rotation d’un angle 4 autour de z ;

– une seconde rotation d’un angle autour de l’axe y0 résultant de la premièrerotation.

Ceci correspond à l’illustration de la figure 1.4. On considère le point de coordonnées

z00

O

4

z z0

M

x

x0

x00

y0

FIGURE 1.4 – Rotations successives autour d’axes non fixes

m00= (

p2 0 0)

T dans R00 et on souhaite exprimer ses coordonnées dans R. On a donc :

m =

0

@

p22

p22 0p

22

p22 0

0 0 1

1

A

0

@1 0 0

0 1 0

0 0 1

1

A

0

@

p2

0

0

1

A=

0

@1

1

0

1

A .

Ceci correspond à 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 y0.

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

transformé par la seconde rotation donne un point de coordonnées m dans R. Ainsi :

m = R2(R1m00).

Pour comparer avec le premier cas, vu précédemment, considérons la combinaison desdeux rotations suivantes :

– une première rotation d’un angle 4 autour de z ;

– une seconde rotation d’un angle autour de l’axe y fixe.Ceci correspond à l’illustration de la figure 1.5. On considère le point de coordonnées

z00

O

4

z z0

x

x0

Mx00

y

FIGURE 1.5 – Rotations successives autour d’axes fixes

initiales m00= (

p2 0 0)

T dans R (et donc de coordonnées finales m00 dans R00). On a :

m =

0

@1 0 0

0 1 0

0 0 1

1

A

0

@

p22

p22 0p

22

p22 0

0 0 1

1

A

0

@

p2

0

0

1

A=

0

@1 0 0

0 1 0

0 0 1

1

A

0

@1

1

0

1

A=

0

@1

1

0

1

A .

1.2.7 Représentation de l’orientation d’un solide dans l’espace

La donnée d’une base attachée à un solide S en rotation détermine de manière uniqueson orientation dans l’espace. Différentes représentations peuvent être utilisées pour cela,avec pour chacune avantages et inconvénients.

10 1. Représentation des transformations et des mouvements rigides

Matrice de rotation et cosinus directeurs

On considère la rotation d’un repère R vers un repère R0. La matrice de rotation Rest une matrice de dimension 3 3 à valeurs dans R :

R =

0

@xx yx zxxy yy zyxz yz zz

1

A .

Les éléments de cette matrice sont appelés cosinus directeurs car ils représentent lescoordonnées des trois vecteurs de la base R0 exprimés dans R. Par définition, les colonnesde R sont orthogonales entre elles et par conséquent la connaissance de deux colonnessuffit. En robotique, on omet ainsi souvent la seconde colonne :

R =

0

@xx zxxy zyxz zz

1

A .

Les six paramètres restant sont appelés cosinus directeurs incomplets. Par ailleurs lescolonnes de R formant une base orthonormée :

– les deux colonnes restantes sont orthogonales et donc :

xxzx + xyzy + xzzz = 0 ;

– les deux colonnes restantes sont de norme unité et donc :

x2x + x2

y + x2z = 1,

z2x + z2y + z2z = 1.

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ètresde manière unique, mais une collection de solutions : il faut donc conserver les sixparamè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ù ereprésente de vecteur directeur de l’axe de la rotation, de norme unité, et " l’angle derotation en radians. Pour que la représentation soit unique, il faut choisir < " 6 ete 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 lacorrespondance entre cette représentation à quatre paramètres (" et les trois composantesde e) et les cosinus directeurs. On montre que :

" = arccos

xx + yy + zz 1

2

,

et e =

1

2 sin "

0

@yz zyzx xz

xy yx

1

A .

Il existe de très nombreux cas particuliers [Renaud 96].

1.2. Rotations 11

Coordonnées exponentielles La vitesse d’un point M de coordonnées m en rotationautour d’un axe e à vitesse constante unité s’écrit :

dm(t)

dt= em(t) = e m(t),

avec :

e =

0

@0 ez eyez 0 exey ex 0

1

A

la matrice du tenseur antisymétrique associé au vecteur de coordonnées e. Alors :

m(t) = exp(et) m(0),

avec m(0) les coordonnées de M à t = 0 et exp(et) la matrice exponentielle :

exp(et) = I + et+(et)2

2

+ . . .

Cette matrice représente la rotation d’axe e. Si on l’évalue en t = ", on obtient unereprésentation de la rotation d’axe e et d’angle " :

R(e, ") = exp(e").

La matrice exponentielle exp(e") se calcule en appliquant la formule de Rodrigues :

exp(e") = I + e sin "+ e2(1 cos ").

Paramètres d’Euler complets

Soit (c, p, q, r) le quadruplet associé à la rotation R(e, ") tel que :

c = cos

"

2

> 0,

et

0

@pqr

1

A= sin

"

2

0

@exeyez

1

A .

Les paramètres constituant ce quadruplet sont appelés paramètres d’Euler complets. Dufait que < " 6 :

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+q2+r2 = 1. L’avantagemajeur de cette représentation est qu’elle ne présente pas de singularité. Du fait du faiblenombre de paramètres utilisés, elle représente donc un bon compromis.

12 1. Représentation des transformations et des mouvements rigides

Angles d’Euler classiques

Les angles d’Euler classiques permettent de décrire l’orientation d’un solide partrois rotations successives. Conformément à la figure 1.6, il s’agit des rotations R(z, ),R(x , ) et enfin R(z, ') où x et z sont déduits des vecteurs du repère de baseconformément à la figure 1.6. Les angles , et ' sont connus respectivement sousles termes de précession, nutation et rotation propre. Chaque nouvelle rotation étant

x

z

x

z

x

z

y y

y'

z'

y'

x'

FIGURE 1.6 – Rotations successives dans le paramétrage par les angles d’Euler

effectuée par rapport à un repère ayant tourné :

R = R(z, ) R(x , ) R(z,').

Sous forme développée :

R =

0

@cos sin 0

sin cos 0

0 0 1

1

A

0

@1 0 0

0 cos sin 0 sin cos

1

A

0

@cos' sin' 0

sin' cos' 0

0 0 1

1

A

soit finalement :

R =

0

@cos cos' sin cos sin' cos sin' sin cos cos' sin sin sin cos'+ cos cos sin' sin sin'+ cos cos cos' cos sin

sin sin' sin cos' cos

1

A .

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 quex = atan2(sinx, cosx).

1.2. Rotations 13

Angles roulis, tangage et lacet

Pour cette représentation, la littérature donne de nombreuses définitions [Paul 81,Craig 89, Khalil 99, Renaud 96]. Ces angles, très utilisés par les anglo-saxons et doncpar les industriels, portent les noms de roll, pitch et yaw en anglais. Il s’agit en faitd’angles d’Euler non classiques en cela que les rotations s’effectuent autour d’axes fixes.

Nous adoptons la définition de [Craig 89] : les rotations successives, conformémentà la figure 1.7, sont R(x, ), R(y, ) puis R(z,↵). Les angles , , et ↵ sont respecti-vement désignés sous les noms d’angles de roulis, tangage et lacet. Chaque nouvelle

x

z

y

FIGURE 1.7 – Rotations successives dans le paramétrage par les angles de roulis, tangageet lacet

rotation étant effectuée par rapport à un axe du repère fixe R :

R = R(z,↵) R(y, ) R(x, ).

Sous forme développée :

R =

0

@cos↵ sin↵ 0

sin↵ cos↵ 0

0 0 1

1

A

0

@cos 0 sin 0 1 0

sin 0 cos

1

A

0

@1 0 0

0 cos sin 0 sin cos

1

A ,

soit finalement :

R =

0

@cos↵ cos sin↵ cos + cos↵ sin sin sin↵ sin + cos↵ sin cos sin↵ cos cos↵ cos + sin↵ sin sin cos↵ sin + sin↵ sin cos sin cos sin cos cos

1

A

La transformation inverse permet d’établir les angles de roulis, tangage et lacet à partirdes cosinus directeurs :

• si 6= ±2 :

↵ = atan2(xy, xx), = atan2(xz,

px2x + x2

y), = 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

1.3 Transformations rigides

1.3.1 Matrices de passage homogènesUne transformation rigide résulte en général de la combinaison d’une translation et

d’une rotation. Elle est définie par la paire g = (p, R) avec p la translation de l’originedu repère lié au solide S en mouvement (voir figure 1.8). L’ensemble des transformationsrigides :

SE(3) = (p, R)/p 2 R3, R 2 SO(3) = R3 SO(3)

est appelé groupe spécial euclidien.

O0

z0

y0

O

z

x

yM

p

x0

FIGURE 1.8 – Transformation rigide du solide S

Soient m = (mx my mz)T et m0

= (m0x m0

y m0z)

T les coordonnées d’un point Mrespectivement dans R et R0. La transformation rigide résultant de la translation p durepère R puis de la rotation du repère obtenu vers R0, on a :

m = p+Rm0. (1.2)

Ceci peut se mettre sous forme linéaire en introduisant les coordonnées homogènesdu point M qui sont représentées par un vecteur de dimension 4 1 :

m =

0

BB@

mx

my

mz

1

1

CCA =

m1

dans R et m0

=

0

BB@

m0x

m0y

m0z

1

1

CCA =

m0

1

dans R0.

On peut alors exprimer la transformation rigide (1.2) par la relation matricielle :m1

=

R p0 1

m0

1

(1.3)

que l’on notera :m = Tm0

en posant :

T =

R p0 1

.

La matrice T , dite matrice de passage homogène, décrit ainsi le passage du repère R aurepère R0 et donc la transformation rigide g = (p, R).

1.4. Mouvements rigides 15

1.3.2 Propriétés des transformations rigidesL’ensemble SE(3) muni de la multiplication matricielle est un groupe. Il en résulte

que :

1. Soit g1 et g2 deux transformations rigides représentées par les matrices homo-gènes :

T1 =

R1 p10 1

, T2 =

R2 p20 1

.

Alors g1g2 est bien une transformation rigide de matrice homogène :

T1T2 =

R1R2 R1p2 + p10 1

. (1.4)

2. La matrice identité d’ordre 4 est l’élément neutre du groupe SE(3).

3. D’après le produit (1.4) l’inverse d’une transformation rigide g = (p, R) de SE(3)

est représentée par :

T1=

RT RTp0 1

et donc g1= (RTp, RT

).

1.4 Mouvements rigides

1.4.1 Vecteur vitesse de rotationComme précédemment dans le cas des transformations rigides, on considère tout

d’abord un mouvement de rotation pure. On considère un solide S auquel est lié unrepère R0 en rotation dans R autour d’un point O, origine des deux repères. Le vecteurvitesse de rotation décrit le mouvement de rotation. Il est porté par l’axe instantané derotation du solide S , dirigé suivant le principe du tire-bouchon (voir figure 1.9).

O

z0 z

y

x

y0

M

OMx0

vM

FIGURE 1.9 – Mouvement de rotation pure, axe instantané de rotation et vecteur vitessede rotation d’un solide S

16 1. Représentation des transformations et des mouvements rigides

1.4.2 Vitesse d’un point lié à un solideCas des rotations pures On considère un point M du solide S. Le mouvement dupoint M est donné par les coordonnées m(t) du point dans le repère fixe R, au cours dutemps. Le point M tournant autour de l’axe instantané de rotation et le vecteur vitesse derotation du solide S étant , la vitesse vM de M est :

vM = OM.

Si l’on considère les coordonnées des points et vecteurs :

vM = m,

= R m0,

=

ˆ

R m0, (1.5)

en définissant :

ˆ

=

0

@0 z y

z 0 x

y x 0

1

A

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’ondérive l’équation (1.1) :

dm

dt= vM =

dR

dtm0. (1.6)

Il résulte de (1.5) et (1.6) que :dR

dt=

ˆ

R. (1.7)

Cas des mouvements quelconques A la section 1.3 on a calculé la position d’un pointM 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 fonctioncontinue du temps, on souhaite connaître la vitesse vM du point dans R, à l’image de cequi a été fait dans le paragraphe précédent, dans le cas d’une rotation pure. Si l’on dérivel’équation (1.2) :

dm

dt= vM =

dR

dtm0

+

dp

dt, (1.8)

=

ˆ

R m0+ vM 0 (1.9)

ce qui peut se mettre sous la forme linéaire :vM1

=

ˆ

R vM 0

0 1

m0

1

.

Chapitre 2

Description des bras manipulateurs

On se propose par la suite d’établir les modèles géométriques et cinématiques desbras manipulateurs. Pour cela on définit la forme des chaînes cinématiques qui serontétudiées et le paramétrage usuel de ces structures [Renaud 86].

2.1 Chaîne cinématique d’un bras manipulateur

On ne considère ici que les systèmes mécaniques composés de chaînes cinématiquespolyarticulées ouvertes, appelés bras manipulateurs série. La figure 2.1 montre les deuxstructures les plus répandues dans l’industrie :

– les bras manipulateurs de type anthropomorphe, à six liaisons rotoïdes, d’usagegénéral ;

– les bras manipulateurs de type SCARA, qui sont fréquemment utilisés dans lescellules de production pour les opérations de palettisation.

FIGURE 2.1 – Bras manipulateurs de type anthropomorphe et SCARA

On supposera par la suite les bras manipulateurs constitués de n corps mobiles,supposés parfaitement rigides, reliés entre eux par n liaisons rotoïdes et/ou prismatiquesformant une structure de chaîne simple (voir figure 2.2 page suivante). Pour identifier la

18 2. Description des bras manipulateurs

C1 C2 Cn1 Cn

liaison

corps corps corps corps

liaison liaison liaisonliaison(corps C0)bâti

L1 L2 L3 Ln1 Ln

FIGURE 2.2 – Chaîne cinématique d’un bras manipulateur série

nature de la i-ème liaison du bras manipulateur, on définit le paramètre :

i =

(0, pour une liaison rotoïde,1, pour une liaison prismatique.

On désigne fréquemment les bras manipulateurs en acollant les lettres R (pour rotoïde) etP (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 manipulateurde type SCARA sera de type RRP ou RRPR (il existe plusieurs variantes).

2.2 Paramètres de Denavit-Hartenberg modifiésLa technique la plus répandue 1 pour décrire la géométrie d’un bras manipulateur

consiste à utiliser les paramètres de Denavit-Hartenberg modifiés [Khalil 86]. On associeau i-ème corps le repère Ri = (Oi, xi, y

i, zi), avec i = 0, 1, . . . , n. Pour placer

les repères R1 à Rn1 selon la règle des paramètres de Denavit-Hartenberg modifiés,il convient de suivre les règles suivantes (voir figure 2.3 page ci-contre), pour i =

2, 3, . . . , n :– Oi1 est le pied de la perpendiculaire commune aux axes des liaisons Li1 et Li,

situé sur Li1. Si les axes des liaisons sont parallèles, il faut choisir arbitrairementune perpendiculaire commune ;

– xi1 est le vecteur unitaire de cette perpendiculaire commune, orienté de Li1 versLi. Si les axes des deux liaisons sont concourants ou confondus, l’orientation estarbitraire (règle avant, droite, haut) ;

– zi1 est un vecteur unitaire de l’axe de la liaison Li1, librement orienté. Onprivilégie généralement les débattements positifs pour les liaisons prismatiques eton symétrise généralement par rapport à 0 le débattement des liaisons rotoïdes ;

– yi1

est tel que le repère Ri1 soit orthonormé direct.

Ensuite, le repère R0 est défini librement en suivant des considérations de simplicité.De même, le point On est choisi de façon à annuler un maximum de paramètres. Unpoint On+1 est associé à l’OT du bras manipulateur, selon des critères opérationnels :typiquement, si le bras manipulateur est équipé d’une pince, le point On+1 représenterale centre de ses mors. On choisit alors enfin Rn de sorte que le point On+1 se situe dansle plan Ri = (On, xn, zn), conformément à la figure 2.4.

1. A la fois celle à laquelle on attribue la plus grande généralité [Gorla 01] et la plus intuitive enpratique.

2.2. Paramètres de Denavit-Hartenberg modifiés 19

axe liaisonLi1

xi1

zi1

ai1

Oi1

i1

Li

axe liaison

xi

Oi

xi

xi1

zi

i

ri

zi

zi

↵i1

FIGURE 2.3 – Paramètres de Denavit-Hartenberg modifiés

Les repères étant choisis, la situation du repère d’un corps respectivement à celle durepère du corps suivant peut être définie conformément à la figure 2.3. Les paramètres↵i1, ai1, i et ri, avec i = 1, 2, . . . , n, placés sur cette figure sont appelés paramètresde Denavit-Hartenberg modifiés. Textuellement, on peut les définir comme suit :

– ↵i1 : angle algébrique entre zi1 et zi, mesuré autour de xi1 ;– ai1 : distance arithmétique de la perpendiculaire commune aux axes des liaisonsLi1 et Li mesurée le long de xi1 ;

– i : angle algébrique entre xi1 et xi, mesuré autour de zi ;– ri : distance algébrique du point Oi à la perpendiculaire, mesurée le long de zi.

Les paramètres de Denavit-Hartenberg modifiés permettent de déterminer de manièreunique la configuration des corps et donc la géométrie du bras manipulateur. Lorsque

O

z

x

y

On

On+1

zn

xn

an

rn+1

FIGURE 2.4 – Placements respectifs des repères Rn et du point On+1

20 2. Description des bras manipulateurs

l’on modélise une bras manipulateur, il est souhaitable de représenter celui-ci dansune configuration particulière, pour visualiser plus facilement les paramètres et annulercertains paramètres constants. On obtient alors la valeur des les paramètres constants↵i1 et ai1 et la configuration des liaisons décrite par les paramètres i et ri variables.

0 Exemple A titre d’exemple, paramétrer le bras manipulateur de type 6R présenté à lafigure 2.5.

a2

x3

r7r4

O7

x4, x5, x6

Organe terminalz4, z6

z3 z5

O0, O1, O2 O4, O5, O6

z0, z1

z2

x0, x1, x2

articulation i 1 2 3 4 5 6

i 0 0 0 0 0 0

↵i1 0

2

0

2

2

2

ai1 0 0 a2 0 0 0

i q1 q2 q3 q4 q5 q6

ri 0 0 0 r4 0 0

O3

FIGURE 2.5 – Repérage et paramétrage d’un bras manipulateur de type 6R selon laméthode des paramètres de Denavit-Hartenberg modifiés

2.3 Relations géométriquesConformément au paramétrage de Denavit Hartenberg modifié, la matrice de trans-

formation entre les corps Ci1 et Ci est donc :

Ti1, i =

0

BB@

1 0 0 0

0 cos↵i1 sin↵i1 0

0 sin↵i1 cos↵i1 0

0 0 0 1

1

CCA

| z R(x

i1, ↵i1)

0

BB@

1 0 0 ai1

0 1 0 0

0 0 1 0

0 0 0 1

1

CCA

| z translation de a

i1xi1

0

BB@

cos i sin i 0 0

sin i cos i 0 0

0 0 1 0

0 0 0 1

1

CCA

| z R(z

i

, i

)

0

BB@

1 0 0 0

0 1 0 0

0 0 1 ri0 0 0 1

1

CCA

| z translation de r

i

zi

2.4. Relations cinématiques 21

soit :

Ti1, i =

0

BB@

cos i sin i 0 ai1

cos↵i1 sin i cos↵i1 cos i sin↵i1 ri sin↵i1

sin↵i1 sin i sin↵i1 cos i cos↵i1 ri cos↵i1

0 0 0 1

1

CCA (2.1)

qui prend la forme :

Ti1, i =

Ri1, i pi1, i

0 1

où Ri1, i représente la rotation entre les repères Ri1 et Ri et pi1, i la translation entreces mêmes repères.

2.4 Relations cinématiques

On considère la ième liaison, d’axe zi. Les autres axes étant fixes, une vitesse qide l’axe i engendre une vitesse linéaire p

idu point On et une vitesse de rotation i du

repère Rn par rapport au repère fixe R0.Le cas d’une liaison prismatique d’axe zi est illustré à la figure 2.6. Il en résulte que :

axe liaisonLi

Oi

On

qi zi

pi= qi zi

FIGURE 2.6 – Vitesse du point On pour une vitesse qi de la ième liaison, dans le casd’une liaison prismatique

pi

= qi zii = 0.

Le cas d’une liaison rotoïde d’axe zi est illustré à la figure 2.7 page suivante. Il enrésulte que :

pi

= qi zi pi,n

i = qi zi

22 2. Description des bras manipulateurs

axe liaisonLi

Oi

On

pi,n

i = qi zi

pi= qizi p

i,n

FIGURE 2.7 – Vitesse du point On pour une vitesse qi de la ième liaison, dans le casd’une liaison rotoïde

où pi,n

= OiOn. En utilisant le paramètre i et son complément à 1 i on peut regrouperces relations et obtenir, pour une liaison quelconque :

pi

= (i zi + i zi pi,n)qi (2.2)

i = (i zi) qi. (2.3)

Chapitre 3

Modélisation des bras manipulateurs

3.1 Configuration et situation d’un bras manipulateur

De manière classique, la configuration d’un système mécanique est connue quand laposition de tous ses points dans R0 est connue [Neimark 72]. Pour un bras manipulateur,elle est définie par un vecteur q de n coordonnées indépendantes appelées coordonnéesgénéralisées. La configuration est alors naturellement définie sur un espace N dont ladimension n est appelée indice de mobilité. N est appelé espace des configurations. Lescoordonnées généralisées correspondent aux grandeurs caractéristiques des différentesarticulations : angles de rotation pour les liaisons rotoïdes, translations pour les liaisonsprismatiques. On note q = (q1 q2 . . . qn)T .

La situation x de l’OT du bras manipulateur est alors définie par m coordonnées indé-pendantes dites coordonnées opérationnelles, qui donnent la position et l’orientation del’OT dans R0. On définira généralement la situation en fonction de la tâche à accomplir :par exemple on pourra ne considérer que la position de l’OT et non plus son orientation.Dans tous les cas, la situation de l’OT est définie sur un espace M, de dimension m 6 6,appelé espace opérationnel [Khatib 86]. On note x = (x1 x2 . . . xm)

T . Le choix leplus commun pour les paramètres de position est celui des coordonnées cartésiennes.L’expression de l’orientation de l’OT dépend du choix des paramètres angulaires (voirsection 1.2.7).

3.2 Modèle géométrique direct

3.2.1 Définition

Le modèle géométrique direct (MGD) d’un bras manipulateur exprime la situation deson OT en fonction de sa configuration 1 :

f : N ! Mq 7! x = f(q).

(3.1)

1. Autrement dit ses coordonnées opérationnelles en fonction de ses coordonnées généralisées.

24 3. Modélisation des bras manipulateurs

3.2.2 Calcul

Le calcul du MGD consiste donc à exprimer la position du point On+1 et l’orientationdu repère Rn lié à l’OT, en fonction de sa configuration. Il faut pour cela multiplier lesmatrices 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) . . . Tn1,n(qn). (3.2)

La matrice :

T0,n =

R0,n p0,n0 1

permet donc de connaître l’orientation de l’OT dans le repère de base et la positionp0,n = (px py pz)T du point On. Comme précédemment, on note :

R0,n =

0

@xx yx zxxy yy zyxz yz zz

1

A

et l’on rappelle qu’il suffit de connaître les première et troisième colonne de cette matricepour 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 + anxx + rn+1zx,x2 = py + anxy + rn+1zy,x3 = pz + anxz + rn+1zz.

(3.3)

3.2.3 Règles pratiques

Les règles précédentes permettent de programmer aisément le calcul numériquedu MGD. Le calcul analytique permet de diminuer de manière conséquente le nombred’opérations. Pour cela la connaissance de certaines règles et propriétés permet desimplifier le calcul :

– les notations étant généralement lourdes, on adopte un certain nombre de conven-tions. On note, pour i, j, . . . compris entre 1 et n :

Si = sin qiCi = 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

B possédant une seconde colonne indéterminée donne :0

BB@

a11 a12 a13 0

a21 a22 a23 0

a31 a32 a33 0

0 0 0 1

1

CCA

0

BB@

b11 b13 0

b21 b23 0

b31 b33 0

0 0 0 1

1

CCA =

0

BB@

a11b11 + a12b21 + a13b31 a11b13 + a12b23 + a13b33 0

a21b11 + a22b21 + a23b31 a21b13 + a22b23 + a23b33 0

a31b11 + a32b21 + a33b31 a31b13 + a32b23 + a33b33 0

0 0 0 1

1

CCA .

– si deux transformations se composent aisément on effectue tout d’abord leurproduit : c’est le cas en particulier de la transformation due à deux rotationssuccessives d’axes parallèles. Par exemple si l’on considère deux rotations puressuccessives de q1 et q2 autour d’un même axe y

1= y

2:

0

BB@

C1 0 S1 0

0 1 0 0

S1 0 C1 0

0 0 0 1

1

CCA

0

BB@

C2 0 S2 0

0 1 0 0

S2 0 C2 0

0 0 0 1

1

CCA =

0

BB@

C1+2 0 S1+2 0

0 1 0 0

S1+2 0 C1+2 0

0 0 0 1

1

CCA

3.2.4 ExempleOn 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 :

T0, 1 =

0

BB@

C1 S1 0 0

S1 C1 0 0

0 0 1 0

0 0 0 1

1

CCA T1, 2 =

0

BB@

C2 S2 0 0

0 0 1 0

S2 C2 0 0

0 0 0 1

1

CCA

T2, 3 =

0

BB@

C3 S3 0 a2S3 C3 0 0

0 0 1 0

0 0 0 1

1

CCA T3, 4 =

0

BB@

C4 S4 0 0

0 0 1 r4S4 C4 0 0

0 0 0 1

1

CCA

T4, 5 =

0

BB@

C5 S5 0 0

0 0 1 0

S5 C5 0 0

0 0 0 1

1

CCA T5, 6 =

0

BB@

C6 S6 0 0

0 0 1 0

S6 C6 0 0

0 0 0 1

1

CCA

La multiplication des matrices, selon les règles précédemment énoncées fait apparaîtreles variables auxiliaires suivantes :

D1 = a2C2

D2 = a2S2

D3 = C5C6

D4 = S5C6

D5 = C4D3 S4S6

D6 = C4S5

D7 = S4D3 + C4S6

D8 = S4S5

D9 = C2+3D5 + S2+3D4

D10 = C2+3D6 + S2+3C5

D11 = r4S2+3 +D1

26 3. Modélisation des bras manipulateurs

px = C1D11

py = S1D11

pz = r4C2+3 +D2

xx = C1D9 + S1D7

xy = S1D9 C1D7

xz = S2+3D5 C2+3D4

zx = C1D10 + S1D8

zy = S1D10 C1D8

zz = S2+3D6 C2+3C5

yx = zy xz zz xy

yy = zz xx zx xz

yz = zx xy zy xx

La situation est alors donnée par :– position dans R0 :

x1 = px + r7 zxx2 = py + r7 zyx3 = pz + r7 zz

– orientation dans R0, avec les cosinus directeurs incomplets :x4 = xx

x5 = xy

x6 = xz

x7 = zxx8 = zyx9 = zz

– orientation dans R0, avec les angles d’Euler calssiques :– si zz 6= ±1 :

x4 = = atan2(zx, zy)x5 = = acos zzx6 = ' = atan2(xz, yz)

– si zz = 1 :x5 = (1 zz)/2

x6 + zzx6 = atan2(yx, xx)

3.3 Modèle géométrique inverse

3.3.1 DéfinitionLe modèle géométrique inverse (MGI) d’un bras manipulateur permet d’obtenir la

ou les configurations correspondant à une situation de l’OT donnée. Un MGI est donc telque :

f1: M ! N

x 7! q = f1(x).

(3.4)

La résolubilité du MGI, c’est-à-dire l’existence d’un nombre fini de solutions estfondamentale en matière de conception. Supposons que la situation x d’un bras manipu-lateur à n liaisons soit exprimée par un nombre m minimal de paramètres (voir section

3.3. Modèle géométrique inverse 27

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é descas) :

– 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-à-direqu’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 liaisonsrotoïdes concourantes). Enfin, seul le calcul du MGI permet de connaître le nombre desolutions.

3.3.2 Calcul

Il n’existe pas de méthode analytique systématique pour calculer le MGI. Le mieuxest de reprendre les équations du MGD, préalablement calculé et de mener le calcul àl’envers. Le calcul se fait alors au cas par cas. Il est généralement aisé pour un brasmanipulateur à moins de six axes, comme les bras manipulateur de type SCARA. Dansle cas où n = 6, l’existence d’un poignet sphérique permet de débuter la résolution parl’inversion du système 3.3, soit :

px = x1 anxx rn+1zx,

py = x2 anxy rn+1zy,

pz = x3 anxz rn+1zz.

On résout ensuite le système d’équations non-linéaires que constitue le MGD, pourexprimer les qi, pour i = 1, 2, . . . , n en fonction de px, py, pz et des cosinus directeurs.

3.3.3 Exemple

Reprenons l’exemple du bras manipulateur de type 6R.On détermine tout d’abord les coordonnées du point On, centre du poignet sphérique :

px = x1 r7 zxpy = x2 r7 zypz = x3 r7 zz

Ensuite, on résout les autres équations :D11 = "1

pp2x + p2y ! 2 solutions "1 = ±1

2. Il n’est pas toujours facile de savoir si c’est le cas.

28 3. Modélisation des bras manipulateurs

Si D11 = 0 : q1 indéterminé ! FINsinon :

C1 =

px

D11

S1 =

py

D11

q1 = atan2(S1, C1)

S3 =

D211+p2

z

(r24+a22)2a2r4

C3 = "3p1 S2

3

q3 = atan2(S3, C3) ! 2 solutions "3 = ±1

S2 =

(r4C3)D11+(r4S3+a2)pzD2

11+p2z

C2 =

(r4C3)pz+(r4S3+a2)D11

D211+p2

z

q2 = atan2(S2, C2)

S2+3 =

D11a2C2r4

C2+3 =

pz

+a2S2

r4

D10 = C1zx + S1zy

D8 = S1zx C1zy

D9 = C1xx + S1xy

D7 = S1xx C1xy

D6 = C2+3D10 + S2+3zz

C5 = S2+3D10 C2+3zz

D5 = C2+3D9 + S2+3xz

D4 = S2+3D9 C2+3xz

S5 = "5p

D26 +D2

8 ! 2 solutions "5 = ±1

q5 = atan2(S5, C5)

Si S5 = 0 : q4 indéterminé ! FINsinon :

C4 =

D6S5

S4 =

D8S5

q4 = atan2(S4, C4)

D3 = C4D5 + S4D7

S6 = S4D5 + C4D7

C6 = C5D3 S5D4

q6 = atan2(S6, C6) ! FIN

3.4. Modèle cinématique direct 29

3.4 Modèle cinématique direct

3.4.1 Définition

Le modèle cinématique direct (MCD) du bras manipulateur donne la relation entre lesvitesses opérationnelles x et les vitesses généralisées q du bras manipulateur :

x = Jq, (3.5)

où J = J(q) est la matrice jacobienne de la fonction f , de dimension m n :

J : TqN ! TxM

q 7! x = Jq, où J =

@f

@q.

La matrice jacobienne représente l’application linéaire df entre les espaces TqN et TxM,respectivement tangents à N en q et à M en x = f(q).

On peut alternativement définir le modèle différentiel direct (MDD) qui donne l’ac-croissement infinitésimal dx de la situation en fonction d’un accroissement dq de laconfiguration :

dx = Jdq.

3.4.2 Calcul

On souhaite calculer la vitesse opérationnelle x 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 durepère Rn en appliquant le principe de superposition. On obtient, d’après (2.2) et (2.3) :

p =

nX

i=1

(i zi + i zi pi,n)qi,

=

nX

i=1

(i zi) qi.

On obtient alors : p

= Jg q

avec :

Jg =

1 z1 + 1 z1 p

1,n2 z2 + 2 z2 p

2,n. . . n zn + n zn p

n,n

1 z1 2 z2 . . . n zn

une matrice vectorielle de dimension 2 n. Si l’on projette cette relation dans le repèreR0 lié au bâti :

p

= Jg q

où p et sont les coordonnées respectives de p et .

30 3. Modélisation des bras manipulateurs

Pour obtenir J , matrice jacobienne de f il convient alors d’exprimer la vitesseopérationnelle x à partir de p et . Concernant les dérivées de position, d’après (3.3), ilvient : 0

@x1

x2

x3

1

A=

0

@pxpypz

1

A+

0

@x

y

z

1

A

0

@an

0

@xx

xy

xz

1

A+ rn+1

0

@zxzyzz

1

A

1

A

soit encore, en transformant le produit vectoriel en produit matriciel :0

@x1

x2

x3

1

A=

0

@pxpypz

1

A+D

0

@x

y

z

1

A (3.6)

avec :

D =

0

@0 anxz + rn+1zz anxy rn+1zy

anxz rn+1zz 0 anxx + rn+1zxanxy + rn+1zy anxx rn+1zx 0

1

A .

En ce qui concerne l’orientation, définie par les paramètres x4, x5, . . . xm, on note Cla matrice de dimensions (m 3) 3 faisant la correspondance entre les vitesses derotation de l’OT et les dérivées des paramètres angulaires choisis 3 :

0

BB@

x4

x5

. . .xm

1

CCA = C

0

@x

y

z

1

A . (3.7)

En regroupant (3.7) et (3.6), on obtient :

x =

I D0 C

p

=

I D0 C

Jg q,

ce qui permet finalement d’établir la jacobienne :

J =

I D0 C

Jg.

3.4.3 Règles pratiquesOn montre [Renaud 86] que l’on peut considérablement diminuer la complexité du

calcul analytique du modèle en établissant la matrice Jg par la relation :

Jg =

R0,1 0

0 R0,1

R1,2 0

0 R1,2

. . .

Rk1,k 0

0 Rk1,k

I pk+1,n|R

k

0 I

Jk+1|R

k

avec :– k = Ent(n2 ) , où Ent est la fonction partie entière et k est le nombre appelé

indice préférentiel. Ceci est d’autant plus intéressant quand le robot possède sixarticulations, car alors p4,6 = 0 si le robot est muni d’un poignet sphérique ;

3. Pour obtenir cette matrice se référer à un ouvrage classique de mécanique ou de robotique ou à[Renaud 96].

3.4. Modèle cinématique direct 31

– pk+1,n|Rk

la matrice anti-symétrique associée à la projection de pk+1,n dans Rk ;– Jk+1|R

k

la projection dans Rk de :

Jk+1 =

1 z1 + 1 z1 p

1,k+12 z2 + 2 z2 p

2,k+1. . .

n

zn

+ n

zn

pn,k+1

1 z1 2 z2 . . . n

zn

Enfin, on notera que le calcul du MCD ne passe pas nécessairement par celui dela matrice jacobienne. Si l’on n’a pas besoin de la matrice jacobienne, on pourra secontenter d’exprimer x en fonction de q en un nombre minimal d’opérations, à l’imagede ce qui a été fait pour le MGD.

3.4.4 ExempleReprenons 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) :

J4 =

z1 p

1,4z2 p

2,4z3 p

3,40 0 0

z1 z2 z3 z4 z5 z6

!

Pour projeter cette matrice vectorielle dans le repère R3, le mieux est d’exprimerses composantes vectorielles en fonction des vecteurs de la base R3, ce qui donneradirectement la projection. On a tout d’abord :

z2 = z3,z4 = y

3,

(x1 y1z1)

T= R1,3(x3 y

3z3)

T

soit z1 = S2+3x3 + C2+3y3,(x5 y

5z5)

T= R3,5(x3 y

3z3)

T

soit z5 = S4x3 + C4z3,(x6 y

6z6)

T= R3,6(x3 y

3z3)

T

soit z6 = D6x3 C5y3 +D8z3.

Alors on effectue le calcul des composantes manquantes :

z3 p3,4

= z3 r4z4,

= z3 r4(y3),

= r4x3.z2 p

2,4= z2 (p

2,3+ p

3,4),

= z3 (r4y3 + a2x2),= z3 (r4y3 + a2(C3x3 S3y3)),= (r4 + a2S3)x3 + a2C3y3.

et enfin :

z1 p1,4

= z1 (p1,2

+ p2,4),

= (S2+3x3 + C2+3y3) (a2C3x3 (r4 + a2S3)y3),= z3 (r4y3 + a2(C3x3 S3y3)),= D11z3.

32 3. Modélisation des bras manipulateurs

On pose donc :

E1 = a2S3 + r4,E2 = a2C3

et l’on a :

J4|R3 =

0

BBBBBB@

0 E1 r4 0 0 0

0 E2 0 0 0 0

D11 0 0 0 0 0

S2+3 0 0 0 S4 D6

C2+3 0 0 1 0 C5

0 1 1 0 C4 D8

1

CCCCCCA.

Alors :Jg =

R0,1 0

0 R0,1

R1,2 0

0 R1,2

R2,3 0

0 R2,3

J4|R3

Avec les variables intermédiaires suivantes, on obtient alors la matrice Jg :

E3 = C2+3E1 S2+3E2

E4 = C2+3r4E5 = C2+3S4

E6 = C2+3D6 + S2+3C5

E7 = S2+3E1 + C2+3E2

E8 = S2+3r4E9 = C1S2+3

E10 = S1C4 + C1E5

E11 = C1E6 + S1D8

E12 = S1S2+3

E13 = S1E5 C1C4

E14 = S1E6 C1D8

E15 = S2+3S4

E16 = S2+3D6 C2+3C5

E17 = D11S1 zyr7E18 = E3 zzr7E19 = C1E18

E20 = E4 zzr7E21 = C1E20

E22 = (C2+3zy + E12zz)r7E23 = (E15zy + E13zz)r7E24 = D11C1 + zxr7E25 = S1E18

E26 = S1E20

E27 = (C2+3zx E9zz)r7E28 = (E15zx E10zz)r7E29 = (C1zx + S1zy)r7E30 = E7 + E29

3.4. Modèle cinématique direct 33

E31 = E8 + E29

E32 = (E12zx + E10zy)r7E33 = (E14zx + E11zy)r7

avec :

Jg =

0

BBBBBB@

E17 E19 E21 E22 E23 0

E24 E25 E26 E27 E28 0

0 E30 E31 E32 E33 0

0 S1 S1 E9 E10 E11

0 C1 C1 E12 E13 E14

1 0 0 C2+3 E15 E16

1

CCCCCCA

On en termine par :

E34 = cos E35 = sin E36 = E35/ sin E37 = E34/ sin E38 = E36 cos E39 = E37 cos

Finalement :

x =

I D0 C

Jg q,

avec :

I D0 C

=

0

BBBBBB@

1 0 0 0 r7zz r7zy0 1 0 r7zz 0 r7zx0 0 1 r7zx r7zx 0

0 0 0 E38 E39 1

0 0 0 E34 E35 0

0 0 0 E36 E37 0

1

CCCCCCA

Partie II

Commande des robots manipulateurs

Chapitre 4

Génération de mouvements

4.1 Les différents problèmes

Une fois connus les modèles d’un robot manipulateur, ceux-ci peuvent être utiliséspour déterminer la position et l’orientation de l’organe terminal, afin de réaliser unetâche donnée. Selon la nature de la tâche à effectuer on distinguera des problèmesdits point-à-point et des problèmes dits à trajectoire ou mouvement imposé. Dans lepremier cas le mouvement du robot s’effectuera d’une configuration (point) à une autre,la trajectoire entre les deux étant libre. Dans le second cas, la trajectoire ou le mouvementdu robot seront imposés, soit dans l’espace des configurations, par exemple pour éviterdes obstacles, soit dans l’espace opérationnel, par exemple pour que l’organe terminal sedéplace en ligne droite. Il existe donc plusieurs problèmes très différents de générationde mouvements pour un robot manipulateur, selon que la tâche impose l’un ou l’autre deces scénarios.

4.1.1 Problèmes point-à-point

Le cas le plus classique est celui ou l’on doit atteindre une position et une orientationdésirées xf de l’organe terminal, à partir d’une configuration de départ q0. Dans cecas précis, il suffit d’obtenir à l’aide du modèle géométrique inverse la configurationqf associée à xf . Le problème s’exprime ensuite uniquement dans l’espace articulaire,comme représenté sur la figure 4.1.

x

f

q

r

(t)

q0

de mouvementgénération variateur robot

q(t)

capteur

MGIq

f

FIGURE 4.1 – Principe de la commande point-à-point, dans l’espace articulaire.

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) lescontraintes telles que vitesses et couples maximums sont prises en compte au niveau dela génération de mouvements (de consigne) du robot, entre les deux configurations. Enrevanche, la prise en compte des contraintes géométriques entre le point de départ et lepoint d’arrivée est impossible : pas de gestion des auto-collisions, ni des collisions durobot avec l’environnement. C’est la raison pour laquelle ces mouvements point-à-pointconviennent bien à des robots industriels qui ont un espace de travail compact, avecpeu 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 lecas des robots qui travaillent dans des cellules dédiées, comme à la figure 4.2.

FIGURE 4.2 – Cellule robotisée et robot Epson SCARA.

4.1.2 Problèmes à mouvement opérationnel imposéDans le cas où le mouvement opérationnel est imposé, il s’agit de calculer les com-

mandes articulaires du robot permettant de suivre au mieux la trajectoire opérationnelleau cours du temps, comme représenté sur la figure 4.3.

q(t)

+

xr(t)

x0

x(t)

de mouvementgénérationxf

MGD

variateur robot

capteur

qr(t)cinématiqueinverse

FIGURE 4.3 – Principe de la commande point-à-point, dans l’espace articulaire.

4.1. Les différents problèmes 39

Le mouvement à suivre xr(t) peut résulter d’une génération préalable, comme parexemple si l’on souhaite que l’organe terminal suive une ligne droite entre la situationcourante x0 et la situation finale xf (exemple figure 4.4). Dans ce cas, il ne s’agit pasd’une tâche point-à-point, puisque la trajectoire entre le point initial et le point final estimposée. Dans d’autres cas, le mouvement opérationnel à suivre xr(t) sera complètementdéfini par la tâche, et ne nécessitera pas de planification préalable.

FIGURE 4.4 – Tâche de soudage à l’arc de tubes, robot ABB.

La résolution de ce type de problème permet bien sûr de réaliser des tâches pluscomplexes que les tâches point-à-point. Cette approche permet par ailleurs de reformulerles problèmes de commande selon une approche dite référencée capteur, ou l’on utilisedes capteurs extéroceptifs (des caméras par exemple) pour asservir la situation de l’organeterminal du robot. En revanche, elle rend difficile, voire impossible, une prise en comptesystématique des contraintes telles que les butées articulaires, les limites de vitesse oul’évitement des obstacles. Elle oblige à utiliser à chaque itération un ou plusieurs modèlesdu robot pour traduire en commande articulaire la position (ou la vitesse) désirée auniveau de l’organe terminal, et pour reconstruire la situation de l’organe terminal à partirdes mesures des capteurs placés au niveau des articulations. Enfin, ce type de commandepeut être mis en échec lors du passage par une configuration singulière dans laquellela continuité de la commande ne sera plus assurée, le problème de cinématique inversen’ayant alors plus de solution. Il existe évidemment certaines solutions aux différentsproblè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 nousn’aborderons que très peu la notion de redondance et son utilisation pour résoudre lesproblèmes de commande.

40 4. Génération de mouvements

4.2 Système de commande d’un robotD’après les explications précédentes, on aura compris que la commande d’un robot

doit permettre différentes fonctionnalités. En particulier, elle doit autoriser la générationet l’exécution de mouvements définis soit dans l’espace articulaire, soit dans l’espaceopérationnel. Les fonctions principales sont des calculs de références et l’asservissementdes actionneurs. Pour cela, il faut évidemment une architecture matérielle adaptée :

– une partie puissance, qui réalise l’alimentation des actionneurs du robot et leurasservissement, afin que ceux-ci puissent fonctionner à vitesse variable ;

– une partie contrôleur, pour générer les consignes du robot et assurer un certainnombre de fonctionnalités de supervision, de communication et de programmation.

La figure 4.6 donne le schéma synoptique du système de commande d’un robot AdeptViper 650. On y retrouve la partie puissance (MB-60R) et la partie contrôleur (Smart-Controller CX). Nous allons décrire l’architecture générale d’un dispositif de commandede robot à partir de cet exemple.

FIGURE 4.5 – Système de commande d’un robot Adept Viper s650 [Adept 13b].

4.2. Système de commande d’un robot 41

4.2.1 Contrôleur de robot

Dans le système de commande de la figure 4.5, c’est le module Adept SmartController(figure 4.6) qui réalise la génération et la supervision du mouvement. Un tel systèmeest en général générique, ce qui permet de n’avoir qu’un générateur de mouvementpour toute une famille de robots. Ce module utilise un système d’exploitation dédié, leV+ [Adept 13a], évolution de l’OS développé à l’époque d’Unimation, aux premièresheures de la robotique. On doit connecter ce contrôleur à un PC par liaison Ethernet(la connexion clavier/souris/écran est aussi possible) afin de paramétrer le systèmeou programmer les mouvements du robot. Pour cela, on utilise le langage robotiquedéveloppé pour le V+, dont une illustration est donnée par la séquence d’instructions dela table 4.1. Ce langage est interprété, et l’on peut programmer des scripts à l’aide del’éditeur See.

; Define a simple transformationSET loc_a = TRANS(300,50,350,0,180,0)

; Move to the locationMOVE loc_aBREAK

; Move to a location offset -50mm in X, 20mm in Y,; and 30mm in Z relative to "loc_a"

MOVE loc_a :TRANS(-50, 20, 30)BREAK

; Define "loc_b" to be the current location relative; to "loc_a"

HERE loc_a :loc_b ;loc_b = -50, 20, 30, 0, 0, 0BREAK

; Define "loc_c" as the vector sum of "loc_a" and "loc_b"SET loc_c = loc_a :loc_b ;loc_c = 350, 70, 320, 0, 180, 0

Once this code has run, loc_b exists as a transformation that is completely independent of loc_a. The following instructionmoves 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_bMultiple 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_dthe robot moves to a position x = -50mm, y =70mm, and z = 30mm relative to loc_a.

TABLE 4.1 – Exemple de séquence d’instructions en V+ [Adept 13a].

Ceci suffit généralement à la plupart des fonctionnalités requises pour utiliser desrobots 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) enutilisant un des bus de communication et le protocole associé (figure 4.6).

Adept utilise en particulier la liaison IEEE 1394 (FireWire) pour la communicationavec 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 permettreun fonctionnement dit en temps-réel. Ceci implique qu’outre la validité des donnéestransférées, le bus est aussi capable de garantir le cadencement temporel. Le contrôleurdispose 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 à lacommande du robot par vision, ou au pilotage du robot de manière coordonnée avecun convoyeur automatisé. Ceci s’explique par la destination industrielle de ce type derobots.

42 4. Génération de mouvements

FIGURE 4.6 – Entrées-sorties Adept SmartController CX [Adept 13b].

Un connecteur particulier (XMPC) permet de relier au SmartController un boîtierde commande manuelle (pendant en anglais, figure 4.7). A l’aide de celui-ci, on peutaccéder à un large jeu de fonctionnalités, notamment au pilotage manuel des mouvementsarticulaires, dans le repère de base ou dans le repère outil. Ce système est notammentpratique pour apprendre de façon interactive des configurations particulières ou un cyclede fonctionnement. On peut notamment enregistrer des variables (configurations parexemple), qui seront par la suite disponibles pour être utilisées dans les programmes. Pourdes raisons de sécurité le pendant du robot est généralement associé à un interrupteurqu’il faut maintenir pour que les moteurs du robot soient alimentés.

FIGURE 4.7 – Boîtier de commande manuelle T1 Adept [Adept 13b].

4.2. Système de commande d’un robot 43

4.2.2 Variateur de vitesseLes puissances mises en jeu dans les systèmes de commande de robots sont très va-

riables, et dépendent beaucoup des masses en mouvement et des vitesses de déplacementautorisées. A titre d’exemple, un robot Adept Viper s650 consommera une puissancemaximale de 2kW (pendant un temps limité à environ 100 ms) s’il porte une charge utilede 5 kg et que toutes les articulations bougent en même temps. Pour fournir au robot lapuissance suffisante, ainsi que pour piloter la vitesse ou la position des axes, on utilise unvariateur de vitesse, système qui combine des technologies issues de l’électrotechniqueet de l’automatique. Le variateur MotionBlox-60R, utilisé dans le système de commandede la figure 4.5, autorise deux grandes fonctions pour la commande du robot :

– l’alimentation des moteurs par une tension variable ;– l’asservissement du courant, ainsi que de la vitesse ou de la position de chacun des

axes du robot.Les références des asservissements de position ou de vitesse sont transmises au variateurde vitesse MB-60R par le contrôleur de robot, à une fréquence de 1kHz, sensiblementinférieure à la fréquence maximale de la liaison FireWire. Ceci s’explique par la nécessitéd’échanger par ailleurs entre le variateur et le contrôleur différentes informations (valeurscodeurs, statuts par exemple), qui permettent la supervision du robot. Le variateur devitesse, qui gère la partie puissance, comporte aussi des fonctionnalités permettant lediagnostic du bon fonctionnement des moteurs (leds de statut, erreur de position, chauffedes moteurs notamment). Par ailleurs, il gère l’électronique permettant le contrôle desfreins présents sur les axes moteurs du robot (un connecteur électrique et un sélecteurmanuel permettent de relâcher les freins, si besoin). Enfin, il dispose d’un arrêt d’urgencepour couper la puissance du robot.

Chapitre 5

Technologie

5.1 MotorisationLa 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 estalimenté par un dispositif électronique appelé convertisseur statique. Equipé d’un capteurde position, le moto-réducteur peut être asservi en position ou vitesse. Le systèmed’électronique de puissance, associant convertisseur et asservissements est généralementappelé variateur de vitesse. Il est adapté à la technologie de moteur considérée.

5.1.1 Moteurs électriques pour la robotique

Un moteur est un dispositif électromécanique qui convertit une énergie électriqued’entrée en énergie mécanique. Les moteurs électriques existants ne sont pas tous adaptésà la robotique. Les moteurs dédiés à la robotique sont généralement des dispositifs defaible à moyenne puissance, typiquement < 1kW. Ils doivent pouvoir être commandésprécisément avec un bonne résolution angulaire. De ce fait, des actionneurs commeles moteurs pas-à-pas ou les moteurs asynchrones sont peu répandus en robotique. Lespremiers sont en effet le plus souvent réservés à une utilisation en boucle ouverte, dotésd’un faible couple et d’une précision médiocre. Les seconds sont le plus souvent réservésaux fortes puissance, par exemple pour la traction électrique, et leur électronique estcomplexe et coûteuse. En robotique, les moteurs les plus fréquents sont les moteurs àcourant continu, avec ou sans balais.

5.1.2 Moteurs à courant continu (avec balais)

Le moteur à courant continu est un dispositif très ancien, dont la commercialisationremonte à la fin du 19ème siècle [Wikipedia 13]. Il fonctionne selon le principe de lafigure 5.1. Le bobinage du moteur est disposé sur l’induit mobile (rotor). Ce bobinageest placé dans un champ magnétique, permanent ou non, produit par l’inducteur (stator).On supposera pour simplifier que cette excitation est séparée et constante, comme c’estle cas notamment lorsque l’inducteur est constitué d’aimants. Le courant circulant dansles spires de l’induit du moteur, des forces électriques lui sont appliquées et, grâce à undispositif adapté (balais et collecteur, visibles sur la figure 5.2), les forces s’additionnentpour participer à la rotation. Ce principe de commutation mécanique du courant dans les

46 5. Technologie

FIGURE 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 limitetout d’abord la vitesse maximale. Par ailleurs, les balais qui appuient sur le collecteurgrâ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, lepassage du courant à travers le contact glissant provoque parfois des étincelles, ce quilimite l’usage de ces moteurs dans certains environnements, explosifs notamment.

FIGURE 5.2 – Moteur à courant continu Maxon (http://www.maxonmotor.com).

5.1. Motorisation 47

5.1.3 Moteurs à courant continu sans balais

L’appellation de ces moteurs (héritée de l’anglais DC brushless motors) est trom-peuse. Il ne s’agit en effet pas de moteurs à courant continu, mais de moteurs à courantalternatif : des moteurs synchrones auto-pilotés. Ils furent développés et commercialisésà partir de 1962 [Wikipedia 13], notamment pour palier les défauts des moteurs à courantcontinu, principalement dus au frottement des balais sur le collecteur. Les moteurs àcourant continu sans balais ont ainsi un meilleur rendement, et des propriétés mécaniquesmeilleures. Ils offrent notamment de meilleurs couples massiques et des vitesses derotation maximales plus grandes. Leur fonctionnement, sans frottements entre rotor etstator, leur confère une plus grande fiabilité et un temps de vie supérieur. Ils occasionnentmoins de bruit de commutation et aucune étincelle. L’absence de bobinage au rotor per-met souvent un refroidissement par simple convection, sans circulation forcée d’air versl’extérieur. Ceci peut donc permettre une meilleure étanchéité. La vitesse de rotation restelimitée mécaniquement par les liaisons pivot entre bâti et rotor, et par l’échauffement quia un effet sur l’efficacité des aimants. Ces moteurs présentent toutefois certains défauts(outre le prix), comme des effets d’ondulation de couple aux basses vitesses (cogging).

Ces meilleures caractéristiques sont en revanche obtenues au prix d’un fonctionne-ment plus délicat à modéliser, et d’une électronique de commande plus complexe etplus coûteuse. Un moteur à courant continu sans balais est généralement équipé au rotord’aimants placés dans le champ tournant produit par le bobinage triphasé du stator. Demanière très grossière, on peut dire que le dispositif électronique de commande du mo-teur sans balais se substitue au convertisseur électromécanique constitué de l’ensemblebalais+collecteur du moteur à courant continu. Pour cela, il est nécessaire de disposer decapteur à effet Hall pour repérer la position du rotor afin de réaliser l’auto-pilotage dumoteur.

Pour en savoir plus, on consultera le cours de (l’excellent) B. Multon [Multon 04].

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énantles unes sur les autres, grâce au profil de leur dentures qui peuvent être droites ouhélicoïdales (cf. figure 5.3). Ces réducteurs offrent un rapport de réduction égal aurapport du nombre de dents des roues dentées. La plus petite des roues, nommée pignon,

FIGURE 5.3 – Réducteurs Emerson à dentures droite (gauche) et hélicoïdale (droite).

48 5. Technologie

montée sur l’arbre moteur, tourne plus vite que la plus grande (nommée simplementroue), comme on le devine pour le réducteur de la figure 5.3, gauche. Il est fréquent depréférer les engrenages à denture hélicoïdale (figure 5.3, droite) aux engrenages à denturedroite 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 pouraugmenter 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 (figure5.4 gauche). On peut ainsi retrouver une sortie coaxiale, ce qui est aussi un avantage.

FIGURE 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 nesont pas constitués de roues engrenant entre elles par paires. Les trains épicycloïdauxpossèdent comme précédemment un arbre de sortie coaxial à l’arbre d’entrée et sontle plus souvent caractérisés par des grands rapports de réduction et la possibilité detransmettre des couples élevés. Les trains épicycloïdaux comportent deux arbres coaxiauxdits 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 ainsiautour 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. Pourbien visualiser le fonctionnement d’un réducteur à train épicycloïdal, rien de tel qu’uneanimation comme on en trouve de nombreuses sur Internet [Educmeca 13].

Réducteurs Harmonic Drive

Les réducteurs Harmonic Drive ont un principe très différent des réducteurs classiques[Harmonic Drive 13]. Ils utilisent une cloche déformable (voir figure 5.6), entrainée parune partie mobile légèrement elliptique. Cette cloche engrène sur une couronne circulairepossédant 2 dents de plus que la cloche. Ce principe, aujourd’hui très répandu dansl’industrie nécessite une grande qualité de fabrication. Les réducteurs Harmonic Drivesont ainsi assez coûteux. En revanche, ils ont l’avantage de procurer des rapports deréduction élevés avec seulement trois éléments mécaniques (30:1, 50:1, 80:1 classique-ment, jusqu’à 320:1) pour un relativement faible encombrement. Ils ne présentent parailleurs pas de jeu angulaire, et peuvent transmettre des couples importants.

5.1. Motorisation 49

FIGURE 5.5 – Principe des réducteurs à trains épicycloïdaux.

FIGURE 5.6 – Réducteur Harmonic Drive (http://www.harmonicdrive.de).

50 5. Technologie

5.2 Mesure de positionDe très nombreuses technologies sont envisageables pour mesurer la position d’un

corps relativement à un autre (résistive, capacitive, inductive). En robotique, on utiliseprincipalement des capteurs optiques appelés codeurs incrémentaux. On mentionneratoutefois pour mémoire le cas des génératrices et des résolveurs, qui présentent l’avantagede fournir des signaux continus et peuvent permettre d’atteindre de bonnes précisions oude donner des signaux suffisamment peu bruités pour être dérivés.

5.2.1 Codeurs incrémentauxLes codeurs incrémentaux sont de loin la solution la plus classique pour mesure

la position d’un axe en rotation (une version règle optique existe pour les axes entranslation). Une photodiode émet un signal continu qui est récupéré par des récepteurs,selon le principe de la figure 5.7. Un masque permet de produire deux signaux lumineuxdéphasés. Une fois ceux-ci perçus sur le récepteur, on obtient finalement trois signaux,correspondant aux voies dénommées A, B et I (ou Z). La roue dispose d’un nombre n defranges qui vont être à l’origine de 2n changements de niveau logique du signal perçu. Lesecteur angulaire couvert par une frange vaut 360/n degrés. La voix B étant décalée auniveau du récepteur d’un quart de période, on peut ainsi déterminer le sens de rotation, etmultiplier encore par 2 la résolution de la mesure de position (4 changements de niveaulogique de A ou B par période). On parle de quadruple précision. Il arrive fréquemmentque les capteurs optiques contiennent les voies complémentaires ¯

A, ¯B, pour assurer unecertaine redondance dans l’opération de comptage, afin d’éliminer les perturbations.

FIGURE 5.7 – Principe d’un codeur optique (http://www.maxonmotor.com).

Parmi les avantages de cette technologie, on mentionnera la très bonne compacitédu capteur, et le fait qu’il ne perturbe que très peu le moteur : inertie négligeable, pasde frottement, pas de bruit électromagnétique. Par ailleurs, ces capteurs peuvent offrirde bonnes résolutions. En revanche, ils ne procurent pas la position absolue de l’axe. Ilexiste cependant des codeurs optiques absolus, utilisant des roues plus complexes, avecun nombre de voies plus important, afin de coder la position du rotor. Les différentesvoix forment un mot binaire, ce qui permet de reconstruire la position absolue (voir un

5.2. Mesure de position 51

exemple de roue codeuse à la figure 5.8). Ces capteurs, beaucoup plus onéreux que lessimples codeurs incrémentaux, peuvent être préférés en robotique malgré leur prix, afind’éviter des fastidieuses procédures de recalage. Enfin, autre inconvénient des codeursoptiques, la mesure de position résultante est discrète d’où un effet de quantificationdu signal de position, qui est gênant en particulier aux très basses vitesses, ou lorsquel’on cherche à obtenir la vitesse de rotation par dérivation du signal de position. Ladocumentation technique du codeur Heidenhan HEDL 5540, préconisé pour le moteurMaxon RE36, est donnée à la figure 5.23, en fin de chapitre.

FIGURE 5.8 – Différentes roues codeuses (Catalogue Danaher).

5.2.2 Génératices tachymétriquesUne génératrice tachymétrique est une machine à courant continu, qui est utilisée

en génératrice. Au lieu d’alimenter le bobinage rotorique, comme dans le cas d’unmoteur, on mesure la force électromotrice produite suite à la rotation de l’axe auquella génératrice est accouplée. Ceci permet une mesure continue et absolue de la vitessede l’axe, préférable à la dérivation d’un signal de position codeur. En revanche, ce typede capteur est plus encombrant, et beaucoup plus coûteux que les capteurs optiques.La documentation technique de la génératrice préconisée pour être associée au moteurMaxon RE36, est donnée à la figure 5.24. Cette génératrice est équipée d’un rotor sansfer pour limiter son inertie.

5.2.3 RésolveursUn 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 tournantau rotor, et deux bobinages secondaires diphasés. Le couplage magnétique entre lesbobinages primaire et secondaire dépend de la position du rotor. Lorsque l’on alimentele bobinage rotorique avec une tension alternative, on récupère ainsi deux tensionsalternatives déphasées de 90 degrés sur les bobinages secondaires. Les résolveurs sontappréciés pour leur robustesse et leur longue durée de vie, liées notamment à l’absenced’usure mécanique. Les signaux mesurés peuvent être transmis sans perturbations sur delongues distances, mais leur exploitation nécessite une électronique adaptée. Un avantagedes résolveurs est de fournir potentiellement des informations de position et de vitesseexploitables 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

FIGURE 5.9 – Principe d’un résolveur (http://www.maxonmotor.com).

5.3 Variateurs de vitesse

Le principe de fonctionnement des variateurs de vitesse est donné à travers l’exempledu moteur à courant continu à excitation indépendante. Néanmoins, les principes exposésrestent valables et permettent de comprendre la conception des variateurs de vitesse desautres moteurs électriques. Les résultats présentés s’inspirent largement des articles surla moteur à courant continu et sa commande publiés dans les Techniques de l’Ingénieur.Comme nous l’avons déjà expliqué, un variateur de vitesse est un dispositif permettant deréaliser l’alimentation et la commande d’un moteur. Son schéma de principe est donné àla figure 5.10. On distingue dans un variateur deux niveaux de commande. La commanderapprochée est celle qui détermine les modes de fonctionnement et de commutation duconvertisseur statique. La commande éloignée s’intéresse quant à elle aux problèmes decommande d’axe : asservissements de courant, de position ou de vitesse.

FIGURE 5.10 – Schéma général d’un variateur de vitesse [Louis 02a].

Nous allons dans les paragraphes suivants présenter les problèmes d’asservissementde courant et de vitesse propres aux variateurs, ainsi que des exemples pratiques.

5.3.1 Principe et modélisation de l’actionneur

Le schéma équivalent d’un moteur à courant continu est donné à la figure 5.11.L’équation électrique, liant la tension v(t) aux bornes de l’induit (rotor) et le courant

d’induit i(t) s’écrit :

Ri(t) + Ldi(t)

dt+ e(t) = v(t) (5.1)

5.3. Variateurs de vitesse 53

v

B

R Li

e

i

!

cv

FIGURE 5.11 – Schéma d’un moteur à courant continu.

où R est la résistance de l’induit du moteur à courant continu, L son inductance et e(t) laforce électromotrice, qui est proportionnelle à la vitesse de rotation du rotor :

e(t) = Ke !(t) (5.2)

L’équation mécanique rendant compte des couples agissant sur le rotor s’écrit :

c(t) c0(t) B!(t) = Jd!(t)

dt(5.3)

où c(t) est le couple moteur, c0(t) est le couple résistant (charge et perturbations), B lecoefficient de frottement visqueux et J le moment d’inertie du rotor. Par construction, lecouple c(t) est proportionnel au courant d’induit i(t) :

c(t) = Kmi(t) (5.4)

En règle générale les coefficients Ke et Km sont si proches qu’il est raisonnable de lesconsidérer égaux, négligeant alors les pertes durant la conversion électromécanique depuissance. 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.

K

em

+

I(s)

E(s)

(s)+ 1B + Js

1R+ Ls

V (s)C0(s)

C(s)K

em

FIGURE 5.12 – Schéma de principe d’un moteur à courant continu.

54 5. Technologie

Modèles pour l’asservissement de vitesse du moteur à courant continu

En supposant c0(t) = 0 les équations (5.3) et (5.4) donnent :

Kemi(t) = B!(t) + Jd!(t)

dt(5.5)

En dérivant (5.5), il vient :

Kemdi(t)

dt= B

d!(t)

dt+ J

d2!(t)

dt2(5.6)

En combinant (5.5) et (5.6) avec (5.1) et (5.2) :

R

Kem

B!(t) + J

d!(t)

dt

+

L

Kem

Bd!(t)

dt+ J

d2!(t)

dt2

+Kem !(t) = v(t) (5.7)

Modèle d’ordre un On néglige l’influence de l’inductance d’induit. L’équation (5.7)se simplifie en :

RB +K2em

Kem

!(t) +RJ

Kem

d!(t)

dt= v(t)

soit :!(t) +

RJ

RB +K2em

d!(t)

dt=

Kem

RB +K2em

v(t)

La fonction de transfert reliant la commande en tension du moteur à courant continuV (s) et sa vitesse (s) est :

G(s) =(s)

V (s)=

K

1 + ems(5.8)

si l’on définit la constante de temps électromécanique du système :

em =

RJ

RB +K2em

et son gain statique :

K =

Kem

RB +K2em

Le système ainsi modélisé est donc d’ordre un. Il possède un pôle stable p = 1/em.

Modèle d’ordre deux On lève maintenant l’hypothèse du paragraphe précédent pourobtenir un modèle plus fin du moteur à courant continu. Deux expressions intéressantesde la fonction de transfert sont alors possibles :

1. En ordonnant (5.7) de façon à avoir un coefficient de un devant le degré dedérivation le plus élevé, il vient :

d2!(t)

dt2+

RJ + LB

LJ

d!(t)

dt+

RB +K2em

LJ!(t) =

Kem

LJv(t) (5.9)

ce qui conduit à la fonction de transfert sous la forme :

G(s) =K

em

LJ

s2 + (

RL+

BJ)s+ RB+K2

em

LJ

5.3. Variateurs de vitesse 55

Cette écriture est intéressante pour identifier la fonction de transfert sous la formecanonique :

G(s) =K !2

n

s2 + 2!ns+ !2n

2. En ordonnant (5.7) de façon à avoir un coefficient de un devant le degré dedérivation le plus faible (i.e. !(t)), il vient :

!(t) +RJ + LB

RB +K2em

d!(t)

dt+

LJ

RB +K2em

d2!(t)

dt2=

Kem

RB +K2em

v(t) (5.10)

ce qui conduit à la fonction de transfert sous la forme :

G(s) =K

1 + (em + µel)s+ elems2(5.11)

si l’on définit la constante de temps électrique du système :

el =L

R

On note encore que :

µ =

RB

RB +K2em

est petit devant un (terme lié au frottement). Enfin, comme on peut raisonnablementsupposer que el em :

em + µel ' em ' em + el

Cela permet d’écrire finalement la fonction de transfert sous la forme :

G(s) =(s)

V (s)=

K

(1 + els)(1 + ems)

Les pôles du système p1 = 1/el et p2 = 1/em apparaissent alors clairement.

Modèles pour l’asservissement de position du moteur à courant continu La posi-tion du rotor se déduisant de sa vitesse par intégration on obtient aisément la fonctionde transfert reliant la tension d’induit V (s) et sa position (s) = L(t), d’après lesrésultats du paragraphe précédent. D’après le cas le plus général étudié précédemment, ilvient :

G(s) =(s)

V (s)=

K

s(1 + els)(1 + ems)

Le système possède trois pôles p1 = 0, p2 = 1/el et p3 = 1/em.

Ce chapitre se termine par la documentation technique (figure 5.20) d’un moteurà courant continu Maxon Maxon RE36 118800 (source http://www.maxonmotor.com)qui sert à titre d’exemple dans ce cours. Le guide des grandeurs utilisées dans cette docest également joint à la figure 5.21. On notera les variations sensibles entre les gran-deurs choisies par le constructeur pour décrire le modèle du moteur et celles présentéesprécédemment. On fera également attention à l’usage des unités non SI.

56 5. Technologie

5.3.2 Principe et modélisation du convertisseur statique

L’étage de puissance permettant d’alimenter un moteur à courant continu à partir d’unréseau électrique alternatif est constitué d’un redresseur (conversion alternatif/continu),suivi par un hacheur (conversion continu/continu). Différents cas se présentent selon lasource d’énergie (monophasé, triphasé) et la technologie des convertisseurs statiquesutilisés (pont redresseur commandé ou non, hacheur 1, 2 ou 4 quadrants). La figure 5.13illustre l’étage de puissance d’un moteur alimenté à partir du réseau triphasé avec unpont redresseur en commutation naturelle et un hacheur quatre quadrants.

FIGURE 5.13 – Schéma du convertisseur statique [Louis 02b].

Le choix de la source d’alimentation dépend généralement des besoins en termesde puissance. Dans le cas de systèmes embarqués l’ensemble réseau+redresseur estremplacé par des batteries. Le choix le plus important pour la variation de vitesseconcerne le hacheur. L’utilisation d’un hacheur quatre quadrants permet d’envisager unfonctionnement dans les différents modes possibles en variation de vitesse. Le moteurpourra fonctionner en vitesse dans les deux sens de rotation et le freinage sera rendupossible quand le courant sera renvoyé vers le module de dissipation. Dans ce cas, unmodule de dissipation est nécessaire. Ces principes déjà vus dans ce cours sont rappelésà la figure 5.14.

Le hacheur fournit une tension de valeur moyenne réglable par le biais de son rapportcyclique ↵ 2 [0 1]. Le choix de la fréquence de commutation du hacheur dépend del’application. Dans le cas d’applications de faible puissance (P 6 1 kW) la fréquencede commutation est choisie élevée, au-delà du seuil audible par l’homme, soit environ20 kHz. En pratique la fréquence de commutation est plutôt de 50 kHz. Fonctionnant demanière échantillonnée à fréquence élevée, le hacheur peut être considéré en premièreapproximation comme une source de tension continue de valeur réglable. Ainsi, larelation entre la tension d’alimentation du moteur et la tension de commande du rapportcyclique du hacheur peut être considérée comme un simple gain.

5.3. Variateurs de vitesse 57

FIGURE 5.14 – Fonctionnement 4 quadrants du hacheur [Louis 02b].

5.3.3 Variation de vitesse du moteur à courant continu

D’après le modèle dynamique du moteur obtenu précédemment, on peut étudier laréponse du système en boucle ouverte. Pour un échelon de tension de consigne, appliquéau moteur, les réponses indicielles en vitesse et en courant sont représentées à la figure5.15. Le cas considéré est celui d’un moteur Maxon F2260, pour lequel :

Kem = 100 Nm/A

R = 1, 44

L = 0, 56 mH

J = 129, 0 10

6 kg m2

B = 7, 19 10

5 Ns (nécessite un effort pour le déduire de la doc. . .)

On observe un dépassement du courant qui peut atteindre des valeurs très importanteslors des transitoires. Ceci s’explique par la présence d’un zéro dans la fonction de

FIGURE 5.15 – Réponse en boucle ouverte du moteur à courant continu (non chargé).

58 5. Technologie

transfert :

GI(s) =I(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 :

GI(s) =Js+B

LJs2 + (RJ + LB)s+RB +K2em

Le diagramme de Bode correspondant est représenté à la figure 5.16.

−50

−40

−30

−20

−10

0

Mag

nitu

de (d

B)

10−2 10−1 100 101 102 103 104 105−90

−45

0

45

90

Phas

e (d

eg)

Bode Diagram

Frequency (rad/sec)

FIGURE 5.16 – Diagramme de Bode de GI(s).

Asservissement de courant

Les dépassements de courant observés précédemment constituent un problème, tantpour 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 dedé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, leconvertisseur pourra délivrer le courant appelé et ce sont les conducteurs du moteur quirisquent 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

L’étude de l’asservissement de courant du moteur à courant continu peut se faire sousdeux angles. Soit on fait une synthèse en utilisant la fonction de transfert complèteGI(s). Soit on fait le raisonnement approché suivant. La force électromotrice étant unegrandeur proportionnelle à la vitesse de rotation, ses variations sont lentes devant cellesdu courant d’induit. On peut donc la considérer comme une perturbation dans le transferttension-courant, d’après le schéma de la figure 5.12. Sous ces hypothèses, la fonction detransfert GI(s) se résume à :

GI(s) =1

R + Ls=

1

R

1

1 + es

La fonction de transfert étant celle d’un premier ordre une simple correction PI :

CI(s) = Kp

1 +

1

is

conduit à :CI(s)GI(s) =

Kp

Ri

1 + is

s(1 + es)

Le choix le plus simple consiste alors à compenser le pôle électrique en choisissanti = e, ce qui conduit à un système en boucle fermé d’ordre un de fonction de transfert :

GIBF (s) =1

Ki

1

1 +

Ri

Kp

Ki

s

où Ki est le gain du capteur assurant la mesure de courant. Le temps de réponse de laboucle de courant se règle alors aisément en choisissant Kp.

Remarque 1 L’étude précédente est effectuée sans tenir compte du hacheur. Or, lamodélisation proposée pour le hacheur (qui est un système échantillonné) occulte le faitqu’entre la tension de commande du hacheur et sa sortie il existe en fait un retard, ditstatistique, d’une demi-période d’échantillonnage. La prise en compte de ce retard se faitdans 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ûrvalable que lorsque le temps de retard reste petit devant la dynamique du système, si bienque l’on préférera ne pas tenir compte de l’effet retard du hacheur dans la synthèse ducorrecteur 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 laboucle 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éaliserl’asservissement de la vitesse du rotor d’un moteur à courant continu, la tension imagede la vitesse mesurée est comparée à une tension de référence vr, image de la vitessede rotation désirée !r. La vitesse du rotor est mesurée par l’un ou l’autre des capteurspossibles (génératrice tachymétrique, synchro-résolveur, codeur) et la tension imageest directement obtenue en sortie du procédé dans le cas des capteurs analogiques, ouaprès comptage dans le cas des codeurs incrémentaux. En faisant abstraction du mode de

60 5. Technologie

C(s)

I(s)

+(s)

C

I

(s) mcc

K

i

K

!

V(s) = K

!

(s)

V

r

(s) V (s)

+

FIGURE 5.17 – Asservissement de vitesse d’un moteur à courant continu avec boucleinterne de courant.

mesure, qui est ici assimilé à un simple gain K!, le schéma-bloc de l’asservissement devitesse est représenté à la figure 5.17.

Si la boucle de courant est réglée comme suggéré précédemment, elle a alors unefonction de transfert du premier ordre et il est facile de régler la boucle de vitesse. Lefonctionnement du moteur à courant continu asservi en courant est alors décrit par lafigure 5.18 (d’après le schéma 5.12). En toute rigueur, il faudrait réécrire les équations

K

i

+

K

em

1R+ Ls

(s)K

em

1B + Js

asservissement de courant

C

I

(s)+

C(s)I(s)V (s)V

r

(s)

FIGURE 5.18 – Schéma du moteur à courant continu avec boucle de courant.

dynamiques du moteur à courant continu asservi en courant. Ceci étant, on peut considérerque le bloc de fonction de transfert 1

R+Lsdu schéma 5.12 est simplement remplacé par

la fonction de transfert en boucle fermée GIBF (s). Dans ce cas, la constante de tempsde la boucle de courant étant très petite devant la constante de temps électromécaniquedu système, on obtient un modèle d’ordre deux de classe 0, très proche d’un système dupremier ordre (on considère la force électromotrice comme une perturbation). On peutdonc à nouveau effectuer une correction PI.

Asservissement de position Il est le plus souvent possible d’utiliser les variateursen mode asservissement de position, que la fonction soit intégrée ou que l’on réalisel’asservissement à partir du système asservi en courant. Du fait de l’intégration au passagevitesse–position, la classe du système augmente et un correcteur proportionnel pourraconvenir. Eventuellement, on utilisera un correcteur à avance de phase pour assurerstabilité et performance. Par ailleurs, certaines fonctions avancées pour l’asservissementde la position de l’axe moteur peuvent venir s’ajouter. Il s’agit en particulier de lagénération de profils d’accélération en trapèze pour permettre d’obtenir des consignes decourant continues.

5.3. Variateurs de vitesse 61

Analogique ou numérique ? En pratique le choix d’une commande numérique ouanalogique dépend du type de moteur dont on dispose. Dans le cas d’un moteur à courantcontinu, une commande analogique est généralement suffisante car elle reste relativementsimple et peu onéreuse. Ce n’est plus le cas pour d’autres moteurs, typiquement lesmoteurs à courants continus sans collecteur, qui sont des moteurs synchrones autopilotés,pour lesquels la réalisation des asservissements peut nécessiter le recours à des fonctionsnon linéaires plus complexes qui seront aisément réalisées par un processeur. Toutefois,la tendance, y compris pour les variateurs des moteurs à courant continu est de lesimplémenter sous forme numérique, ce qui permet de paramétrer tout le variateur parune interface PC, celui-ci étant connecté par USB. C’est le cas du variateur ESCON dechez Maxon par exemple, dont la documentation pourra être trouvée sur le site Maxon(http://www.maxonmotor.com) et qui a remplacé dans la gamme standard le variateuranalogique ADS 50 présenté plus loin.

Protections La structure à boucles imbriquées du schéma 5.19 permet d’introduiredes éléments de protection. Une limitation de courant sera ainsi simplement réalisée en

FIGURE 5.19 – Schéma général d’un variateur de vitesse [Louis 02b].

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églageest donc effectué par une simple fonction seuil analogique, la valeur du seuil étantajustée par un potentiomètre. Si la boucle de courant est réglée convenablement (rapideet sans dépassement), les seules saturations proviendront alors d’un appel de couranttrop 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. Lesmoteurs peuvent en effet le plus souvent supporter des courants transitoires largementsupérieur à la valeur maximale continue (typiquement 5 fois le courant maximum pendant50 à 200 ms ou dans le cadre d’un fonctionnement intermittent).

Documentations techniques

Ce chapitre se termine par différentes documentations, dont la documentation tech-nique 5.20 du moteur Maxon RE 36, ainsi que celle du variateur de vitesse et des capteurspréconisés avec ce moteur 1.

1. On remarquera que ces composants ne font plus nécessairement partie du catalogue du constructeur,mais que ces documentations ont été retenues pour leur intérêt pédagogique. Les "nouveautés" auront étéévoquées en cours.

62 5. Technologie

Operating Range Comments

Continuous operationIn observation of above listed thermal resistance(lines 17 and 18) the maximum permissible windingtemperature will be reached during continuousoperation at 25°C ambient.= Thermal limit.

Short term operationThe motor may be briefly overloaded (recurring).

Assigned power rating

n [rpm]m

axon

DC

mot

or

Specifications

Stock programStandard programSpecial program (on request)

Order Number

May 2008 edition / subject to change maxon DC motor 83

maxon Modular System Overview on page 16 - 21

RE 36 !36 mm, Graphite Brushes, 70 Watt

Thermal data17 Thermal resistance housing-ambient 6.4 K / W18 Thermal resistance winding-housing 3.4 K / W19 Thermal time constant winding 44.2 s20 Thermal time constant motor 1120 s21 Ambient temperature -30 ... +100°C22 Max. permissible winding temperature +125°C

Mechanical data (ball bearings)23 Max. permissible speed 12000 rpm24 Axial play 0.05 - 0.15 mm25 Radial play 0.025 mm26 Max. axial load (dynamic) 5.6 N27 Max. force for press fits (static) 5.6 N

(static, shaft supported) 1200 N28 Max. radial loading, 5 mm from flange 28 N

Other specifications29 Number of pole pairs 130 Number of commutator segments 1331 Weight of motor 350 g

Values listed in the table are nominal.Explanation of the figures on page 49.

Tolerances may vary from the standardspecification.

OptionPreloaded ball bearings

Planetary Gearhead!32 mm0.75 - 4.5 NmPage 239

Planetary Gearhead!32 mm0.4 - 2.0 NmPage 237

Planetary Gearhead!42 mm3 - 15 NmPage 244

DC-Tacho DCT!22 mm0.52 VPage 271

Encoder HEDS 5540500 CPT,3 channelsPage 262Encoder HEDL 5540500 CPT,3 channelsPage 264

118797 118798 118799 118800 118801 118802 118803 118804 118805 118806 118807 118808 118809 118810Motor Data

Values at nominal voltage1 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.02 No load speed rpm 6610 6210 6790 7020 6340 6420 5220 4320 3450 2830 2280 1780 1420 11803 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.314 Nominal speed rpm 5880 5530 6120 6350 5660 5740 4520 3600 2720 2090 1530 1010 651 3905 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.16 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.2267 Stall torque mNm 730 783 832 866 786 785 627 504 403 326 258 198 158 1278 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.3349 Max. efficiency % 84 85 86 86 86 86 85 84 82 81 79 77 75 72

Characteristics10 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 14411 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.912 Torque constant mNm / A 25.5 36.4 44.5 56.6 62.6 70.7 86.9 105 131 160 198 253 315 38013 Speed constant rpm / V 375 263 215 169 152 135 110 90.9 72.7 59.8 48.2 37.8 30.3 25.114 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.5115 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.8816 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

Planetary Gearhead!32 mm1.0 - 6.0 NmPage 240

Encoder MR256 - 1024 CPT,3 channelsPage 259

M 1:2

Recommended Electronics:ADS 50/5 Page 276ADS 50/10 277ADS_E 50/5 277ADS_E 50/10 277EPOS 24/5 294EPOS2 50/5 295EPOS P 24/5 297Notes 18

FIGURE 5.20 – Maxon RE36 118800 (source initiale http://www.maxonmotor.com).

5.3. Variateurs de vitesse 63

max

onD

Cm

otor

Plages d'utilisation Légende Exemple de la page 78

Plage de puissance conseillée

Plage de fonctionnement permanentCompte tenu des resistances thermiques(lignes 19 et 20) la température maximum durotor peut être atteinte au valeur nominal decouple et vitesse et à la température ambiantede 25°C = Limite thermique.

Fonctionnement intermittentLa surcharge doit être de courte durée(voir page 36).

Moteur avec bobinage à haute résistance (Ligne 8)Moteur avec bobinage à haute résistance (Ligne 8)

Fonctionnement intermittent

Edition Juillet 2005 / Modifications réservées maxon DC motor 49

Dessin dimensionnelSur le CD-ROM, les croquis de dimension sontdisponibles en format DXF en vue de leur im-portation dans n’importe quel système CAD.Présentation des vues conforme à la méthode E(ISO).Toutes les dimensions sont exprimées en [mm].

Taraudage de montage dans le plastiqueLa réalisation de connexions vissées sur des flas-ques plastiques nécessite une attention spéciale.

Couple de serrage maximal [Ncm]Un tournevis automatique doit être ajusté à cettevaleur d’étalonnage.

Profondeur active de vissage [mm]La relation entre la profondeur de vissage et le diamè-tre du pas de vis doit être au moins de 2 :1.La profon-deur de vissage ne doit en aucun cas dépasser la lon-gueur utile de taraudage!

Caractéristiques

Ligne 1 Puissance conseillée P2T [W]C’est la puissance max. fournie, dans la plage depuissances conseillée. Elle dépend des types etcorrespond à la représentation du Guide de Sélecti-on (voir également pages 50-146 «Plages d’utili-sation»).

Ligne 2 Tension nominale U [Volt]C’est la tension à laquelle se réfèrent toutes les va-leurs nominales (lignes 3, 4, 6, 7, 12, 13).Elle est fixéepour que la vitesse à vide ne dépasse pas la vitessemaximale admissible. Mais l’utilisation du moteurn’est pas limitée par cette tension. Pour atteindre lapuissance assignée (ligne 1), il est possible d’utiliserune tension de service plus haute. La puissancemaximale de sortie est alors plus élevée (ligne 12).

Ligne 3 Vitesse à vide no [tr / min]C’est la vitesse atteinte par le moteur sans chargeadditionnelle et alimenté à la tension nominale. Elleest pratiquement proportionnelle à la tension appli-quée.

Ligne 4 Couple de démarrage MH [mNm]Ce couple est appliqué sur l’arbre pour obtenirl’arrêt à tension nominale. La croissance rapide dela température du moteur provoque la baisse ducouple de démarrage (Voir page 38 «Comporte-ment thermique»).

Ligne 5 Pente vitesse/couple!n / !M [tr / min / mNm]

La pente vitesse / couple indique la force du moteur.Plus cette courbe est plate, moins la vitesse estsensible aux variations de la charge. La pente vi-tesse / couple est calculée à une température debobinage de 25°C.

Ligne 6 Courant à vide Io [mA]C’est le courant qui s’établit lorsque le moteur est àvide. Il dépend du frottement des balais et du frotte-ment à l’intérieur des paliers, il se modifie légère-ment avec la vitesse.

Ligne 7 Courant de démarrageIA [mA], [A]

C’est le rapport de la tension nominale (tension auxbornes) et de la résistance du moteur. Il est obtenuau couple de blocage.

Ligne 8 Résistance aux bornes R ["]C’est la résistance mesurée à 25°C aux bornesde connection. Elle détermine, sous une tensionU donnée, le courant de démarrage. Dans le casde balais en graphite, la résistance de contactvarie en fonction de la charge.

Ligne 9 Vitesse limite nmax [tr / min]La vitesse limite ne doit pas être dépassée en foncti-onnement normal, un dépassement intempestifendommagerait la commutation, mettant ainsi lemoteur en panne.

Ligne 10 Courant permanent max.Icont [mA], [A]

C’est le courant qui, à une température ambiente de25°C, fait monter la température du rotor à sa limitemax. admissible.

Ligne 11 Couple permanent max.Mcont [mNm]

C’est le couple délivré en permanence ou en valeurmoyenne, qui élève la température du bobinage jus-qu’à sa valeur max. admissible. On se base sur unetempérature ambiante de 25°C.

Ligne 12 Puissance max. fourniePmax [mW], [W]

C’est la puissance max. disponible à la tension no-minale et à une température rotor de 25°C. Les va-leurs d’utilisation se situent en-dessous de cettepuissance (voir «courant max. permanent» et «vi-tesse limite»).

Ligne 13 Rendement max. #max [%]Le rendement dépend du courant ou de la vitesse(voir page 35 «Caractéristique de rendement»).Le rendement maximal est dérivé de la relationentre la marche à vide et le courant de démarrage.

Ligne 14 Constante de couple kM [mNm / A]La constante de couple, ou couple spécifique, est lequotient du couple fourni et du courant s’y rappor-tant.

Ligne 15 Constante de vitesse kn [tr / min / V]Elle indique la vitesse spécifique par Volt de la ten-sion appliquée, sans tenir compte des pertes parfrottement. La valeur inverse de la constante de vi-tesse est la constante de tension, aussi appeléeconstante FEM.

Ligne 16 Constante de temps mécanique$m [ms]

C’est le temps nécessaire au rotor (sans charge ex-térieure), pour passer de la vitesse 0 à 63 % de savitesse à vide.

Ligne 17 Moment d’inertie du rotor JR [gcm2]C’est le moment d’inertie de masse du rotor, baséesur l’axe de rotation.

Ligne 18 Inductance terminale L [mH]C’est l’inductivité du bobinage lorsque le rotor est àl’arrêt, mesurée à l’aide d’une tension sinusoïdaleà 1 kHz.

Ligne 19 Résistance thermiqueRth2 [K / W]

C’est la résistance thermique entre la carcasse etl’air ambiant. Valeur théorique sans aucun refroi-disseur additionnel. L’addition des lignes 19 et 20permet de définir la puissance dissipée max.Admissible. Sur les moteurs à flasque métallique,la résistance thermique Rth2 peut être réduite jus-qu'à 50 %, à condition que le moteur soit couplédirectement à un bon conducteur thermique (mé-tallique) au lieu d'une plaque en matière synthéti-que.

Ligne 20 Résistance thermiqueRth1 [K / W]

Idem entre rotor et carcasse.

Ligne 21 Constante de temps thermique dubobinage $w [s]

C’est le temps nécessité par le bobinage pour modi-fier sa température.

Le diagramme du domaine de fonctionnement décritla plage de puissance mécanique livrable par le bobi-nage. Il illustre les points de fonctionnement possi-bles en fonction de la vitesse et du couple.Pour deuxbobinages sélectionnés, l’un à faible, l’autre à forterésistance, le couple figure en échelle de puissance(Ligne 8).

ON Moteur en serviceOFF Moteur stationnaireÎON Courant de pointe max.Icont Courant max. admissible en service continu (Ligne 10)tON Temps d’enclenchement, à ne pas dépasser $w (Lg.21)T Temps de cycle tON + tOFF [s]tON% Temps d’enclenchement en % du temps de cyclePendant une durée d’enclenchement de X %, le moteur peutêtre surchargé dans le rapport ION / Icon

I IT

tON contON

%

5

4

3

2

1

0 10 20 30 40 50 60 70 80 90 ON%

T

Temps

118757118749

Explications sur les pages 50 - 146

Vitesse [tr / min]

Courant permanent max.

Domaine de fonctionnementintermittent

Couple [mNm]

Courant [A]

Courant [A]

Fonctionnement continu

Plage de puissance conseillée20 40 60 80

12000

10000

8000

6000

4000

2000

0.5 1.0 1.5 2.0

1 2 3 4 5 6

FIGURE 5.21 – Guide Maxon (source initiale http://www.maxonmotor.com).

64 5. Technologie

Le programme des asservissements demoteurs maxon contient une gamme de ser-voamplificateurs pour commander les moteursDC et EC hautement dynamique.

Grandeurs commandéesVitesseLa tâche d’un servoamplificateur pour régula-tion de vitesse consiste à maintenir la vitessede rotation aussi constante que possible quel-les que soient les variations de couple deman-dées au moteur. Pour atteindre ce but,l’électronique de régulation du servoamplifica-teur compare en permanence la valeur de con-signe (vitesse desirée) avec la valeur réelleinstantanée (vitesse effective). La différenceentre les deux valeurs sert à piloter l’étage depuissance du servoamplificateur de telle ma-nière que le moteur amenuise la différence devitesse. On dispose ainsi d’un circuit de régula-tion de vitesse en boucle fermée.

PositionLe régulateur de position s’efforce de fairecoïncider la position actuelle mesurée avec laposition désirée - de la même manière que lerégulateur de vitesse - en donnant au moteurles valeurs de correction. L’information sur laposition est généralement délivrée par uncodeur digital.

CourantLe régulateur de courant alimente le moteuravec une intensité proportionnelle à la valeurde consigne. Ainsi le couple du moteur est pro-portionnel à la consigne.Le régulateur de courant améliore aussi la dy-namique d’un circuit de régulation de positionou de vitesse supérieur.

Régulation par codeur digitalLe moteur est équipé d’un codeur digitalqui délivre un nombre donné d’impulsions àchaque tour du rotor. Les impulsions rectangu-laires des canaux A et B sont décalées de90° pour permettre de déterminer le sens derotation.! Les codeurs digitaux sont surtout utilisés

pour assurer le positionnement et pourdétecter un déplacement angulaire.

! Les codeurs digitaux ne sont soumis àaucune usure.

! En liaison avec un régulateur digital, ils neprovoquent aucun effet de dérive.

Compensation R x IUne tension proportionnelle à la valeur de con-signe est appliquée au moteur. Si la chargeaugmente, la vitesse de rotation diminue. Lecircuit de compensation augmente alors la ten-sion de sortie, avec un accroissement du cou-rant dans le moteur. Cette compensation doitêtre ajustée à la résistance interne du moteur.Cette résistance varie avec la température etavec la charge appliquée.

La précision du réglage de la vitesse que l’onpeut obtenir dans de tels systèmes est de l’ordrede quelques pour cents! Économie en prix et en place! Pas de génératrice DC ou de

codeur nécessaire! Régulation peu précise en cas de forte varia-

tion de la charge! Régulation de vitesse uniquement! Idéal pour les applications «Low Cost» qui

n’exigent pas une vitesse très précise

max

onm

otor

cont

rol

32

Valeurde consigne

Valeur réelle

-

-

-

Con-trôleur Moteur

Capteur

étage de puissance(actuateur)

maxon motor control

Déviation du système

n

Schéma d’un circuit de régulation

M

E

maxon motor control

-

-

-

n

Valeurde consigne

Valeur réelle

Principe: Régulation par codeur

M

maxon motor control

U

I-

-

-

Valeurde consigne

Valeur réelle

Principe: Compensation R x I

Technique – sans détour

FIGURE 5.22 – Variateurs Maxon (source initiale http://www.maxonmotor.com).

5.3. Variateurs de vitesse 65

maxon motor maxon motor control 4-Q-DC Servoamplificateur ADS 50/5 Référence de commande 145391 Notice d'utilisation Edition Juillet 2009 L’ADS 50/5 est un variateur de vitesse pour piloter des moteurs à courant continu à aimants permanents allant jusqu’à 250 Watts. Quatre modes de régulation peuvent être sélectionnés à l’aide d’un commutateur DIP (jumper) situé sur la face avant: • Réglage de vitesse par génératrice

tachymétrique DC • Réglage de vitesse par codeur digital • Réglage de vitesse par compensation IxR • Réglage du courant

ADS 50/5 est protégé contre: • les surcharges de courant • les courts-circuits moteur • les élévations de température.

Grâce à l’utilisation de transistors de puissance MOS-FET, son rendement atteint 95 % à la puissance nominale. Le variateur est muni d’une self de lissage permettant de réduire les ondulations du courant dans le circuit moteur. La fréquence de découpage PWM est de 50 kHz, elle permet de piloter les moteurs à basse inductive. Une self externe peut ainsi être évitée dans la plupart des applications. La gamme de tension d’entrée va de 12 à 50 VDC et ADS 50/5 supporte des alimentations non stabilisée. Le boîtier en aluminium facilite l’installation, la mise en service est rapide, grâce à des connexions à vis pratiques et robustes. Table des matières 1 Instructions de sécurité....................................................................................................................................2 2 Données techniques ........................................................................................................................................3 3 Câblage externe minimal pour les différents modes de fonctionnement.........................................................4 4 Instructions d’utilisation....................................................................................................................................5 5 Description des fonctions d’entrée/sortie.........................................................................................................7 6 Possibilités complémentaires de réglage ......................................................................................................10 7 Affichage de l’état de fonctionnement............................................................................................................12 8 Traitement des erreurs ..................................................................................................................................13 9 Installation conforme à la compatibilité électromagnétique (CEM) ...............................................................13 10 Schéma bloc ..................................................................................................................................................14 11 Dimensions ....................................................................................................................................................14 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 dessinPlaque 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 ................................................................................................0.14 - 1.5 mm2 à 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

3 Câblage externe minimal pour les différents modes de fonctionnement

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) Le tension d’alimentation nécessaire peut être calculée comme suit: Valeurs connues Ö Couple en exploitation MB [mNm] Ö Vitesse d’exploitation nB [tr/min] Ö Tension nominale du moteur UN [Volt] Ö Vitesse du moteur à vide à UN, n0 [tr/min] Ö Vitesse/gradient du couple moteur ∆n/∆M [tr/min / mNm]

Valeur cherchée Ö Tension d’alimentation VCC [Volt]

Solution

[ ]VMMnn

nUV BBN

CC 29.01

0

+⋅⎟⎠⎞

⎜⎝⎛ ⋅

∆∆

+⋅=

Choisissez une alimentation pouvant fournir la tension sous charge ainsi calculée Dans la relation ci-dessus est tenu compte d’une modulation max. du PWM de 90 % ainsi que d’une chute de tension de 2 VDC à l’étage final. Note: L'alimentation doit pouvoir absorber (par exemple dans un condensateur tampon) l'énergie refoulée lors de décélérations. Lors de l'utilisations à stabilisation électronique il faut s'assurer que la protection contre les courants de surcharge ne limite pas les modes de fonctionnement de l'unité d'asservissement.

4.2 Fonctions des potentiomètres Potentiomètre Fonction Tourner vers la

gauche droite

P1 IxR Compensation IxR compensation

douce compensation

forte

P2 Offset Ajustement n = 0 / I = 0

à la valeur 0 V moteur tourne à gauche (CCW)

moteur tourne à droite (CW)

P3 nmax

Vitesse maximale à la valeur 10 V

vitesse plus lente

vitesse plus rapide

P4 Imax Limite de courant

plus bas min. 0.5 A

plus haut max. 10 A

P5 gain gain plus bas plus haut

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

4.3 Ajustement des potentiomètres 4.3.1 Réglage de base

Le positionnement de base des potentiomètres permet d’obtenir un fonctionnement idéal. Les appareils sous emballage original sont déjà préajustés en usine.

Réglage de base des potentiomètres P1 IxR 0 % P2 Offset 50 % P3 nmax 50 % P4 Imax 50 % P5 gain 10 %

4.3.2 Ajustage Mode: Réglage codeur

Réglage génératrice tachymétrique

1. Imposez la vitesse maximale (env. 10 V), puis tournez le potentiomètre P3 nmax jusqu’à l’obtention de la vitesse désirée.

Réglage compensation IxR

2. Mettez le potentiomètre P4 Imax à la valeur limite désirée. Le potentiomètre P4 permet d’ajuster le courant maximal dans le domaine de 0 ... 10 A de manière linéaire. Important: La valeur limite lmax doit se trouver au-dessous du courant nominal (courant permanent maximum), figurant sur la fiche des caractéristiques du moteur et n'ose dépasser 5 A en permanence.

3. Augmentez le gain du potentiomètre P5 gain lentement, jusqu’à ce que l’amplification soit suffisante. Attention: Si le moteur vibre ou fait du bruit, l’amplification est ajustée sur une valeur trop élevée.

4. Imposez une vitesse nulle, par exemple en court-circuitant la valeur de consigne d’entrée. Amenez la vitesse de rotation du moteur à zéro à l’aide du potentiomètre P2 Offset.

De plus, uniquement en cas de compensation IxR: 5. Augmentez lentement le potentiomètre P1 IxR jusqu’à ce que la

compensation soit suffisante pour permettre au moteur de garder sa vitesse ou de la baisser très peu, en cas de forte charge. Attention: Si le moteur vibre ou fait du bruit, l’amplification est ajustée sur une valeur trop élevée.

Mode:

Réglage du courant 1. Mettre le potentiomètre P4 lmax à la valeur limite désirée.

Le potentiomètre P4 permet d’ajuster le courant maximal dans le domaine de 0 ... 10 A de manière linéaire. Important: La valeur limite lmax doit se trouver au-dessous du courant nominal (courant permanent maximum), figurant sur la fiche des caractéristiques du moteur et n'ose dépasser 5 A en permanence

2. Appliquer la tension prévue de 0 V et régler à l’aide du potentiomètre P2 Offset le courant du moteur à 0 A.

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

ReadyEnable-12V OUT

-12V

+12V

+5V

Supply

DIP6

-12V

+12V

PTC

Current

limitP8 I cont

PWM,

Control &

Protection

Logic

MOSFET

Full-Bridge

Current

Detector

Voltage

Detector

P1 IxR

P4 Imax

Monitor I

-Motor

+Motor

Power Gnd

+Vcc 12-50VDC

+12V OUT

1K +12V 1K

DIP1

P6 n gainP5 gain

DIP2

DIP3

P2 Offset

-12V+12V

Monitor n

P3 n max

DIP4

-Tacho Input

-Set value

+Set value

Encoder B\

Encoder B

Encoder A\

Encoder A

Gnd

+5V/80mA

DIP5

F/V Converter

+5V

P7 I gain

Poly-

fuse

LED

3

Ground

Safety

Earth

earth

optional

3

Case

11

2

4

5

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

max

on s

enso

r

401

RE 25 179/181 75.3RE 25 179/181 GP 26/GP 32 336/338 •RE 25 179/181 KD 32, 1.0 - 4.5 Nm 347 •RE 25 179/181 GP 32, 0.75 - 6.0 Nm 339/342 •RE 25 179/181 GP 32 S 370-372 •RE 25, 20 W 180 63.8RE 25, 20 W 180 GP 26/GP 32 336/338 •RE 25, 20 W 180 KD 32, 1.0 - 4.5 Nm 347 •RE 25, 20 W 180 GP 32, 0.75 - 6.0 Nm 339/342 •RE 25, 20 W 180 GP 32 S 370-372 •RE 25, 20 W 180 AB 28 446 94.3RE 25, 20 W 180 GP 26/GP 32 336/338 AB 28 446 •RE 25, 20 W 180 KD 32, 1.0 - 4.5 Nm 347 AB 28 446 •RE 25, 20 W 180 GP 32, 0.75 - 6.0 Nm 339/342 AB 28 446 •RE 25, 20 W 180 GP 32 S 370-372 AB 28 446 •RE 25, 20 W 181 AB 28 446 105.8RE 25, 20 W 181 GP 26/GP 32 336/338 AB 28 446 •RE 25, 20 W 181 KD 32, 1.0 - 4.5 Nm 347 AB 28 446 •RE 25, 20 W 181 GP 32, 0.75 - 6.0 Nm 339/342 AB 28 446 •RE 25, 20 W 181 GP 32 S 370-372 AB 28 446 •RE 30, 15 W 182 88.8RE 30, 15 W 182 GP 32, 0.75 - 4.5 Nm 340 •RE 30, 60 W 183 88.8RE 30, 60 W 183 GP 32, 0.75 - 6.0 Nm 338-344 •RE 30, 60 W 183 KD 32, 1.0 - 4.5 Nm 347 •RE 30, 60 W 183 GP 32 S 370-372 •RE 35, 90 W 184 91.7RE 35, 90 W 184 GP 32, 0.75 - 8.0 Nm 338-345 •RE 35, 90 W 184 GP 42, 3.0 - 15 Nm 349 •RE 35, 90 W 184 GP 32 S 370-372 •RE 35, 90 W 184 AB 28 446 124.3RE 35, 90 W 184 GP 32, 0.75 - 8.0 Nm 338-345 AB 28 446 •RE 35, 90 W 184 GP 42, 3.0 - 15 Nm 349 AB 28 446 •RE 35, 90 W 184 GP 32 S 370-372 AB 28 446 •

1

9

2

10

110512 110514 110516

500 500 5003 3 3

100 100 100 12 000 12 000 12 000

3 4 6

s 45°es2 s = 90°e1..4s1s4s3

U

U

U

U

U

U

High

High

High

Low

Low

Low

90°e

R

R

R

May 2016 edition / subject to change maxon sensor

Stock programStandard programSpecial program (on request)

Encoder HEDL 5540 500 CPT, 3 Channels, with Line Driver RS 422

maxon Modular System+ Motor Page + Gearhead Page + Brake Page Overall length [mm] / • see Gearhead

Part Numbers

TypeCounts per turnNumber of channelsMax. operating frequency (kHz)Max. speed (rpm)Shaft diameter (mm)

Direction of rotation cw (definition cw p. 150)

Technical Data Pin Allocation Connection exampleSupply voltage VCC 5 V ± 10%Output signal EIA Standard RS 422 driver used: DS26LS31Phase shift ) 90°e ± 45°eSignal rise time (typically, at CL = 25 pF, RL = 2.7 k:, 25 °C) 180 nsSignal fall time (typically, at CL = 25 pF, RL = 2.7 k:, 25 °C) 40 nsIndex pulse width 90°eOperating temperature range -40…+100 °CMoment of inertia of code wheel d 0.6 gcm2

Max. angular acceleration 250 000 rad s-2

Output current per channel min. -20 mA, max. 20 mAOption 1000 Counts per turn, 2 Channels

The index signal , is synchronized with channel A or B. Terminal resistance R = typical 120 :

1 N.C. 2 VCC

3 GND 4 N.C. 5 Channel A 6 Channel A 7 Channel B 8 Channel B 9 Channel I (Index)10 Channel I (Index)

Pin type DIN 41651/EN 60603-13flat band cable AWG 28

Line receiverRecommended IC's:- MC 3486- SN 75175- AM 26 LS 32

Channel B

Channel B

Channel A

Channel A

Channel I

Channel I

GND

VCC

Enc

oder

, Lin

e D

river

, DS

26LS

31

Channel A

Channel B

Channel I

Cycle C = 360°ePulse P = 180°e

Phase shift

overall length overall length

FIGURE 5.23 – Codeur incrémental HEDL 5540 (http://www.maxonmotor.com).

72 5. Technologie

max

on s

enso

r

411

RE 25 179/181 76.8RE 25 179/181 GP 26, 0.75 - 2.0 Nm 336 •RE 25 179/181 GP 32, 0.75 - 4.5 Nm 338/339 •RE 25 179/181 GP 32, 0.75 - 6.0 Nm 342 •RE 25 179/181 GP 32, 1.0 - 4.5 Nm 347 •RE 25 179/181 GP 32 S 370-372 •RE 25, 20 W 180 65.3RE 25, 20 W 180 GP 22, 0.5 Nm 329 •RE 25, 20 W 180 GP 26, 0.75 - 2.0 Nm 336 •RE 25, 20 W 180 GP 32, 0.75 - 4.5 Nm 338/339 •RE 25, 20 W 180 GP 32, 0.75 - 6.0 Nm 342 •RE 25, 20 W 180 GP 32, 1.0 - 4.5 Nm 347 •RE 25, 20 W 180 GP 32 S 370-372 •RE 35, 90 W 184 89.1RE 35, 90 W 184 GP 32, 0.75 - 6.0 Nm 338-344 •RE 35, 90 W 184 GP 32, 8 Nm 345 •RE 35, 90 W 184 GP 42, 3.0 - 15 Nm 349 •RE 35, 90 W 184 GP 32 S 370-372 •

118909 118910

3 4

May 2016 edition / subject to change maxon sensor

Stock programStandard programSpecial program (on request)

DC Tacho DCT 22 0.52 Volt

maxon Modular System+ Motor Page + Gearhead Page Overall length [mm] / • see Gearhead

Part Numbers

TypeShaft diameter (mm)

Technical Data Connection exampleOutput voltage per 1000 rpm 0.52 V Max. current 10 mATerminal resistance tacho 37.7 W Tolerance of the output voltage ± 15 %Typical peak to peak ripple ≤ 6 % Rotor inertia (tacho only) < 3 gcm²Ripple frequency per turn 14 Resonance frequency with motors on p. 179 – 181 > 2 kHzLinear voltage tolerance, 500 to 5000 rpm ± 0.2 % with motors on p. 184 > 4.5 kHzLinear voltage tolerance with 10 kΩ load resistance ± 0.7 % Temperature range -20 ... +65 °CPolarity error ± 0.1 %Temperature coefficient of EMF (magnet) -0.02 % /°C Option: Pigtails in place of solder terminals.Temperature coefficient of coil resistance +0.4 % /°C

Important Information• Tacho with moving coil, maxon system.• Tacho with precious metal commutation.• 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.

Ripple = x 100 (%)

T

180 W

Resonance frequency Motor winding-Tacho winding fR 4 kHz

1 kW

UAC

0.1 mF

UDC

overall length overall length

FIGURE 5.24 – Génératrice tachymétrique (http://www.maxonmotor.com).

Chapitre 6

Commande

6.1 Commande point-à-pointCette section s’inspire largement des notes de cours de mes collègues Wisama Khalil

et Etienne Dombre [Khalil 13].

6.1.1 Principe de la génération de mouvementLe problème, introduit au paragraphe 4.1.1, est illustré par la figure 4.1. Une fois

calculée la configuration finale qf correspondant à la situation de l’organe terminal àatteindre, on doit effectuer la génération de mouvement entre q0 et qf , qui consiste àcalculer les consignes du variateur. Soient respectivement !m et m les vecteurs desvitesses et accélérations articulaires maximales :

– la vitesse maximale d’une articulation dépend de la vitesse admissible pour lemoteur, mais aussi pour la transmission ;

– l’accélération maximale se calcule elle (grossièrement) en faisant le rapport ducouple maximum sur l’inertie de l’axe.

Le mouvement articulaire est décrit, en toute généralité, par :

q(t) = q0 + (qf q0)P (t), 80 6 t 6 tf (6.1)

La fonction d’interpolation P (t), telle que P (0) = 0 et P (tf ) = 1 permet de calculer desconsignes admissibles. Il existe plusieurs façons de synthétiser P (t) de façon à satisfaireles 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.

6.1.2 Interpolation polynomiale de degré cinqL’utilisation d’un polynôme interpolateur donnant autant de degrés de liberté qu’il y

a de contraintes est un première solution pour la résolution du problème. Le choix d’unpolynôme d’ordre cinq permet d’obtenir un mouvement de classe C2 en position, vitesseet accélération, vérifiant par ailleurs les conditions aux limites :

q(0) = q0, q(tf ) = qf , q(0) = 0, q(tf ) = 0, q(0) = 0, q(tf ) = 0 (6.2)

En posant P (t) = p0 + p1t + p2t2 + p3t3 + p4t4 + p5t5 où les pi sont des coefficientsréels, les conditions (6.2) impliquent que les termes p0, p1, p2 soient nuls. La résolution

74 6. Commande

des conditions limites en tf permet elle de montrer [Khalil 13] que :

P (t) = 10

t

tf

3

15

t

tf

4

+ 6

t

tf

5

(6.3)

On déduit alors q(t) et on peut par la suite montrer que les vitesses et accélérationsmaximales sont telles que, pour la ième articulation :

!mi =

15|qi(tf ) qi(0)|8tf

, (6.4)

mi =

10|qi(tf ) qi(0)|p3t2f

(6.5)

De ce fait, si le temps tf n’est pas imposé, mais que ce sont !mi et mi qui donnent lescontraintes à respecter, on peut déduire la valeur minimale de tf possible en choisissantla valeur la plus grande entre les deux fournies par les équations (6.4) et (6.5), de sorte àsatisfaire les deux contraintes. Ceci doit être fait pour l’ensemble des articulations poursatisfaire les 2n contraintes sur les vitesses et accélérations des n axes.

Les courbes de position, vitesse et accélération articulaires, pour un axe, sont donnéesà la figure 6.1, dans un cas où q0 = 0, qf =

2 , !m = 4 rad.s1 et m = 1, 5 rad.s2. Le

temps tf résulte alors de la contrainte d’accélération (6.5), et vaut tf = 1, 74 s.

FIGURE 6.1 – Mouvement articulaire généré avec une fonction polynomiale d’ordre 5,avec !m = 4 rad.s1 et m = 1, 5 rad.s2.

6.1.3 Loi Bang-BangLa commande Bang-Bang permet en général de produire des mouvements à temps

minimal. Elle consiste ici à choisir une accélération toujours sur les bornes admissibles :

6.1. Commande point-à-point 75

soit m, soit m. Pour générer un mouvement à vitesse de départ et d’arrivée nulle, etqui dure tf , il faudra donc accélérer puis décélérer («à fond») pendant t

f

2 . L’accélérationest donc discontinue, mais pas les positions et vitesses. Avec les conditions aux limites :

q(0) = q0, q(tf ) = qf , q(0) = 0, q(tf ) = 0 (6.6)

il résulte, par intégration, que :

q(t) = q0 + 2

t

tf

2

(qf q0) pour 0 6 t 6 tf2

(6.7)

q(t) = q0 +

1 + 4

t

tf

2

t

tf

2!(qf q0), pour

tf2

6 t 6 tf (6.8)

On peut alors montrer que, pour la ième articulation :

!mi =

|qi(tf ) qi(0)|tf

, pour 0 6 t 6 tf2

(6.9)

mi =

4|qi(tf ) qi(0)|t2f

, pourtf2

6 t 6 tf (6.10)

ce qui donne comme précédemment une contrainte sur tf .Les courbes de position, vitesse et accélération articulaires, pour un axe, sont données

à la figure 6.2, dans un cas où q0 = 0, qf =

2 , !m = 4 rad.s1 et m = 1, 5 rad.s2. Le

temps tf résulte alors de la contrainte d’accélération (6.10), et vaut tf = 1, 44 s.

FIGURE 6.2 – Mouvement articulaire généré avec une commande Bang-bang, avec!m = 4 rad.s1 et m = 1, 5 rad.s2.

76 6. Commande

6.1.4 Loi trapézoïdale en vitesseAu lieu d’effectuer comme précédemment une commande Bang-Bang, imposant

aux actionneurs des commutations instantanées fréquentes 1, on peut se limiter à une loitrapézoïdale en vitesse, autorisant des paliers à vitesse constante moins exigeants pour lemoteur et permettant d’atteindre potentiellement plus vite une vitesse souhaitée.

La génération de mouvement se décompose donc comme indiqué à la figure 6.3 :1. accélération constante jusqu’à la vitesse maximale (sous certaines conditions) ;2. accélération nulle et vitesse constante ;3. décélération constante jusqu’à ramener l’axe à l’arrêt.

FIGURE 6.3 – Vitesse et accélération dans le cas d’un profil trapézoïdal, comparaisonavec la commande Bang-Bang (d’après [Khalil 13]).

Les grandeurs !mi et mi représentent toujours les valeurs maximales de vitesse etaccélération pour l’axe considéré. On suppose que la vitesse maximale est atteignable, cequi implique que l’accélération soit suffisante. En posant "i = signe(qi(tf ) qi(0)), onobtient, pour la i-ème articulation :

qi(t) = qi(0) +1

2

"it2mi, pour 0 6 t 6 i (6.11)

qi(t) = qi(0) + "it i

2

!mi, pour i 6 t 6 tf i (6.12)

qi(t) = qi(tf )1

2

"i (tf t)2 mi, pour tf i 6 t 6 tf (6.13)

avec i = !m

m

. On montre que, pour une articulation donnée, le temps minimal vaut :

tf = i +|qi(tf ) qi(0)|

!mi

(6.14)

Pour que cette valeur soit identique pour tous les axes, et que les phases d’accélérationsoient les mêmes, il faut donc synchroniser les différentes articulations. Pour plus dedétails, [Khalil 13] donne une description très détaillée de la solution.

1. Elles sont impossibles en pratique à cause des inversions non instantanées des sens des courantsdans les moteurs.

6.2. Commande à mouvement opérationnel imposé 77

6.2 Commande à mouvement opérationnel imposé

6.2.1 Position du problèmeRésoudre le problème de la commande à mouvement opérationnel imposé consiste à

produire, à chaque instant, la commande du robot manipulateur lui permettant de réaliserun mouvement opérationnel de consigne, à l’image de l’exemple de la figure 6.4.

FIGURE 6.4 – Mouvement opérationnel pour souder deux pièces

Plus précisément, le problème est le suivant : on cherche à asservir le robot manipu-lateur afin que la situation réelle x(t) de son organe terminal corresponde à la situationdésirée xr(t). En d’autres termes, on souhaite réguler à zéro la fonction d’erreur :

e(t) = xr(t) x(t) (6.15)

Pour cela, les données du problème sont :– la configuration initiale q0 du robot manipulateur, qui est mesurée ;– le mouvement de référence, décrit par la fonction xr(t) ;– le modèle cinématique du robot manipulateur : x = J(q)q.

Remarque On a deux types de problèmes : 1) quand e(0) = xr(0) x0 = 0 : «onpart bien» (suivi) ; 2) quand e(0) = xr(0) x0 6= 0 : «on part mal» (poursuite).

On supposera toujours que le mouvement de consigne est réalisable par le système,c’est-à-dire que les vitesses opérationnelles désirées peuvent être produites, en tenantcompte des limitations cinématiques du robot manipulateur. Dans le cas contraire, ondoit se limiter à une approximation de celui-ci. Par ailleurs, on prend en compte lefait que les mouvements de consigne peuvent être définis en cours de déplacement durobot manipulateur, en particulier, à tout moment, à l’initiative de l’utilisateur. Ceciimpose alors au système de commande de pouvoir répondre en temps voulu. Il est clairqu’une solution qui satisfait à cette réactivité conviendra également si le mouvement

78 6. Commande

opérationnel de consigne est connu entièrement à l’instant initial. Soulignons enfin le faitque 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 desoudage au chalumeau, mais pas de soudage à l’arc.

On trouve dans la littérature de nombreuses méthodes permettant de résoudre leproblè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 enparticulier deux méthodes :

– tout d’abord, les méthodes dites d’inversion, qui utilisent le calcul d’une inversedu 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 curieuxpourra consulter [Sciavicco 00] pour plus de précision sur la méthode de la transposée.

6.2.2 Méthodes d’inversion

Les méthodes d’inversion pour la commande à mouvement opérationnel imposé sontnombreuses [Khatib 08]. Elles consistent à calculer les vitesses généralisées nécessaires(servant de consignes au variateur) pour obtenir les vitesses opérationnelles spécifiées.En boucle ouverte, pour un bras manipulateur décrit par son modèle cinématique direct,on choisit une loi du type :

q(t) = DJ xr(t), (6.16)

où DJ est une inverse à droite de J(t). En effet, en pré-multipliant l’équation (6.16) parJ(t), on constate alors que cette loi conduit à une erreur nulle sur la situation de l’organeterminal, si xr(0) = x0 (même situation de départ et même vitesse opérationnelle). Onremarquera que dans le cas de robots non redondants, les dimensions de l’espace desconfigurations et de l’espace opérationnel sont identiques (même nombre de paramètresdans q et x) et l’inverse à droite DJ est simplement l’inverse J1. En boucle fermée, onpeut choisir une loi de commande de la vitesse du type :

q(t) = J1(t) (xr(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é-

W+

xr(t)

x(t)

MGD

+

ddt

J1générationde mouvement

variateur robot

capteur

q(t)

xr(t)

+

FIGURE 6.5 – Commande cinématique dans l’espace opérationnel.

6.2. Commande à mouvement opérationnel imposé 79

multipliant l’équation (6.17) par J(t), on constate que cette loi conduit à une décroissanceasymptotique de l’erreur e(t) :

e(t) +We(t) = 0

Dans le cas d’un robot redondant, possédant un nombre d’articulations supérieurau nombre nécessaire pour effectuer la tâche (dim q > dim x), il existe une infinitéde solutions au problème du calcul du modèle de cinématique inverse. On calcule uneinverse à droite de J [Nakamura 91, Khatib 08] :

– soit en optimisant un critère sous contrainte que x = Jq, et alors l’inverse à droitepourra être une inverse généralisée, comme la pseudo-inverse J+ ;

– soit en augmentant la matrice Jacobienne de manière à obtenir une matrice carréeet inversible.

Remarque : commande référencée capteur Dans ces techniques, qui dépassentsensiblement le cadre du cours, on utilise un capteur pour fournir les informationsdonnant une image de la situation de l’organe terminal. En effet, la reconstruction decette situation par le modèle géométrique direct, dans le cas précédent, est nécessairemententachée d’erreur. Le principe de la commande reste le même, mais l’asservissementne se fait plus sur la situation, mais par exemple sur la position dans l’image d’indicesvisuels (points, droites, etc.), que l’on cherche à placer de manière à positionner l’organeterminal indirectement. Le modèle, lors de l’inversion, doit alors intégrer la relation entrevitesses articulaires et vitesses des indices visuels (notion de matrice d’interaction). Cecisera évoqué dans un autre cours...

Remarque : modèle géométrique inverse numérique Le principe de commande ex-posé précédemment permet d’atteindre une situation désirée, en calculant la configurationcorrespondante itérativement. Ceci fournit donc une solution numérique au problème dumodèle géométrique inverse, dont on sait qu’il peut être difficile analytiquement.

Annexe A

Modélisation d’un bras manipulateurde type SCARA

A.1 Robot de type SCARA : présentationOn désigne communément sous l’appellation de robots de type SCARA des robots

à quatre axes dont la chaîne cinématique est RRPR. La figure A.1 représente deuxmodèles industriels de robots de type SCARA. Le second de ces robots, le SamsungRSM-5, sera l’objet de notre étude.

(a) Robot EPSON EL-653M (b) Robot Samsung RSM-5

FIGURE A.1 – Exemples de robots de type SCARA

A cause de leur cinématique, ces robots sont bien adaptés à tous les travaux demanipulation de palettes, de boîtes ou de cartouches, ou plus généralement d’objetsdevant ê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).

A.2 Robot Samsung RSM-5 : modélisationLes caractéristiques principales du robot Samsung RSM-5 sont données à la figure

A.3. Le schéma A.3(a) permet notamment de comprendre la cinématique de ce robot.

82 A. Modélisation d’un bras manipulateur de type SCARA

1. On rappelle que le robot est de type RRPR, les deux dernières articulationsconcernant la montée–descente et la rotation de l’organe terminal autour de sonaxe. Dessiner le schéma cinématique de ce robot.

A.2.1 Géométrie du robotEspace de travail

On s’intéresse tout d’abord à l’espace de travail du robot. En l’absence d’obstaclesparticuliers, le premier axe vertical, les butées articulaires du robot et bien évidemmentla longueur des différents axes constituent les seules limitations de l’espace de travail durobot.

1. Relever les valeurs des butées articulaires du robot.2. Le robot étant symétrique, ses butées ont été placées en respectant cette symétrie.

Représenter en vue de dessus (et en grand) les positions limites du robot, lorsquecelui-ci est en butée sur les articulations 1 et 2. Il est conseillé de respecter uneéchelle cohérente.

3. Sur cette même figure, dessiner l’enveloppe de l’espace de travail, dans un planhorizontal donné (les articulations 3 et 4 ne sont pas actionnées). Cela se feraaisément à l’aide d’un compas et d’un rapporteur (à défaut, essayer d’être réaliste).

4. Donner les points particuliers de cette enveloppe.5. Quelle est la dimension de l’espace opérationnel du robot ? Toutes les articulations

influent-elles de manière identique sur la position de l’organe terminal ? D’aprèsces remarques, représenter sur un schéma en perspective l’allure du volume detravail du robot, pour une orientation quelconque de son organe terminal.

6. Pour éviter la collision de l’organe terminal avec le premier corps vertical, l’organeterminal ne peut s’approcher à moins de 155 mm cet de l’axe de ce corps. Vérifierque cette condition est remplie. On se remémorera pour cela l’antique théorèmed’Al Kashi.

On souhaite maintenant établir le modèle géométrique direct du robot.

Paramétrage

1. Quelle précaution concernant la configuration du robot est préconisée dans le courspour placer les repères selon la convention de Denavit-Hartenberg ? Si nécessairerefaire 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 :ai1, ↵i1, ri, i, dont on rappellera brièvement la définition. On ajoutera à cetableau une ligne donnant la valeur des paramètres de configuration, notés qi, dansla configuration du schéma cinématique.

4. Relever les valeurs numériques de ces paramètres. On continuera néanmoins lescalculs en conservant les notations symboliques. Les valeurs numériques serontutilisées à des fins de vérification.

A.2. Robot Samsung RSM-5 : modélisation 83

A.2.2 Modélisation géométriqueModèle géométrique direct

1. Rappeler la définition du modèle géométrique direct. On notera q la configurationdu robot et x sa situation. Quelle sont les dimensions respectives de q et x ? Quelest le degré de liberté de l’organe terminal du robot ?

2. Rappeler la formulation générale de la matrice de passage Ti1, i d’un repèreRi1 à un repère Ri, dans le cas où l’on respecte la convention des paramètres deDenavit-Hartenberg modifiés.

3. Calculer les matrices de passage successives du robot Ti1, i, pour i = 1, . . . , 4.On notera Ci = cos qi, Si = sin qi, Ci+j = cos qi+j et Si+j = sin qi+j, . . .

4. Multiplier les matrices de passage entre elles (dans le bon ordre) pour obtenirle modèle géométrique direct du robot. On prendra là encore soin de respecterles recommandations du cours concernant la méthode de calcul. En particulier,on introduira des variables intermédiaires notées D1, D2, . . ., à chaque nouvelleaddition ou multiplication entre variables déjà définies.

5. Vérifier le modèle obtenu dans au moins deux configurations : la configurationdu schéma cinématique et une configuration plus quelconque, par exemple cor-respondant à un des points particuliers relevés sur l’enveloppe de l’espace detravail.

6. Donner l’orientation de l’organe terminal exprimée par les angles d’Euler. Est-cela représentation de l’orientation de l’organe terminal adaptée au robot étudié ?Proposer une alternative.

Modèle géométrique inverse

1. Rappeler la définition du modèle géométrique inverse. D’après la première questionde la section A.2.2, que peut-on dire sur le nombre de solutions admises par cemodèle ?

2. Calculer le modèle géométrique inverse du robot.

A.2.3 Modélisation cinématique1. Rappeler la définition du modèle cinématique direct du robot et de sa matrice

jacobienne, notée J(q).2. Si l’on représente l’orientation de l’organe terminal du robot par l’angle de lacet↵ = x4, on a : 0

BB@

x1

x2

x3

x4

1

CCA =

0

BB@

vxvyvz!z

1

CCA = J(q)

0

BB@

q1q2q3q4

1

CCA .

En utilisant les éléments de cours relatifs à la composition des vitesses, calculerdirectement la matrice jacobienne J(q).

3. Vérifier que le résultat obtenu est exact en dérivant maintenant les équationsdu modèle géométrique direct. Retrouver l’expression de J(q) déterminée à laquestion précédente.

84 A. Modélisation d’un bras manipulateur de type SCARA

4. Le rang de la matrice jacobienne, c’est-à-dire le nombre maximum de lignes ou decolonnes indépendantes, donne le degré de liberté de l’organe terminal. En effet,celui-ci correspond à la valeur maximale du rang de J(q), lorsque q balaie l’espacedes configurations. Pour le robot étudié, J(q) est de dimension 4 4 et de rangmaximum égal à 4. On en déduit que le rang de J(q) n’est plus maximal lorsqueson déterminant s’annule.Calculer l’expression du déterminant de J(q). Pour quelles configurations ce dé-terminant s’annule-t-il (on appelle ces valeurs les configurations singulières durobot) ? Commenter.

FIGURE A.2 – Exemples d’utilisation du robot Samsung RSM-5

(a) Schéma et dimensions (b) Spécifications constructeur

FIGURE A.3 – Caractéristiques du robot Samsung RSM-5

Bibliographie

[Adept 13a] Adept. V+ robot programming language, 2013.http ://www.adept.com/products/software/embedded/v-plus/general.

[Adept 13b] Adept. Viper s650, 2013.http ://www.adept.com/products/robots/6-axis/viper-s650/general.

[Bernot 99] F. Bernot. Machines à Courant Continu. Constitution et fonction-nement. Techniques de l’Ingénieur, traité Génie électrique, pagesD 3555 1–14, 1999.

[Craig 89] J. J. Craig. Introduction to robotics : Mechanics and control.Addison-Wesley, 1989.

[Educmeca 13] Educmeca. Réducteur épicycloïdal, 2013.http ://edumeca.free.fr/dotclear/themes/default/flash/engrenage.php.

[Gorla 01] B. Gorla et M. Renaud. Modelling of robot manipulators. Controland applications. Communication personnelle, 2001.

[Harmonic Drive 13] Harmonic Drive. Principe de fonctionnement, 2013.http ://www.harmonicdrive.de.

[Khalil 86] W. Khalil et J. Kleinfinger. A New Geometric Notation for Openand Closed Loop Robots. ICRA’86, pages 75–79, avril 1986.

[Khalil 99] W. Khalil et E. Dombre. Modélisation, identification et commandedes robots. Hermès, 1999.

[Khalil 04] W. Khalil et E. Dombre. Modeling, identification and control ofrobots. Butterworth-Heinemann, 2004.

[Khalil 13] W. Khalil et E. Dombre. Bases de la modélisation et de la com-mande des robots-manipulateurs de type série. GDR Robotique,2013.http ://www.gdr-robotique.org/cours_de_robotique.

[Khatib 86] O. Khatib. Real-Time Obstacle Avoidance for Manipulators andMobile Robots. International Journal of Robotic Research, vol. 5,no. 1, pages 90–98, 1986.

[Khatib 08] O. Khatib et B. Siciliano. Handbook of robotics. Springer, 2008.

[Louis 02a] J.-P. Louis et C. Bergmann. Commande Numérique des Machines.Evolution des Commandes. Techniques de l’Ingénieur, traité Génieélectrique, pages D 3640 1–17, 2002.

88 Bibliographie

[Louis 02b] J.-P. Louis, B. Multon, Y. Bonnassieux et M. Lavabre. Commandedes Machines à Courant Continu (mcc) à Vitesse Variable. Tech-niques de l’Ingénieur, traité Génie électrique, pages D 3610 1–17,2002.

[Multon 04] B. Multon. Les machines synchrones autopilotÉes. ENS Cachan,antenne de Bretagne, 2004.

[Murray 94] R. Murray, Z. Li et S. Sastry. A mathematical introduction torobotic manipulation. CRC Press, 1994.

[Nakamura 91] Y. Nakamura. Advanced robotics : Redundancy and optimization.Addison-Wesley Longman Publishing, Boston, Etats-Unis, 1991.

[Neimark 72] J. Neimark et N. Fufaev. Dynamics of nonholonomic systems,volume 33. Translations of Mathematical Monographs, 1972.

[Paul 81] R. Paul. Robot manipulators : Mathematics, programming, andcontrol. MIT press, Cambridge, Londres, Royaume-Uni, 1981.

[Renaud 86] M. Renaud. Calcul analytique itératif des modèles d’un robotmanipulateur. Rapport technique 86159, LAAS–CNRS, 1986.

[Renaud 96] M. Renaud. Comment définir l’orientation d’un corps ? Rapporttechnique 96078, LAAS–CNRS, 1996.

[Sciavicco 00] L. Sciavicco et B. Siciliano. Modelling and control of robotmanipulators. Springer-Verlag, 2000.

[Wikipedia 13] Wikipedia. Brushless DC electric motor, 2013.http ://en.wikipedia.org/wiki/Brushless_DC_electric_motor.

Index

anglesd’Euler classiques , 12roulis, tangage et lacet, 13

bras manipulateursérie, 17

bras manipulateuranthropomorphe, 17SCARA, 17

configurationsingulière, 27

coordonnéesd’un point, 3

coordonnées homogènes, 14cosinus directeurs, 10cosinus directeurs incomplets, 10

espacede travail, 27

groupespécial orthogonal, 7

indice préférentiel, 30

lacet, 13

matricede changement de base, 4de passage, 4de rotation, 4

matrice de passage homogène, 14matrice jacobienne, 29modèle

cinématique direct, 29différentiel direct, 29géométrique direct, 23géométrique inverse, 26

mouvementd’un point, 3rigide, 3

nutation, 12

paramètresd’Euler complets, 11

paramètres de Denavit-Hartenberg modi-fiés, 19

paramètres de Denavit-Hartenberg modi-fiés, 18

poignet sphérique, 27position

d’un point, 3précession, 12

rotation propre, 12roulis, 13

situationd’un solide, 3

solideindéformable, 3

tangage, 13trajectoire

d’un point, 3transformation

rigide, 4

vecteurvitesse de rotation, 15

vecteur rotation, 10