Académique Documents
Professionnel Documents
Culture Documents
HMEE322
Exercices
1 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier
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)
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 γ.
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.
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
5 crosnier@lirmm.fr
Master 2 - Robotique Université de Montpellier
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 ).
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
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 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)
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