• Aucun résultat trouvé

Synthèse de la commande

Réalisations techniques & Résultats

5.3 Asservissement visuel de l’éclairage opératoire

5.3.1 Synthèse de la commande

A chaque itération, les coordonnées de la zone d’intérêt retenue sont transmises à un module de commande dont le rôle est de déterminer le mouvement à appliquer à la coupole pour confondre la tache lumineuse et la zone d’intérêt. Pour élaborer cette boucle de régulation nous nous sommes appuyés sur un certain nombre de choix :

– la robotisation de l’éclairage se limite aux axes #5 et #6 ;

– la caméra est placée au centre de la coupole. Centrer la zone d’intérêt dans l’espace image revient à placer l’éclairage de façon optimale ;

– à chaque instant s(t)ets sont connus ;

– obligation pour l’erreur de décroître suivant une loi exponentielle ;

– le calcul de la matrice d’interaction se base sur l’hypothèse que l’altitude du système est constante (Lˆs=Ls(s, Z)).

Cette boucle de régulation comporte trois étapes distinctes. Dans un premier temps, le traitement d’image désigne la zone d’intérêt du chirurgien. Dans un second temps, la loi de commande détermine le mouve-ment à effectuer dans le repère monde. Cette étape se décompose comme suit :

– accès aux informationss(t)ets; – calcul de l’erreure(t);

– calcul du torseur cinématiqueτ(t);

– réécriture du torseur cinématique dans le repèreR00).

Enfin, dans une troisième étape, ce torseur cinématique est converti en consigne de vitesse pour les moteurs. Nous distinguons les activités suivantes :

– détermination des vitesses articulaires (q˙ = (Q1, Q2) avec dim(q) = 1×2) à l’aide de la pseudo-inverse du JacobienJ du robot ;

– action sur les moteurs compte-tenu des profils de vitesse et d’accélération définis lors d’essais pré-liminaires, permettant de ne pas endommager prématurément les moteurs.

Fig.5.29 – Synopsis de la boucle de régulation.

Etape 1 : Détermination de la zone d’intérêt

Nous avons vu précédemment comment désigner la zone d’intérêt du chirurgien. L’expression de la configuration courante s’écrit s(t) =

uzi, vziT

, où uzi et vzi correspondent aux coordonnées dans l’image du maximum de la densité définie par l’estimateur à noyaux.

Etape 2 : Calcul du torseur cinématique

Le calcul de l’erreure(t)se base sur un accès aux valeurs de s(t)mais aussi de s. Si la configuration courante est connue, celle de référence n’a pas encore été définie. Dans la mesure où nous utilisons une seule primitive pour cette tâche d’asservissement, l’expression de la configuration de référence est donc s= [u0, v0], avecu0 etv0les coordonnées du pixel central de l’image.

Connaissant e(t), l’accès au torseur cinématique est immédiat (en posant le scalaire λégal à 0.1 pour éviter les problèmes de divergences et Z, l’altitude de l’éclairage opératoire, fixée à 1.1m). Celui-ci s’effectue dans notre cas à l’aide de la matrice d’interaction (4.28).

Ls(s, Z) =

Une fois le torseur cinématiqueτ calculé, nous procédons à sa réécriture dans le repèreR0à l’aide de la matrice de passagecMoqui relie le repèreR0au centre de l’articulation #5 et le repèreRccorrespondant au repère caméra situé au centre de la coupole. Nous utilisons pour cela l’expression (5.5). Ce calcul du torseurτ0 achève l’étape 2.

Etape 3 : Calcul des vitesses articulaires

Pour calculer les vitesses articulaires, il est nécessaire de connaître le Jacobien du robot. Pour ce faire nous nous appuyons sur le modèle géométrique direct basé sur la représentation illustrée figure5.30.

Tx= (D3−D2) sin(θ1) ωx=arctan

Ceci nous permet d’écrire le Jacobien du robot (5.7) et de là, sa pseudo-inverse définie par : Ls = LTs(LsLTs)1.

En multipliant ce terme par le torseur cinématique obtenu précédemment, nous pouvons déterminer les vitesses articulaires des axes #5 et #6. Par leur mise en action, l’éclairage se déplace et agit donc sur s(t). La réitération de l’ensemble de cette procédure permet d’atteindres.

Fig. 5.30 – Schéma mécanique de l’éclairage opératoire.

Les premiers essais pratiques montrent deux particularités (figure5.31). La première concerne le retard au démarrage qui affecte inégalement les deux moteurs (figure5.31a). Ce retard de 14s et 23s, respecti-vement pour les axes #5 et #6, peut s’expliquer par un couple au démarrage important, une mauvaise répartition de charge et un jeu mécanique au niveau de la transmission du couple.

Le second point plus problématique concerne la vitesse de convergence qui n’est pas la même selon que la cible est éloignée ou proche du centre de l’image. Dans le cas d’une cible proche (figure 5.31a), la

