lundi 12 avril 2021

Assemblage d'un bras robotique miniature de type MeArm v0.4

MeArm est le nom d'un bras robotique miniature open source dont la première version à été mise au point en 2014. Je me suis procuré un kit similaire à la version 0.4 du MeArm. Si vous avez accès à l'équipement nécessaire, vous pouvez fabriquer les pièces vous-mêmes grâce aux fichiers fournis sur Thingiverse (mais alors vous préférerez peut-être réaliser une version plus récente: ils en sont à la version 3.0).


Je vous montre immédiatement une vidéo de mon bras robotique, une fois monté, en train d'effectuer ses exercices physiques quotidiens:

Le bras est actionné par 4 petits servomoteurs: un d'entre eux fait tourner la base rotative, un autre  sert à ouvrir et fermer la pince...

...un des deux servomoteurs latéraux ("l'épaule"), contrôle la partie antérieure du bras...


... alors que l'autre servomoteur latéral ("le coude"), contrôle l'inclinaison de la partie supérieur du bras.


Assemblage du bras

Au départ, les pièces en acrylique sont disposées sur 4 plaquettes de 14,5 cm X 9,5 cm. C'est le moment idéal d'énoncer notre traditionnelle remarque "Mais...ça semblait beaucoup plus grand sur les photos!". 

(Une fois terminé, le bras semble un peu plus petit que sur les photos, mais plus grand qu'on aurait pu le croire en regardant les pièces détachées)


On détache chacune des 37 pièces, et on prend soin de retirer le papier adhésif protecteur.


Il y a aussi des vis...



Aucune directive d'assemblage n'accompagnait mon kit, mais le vendeur avait proposé un lien vers les instructions officielles de la version 0.4 de MeArm sur le site Instructables. L'assemblage du bras robotique y est extrêmement bien documenté: les instructions sont claires et détaillées, les photographies sont nombreuses. Seul bémol: les pièces qui figurent sur ce guide d'assemblage sont très similaires aux miennes, mais pas rigoureusement identiques, ce qui m'a rendu un peu nerveux au début: je n'étais jamais certain à 100% de faire la bonne chose en utilisant le bon morceau...

Ainsi, j'avais remarqué avec inquiétude que le kit officiel comportait 4 collets servant à fixer un servomoteur, alors que le mien n'en comportait que 3. En cours de route, j'ai constaté qu'il s'agissait d'une pièce de rechange, car plusieurs personnes en cassent un en serrant un vis trop fortement. Pas besoin du 4e collet, alors...

J'avais aussi une petite pièce qui ne ressemblait à rien de ce que je pouvais voir dans les instructions, mais son emplacement est devenu évident vers la fin du montage.

Pas de panique, donc. Il s'agit de ne pas être trop pressé, et d'accepter d'avoir à démonter certaines parties lorsqu'on constate qu'on a placé quelque chose à l'envers (ça m'est arrivé quelques fois). Plusieurs pièces comportent des coches situées d'une façon qui vous oblige à les installer dans le bon sens (ou à constater qu'on a commis une erreur lors d'une étape précédente).

Assemblage de la base rotative (étapes 2, 3, 4 et 5 des instructions):




Le côté gauche (étapes 6, 7 8 et 9 des instructions):




Le côté droit (étapes 10 et 11 des instructions):




Jonction des deux côtés et ajout de la travée centrale (étapes 12, 13 et 14):







Installation sur la base et ajout des avant-bras (étapes 16 et 17):




Assemblage de la pince... (étapes 18 et 19) ... (dans l'excitation du moment, j'ai complètement oublié de prendre quelques photos!)


Et le bras est terminé!


En cours de route, j'ai cassé le coin d'une pièce supportant la pince (la vis devait s'insérer dans le sens contraire à ce qu'indiquaient les instructions...). J'ai pu réparer ma gaffe grâce à un peu de colle. J'ai aussi remplacé deux vis d'articulations qui n'étaient plus retenues par leur pièce de plastique (probablement parce qu'elles avaient été un peu trop souvent dévissées/revissées).

Contrôle des servomoteurs

Puisque mon kit ne comportait aucune carte de contrôle, j'avais l'entière liberté de choisir ce qui me convenait le mieux. J'ai opté pour un Arduino Uno associé à un module PCA9685. J'avais d'abord essayé de brancher les servomoteurs directement à l'Arduino, sans le module PCA9685, mais le comportement du bras devenait erratique lorsque les 4 servomoteurs étaient branchés en même temps.


Le projet MeArm met à notre disposition une bibliothèque de cinématique inverse: il s'agit d'indiquer les coordonnées de la position finale désirée, et la bibliothèque calcule la position angulaire que doit prendre chacun des 4 servomoteurs: cette bibliothèque est offerte en version Arduino, Arduino avec module PCA9685, Raspberry Pi, Beaglebone Black et Espruino.

Avant de passer à ces bibliothèques, je recommanderais de faire quelques tests pour vérifier le bon fonctionnement de chacun des 4 servomoteurs, en démarrant à leur position centrale et en les faisant tourner avec précaution de façon à connaître les limites de leur mouvement.

Les servomoteurs ne semblent pas très loin de leur moment de force maximal: j'ai obtenu des meilleurs résultats en les alimentant avec une tension de 6 V, et en ajoutant un peu de lubrifiant sur les articulations du bras.

À lire aussi:


Yves Pelletier (TwitterFacebook)

1 commentaire: