Vous êtes sur la page 1sur 8

Master 2 - Robotique Université de Montpellier

HMEE322
Exercices

1 Modèle dynamique simplifié


On considère la chaı̂ne de commande d’une articulation décrite par la figure 1. Les équations
de chaque élément sont :
◦ Variateur (commande en courant) : iM = Au,
◦ Moteur : le couple est donné par ΓM = KM iM et la dynamique IM q̈M +fM q̇M = ΓM −ΓT ,
ΓT étant le couple transmis.
◦ Réducteur : q̇ = q̇NM et η q̇M ΓT = q̇ ΓA , η étant le rendement.
◦ Articulation : IA q̈ + fA q̇ = ΓA
Les grandeurs A, KM , IM , fM , N, η sont des constantes. IA et fA sont des grandeurs suscep-
tibles de varier en fonction de la configuration du robot.
1. Etablir l’expression de l’équation différentielle qui lie la variable articulaire q(t) à l’entrée
de commande u(t).
2. Discuter le choix du rapport de réduction N . Le système est-il linéaire ?

Figure 1 – Chaı̂ne de commande d’une articulation

2 Commandes articulaires simples


2.1 Commande PID
Le modèle d’une articulation est donné par l’équation suivante :
I q̈ + f q̇ = Γ (1)
où I et f sont des constantes. On considère la loi de commande définie par :
Z t
Γ = KP (qd − q) + KD (q̇d − q̇) + KI (qd (µ) − q(µ))dµ (2)
0

Calculer les valeurs des coefficients KP , KD et KI pour que la fonction de transfert en


boucle fermée de l’articulation soit caractérisée par un pôle triple p0 = −20rd/s. Application
numérique : I = 0, 01Nms2 /rd et f = 0, 1Nm.s/rd.

1 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier

2.2 Compensation des frottements statiques


On suppose que le modèle dynamique de l’articulation est donné par : I q̈ + f q̇ + τs = Γ, avec
τs le couple de frottements statiques. On choisit comme état le vecteur composé des variables
suivantes : x = (q q̇ τs )T . On utilise un observateur de Kalman afin d’estimer la grandeur τs en
imposant la contrainte τ̇s = 0.
Ecrire les équations d’état du système. Le système est-il complètement observable et com-
mandable. Etablir les équations de l’observateur de Kalman et proposer une solution pour le
calcul du gain de Kalman. Comment obtenir une mesure de la grandeur Γ.

2.3 Compensation des forces de gravité


On considère le robot à 2 ddl décrit par la figure 2 ayant pour variables articulaires q =
(q1 q2 )T . Chaque segment est caractérisé par une masse (m1 , m2 ), un centre de masse (C1 , C2 )
situé à une distance (l1 , l2 ). Pour chaque articulation, il est nécessaire de calculer le centre
masse équivalent (cf. annexe) en prenant en compte les corps situés en aval. L’accélération de
la pesanteur est définie par : ~g = (0 − g 0)T avec g = 9, 81m/s2 . Etablir l’expression des couples
dus à l’effet de la gravité exercés sur chaque articulation.

Figure 2 – Robot à 2 ddl

3 Commande dynamique par découplage


Le modèle dynamique d’un robot est donné par Γ = M (q)q̈ + H(q, q̇). On applique une loi
de commande par découplage non linéaire afin de réaliser le suivi d’une trajectoire qd (t). On
note : ǫ(t) = qd (t) − q(t), l’erreur de suivi de trajectoire.
1. Dans le cas idéal (sans erreur de modélisation), établir l’expression de l’équation différentielle
caractérisant l’erreur de suivi de trajectoire ǫ(t). Comment choisir les matrices de gain
proportionnel (KP ) et dérivé (KD ) afin de garantir que l’erreur de suivi ǫ(t) tende vers
0 en régime permanent ? Déterminer la matrice de transfert du robot. Pour un robot à
2ddl, calculer les matrices KP et KD afin d’obtenir en boucle fermée les pôles doubles
suivants : -10rd/s pour l’articulation 1 et -20rd/s pour l’articulation 2.
2. Dans le cas non idéal (présence d’erreurs de modélisation), établir l’expression de l’équation
différentielle caractérisant l’erreur de suivi de trajectoire en présence d’erreurs de modélisation
pour les termes M (q) et H(q, q̇). Quel est l’impact sur le comportement de ǫ(t).

