• Aucun résultat trouvé

Commande cin´ematique

Dans le document Asservissements visuels Notes de cours (Page 13-17)

1.2 La commande

1.2.2 Commande cin´ematique

La plupart des commandes vues jusque l`a sont des commandes cin´ematiques [Espiau92, Malis99, Corke01] : les auteurs partent du principe que le robot peut ˆetre mod´elis´e par un int´egrateur pur. En d’autres termes, les effets dynamiques tels que les flexibilit´es ou les retards sont n´eglig´es. La raison en est que le but de ces commandes n’est pas la rapidit´e mais la robustesse : l’objectif est, en partant d’une image initiale, d’arriver `a coup sˆur `a l’image de r´ef´erence en garantissant la constante visibilit´e des primitives dans l’image et une trajectoire du manipulateur r´ealisable en pratique. Le gain est r´egl´e de mani`ere `a ce que le robot se d´eplace relativement lentement par rapport `a ses possibilit´es maximales et donc son comportement dynamique peut ˆetre simplifi´e.

Nous d´etaillons dans ce qui suit 2 types de commandes cin´ematiques : la 3D et la 2D. Pour ce qui est des commandes hybrides, comme le 2D1/2, nous invitons le lecteur

`a se r´ef´erer aux publications correspondantes.

Figure 1.7 – Commande cin´ematique 3D.

Commande cin´ematque 3D

Le but de l’asservissement est d’amener le robot de la position courante pˆ vers la position d´esir´ee p par rapport `a la cible (voir figure 1.7). Soit pˆle vecteur de mesure :

ˆ p=

ctco

crc∗c

o`u ctco est le vecteur de translation entre le rep`ere cam´era courantRc et le rep`ere li´e `a l’objet Ro exprim´e dans Rc. Le vecteur crc∗c repr´esente les coordonn´ees dans Rc de la rotation entre le rep`ere cam´era d´esir´eRc etRc. D’autre partpest la valeur de r´ef´erence du vecteur de mesure :

p = c∗

tc∗o O3×1

o`u c∗tc∗o est la translation d´esir´ee entre Rc et Ro exprim´ee dans Rc. Pour la partie rotation, lorsque pˆ=p on a biencrc∗c =O3×1.

