• Aucun résultat trouvé

1 Mécanisme à câbles pour la co-localisation

2.2 Commande en impédance

La commande implémentée dans l’interface est en impédance. Elle est adaptée au large espace de travail du dispositif qui favorise les phases en espace libre et est plus simple à mettre en place. La position de l’organe effecteur est donc mesurée et un effort est fourni en retour.

2.2.1 Localisation de l’organe effecteur

La localisation ~P de la poignée dans l’espace opérationnel est déduite de la longueur des câbles par un modèle géométrique direct. En effet, si la longueur li d’un câble i est connue, l’ensemble des solutions possibles est représenté par une sphère en 3D (respectivement cercle en 2D), dont le centre est le point d’ancrage et le rayon r est égal à l. Si plusieurs longueurs sont connues, l’organe effecteur est localisé au point de recoupement de ces sphères (respectivement cercles)(Fig.2.13 (a)).

Pour un système à n degrés de liberté, n longueurs sont supposées être connues. Bien qu’il existe deux solutions au problème, elles sont systématiquement symétriques par rapport aux points d’ancrage de tel sorte que l’une d’elle est nécessairement en dehors de l’espace de travail et est ainsi rejetée (Fig.2.13(b)).

La longueur des câbles dans l’interface est relevée grâce à un système de codeur placé sur chaque arbre moteur. Le nombre de tour est acquis, converti en longueur de câble déroulé/enroulé puis ajouté ou substitué à une longueur initiale connue. Les valeurs des codeurs ne sont pas conservées

Recoupement des longueurs Symétrie et rejet dʹune solution Poignée 2 1 l2 l1 Ensemble de solution 2 Ensemble de solution 1 (a) n A 2 1 Solution B 3 (b)

Figure 2.13. La localisation en 2D de la poignée est connue par recoupement des cercles centrés sur les points d’ancrage et de rayon de la longueur des câbles (a). Une des solutions possibles est en dehors de l’espace de travail, et est donc automatiquement rejetée (b). Les mêmes principes s’appliquent en 3D avec des sphères.