2 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier

4 Commande adaptative
4.1 Commande adaptative d’un système linéaire du 1er ordre
On considère le cas d’un système (S) du 1er ordre défini par : ẏ + ay = bu où a et b sont
deux paramètres constants, inconnus ou mal connus. Le modèle de référence est donné par :
ẏm + αym = βyd , où α et β sont deux paramètres connus et constants qui permettent de régler
la stabilité et la dynamique du modèle de référence, et yd est la trajectoire désirée. On adopte
la loi de commande suivante : u = ĉ yd + dˆ y, avec ĉ et dˆ les paramètres du contrôleur issus de
la loi d’adaptation. On note ǫ(t) = y(t) − ym (t) l’erreur de suivi.
1. Exprimer l’équation différentielle caractérisant le comportement du système (S) en boucle
fermée. Montrer alors qu’il existe une solution (notée c∗ et d∗ ) pour le choix des pa-
ramètres ĉ et dˆ qui conduit à un comportement équivalent au modèle de référence.
2. Montrer alors que l’erreur de suivi ǫ(t) est caractérisée par l’équation différentielle sui-
vante :  
T yd
ǫ̇ + αǫ = b p̃ (3)
y
˜ T , c̃ = ĉ − c∗ et d˜ = dˆ − d∗ .
avec p̃ = (c̃ d)
3. On considère la fonction de Lyapunov suivante : Ξ(ǫ, p̃) = 21 ǫ2 + 2γ 1 T
p̃ p̃. Montrer que
Ξ(ǫ, p̃) est une fonction de Lyapunov candidate. Pour cette fonction, établir l’expression
de la loi d’adaptation qui exprime la dérivée en fonction du temps des paramètres c̃ et
˜ En déduire alors la dérivée en fonction du temps des paramètres ĉ et d.
d. ˆ Proposer un
schéma pour la réalisation du bloc d’adaptation.
4. On a relevé l’évolution en fonction du temps des paramètres ĉ(t) et d(t) ˆ (cf. figure 3)
er
pour un système (S) du 1 ordre inconnu et pour un modèle de référence défini par la
4
fonction de transfert suivante : Hm (s) = 2s+8 , où s est la variable de Laplace. Calculer
les paramètres a et b du système (S).

ˆ
d(t)

ĉ(t)

Figure 3 – Relevé des paramètres ĉ et dˆ en fonction du temps (en s)

4.2 Commande adaptative d’un robot 1 ddl prismatique


On considère un robot à 1 ddl (liaison prismatique) caractérisé par le modèle dynamique :
u = mq̈, où m est la masse du segment supposée constante et q̈ l’accélération articulaire. On

3 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier

réalise une commande adaptative basée sur le modèle de référence : q̈m +α1 q̇m +α2 qm = α3 qd (t),
avec qd (t) la trajectoire désirée, α1 , α2 et α3 sont des constantes choisies afin d’obtenir le
comportement souhaité. L’erreur de suivi de trajectoire est définie par ǫ = q − qm
1. Dans un premier temps, on suppose que la masse m est connue. Pour la loi de com-
mande : u = mz, avec z = q̈m − 2λǫ̇ − λ2 ǫ et λ un paramètre à définir, établir l’équation
différentielle caractérisant l’erreur de suivi de trajectoire. Donner les conditions sur λ
afin que l’erreur de suivi de trajectoire converge exponentiellement vers 0. Comment
choisir la valeur de λ ?
2. Dans un deuxième temps, on suppose que la masse m est mal connue mais constante.
On choisit une loi de commande : u = m̂z, avec m̂ l’estimée de la masse m. On note
m̃ = m̂−m l’erreur d’estimation de la masse. Montrer que l’erreur de suivi de trajectoire
satisfait l’équation : mė + λme = m̃z, avec e = ǫ̇ + λǫ. Etablir l’expression de la loi
d’adaptation
 de
 la masse m pour la fonction de Lyapunov candidate suivante : Ξ(e, m̃) =
