Construire une main artificielle
Pour contribuer à la construction d'un robot personnel, les concepts de la main...
Cette main artificielle nous met en face d'une série de difficultés:
- La synchronisation des doigts. Un problème purement logiciel en fait.
- Le toucher. Le doigt doit s'arrêter dans sa course lorsqu'il atteint l'objet qu'il veut toucher. Pour cela il est équipé d'un senseur. Il doit aussi fournir un feedback, une information sur la consistance de ce qu'il touche, car son action sur l'objet en dépend.
- La pression. On commande au doigt un degré de pression qui doit être calculé pour ne pas affecter l'objet touché. C'est aussi une question de programmation (ou d'apprentissage), mais cela nécessite un feedback qui engage un senseur de pression.
- Les sensations. Le chaud et le froid sont à terme des sensations que l'on doit ressentir (surtout le chaud pour éviter les brûlures).
- L'articulation. C'est l'extrémité des doigts qui est essentielle au fonctionnement de la main. Les phalanges servent à les prolonger pour tenir un objet. La conception de l'articulation donc peut se concentrer sur l'extrémité, les autres parties lui étant dépendantes.
Dans le modèle construit par Sandia, les doigts peuvent être détachables et interchangables, à l'exception du pouce. C'est un modèle que l'on suivra car il facilite nettement la tâche.
Les senseurs
On dotera notre doigt des sensations élémentaires pour lui permettre de réagir aux actions externes et d'agir plus précisément sur les objets, grâce à différents senseurs.
Capteur de toucher
Un tel capteur s'active dès qu'il en contact avec un objet, il ne fait pas de différence si l'objet va à la rencontre du capteur ou si le support du capteur, le doigt en l'occurence, rencontre l'objet. On trouve de tels capteurs (Hitec), par ailleurs minuscules et adaptés à notre usage chez Roboshop.com pour environ 10 dollars.
Senseur de température
Le principe est d'envoyer un courant dont le voltage dépend de la température ambiante. Il est de 0.2 volt à -50 et 2 volts à température d'ébullition. Un senseur comme le TMP 36 qui est de la taille d'une pièce de 5 centimes coûte 2 dollars, il est disponible notamment chez Adafruit.com.
Capteur de force ou senseur de pression
Ce n'est pas un composant pour mobile mais bien précisément un objet destiné à la robotique. Il en existe de forme circulaire qui pourraient s'intégrer à un doigt. On en trouve à moins de 10 dollars chez Roboshop.com.
Mais on peut préférer fabriquer son propre senseur en dotant le doigt d'une surface flexible sous laquelle une tige s'enfonce dans un tube à l'intérieur duquel lui est opposée la force d'un ressort. Deux contacts sont liés aux deux extrémités de la tige. Lorsque le doigt touche un objet, le premier contact est activé et lorsque la tige touche le fond du tube, le second contact est à son tour activé. Le délai entre les deux contact est une mesure de résistance de l'objet touché et cette mesure dépend aussi de la vitesse imprimée à la main et la force de son action.
Schéma:
Notre robot peut avoir une anatomie particulière, avec un doigt doté d'une sensibilité à la température, un autre à la pression et les autres au toucher!
La fabrication du doigt
L'articulation est composée de deux fonctions de base, la préhension et le déplacement. Dans le mouvement de préhension, c'est la phalange à l'extrémité qui détermine le mouvement. Mais le déplacement du doigt est lui assuré par la phalange à la base du doigt. Les deux actions ont une fonction opposée d'extension et de recul. C'est en combinant ces actions de base que l'on détermine les mouvements de la main.
Il faut donc deux actuateurs dans le doigt, l'un pour la dernière phalange, l'autre pour la première. Celle-ci pivote autour d'un axe, donc on fixe à la première phalange un moteur qui selon le sens de rotation, rapproche ou recule le doigt.
On relie le bout du doigt à un cable glissant dans une gaine et relié à un actuateur tel que décrit dans l'article sur le sujet. Tirer sur le cable plie le doigt, le repousser le place en extension. Le schéma ci-dessous en donne le principe (les proportions ne sont pas respectées).
Ce schéma peut être complété éventuellement par un dispositif pour bloquer le doigt une fois la prise assurée et compléter la force du moteur.
Les produits industriels font des doigts en métal pour plus de solidité. Nous utiliseront plutôt de la résine qui peut se rapprocher de la couleur de la peau, ou un matériau similaire et flexible.
L'activation de la main
Tout le travail de manipulation et de précision repose sur le logiciel. Nous disposons pour chaque doigt de quatre actions de base, chacune avec des degrés différents. Plus des fonctions de sensation.
Ces actions de base reliées par une carte de contrôle au logiciel se traduisent par quatre fonctions du langage de programmation, chacune avec un paramètre pour l'amplitude de l'action et sa vitesse.
A ces fonctions s'ajoutent des évènements générés par les capteurs: une information de toucher, une sur la résistance, une autre sur la température.
Reste alors à traduire une action voulue, telle que prendre un objet et le déplacer, en commandes pour les actuateurs, tout en intégrant les données des capteurs. Le logiciel doit disposer d'une représentation en 3D de la main. En agissant sur cette représentation 3D avec la souris, ou un écran tactile, on lui imprime des mouvements qui génèrent des entrées dans une base de donnée, la mémoire associée à la main. Le programme doit alors puiser dans cette base de données pour retrouver les mouvements adéquats. Il les adapte alors en fonction de la distance et la forme des objets.
Il est possible de créer des membres très rapides, comme le montre cette vidéo.
Voir aussi Animation d'un doigt de robot. Représentation en SVG.