(a) Problème de convergence. (b) Création d’oscillations pseudo-périodiques.

Fig. 5.31 – Comportement du système lorsque la cible est proche (à gauche) ou éloignée (à droite).

convergence est lente et laisse apparaître une erreur statique importante (s6=s) malgréτ 6=~0. Là en-core la réalisation de la maquette est à l’origine de ce phénomène. L’absence de roulement au niveau des articulations rend plus difficile la rotation des moteurs à basse vitesse en raison du coefficient d’adhérence statique (proche de 0.3 dans notre cas). Malgré l’ajout d’un graissage, il n’est pas possible avec cette forme de loi de commande d’obtenir un placement précis de la coupole.

Ce phénomène est également présent lorsque la cible est éloignée (figure 5.31b). Cependant, dans ce cas, le problème de dépassement de la cible se substitue à la lenteur de convergence. Il y a apparition d’oscillations pseudo-périodiques générées par la norme élevée des composantes du torseur cinématique, qui lorsque la cible est loin sollicite grandement les moteurs se déplaçant alors au-delà de l’angle souhaité (le module interne chargé de la régulation bas niveau compensant le frottement vu plus haut) (figure 5.31b). On note un dépassement d’environ 20% de l’erreur maximale qui occasionne un retard supplé-mentaire, temps nécessaire aux moteurs pour appliquer les contre-actions.

La difficulté de modifier de façon importante le prototype, la présence systématique d’un retard au démarrage, le manque de précision à basse vitesse et le temps de convergence de l’ordre de la minute pour un déplacement n’excédant pas 15 pixels nous ont donc incités à revoir l’architecture sur laquelle est basée la loi de commande. Dans la mesure où il s’agit d’obstacles propres au prototype, il est pré-férable que les modifications soient les plus proches de l’étage moteur. Dès lors, la stratégie adoptée a consisté à intégrer un module correcteur entre l’étape du calcul du Jacobien et l’envoi de la consigne aux moteurs (figure5.32). Ce correcteur de type proportionnel permet de diminuer le temps de convergence

Fig.5.32 – Insertion d’un bloc correcteur dans l’architecture de la loi de commande.

de près de 87% et l’erreur statique à moins d’un pixel. Cependant, face aux problèmes de dépassement, la correction a eu un effet inverse avec une augmentation de 80% de l’amplitude des oscillations pour un temps de convergence semblable à celui avant correction. De plus, bien que le temps de convergence ait été diminué grandement, le temps de retard au démarrage est resté constant.

La solution retenue consiste donc à modifier le gain du correcteur en fonction de l’éloignement de la cible. Ainsi, à basse vitesse, le gain est identique à celui précédemment utilisé afin de conserver les mêmes performances alors qu’à haute vitesse (et donc pour des éloignements plus importants de la zone d’intérêt), le gain est abaissé pour éviter les dépassements. Plusieurs profils de gain ont été testés : le tableau5.12propose un résumé qualitatif des performances.

Type de profil (définition sur[0,+∞[) Retard au démarrage Phénomènes oscillatoires

Constante (a) ++

-Linéaire (−ax+b) ++ ++

Parabolique (−x2) ++ +

Exponentielle (−eax) +

-Exponentielle tronquée(−eax) +

-Echelon ++ –

Tab.5.12 – Evaluation de différents profils de gain (échelle de notation :++ : comportement très bon, +,−,−− : mauvais comportement).

Le profil linéaire est la solution retenue, offrant un comportement adéquat à haute ou basse vitesse et garantissant, quelle que soit la consigne, un temps de convergence inférieur à 5s (figure5.33a).

Certains tests ont pu montrer que le jeu mécanique au niveau de la transmission du couple est la prin-cipale cause du retard résiduel. Evalué à 3.75°(±0.4), il est à parts égales entre l’étage motoréducteur (2°) et celui de la transmission mécanique (1.75°). La réduction du jeu mécanique est donc un enjeu important en vue d’une commercialisation.

Remarque : Toutes les stratégies mises en œuvre pour compenser ce retard se sont révélées ineffi-caces. L’utilisation d’une consigne compensatrice chargée de solliciter constamment les moteurs afin d’être à la limite du couple de démarrage n’a donné que des résultats mitigés. L’utilisation d’une consigne compensatrice chargée de solliciter constamment les moteurs afin d’être à la limite du couple de démarrage n’a donné que des résultats mitigés. L’une des meilleures techniques proposées consiste à injecter au niveau du correcteur la différence entre la consigneq calculée à l’instanttpar le logiciel et l’estimation de la vitesse articulaire pour l’instantt−1. Cependant, cette modification introduit des latences supplémentaires déformant la décroissance exponentielle.

(a) Profil linéaire. (b) Profil exponentielle tronquée.

(c) Profil exponentielle. (d) Profil parabolique.

Fig. 5.33 – Erreur obtenue avec différents profils de correcteur.