1 2 1 2
2
me + γ m̃ , avec γ le gain d’adaptation. Préciser les conditions sur le paramètre γ.

4.3 Commande adaptative d’un robot 1 ddl rotoide


On considère le robot représenté sur la figure 4. Le modèle dynamique est donné par :
Γ = ml2 q̈ + G(q), où G(q) représente le couple résultant de l’effet de la gravité. La masse m
n’est pas connue. L’erreur de suivi de trajectoire est notée : ǫ(t) = qd (t) − q(t), où qd (t) est la
trajectoire désirée. On applique une loi de commande : Γ = m̂l2 q̈d + Ĝ(q) + KD ǫ̇, avec m̂ la
masse estimée, Ĝ(q) l’estimée du couple G(q), et KD le gain dérivé supposé positif et connu.
1. Etablir l’expression de G(q).
2. Etablir l’expression de la loi d’évolution
 de la masse
 estimée pour la fonction de Lyapunov
1 2 2 1 2
candidate suivante : Ξ(ǫ, m̃) = 2 ml ǫ̇ + γ m̃ , avec m̃ = m − m̂ l’erreur d’estimation
de la masse, et γ le gain d’adaptation (γ > 0).

Figure 4 – Robot à 1 ddl

5 Commande cinématique
5.1 Cas d’un robot plan à 2ddl
On souhaite réaliser une commande cinématique d’un robot plan à 2ddl pour lequel le
vecteur des variables articulaires est noté q = (q1 q2 )T et les longueurs sont notées l1 et l2 . Dans

4 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier

l’espace articulaire, le robot est commandé en position et la consigne de position est notée qC .
La position du point TCP (Tool Center Point) est définie par le vecteur X = (x y)T . On note
Xd = (xd yd )T la position désirée, supposée constante, du TCP. L’erreur de suivi de trajectoire
ǫX = Xd − X est définie par l’équation différentielle suivante :
dǫX
+ KǫX = 0 (4)
dt
où K est une matrice à définir.
1. Etablir les expressions de X en fonction de q et de la matrice jacobienne JX (q) au point
TCP.
2. Préciser les conditions sur K afin d’obtenir une commande cinématique stable (ǫX
converge vers 0 en régime permanent). Calculer K afin d’obtenir pour ǫX un temps
de réponse égal à 1s (temps de réponse identique selon les directions x et y).
3. Donner l’expression de la loi de commande permettant de calculer la vitesse articulaire
de consigne q̇C . En déduire l’équation récurrente permettant de calculer la consigne qC en
fonction du temps pour la période d’échantillonnage TS . Préciser les conditions d’arrêt
de l’algorithme de commande.

5.2 Calcul de l’erreur d’orientation


Soit A ∈ R3×3 une matrice d’orientation orthonormée définie comme la rotation autour
d’un axe ~r ∈ R3 et d’un angle θ. La matrice A s’écrit sous la forme (formule de Rodrigues) :
A = I + r̂ sin θ + r̂2 (1 − cos θ), avec r̂ l’opérateur de pré-produit (cf. Annexe).
1. On note A = [aij ]. Démontrer que
 
a32 − a23
1
ǫO = ~r sin θ =  a13 − a31  (5)
2
a21 − a12