Soit e la fonction de tˆache d´efinie par e = ˆp−p. La matrice d’interaction LTp qui relie la d´eriv´ee temporelle de la mesure pˆau torseur cin´ematique T du rep`ere cam´era est donn´ee par :

LTp =

−I3 [ctco]×

O3 LTr

avec LTr, le Jacobien 3×3 reliant les vitesses des coordonn´ees de la rotation crc∗c aux coordonn´ees du vecteur vitesse de rotation du rep`ere cam´era (les 3 derni`eres coordonn´ees de T). Dans le cas particulier o`u on utilise la d´ecomposition angle/axe uθ pour la

rotation, on a (voir [Malis98]) :

avec k, un r´eel positif qui est le gain de l’asservissement et LˆTp une estimation de LTp connue aux erreurs de mod´elisation pr`es. Si on suppose que le robot r´eagit instan-tan´ement et sans dynamique, on a p˙ˆ=LTpTc. Ore˙= ˙ˆp−p˙ = ˙ˆp=LTpTc. En injectant (1.2) dans cette ´equation et en supposant que LTp est parfaitement connue, on obtient

˙

e =−ke donc e(t) = e(0)e−kt o`u e(0) est la valeur de la fonction de tˆache `a l’instant t = 0.

Finalement, on en d´eduit la loi de variation de la mesure en fonction du temps : c

tco(t) = c∗tc∗o+e−kt(ctco(0)−c∗tc∗o)

crc∗c(t) = crc∗c(0)e−kt Remarques :

— La trajectoire ctco(t) est une droite dans le rep`ere cam´era. C’est donc ´egalement une droite dans l’image. On en d´eduit que l’origine du rep`ere Ro attach´e `a la cible a une trajectoire rectiligne dans l’image. C’est le seul point pour lequel on est sˆur que sa trajectoire ne sortira pas de l’image.

crc∗c(t) d´ecrit ´egalement une droite. Si on a choisit la d´ecomposition angle/axe, la trajectoire d´ecrite par crc∗c(t) suit l’axe de la rotation entre l’image initiale et l’image finale. Le rep`ere cam´era va donc tourner autour de cet axe, d´ecrivant ainsi une g´eod´esique. Un autre choix pour la d´ecomposition de la rotation est possible mais seule la d´ecomposition angle/axe garantit une trajectoire optimale.

— Le comportement de cet asservissement – en utilisant la d´ecomposition angle/axe – est tr`es proche de celui de la commande 2D1/2 (voir l’´etat de l’art de [Zanne03]).

La sup´eriorit´e de la commande 2D1/2 par rapport `a cette commande 3D r´eside dans le fait qu’il n’est pas n´ecessaire de connaˆıtre le mod`ele g´eom´etrique de la cible. De plus, il est possible de prouver la stabilit´e de la commande 2D1/2 en pr´esence d’incertitudes ce qui n’est pas possible avec la commande 3D.

Commande cin´ematique 2D

Dans la commande cin´ematique 2D, les mesures F sont directement des param`etres issus de l’image, comme par exemple les coordonn´ees des barycentres des points dans l’image. Nous traiterons ce cas particulier dans cette partie car les points sont les primi-tives les plus couramment employ´ees.

Soit Fˆ= [x1 y1 ... xn yn]T le vecteur2n×1 des mesures dans l’image avec(xi yi) les coordonn´ees des points dans l’image. La matrice d’interaction LTF relie la vitesse de Fˆ au torseur cin´ematique T du rep`ere cam´era :

F˙ˆ =LTFT

avec LTF constitu´ee de n matrices LT(x,y) (1.1) empil´ees. Soit la fonction de tˆache e = Fˆ−F. La loi de commande la plus couramment rencontr´ee est la suivante :

Tc =−kLˆTF+e

avec LˆTF+ = ( ˆLTF)−1 si n = 3 et LˆTF+ = ( ˆLTFTTF)−1TFT la pseudo-inverse de LˆTF si n >3. k est le gain positif de l’asservissement et LˆTF est une estim´ee deLTF connu aux erreurs de mod´elisation pr`es.

Tc est envoy´e `a la commande du robot qui est suppos´e r´eagir instantan´ement et sans dynamique. On a donc F˙ˆ=LTFT avec T =Tc =−kLˆTF+e. D’o`u :

F˙ˆ =−kLTFTF+e Comme e˙ =F˙ˆ, on a finalement :

˙

e=−kLTFTF+e

Si n = 3 et si on suppose qu’on a parfaitement mod´elis´e la matrice d’interaction, alors LˆTF =LTF et donc e˙= −ke ce qui conduit `ae(t) =e(0)e−kt o`u e(0) est la valeur de e

`a l’instant t = 0.

Si n >3, il y a plus de contraintes (2n) dans l’image que de degr´es de libert´e (6).

La matrice LTFTF+ n’est pas l’identit´e et il apparaˆıt des couplages entre les trajectoires.

N´eanmoins, le comportement de l’asservissement sera tel que les trajectoires des points dans l’image serontle plus possibledes droites au sens des moindres carr´es. Avec cette loi de commande il n’est pas possible de prouver la convergence deFˆ versFn´eanmoins, dans la pratique on constate un bon comportement lorsque l’erreur est faible.

N´eanmoins, on peut d´emontrer la convergence vers 0 de la fonction de tˆache apr`es avoir fait intervenir une matrice de combinaison C de rang 6 qui permet de r´eduire la fonction de tˆache `a 6´etats commandables dans l’image : e=C( ˆF −F). Si on d´efinit C = ˆLTF+, l’estim´ee de la pseudo-inverse de la matrice d’interaction calcul´ee au point d´esir´e F, alors la loi de commande devient Tc =−kLˆTF+( ˆF −F). Le comportement de e est r´egit par l’´equation :

˙

e=−kLˆTF

+LTFe (1.3)

La convergence est garantie pour LˆTF+LTF > 0. Par contre, lorsque e est nul, il n’y a aucune garantie que Fˆ soit ´egal `a F. Cel`a se produit lorsque ( ˆF −F) est dans le noyau deLˆTF+. Le lecteur pourra se r´ef´erer `a [Chaumette98] pour une ´etude comparative qualitative des 2 lois de commandes lorsque n >3.

Remarques :

Figure 1.8 – Sch´ema-bloc d’un asservissement visuel 2D.

Figure 1.9 – Sch´ema-bloc ´equivalent d’un asservissement visuel 2D.

— Lorsquen= 3, il existe plusieurs configurations pour lesquelles la matrice d’inter-action est singuli`ere, en particulier lorsque les 3 points sont align´es dans l’image ou encore s’ils appartiennent `a un cylindre dont l’axe co¨ıncide avec l’axe optique de la cam´era [Papanikolopoulos95].

— Dans cette partie, pour la commande 3D comme pour la commande 2D, nous avons n´eglig´e l’effet dˆu au d´eplacement de la cible. Certains travaux ont tent´e d’estimer ce d´eplacement afin d’introduire dans la loi de commande une com-pensation de son effet [Wilson96, Bensalah96]. Cette estimation se base souvent sur un mod`ele de d´eplacement de la cible `a vitesse constante coupl´e `a un filtre de Kalman. On peut n´eanmoins noter que si aucune information n’est disponible quant `a la dynamique de la cible, une telle estimation n’est d’aucune utilit´e.

Dans le document Asservissements visuels Notes de cours (Page 13-17)

Documents relatifs