entre deux remises en marche de l’interface et une calibration est donc nécessaire. A cet effet, un moule extrudé placé à un point fixe dans la structure est employé (Fig. 2.14 (a). A chaque redémarrage, la poignée y est insérée (Fig. 2.14 (b)) et les valeurs de codeurs sont relevées et corrélées aux longueurs initiales des câbles connues en ce point de l’espace.

La localisation de la poignée dans l’espace 3D est ensuite déduite de la longueur de trois câbles avec le modèle géométrique direct établi dans l’Annexe1.

Système de calibration dans linterface Positionnement de la poignée par emboîtement

(a) (b)

Moule extrudé

Figure 2.14. La position dans l’interface est calibrée par un système de moule extrudé placé à un point connu (a). La poignée y est insérée et les valeurs des codeurs sont relevées (b).

La précision de la localisation est testée avec une caméra Atracsys4qui est notamment employée pour des applications en chirurgie. Elle exploite des signaux infra-rouges pour localiser une cible sur laquelle des marqueurs passifs sont apposés. La position est obtenue à une fréquence d’un peu plus de 300Hz avec une précision inférieure au millimètre.

Le système est placé sur le côté de l’interface, à distance d’environ 2m (Fig. 2.15 (a)) et une cible avec des marqueurs infra-rouges est fixée sur la poignée du dispositif (Fig.2.15 (b)).

4. Atracsys System FusionTrack 500 https ://www.atracsys-measurement.com/wp-content/documents/fTk500-datasheet.pdf

2 Implémentation 53 Système de localisation externe

Grille de position Cible infra-rouge Caméra Atracsys Poignée (a) (b) (c) 2 3 4 5 9 8 0 7 6 10 11 12 13 14 1 Erreur détéctée 0.002 0.004 0.006 0.008 0.010 0 0.15 0.24 0.48 Vitesse [m/s] Erreur [m] (d)

Figure 2.15. Un système de caméra infra-rouge est employé pour vérifier le localisation de la poignée (a). A cet effet, une cible avec des marqueurs est fixée sur la poignée (b). Cette dernière est ensuite amenée sur des sphères virtuelles dans l’ordre des numéros indiqués, en revenant toujours au point initial "0" (c). L’erreur entre la position captée par le dispositif à câble et la caméra est présentée en (d).

La poignée est amenée par un utilisateur à différentes positions réparties sur tout l’espace de travail. Elles sont repérées par des sphères virtuelles de 5 cm de diamètre (Fig.2.15(c)). Le test est réalisé en 2D avec l’écran penché complètement à l’horizontal pour aider au positionnement qui pose des difficultés dans la profondeur. Néanmoins, la mesure est répétée sur trois hauteurs différentes pour couvrir un espace 3D.

Le test est répété 10 fois à chaque hauteur, pour trois vitesses différentes. Les résultats de la mesure sont montrés sur la Fig. 2.15 (d). Une erreur moyenne aux alentours de 8 mm est observée, quelque soit la vitesse. Les erreurs sont probablement dûes à un mauvais enroulement du câble sur la poulie de l’actionneur. Les zones les plus délicates sont les angles de l’espace de travail (non montrées ici) où un des câbles possède une longueur maximale d’enroulement, ce qui conforte cette hypothèse. Compte tenu de la taille de la poignée et de l’espace de travail, la précision est néanmoins considérée comme satisfaisante.

2.2.2 Commande des actionneurs

En échange de l’information en position, la commande en impédance renvoie une consigne en effort ~F dans l’espace opérationnel. Afin d’être générée par le dispositif à câbles, elle doit être convertie en efforts articulaires ~fi sur chaque câble i.

L’Eq. 2.4 doit donc être inversée. La pseudo-inverse devrait théoriquement être employée (Eq. (2.5)), néanmoins la résolution nécessite de déterminer un vecteur dans l’espace du noyau et

passe par l’implémentation d’une librairie type Eigen5. Pour éviter d’inclure une boîte noire dans l’algorithme de résolution, une solution alternative est préférée.

La matrice jacobienne initialement non carrée est convertie en matrice carrée en sélectionnant les câbles qui vont contribuer à l’effort. Puisque les efforts ~fi sont transmis dans leurs directions principales et dans le sens poignée vers les points d’ancrage, seuls les câbles qui encerclent ~F sont nécessaires pour produire un effort dans la direction désirée (Fig. 2.16 (a)). En 3D, cette information est obtenue simplement par comparaison entre la direction de ~F et les normales aux plans formées par différents couples de câbles. Au final, la matrice obtenue est carrée et est directement inversée.

La solution proposée a l’avantage d’être simple à implémenter. En contrepartie, l’effort minimal des deux câbles rejetés n’est pas pris en compte et constitue donc un effort résiduel.

Figure 2.16. Les câbles i qui transmettent des efforts ~fi sont sélectionnés si ~F est inclus dans la surface qu’ils forment (a). Une preuve de concept de la méthode appliquée dans l’interface est affichée (b).

Afin de générer la commande, l’ effort fi est converti en couple moteur via le rayon de la poulie enrouleur puis en courant via la constante de couple ki de l’actionneur. La consigne obtenue est ensuite envoyée à une carte de contrôle en courant dédiée à une commande robuste des actionneurs. Le type de contrôleurs et les gains sont déterminés automatiquement après une phase de calibration effectuée par un logiciel dédié6. Elle est réalisée sur les moteurs avec leurs poulies/enrouleurs mais sans câble fixé dessus et n’est pas nécessaire après chaque redémarrage de l’interface.

Chaque actionneur est commandé indépendamment des autres par sa propre carte de contrôle qui sont donc au nombre de 5.

Une preuve de concept du retour d’effort implémenté dans l’interface est montrée Fig. 2.16

(b). Un utilisateur explore une sphère et ressent des efforts générés par le dispositif haptique. Les câbles sélectionnés alternent selon la direction de l’effort (Fig. de gauche) et leur somme correspond bien à un effort F qui correspond à une interaction avec une sphère (Fig. de droite).

5. http ://eigen.tuxfamily.org

3 Couplage co-localisé avec l’environnement virtuel 55

3 Couplage co-localisé avec l’environnement virtuel