2. On définit maintenant A comme la matrice qui permet de passer d’un trièdre direct
Ae = (se ne ae ) ∈ R3×3 , correspondant à l’orientation courante d’un robot au trièdre
Ad = (sd nd ad ) ∈ R3×3 correspondant à l’orientation désirée. La matrice A est alors
définie par : Ad = A Ae . Etablir l’expression de A en fonction de Ad et Ae . Démontrer
alors que
1
ǫO = (se × sd + ne × nd + ae × ad ) (6)
2
3. Sachant que la dérivée par rapport au temps d’une matrice orthonormée R s’écrit sous
la forme Ṙ = S(ω) R, avec ω ∈ R3 et S(ω) l’opérateur de pré-produit, démontrer les
relations suivantes :
ṡd = ωd × sd ṅd = ωd × nd ȧd = ωd × ad
(7)
ṡe = ωe × se ṅe = ωe × ne ȧe = ωe × ae

Démontrer alors que


ǫ̇O = LT ωd − Lωe (8)
avec L = − 12 (S(sd )S(se ) + S(nd )S(ne ) + S(ad )S(ae )).

5 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier

5.3 Stabilité au sens de Lyapunov


Soit ǫX = Xd − X l’erreur dans l’espace opérationnel, solution de l’équation différentielle
suivante :
dǫX
+ KǫX = 0 (9)
dt
avec K un paramètre à spécifier. Soit JX la matrice jacobienne de la tâche telle que :
Ẋ = JX (q) q̇. On considère le point d’équilibre défini par : ǫX = 0, et la fonction de Lyapunov
définie par :
1
Ξ(ǫX ) = ǫTX K ǫX (10)
2
1. Montrer que Ξ(ǫX ) définit une fonction de Lyapunov candidate et en déduire les condi-
tions sur K .
2. Démontrer que la dérivée par rapport au temps de la fonction Ξ(ǫX ) s’écrit sous la
forme :
d
Ξ(ǫX ) = ǫTX K Ẋd − ǫTX K JX (q)q̇ (11)
dt
3. Montrer alors que le point d’équilibre ǫX = 0 est globalement asymptotiquement stable
pour une commande cinématique basée sur la pseudo-inverse.

5.4 Expression de la pseudo-inverse


Soit J une matrice jacobienne de dimension m×n. On considère la décomposition en valeurs
singulières de J de telle sorte que :

J = U ΣV T (12)
avec U une matrice orthonormée de dimension m × m, Σ la matrice diagonale de dimension
m×n constituée des valeurs singulières de J, et V une matrice orthonormée de dimension n×n.
Déterminer l’expression de la pseudo-inverse, notée J + , de J en fonction de U , Σ et V (On
pourra utiliser comme expression de J + la forme suivante : J + = (J T J)−1 J T ).

5.5 Projecteur sur le noyau


Soit JX la matrice jacobienne de la tâche (principale) telle que : Ẋ = JX (q) q̇. On considère
la commande cinématique définie par :

q̇ = JX+ (q)Ẋ + P z (13)

où P = I − JX+ JX est appelé projecteur sur le noyau de JX , et z est un vecteur choisi de
façon arbitraire (tâche secondaire).
1. Démontrer que le terme P z ne contribue pas à la tâche principale (Pour cela, on pourra
calculer l’expression Ẋ = JX (q) q̇).
2. On choisit pour z le gradient d’une fonction de coût h(q). Etablir l’expression de z =
∇h(q) pour la fonction de coût suivante :
n  2
1 X qj − qj,moy
h(q) = (14)
2n j=1 qj,max − qj,min

avec qj la variable articulaire associée à l’articulation j, qj,max et qj,min les limites arti-
q +q
culaires, et qj,moy = j,max 2 j,min la valeur moyenne.

6 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier

6 Commande en espace contraint


