2.5 Commande en position d`un robot

Transcription

2.5 Commande en position d`un robot
2.5 Commande en position d’un robot
2.5
75
Commande en position d’un robot
2.5.1
Introduction
En robotique, une des taches de base que doit accomplir un robot consiste à se
déplacer d’un point A à un point B, avec le respect éventuel d’un certain nombre
de contraintes (vitesse, accéleration max, évitement d’obstacle). La commande en
position du robot consiste donc à calculer les différentes consignes, en fonction du
temps, afin de générer le mouvement désiré. C’est pour cela que la commande en
position d’un robot est aussi appelée génération de mouvement.
De manière classique, deux types de commande en position sont envisagée :
– une commande en position dans l’espace articulaire q (fig 2.12a). Pour assurer
le passage de la position initiale à la position finale (q i → q f ) et le controler
temporellement, une génération de mouvement est nécessaire. Par exemple, si
l’on souhaite synchroniser les axes pour avoir un mouvement harmonieux et
controler la géométrie du déplacement du robot à chaque itération.
– une commande en position dans l’espace opérationnel X (fig 2.12b).
q
f
d
Génération d’un q (t)
mouvement en
q
T
Asservissement
+
-
qm
qi
(a)
Xf
q d (t)
d
X
(t)
Génération d’un
MGI
mouvement en
T
X
Xi
qi
MGD
Asservissement
+
-
qm
(b)
Fig. 2.12 – Boucles de génération de mouvement. (a) : dans l’espace articulaire (b) : dans l’espace opérationnel.
.
Le choix du type de commande peut être effectué en fonction de l’espace dans lequel
est décrit la trajectoire à suivre. La génération d’un mouvement directement dans
l’espace articulaire présente des avantages :
– le mouvement est minimal sur chaque articulation,
– elle nécessite moins de calculs (pas de passage M GD M GI),
Modélisation géométrique des robots - Commande en position des
robots
76
– le mouvement n’est pas affecté pas le passage sur les configurations singulières,
– les contraintes de couples maximum et de vitesse maximum sont connues car
on les fixe aux limites physiques des actionneurs.
En contrepartie, la géométrie du déplacement du robot dans l’espace opérationnel n’est pas controlée (bien qu’elle soit répétitive). Il y a donc risque de collision si
l’environnement est encombré. On en déduit que ce type de mouvement conviendra
d’avantage lorsque l’espace sera dégagé, et pour des déplacements rapides.
Lorsque la géométrie de la trajectoire doit être contrôlée, la génération de trajectoire dans l’espace opérationnel sera préférée. Par contre, elle comporte un certain
nombre d’inconvénients :
– elle demande d’appliquer le M GI en chaque point de la trajectoire,
– elle peut être mise en défaut lorsque la trajectoire calculée passe par une
position singulière,
– elle peut être mise en défaut lorsque la trajectoire calculée fait passer une
articulation hors de ces limites de variation q¬[qmin ; qmax ],
– les limites Cmax , Vmax étant définies dans l’espace opérationnel ne permettent
pas d’utiliser au mieux les actionneurs.
Le choix dépend essentiellement de la tâche à effectuer et de l’espace de travail.
tâche
2.5.2
espace articulaire
rapide
espace de travail libre
(vitesses, couples, butées)
espace opérationnel
“moyennement” rapide
espace de travail encombré
(précision, obstacle)
Génération de mouvement dans l’espace articulaire
Soit un robot à n degrés de liberté.
Soit qi le vecteur des coordonnées articulaires initiales.
Soit qf le vecteur des coordonnées articulaires finales.
Soit kv le vecteur vitesse maximal.
Soit ka le vecteur accélération maximal.
Les caractéristiques kv , ka sont calculées en fonction de :
– kv : les caractéristiques des actionneurs et des rapports de réduction des organes de transmission,
– ka : le rapport des couples moteurs maximaux aux inerties maximales.
Le mouvement interpolé entre q i et q f en fonction du temps t est décrit par
2.5 Commande en position d’un robot
77
l’équation suivante :
q = q i + r(t)D
.
.
q (t) =r (t)D
pour 0 ≤ t ≤ tf
(2.146)
avec D = q f − q i .
r(t) est une fonction d’interpolation telle que : r(0) = 0 et r(tf ) = 1. On peut
alors écrire 2.146 comme suit :
q(t) = q f (t) − [1 − r(t)]D
(2.147)
Plusieurs fonctions permettent de satisfaire le passage par q i à t = 0 et q f à
t = tf :
– interpolation polynomiale linéaire, de degré 3 ou de degré 5
– loi du Bang Bang,
– loi trapèze (Bang Bang avec paliers de vitesse)
2.5.2.1
Interpolation polynomiale
Les 3 modes les plus courant sont l’interpolation linéaire, l’interpolation de degré
3 et l’interpolation de degré 5.
L’interpolation linéaire C’est la plus simple. L’équation du mouvement s’écrit :
q(t) = q i +
t
.D
tf
(2.148)
Cette loi de mouvement impose une vitesse constante le long de la trajectoire. Elle
est continue en position et discontinue en vitesse.
On en déduit la fonction d’interpolation :
r(t) =
t
tf
(2.149)
La loi est continue en position, mais discontinue en vitesse et accélération. On
obtient l’évolution suivante (fig 2.13).
Pratiquement, le début (t = 0) et la fin (t = tf ) sont marqués par des à-coups.
78
Modélisation géométrique des robots - Commande en position des
robots
Evolution de la variable q(t)
3
2.5
q(t)
2
qi
qf
1.5
1
0.5
0
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
Evolution de la variable dq/dt
3
2.5
2
1.5
Vmax
dq/dt
1
0.5
0
−0.5
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Evolution de la variable d/dt(dq/dt)
3
2
d/dt(dq/dt)
1
0
−1
−2
−3
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Fig. 2.13 – Degré 1 : Evolution de la position, de la vitesse et de l’accélération
.
2.5 Commande en position d’un robot
79
L’interpolation de degré 3 [Craig86] Si l’on impose une vitesse nulle aux points
de départ et d’arrivée, on rajoute deux contraintes supplémentaires par rapport à
l’interpolation linéaire. Afin de satisfaire ces 4 contraintes,
½
q̇ i = q̇(0) = 0 (a)
q̇ f = q̇(tf ) = 0 (b)
½
q(0) = q i (c)
q(tf ) = q f (d)
le degré minimal du polynôme est de 3. La forme générale est donnée par l’équation suivante :
q(t) = a0 + a1 .t + a2 .t2 + a3 .t3
(2.150)
On en déduit les relations donnant la vitesse et l’accélération :
½
q̇ = a1 + 2.a2 .t + 3.a3 .t2
q̈ =
2.a2 + 6.a3 .t
(2.151)
En utilisant les hypothèses (a) et (c), on en déduit les coefficients :
½
a0 = q i
a1 = 0
On en déduit la fonction d’interpolation :
µ ¶2
µ ¶3
t
t
r(t) = 3.
− 2.
tf
tf
(2.152)
(2.153)
En utilisant les hypothèses (b) et (d), on obtient un système de deux équations
et deux inconnues. On en déduit les coefficients :
(
a2 = t32 .D
f
(2.154)
a3 = − t23 .D
f
2.a2
L’accélération s’annule lorsque t = − 6.a
=
3
2.3.t3f
t2f .6.2
=
tf
.
2
Elle a donc un maximum
en t = 0 et minimum en t = tf . La valeur extrèmale est : q̈max =
La vitesse est maximale en t =
extrèmale est : q̇max = 3.|D|
.
2.tf
tf
2
6.|D|
t2f
et nulle en t = 0 et en t = tf . La valeur
On obtient l’évolution suivante (fig 2.14).
80
Modélisation géométrique des robots - Commande en position des
robots
Evolution de la variable q(t)
3
2.5
q(t)
2
qf
1.5
1
qi
0.5
0
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
Evolution de la variable dq/dt
3
2.5
2
3.|D|/(2.tf)
1.5
dq/dt
1
0.5
0
−0.5
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Evolution de la variable d/dt(dq/dt)
6.|D|/(tf.tf)
6
4
d/dt(dq/dt)
2
0
−2
−4
−6.|D|/(tf.tf)
−6
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Fig. 2.14 – Degré 3 : Evolution de la position, de la vitesse et de l’accélération
.
2.5 Commande en position d’un robot
81
L’interpolation de degré 5 [Binf ord77]
Si de plus l’on impose une accélération nulle aux points de départ et d’arrivée, on
rajoute deux contraintes supplémentaires par rapport à l’interpolation de degré 3.
Afin de satisfaire ces 6 contraintes,
½
q̈ i = q̈(0) = 0 (a)
q̈ f = q̈(tf ) = 0 (b)
½
q̇ i = q̇(0) = 0 (c)
q̇ f = q̇(tf ) = 0 (d)
½
q(0) = q i (e)
q(tf ) = q f (f )
le degré minimal du polynôme est de 5. La forme générale est donnée par l’équation suivante :
q(t) = a0 + a1 .t + a2 .t2 + a3 .t3 + a4 .t4 + a5 .t5
(2.155)
On en déduit les relations donnant la vitesse et l’accélération :
½
q̇ = a1 + 2.a2 .t + 3.a3 .t2 + 4.a4 .t3 + 5.a5 .t4
q̈ =
2.a2 + 6.a3 .t + 12.a4 .t2 + 20.a5 .t3
En utilisant les hypothèses (e), (c) et

 a0
a1

a2
(2.156)
(a), on en déduit les coefficients :
= qi
= 0
= 0
(2.157)
En utilisant les hypothèses (f ), (d) et (b), on obtient un système de trois équations et trois inconnues. On en déduit les coefficients :

.D
a3 = 10

t3f


15
a4 = − t4 .D
(2.158)
f


6
 a5 =
5 .D
tf
On en déduit la fonction d’interpolation :
µ ¶3
µ ¶4
µ ¶5
t
t
t
r(t) = 10.
− 15.
+ 6.
tf
tf
tf
L’accélération s’annule lorsque t =
10.|D|
√ 2 q̈min = − √ 2
q̈max = 10.|D|
3.t
3.t
f
tf
.
2
(2.159)
Elle a un maximum et un minimum :
f
La vitesse est maximale en t =
extrèmale est : q̇max = 15.|D|
.
8.tf
tf
2
et nulle en t = 0 et en t = tf . La valeur
On obtient l’évolution suivante (fig 2.15).
82
Modélisation géométrique des robots - Commande en position des
robots
Evolution de la variable q(t)
3
2.5
q(t)
2
qi
qf
1.5
1
0.5
0
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
Evolution de la variable dq/dt
3
2.5
15.|D|/8.tf
2
1.5
dq/dt
1
0.5
0
−0.5
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Evolution de la variable d/dt(dq/dt)
(10.|D|)/(sqrt(3).tf.tf)
6
4
d/dt(dq/dt)
2
0
−2
−4
−6
− (10.|D|)/(sqrt(3).tf.tf)
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Fig. 2.15 – Degré 5 : Evolution de la position, de la vitesse et de l’accélération
.
2.5 Commande en position d’un robot
2.5.2.2
83
Loi bang-bang
Dans ce cas le mouvement est représenté par une phase d’accélération constante
t
jusqu’à 2f , puis une phase de deccélération constante. On impose les 4 contraintes :
½
q̇ i = q̇(0) = 0 (a)
q̇ f = q̇(tf ) = 0 (b)
½
q(0) = q i (c)
q(tf ) = q f (d)
Le mouvement est donc continu en position et en vitesse. Il est discontinu en
accélération.
La position est donnée par l’ensemble des relations suivantes :

 q(t) =
h
q i + 2 · ( ttf )2 .D
 q(t) = q i + −1 + 4 ·
t
tf
pour
i
− 2 · ( ttf )2 .D
0
tf
2
t
≤ t ≤ 2f
≤ t ≤ tf
(2.160)
On en déduit les relations donnant la vitesse et l’accélération :
(
tf
P our 0 ≤ t ≤
2
(
tf
≤ t ≤ tf
P our
2
q̇ = 4 · ( tft2 ).D
q̈ = ( tf42 ).D
q̇ =
q̈ =
4
tf
− 4 · ( tft2 ).D
−( tf42 ).D
(2.161)
(2.162)
L’accélération a un maximum et un minimum : q̈max = ( tf42 ).D, q̈min = −( tf42 ).D
La vitesse est maximale en t =
extrèmale est : q̇max = 2.|D|
.
tf
tf
2
et nulle en t = 0 et en t = tf . La valeur
On obtient l’évolution suivante (fig 2.16).
84
Modélisation géométrique des robots - Commande en position des
robots
Evolution de la variable q(t)
3
2.5
qf
q(t)
2
1.5
1
qi
0.5
0
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
Evolution de la variable dq/dt
3
2.5
2.|D|/tf
2
1.5
dq/dt
1
0.5
0
−0.5
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Evolution de la variable d/dt(dq/dt)
6
4.|D|/(tf.tf)
4
d/dt(dq/dt)
2
0
−2
−4.|D|/(tf.tf)
−4
−6
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Fig. 2.16 – Loi bang-bang : Evolution de la position, de la vitesse et de l’accélération
.
2.5 Commande en position d’un robot
85
Remarque : temps minimum .
Si tf n’est pas spécifié, on recherche en général le temps minimum pour faire le
déplacement q i → q f en respectant les contraintes de vitesse et d’accélération.
Généralement on calcul le temps minimum sur chaque articulation séparemment
puis on effectue la coordination des articulations sur un temps commun. La coordination est nécessaire à deux titres :
– harmonie du mouvement global du robot
– contrôle de la trajectoire et de la géométrie du robot.
Les deux étapes sont donc :
– calcul du temps minimum tf : il dépend de la méthode d’interpolation retenue.
Il consiste en fait à saturer la vitesse et/ou l’accélération. Pour le calcul de
chacun des tf j , on se sert des résultats suivants :
Interpolation linéaire
Interpolation de degré 3
tf j =
tf j = M AX
h
|Dj |
kvj
3·|Dj |
,
2·kvj
q
6·|Dj |
kaj
q
10·|Dj |
√
3·kaj
Interpolation de degré 5
tf j = M AX
h
15·|Dj |
,
8·kvj
Loi Bang-Bang
tf j = M AX
h
2·|Dj |
,2
kvj
·
q
i
|Dj |
kaj
i
i
– Pour la coordination des axes, on impose pour chaque axe tf
M AX[tf 1 , tf 2 , · · · tf n ].
=
86
Modélisation géométrique des robots - Commande en position des
robots
2.5.2.3
Loi trapèze : loi bang-bang avec palier de vitesse
Avec une loi bang-bang, le temps minimal est assuré, soit en saturant la vitesse,
soit en saturant l’accélération.
Lorsque la vitesse est saturée, le fait d’ajouter un palier permet aussi de saturer
l’accélération, et de diminuer le temps de parcours.
Evolution de la variable dq/dt
3
2.5
2
Loi trapèze : saturation de l’accélération
1.5
kv
dq/dt
1
0.5
0
−0.5
Loi bang−bang : saturation de la vitesse
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
1.8
2
Evolution de la variable d/dt(dq/dt)
loi trapèze : saturation de l’accélération
6
ka
loi bang−bang : saturation de la vitesse
4
d/dt(dq/dt)
2
0
−2
−4
−ka
−6
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
Fig. 2.17 – Loi trapèze et bang-bang : Evolution de de la vitesse et de l’accélération
.
Si la vitesse est saturée sur l’articulation j, d’après le tableau 2.5.2.2, on voit
que :
– tf ≥
2·|Dj |
kvj
lorsque que l’on veut saturer la vitesse
2.5 Commande en position d’un robot
q
87
|D |
– tf ≥ 2 · kajj lorsque que l’on veut saturer l’accélération
par conséquent l’existence d’un palier de vitesse est donné par :
s
2 · |Dj |
|Dj |
>2·
kvj
kaj
(2.163)
En élevant au carré, on obtient la condition d’existance du palier :
|Dj | >
2
kvj
kaj
(2.164)
La loi trapèze est optimale en temps : elle est parmi celles qui assurent une
continuïté en vitesse.
La position est donnée par l’ensemble des relations suivantes :

2

qji + t2 · kaj · sgn(Dj )
 qj (t) =
τ
qj (t) =
qji + (t − 2j ) · kvj · sgn(Dj )

 q (t) = q f − 1 · (t − t)2 · k · sgn(D )
fj
aj
j
j
j
2
0
≤ t ≤
τj
τj
≤ t ≤ tf j − τj
pour
tf j − τj ≤ t ≤
tf j
(2.165)
On en déduit les relations donnant la vitesse et l’accélération :
P our 0 ≤ t ≤ τj
½
P our τj ≤ t ≤ tf j − τj
P our tf j − τj ≤ t ≤ tf j
½
q̇j (t) = t · kaj · sgn(Dj )
q̈j (t) = kaj · sgn(Dj )
½
q̇j (t) = kvj · sgn(Dj )
q̈j (t) =
0
q̇j (t) = (tf j − t) · kaj · sgn(Dj )
q̈j (t) =
−kaj · sgn(Dj )
avec
τj =
kvj
kaj
On obtient l’évolution suivante (fig 2.18).
(2.166)
(2.167)
(2.168)
(2.169)
88
Modélisation géométrique des robots - Commande en position des
robots
Evolution de la variable q(t)
3
2.5
q(t)
2
qf
1.5
1
qi
0.5
0
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
1.4
1.6
1.8
2
Evolution de la variable dq/dt
3
2.5
2
1.5
kv
dq/dt
1
0.5
0
−0.5
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Evolution de la variable d/dt(dq/dt)
6
ka
4
d/dt(dq/dt)
2
0
−2
−4
−ka
−6
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
Fig. 2.18 – Loi trapèze : Evolution de la position, de la vitesse et de l’accélération
.
2.5 Commande en position d’un robot
89
L’aire du trapèze représentant l’évolution des vitesses, est égale à la distance
parcourue dans l’intervalle [0; tf j ]. On a donc :
Rτ
R t −τ
|Dj| = |qjf − qji | = 2 · 0 j kaj · t · dt + τjf j j kvj · dt
(2.170)
k 2
|Dj| =
kvj · tf j − kvjaj
On en déduit le temps minimal pour l’axe j.
(
kvj
+ |Dj|
tf j = kaj
kvj
tf j =
τj +
(2.171)
|Dj|
kvj
Pour synchroniser les différents mouvements des axes 1, 2, · · · , n deux méthodes ont
été proposées.
Méthode du temps minimal [Tondu 84]
Dans cette méthode le temps optimal tf = M axj [tf j ] est conservé. Soit k
l’articulation contraignante imposant tf = tf k .
L’articulation j est synchronisée par rapport à sa loi propre en augmentant la
durée du palier de vitesse. Les phases d’accélération et de déccélération restant
identiques à celles de la loi propre.
La loi synchronisée s’obtient en réalisant une homothétie d’un rapport λj sur sa
loi propre. On obtient l’évolution suivante (fig 2.19).
Evolution de la variable dq/dt
2
1.5
Loi propre
Loi homothétique rapport lambdaj
kvj
1
dq/dt
kaj
lambdaj . kvj
0.5
lambdaj . kaj
t
0
tfk
tfj
−0.5
−1
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
Fig. 2.19 – Loi trapèze : Evolution de la vitesse
.
|D |
tf = τj + λj ·kjvj représente la durée de synchronisation. En fait, τj reste constant.
On peut reprendre le calcul de l’intégrale précédent en introduisant λj . Comme :
90
Modélisation géométrique des robots - Commande en position des
robots
tf = τj +
On en déduit :
|Dj |
λj · kvj
λj =
=⇒
tf − τj =
|Dj |
λj · kvj
(2.172)
|Dj |
tf j − τj
=
(tf − τj ) · kvj
tf − τj
(2.173)
Méthode proportionnelle
Avec cette méthode, les lois de vitesses des diverses articulations sont homothétiques et comportent des phases d’accélération et de freinage de même durée τ .
On obtient l’évolution suivante (fig 2.20).
Evolution de la variable dq/dt
2
1.5
dq/dt = lambdaj . kvk
j=k
1
dq/dt
j=n
0.5
j=2
j=1
t
0
tau
tf−tau
tf
−0.5
−1
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
Fig. 2.20 – Loi trapèze : Evolution de la vitesse
.
On a alors :
q̇j (t) = λj · q̇k (t)
pour
j = 1, 2, · · · , n
(2.174)
Classiquement dans cette méthode les lois de vitesses sont déduites par homothétie de la loi de vitesse de l’articulation contraignante k.
On a :
q̇k (t) = λk · q̇k (t)
donc
λk = 1
(2.175)
Dans certains cas, il n’est pas possible de respecter des contraintes d’accélérations ou bien celles de vitesses pour une ou plusieurs articulations.
On est alors obligé d’introduire une marge de temps ∆t et de recalculer les
rapports d’homothétie compte tenu de la nouvelle durée du mouvement tf = tf k +∆t.
2.5 Commande en position d’un robot
91
Cette méthode ne donne pas le temps minimum (car soit il faut ralonger τ
(accélération), soit il faut ralonger la durée du palier de vitesse (vitesse)).
Il existe une alternative à cette méthode que nous allons présenter maintenant.
Cette méthode suppose le calcul d’une constante de temps τ de la phase d’accélération à priori différent du τj optimal des lois propres de chacunes des articulations.
Soit λj · kvj la vitesse de la loi synchronisée pour l’articulation j.
Soit νj · kaj l’accélération de la loi synchronisée pour l’articulation j qui produit
le mouvement.
Calculons τ qui assure un temps tf minimum. Considérons deux articulations.
Les temps de parcours minimaux pour ces deux articulations sont :
|D1 |
kv1
|D2 |
kv2
tf 1 = τ1 +
tf 2 = τ2 +
On obtient l’évolution suivante (fig 2.21).
Evolution de la variable dq/dt
2
1.5
lambda1 . kv1
kv1
1
lambda2 . kv2
dq/dt
kv2
0.5
0
tau1
tf1
tf2
tf
tau2
−0.5
tau
−1
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
Fig. 2.21 – Loi trapèze : Evolution de la vitesse
.
La loi synchronisée est telle que le temps tf :
tf = τ1 +
avec
|D1 |
|D2 |
= τ2 +
kv1
kv2
(2.176)
92
Modélisation géométrique des robots - Commande en position des
robots

 τ1 =

τ2 =
λ1 ·kv1
ν1 ·ka1
et
λ2 ·kv2
ν2 ·ka2
tf = M AX[tf 1 , tf 2 ]
On doit calculer λj et νj pour rendre tf minimum. On veut un τ fixe. On a donc :
τ = τ 1 = τ2 =
λ1 · kv1
λ2 · kv2
=
ν1 · ka1
ν2 · ka2
(2.177)
De plus, comme τ = τ1 = τ2 et tf = tf 1 = tf 2 , on a :
|D2 |
|D1 |
=
λ1 · kv1
λ2 · kv2
On en déduit deux relations :


 λ2 = λ1 ·

 ν = ν ·
2
1
kv1
kv2
ka1
ka2
(2.178)
·
|D2 |
|D1 |
·
|D2 |
|D1 |
(2.179)
Pour satisfaire les contraintes de vitesse, on a :

 0 ≤ λ1 ≤ 1
kv2 |D1 |
⇒
0 ≤ λ1 ≤
·

kv1 |D2 |
0 ≤ λ2 ≤ 1
Pour satisfaire les contraintes d’accélération, on a :

 0 ≤ ν1 ≤ 1
ka2 |D1 |
⇒
0 ≤ ν1 ≤
·

ka1 |D2 |
0 ≤ ν2 ≤ 1
(2.180)
(2.181)
Le temps tf minimum est obtenu lorsque λ1 et ν1 sont les plus grands et satisfont
les contraintes suivantes :

h
v2

λ
=
M
IN
1, kkv1
·

 1opt
h


 ν1opt = M IN 1, ka2 ·
ka1
|D1 |
|D2 |
|D1 |
|D2 |
i
(2.182)
i
Dans ce cas la durée optimale de la phase d’accélération est :
τopt =
λ1opt kv1
·
ν1opt ka1
(2.183)
2.5 Commande en position d’un robot
93
Ces relations sont généralisables à n articulations, en écrivant que :
h
i

kvj
|D1 |


λ
=
M
IN
1,
·
1opt

kv1 |Dj |
j = 2, 3, · · · , n










h
i
kaj
1|
j = 2, 3, · · · , n
pour
ν1opt = M IN 1, ka1
· |D
|Dj |











j = 1, 2, · · · , n
 τ = λ1opt · kv1 = λjopt · kvj
opt
ν1opt ka1
νjopt kaj
(2.184)
Remarque : Si pour une articulation j donnée, la loi optimale n’atteint pas la
vitesse maximale kvj , on remplace dans les formules précédentes le terme kvj par
0
la vitesse maximale effectivement atteinte kvj . Cette situation se présente lorsque :
|Dj | <
2
kvj
.
kaj
On obtient l’évolution suivante (fig 2.22).
Evolution de la variable dq/dt
3
kvj
2.5
kvj’
2
1.5
dq/dt
1
0.5
t
0
tfj
−0.5
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
t (secondes)
1.2
1.4
1.6
1.8
2
Fig. 2.22 – Loi trapèze : cas où la vitesse n’est pas saturée
.
0
On en déduit : kvj =
p
|Dj | · kaj
En effet, en laissant tomber le terme sgn(Dj ), on a :


 qj ( t2f ) = qji +


t
q̇j ( 2f ) =
tf
2
(
tf 2
)
2
2
· kaj
0
· kaj = kvj
⇒





|Dj |
2
0
kvj
=
(
tf 2
)
2
2
· kaj
p
= |Dj | · kaj
t
⇒ ( 2f ) =
q
|Dj |
kaj
Modélisation géométrique des robots - Commande en position des
robots
94
2.5.3
Génération de mouvement rectiligne dans l’espace opérationnel
Nous nous restreindrons à ce type de mouvement car la génération de mouvement dans l’espace opérationnel devient vite complexe.
On cherche à appliquer un mouvement rectiligne au point outil (OE origine du
repère RE lié à l’outil).
Soit O TE i la matrice de transformation homogène décrivant la situtation initiale
de l’outil dans le repère R0 .
Soit O TE f la matrice de transformation homogène décrivant la situtation finale
de l’outil dans le repère R0 .
¸
¸
· f
Ai P i
A Pf
f
O
On définit : TE =
TE =
0 1
0
1
On décompose le mouvement en un mouvement de :
– rotation autour d’un axe u de l’organe terminal pour aligner Ai avec Af ,
– translation en ligne droite entre les origines OE i et OE f .
O
i
·
Les deux mouvements se terminent en même temps.
On a donc :
O
f
O
i
TE = TE · T (u, θ) =
·
Ai P i
0 1
¸
¸ ·
A(u, θ) P
·
0
1
(2.185)
Soit :
– kv1 et ka1 les vitesses et accélérations maximales pour la rotation
– kv2 et ka2 les vitesses et accélérations maximales pour la translation
Le calcul de u et θ est obtenu à partir de la relation suivante :
Ai .A(u, θ) = Af
(2.186)
A(u, θ) représente une rotation d’un angle θ autour d’un axe u.

si
¤
£
A(u, θ) = [Ai ]T · Af =  ni  · sf nf af
ai


si · sf si · nf si · af
A(u, θ) =  ni · sf ni · nf ni · af 
ai · s f ai · nf ai · af

(2.187)
(2.188)
2.5 Commande en position d’un robot
95
or on a vu que :

ux uy .(1 − cθ) − uz .sθ ux uz .(1 − cθ) + uy .sθ
u2x .(1 − cθ) + cθ
uy uz .(1 − cθ) − ux .sθ 
u2y .(1 − cθ) + cθ
A(u, θ) =  ux uy .(1 − cθ) + uz .sθ
ux uz .(1 − cθ) − uy .sθ uy uz .(1 − cθ) + ux .sθ
u2z .(1 − cθ) + cθ
(2.189)
ou bien

A(u, θ) = u.uT .(1 − cθ) + I3 .cθ + û.sθ
(2.190)
De ces différentes expressions on en déduit :

¤
£ i f
1
i
f
i
f
·
s
+
n
·
n
+
a
·
a
−
1
s

cθ =
·

2

p

1

i · nf − ni · af )2 + (si · af − ai · sf )2 + (ni · sf − si · nf )2

·
sθ
=
(a

2


θ =
AT AN 2(sθ, cθ)

 i f
i
f

·
n
−
n
·
a
a



1

·  s i · a f − ai · s f 

2·sθ
 u =


ni · sf − si · sf
(2.191)
L’ensemble des méthodes d’interpolation mises en œuvre dans l’espace articulaire peuvent être mises en œuvre dans l’espace opérationnel.
Compte tenu du déplacement total θ et des contraintes kv1 et ka1 , on calcule le
temps minimal tf 1 .
On procède de manière identique pour déterminer pour déterminer tf 2 imposé
par le mouvement de translation sachant que la distance parcourue est :
q
f
i
(2.192)
D = kP − P k = (Pxf − Pxi )2 + (Pyf − Pyi )2 + (Pzf − Pzi )2
La synchronisation des deux types de mouvement permet de trouver un commun
tf .
Le mouvement résultant est tel que
·
¸
A(t) P (t)
O
TE (t) =
avec
0
1
:
¯
¯ P (t) = P i + r(t)(P f − P i )
¯
¯ A(t) = Ai · A(u, r(t) · θ)
(2.193)
où r(t) représente la fonction d’interpolation retenue.
On pourrait également écrire :
¯
¯ P (t) = P f − (1 − r(t))[P f − P i ]
¯
¯ A(t) = Af · A(u, −(1 − r(t)) · θ)
(2.194)
96
Modélisation géométrique des robots - Commande en position des
robots
Remarque : Si l’on choisit de calculer la rotation autour d’un axe fixe par rapport à R0 , alors il faut réécrire la relation exprimant le mouvement de rotation en
composant à gauche :
A(u, θ).Ai = Af
(2.195)
Bibliographie
[DH55]
Denavit J and Hartenberg R.S. A Kinematic notation for lower pair mechanism
based on matrices. Trans. of ACME, J. of Applied Mechanics, 22 :215–221, June
1955.
[Fou80]
A. Fournier. Génération de mouvements en robotique : application des inverses
généralisées et des pseudo-inverses. PhD thesis, USTL, Mntpellier, April 1980.
[GBF85] A.A Goldenberg, B. Benhabib, and R.G. Fenton. A complete generalized solution to inverse kinematics of robots. IEEE J. of Robotics and Automation,
RA-1(1) :14–20, 1985.
[KC]
Khalil W. and Creusot D. Symoro+ : a system for the symbolic modeling of
robots. Robotica, 15 :153–161.
[LZ83]
C.S.G. Lee and M. Ziegler. A geometric approach in solving the inverse kinematics of PUMA robots. In Proc. 13th Int. Symp on Industrial Robots, volume 16,
pages 1–18, 1983.
[Pau81] R.C.P Paul. Robot manipulators : mathematics, programming an d control. 1981.
[Pie68]
D.L Pieper. The Kinematics of manipulators under computer control. PhD thesis,
Stanford University, 1968.
[Ren80] M. Renaud. Contribution a la modélisation et à la commande dynamiques des
robots manipulateurs. PhD thesis, UPS, Toulouse, September 1980.
[SS94]
L. Sicavicco and B. Sciavicco. Modeling and control of robot manipulators. McGraw Hill, 1994.
[WE84] W.A. Wolovich and H. Elliot. A computational technique for inverse kinematics. In 23 IEEE Conf. on Decision and Control, pages 1359–1353, Las Vegas,
December 1984.

Documents pareils