On considère un robot plan à 2ddl (type RR) défini par les variables articulaires q1 et q2
et par deux segments de longueurs respectives l1 = 1m et l2 = 0, 5m. Ce robot est positionné
au point origine O du plan (x, y) et est utilisé pour réaliser le perçage d’une plaque plane (de
dimension infinie) confondue avec le plan défini par l’équation y = 1m. Pour réaliser la tâche de
perçage, on souhaite utiliser une commande dynamique hybride position/force. La commande
en effort est du type proportionnelle avec terme anticipatif (feedforward).
1. Préciser le type de commande à appliquer selon les directions x et y de l’espace opérationnel.
2. Calculer la configuration ≪ coude bas ≫ (q1 , q2 ) du robot pour le point de perçage P
défini par x = 1m et y = 1m (cf. Annexe). Représenter sur une figure la configuration
du robot et de la plaque.
3. Un capteur d’effort 1 axe, monté à l’extrémité du robot, mesure l’amplitude FC de la
force de contact exercée par le robot sur la plaque dans la direction du segment 2 du
robot. Calculer dans le repère absolu la force FE exercée par le robot sachant que la
mesure fournie par le capteur d’effort est égale à : FC = 30N. Calculer le vecteur de
couples résultant de la loi de commande en effort à appliquer au robot lorsque la force
désirée Fd est égale à la force FE .

7 Annexe
7.1 Matrice de pré-produit
Soit a un vecteur de R3 . Soit S : R3 −→ R3×3 l’opérateur de pré-produit vectoriel qui associe
à un vecteur a = (ax , ay , az )T la matrice anti-symétrique :
 
0 −az ay
S(a) =  az 0 −ax  (15)
−ay ax 0

On note aussi S(a) = â. Le produit vectoriel peut alors s’exprimer sous différentes formes :

a × b = S(a)b (16)
a × (b × c) = S(a)(b × c) = S(a)S(b)c (17)
a × (b × c) = −a × (c × b) = −S(a)S(c)b (18)
(19)

Attention le produit vectoriel n’est pas associatif - donc la position des parenthèses est impor-
tante ! !

7.2 Dérivée par rapport au temps d’une matrice de rotation


Les matrices utilisées pour la représentation des orientations sont des matrices du sous-
groupe SO3 (R). On a donc : AAT = AT A = I et det A = 1.
Si on dérive par rapport au temps la relation AAT = I, on obtient alors ȦAT + AȦT = 0.
Si on note S = ȦAT , on a S T = AȦT . On en déduit alors la relation S + S T = 0, ce qui signifie

7 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier

que la matrice S est anti-symétrique. Il existe donc un vecteur ω ∈ R3 tel que S = S(ω). La
dérivée d’une matrice d’orientation par rapport au temps peut alors s’écrire sous la forme :

Ȧ = S(ω)A (20)

avec S(ω) matrice anti-symétrique fonction du paramètre ω.


Si on note A sous la forme A = (s n a), il en résulte

(ṡ ṅ ȧ) = (S(ω)s S(ω)n S(ω)a) = (ω × s ω × n ω × a) (21)

7.3 Calcul du centre de masse


On considère une structure articulée composée de n corps. Chaque corps est caractérisé par
une masse mj et un centre de masse 0 Cj exprimé dans le repère de référence R0 . Le centre de
masse de la structure, exprimé dans R0 , est défini par le point suivant :
Pn 0
0 j=1 mj Cj
Cstructure = Pn (22)
j=1 mj

7.4 Modèles du robot plan à 2ddl (type RR)


◦ Modèle Géométrique Direct :

x = l1 cos(q1 ) + l2 cos(q1 + q2 ) (23)


y = l1 sin(q1 ) + l2 sin(q1 + q2 ) (24)

◦ Modèle Géométrique Inverse :

x2 + y 2 − l12 − l22 p
cos(q2 ) = et sin(q2 ) = ± 1 − cos(q2 )2 (25)
2l1 l2
Ax + By Ay − Bx
cos(q1 ) = 2 et sin(q1 ) = 2 (26)
A +B 2 A + B2
A = l1 + l2 cos(q2 ) et B = l2 sin(q2 ) (27)

8 crosnier@lirmm.fr

Vous aimerez peut-être aussi