Bras Robot

Qui n’a jamais joué à se déguiser en robot quand il ou elle était enfant? Pour ma part, je récupérais les boîtes de lessive et de céréales en carton, je les enfilais sur les bras, les jambes et la tête : voilà, j’étais devenu une super machine. Je ressemblais carrément à ce petit garçon :

Quand on parle de robot, on pense souvent à un androïde articulé en métal et une voix synthétique. Un peu comme notre ami Atlas, qui ressemble de plus en plus à un T800.

Que serait un robot sans bras équipés de doigts, d’une pince ou d’un outil, qui lui permettrait d’interagir avec son environnement (comme éliminer l’espèce humaine) ? Pas de bras, pas de chocolat et pas de jugement dernier.

Les ROV (Remote Operated Vehicle) utilisent souvent un ou plusieurs bras pour manipuler des vannes ou attraper divers objets sous l’eau (voir cette vidéo, par exemple).
Alors, je vais commencer par concevoir un bras à mon robot ! Il ressemblera à quelque chose comme ça :

Modèle 3D avec Autodesk Fusion 360

Première étape : le dessin. Je vous épargnerai les ébauches au crayon sur mon cahier pour passer directement au modèle 3D. Je l’ai réalisé avec le logiciel Autodesk Fusion 360, qui est gratuit pour les étudiants et les start-ups.

Pour ce premier modèle, j’ai conçu un bras standard avec 5 degrés de libertés (DOF), en utilisant 3 servo-moteurs puissants (4kg.cm) et 2 micro-servos (1kg.cm). Le bras peut donc tourner autour de l’axe vertical, s’incliner, se plier. Il peut pivoter son poignet et ouvrir/fermer la pince pour attraper des objets.
Et pour faire le test, une vidéo du modèle 3D.

Malheureusement, Fusion 360 ne permet pas encore d’animer les articulations pour générer une vidéo. Je peux juste tourner autour, faire bouger / apparaître / disparaître les pièces, mais sans tenir compte des contraintes. Il faudra attendre une éventuelle mise à jour, ou alors, que j’en fasse une animation image par image, en bougeant chaque pièce séparément. Je vous aime bien, mais y’a des limites !

Création

Passons maintenant à la réalisation. Pour ce premier essai, je vais me contenter de carton et de plasticard : c’est facile à travailler et je peux me permettre de me tromper plus que de raison. J’ai défini les formes et les dimensions de chaque pièce, je peux donc facilement découper et assembler au fur et à mesure.

 

Fixation de la base tournante et du bras
Fixation de l’avant bras
Collage du support pour le poignet
Préparation de la pince
Le bras est complet !

Test et vidéo

Maintenant que tout est assemblé, j’ai envie de le tester !
Le contrôle se fait avec la commande de la PS2, en utilisant les joysticks pour contrôler les mouvements des servos :
– Gauche X : rotation de la base
– Gauche Y : inclinaison du bras
– Droite X : rotation de la pince
– Droite Y :  flexion de l’avant bras
– Bouton X : ouverture / fermeture de la pince
Comme on peut le voir, les mouvements sont encore un peu saccadés, mais j’arrive à résoudre ce problème en installant des condensateurs sur l’alimentation des servos et en réduisant la vitesse dans le code. En tous cas, ça marche

Améliorations

Parmi les améliorations possibles, je pense ajouter un degré de liberté : la flexion du poignet pour faciliter la préhension d’objets et avoir ainsi 6 degrés de liberté.

De plus, je pense à terme réaliser les éléments en plastique, par exemple en impression 3D. Ca me permettra de tester cette méthode de fabrication, qui me sera sûrement utile pour plein d’autres applications.

A très bientôt pour de nouvelles aventures !

Avancement (18/01/2018)

Voilà, voilà…

Maintenant que le CSM est vraiment fini et après quelques mois à faire de la théorie (rapport et soutenance,✅, voir mes précédents posts), je peux me remettre à la technique. Pour commencer, j’ai commandé de nouvelles pièces, notamment pour la réalisation du ballast. Cependant, il leur faut quelques semaines pour me livrer, alors je me demande comment m’occuper pendant ce temps là ? Pas de soucis, j’ai une ‘To Do List’ longue comme le bras, avec quelques micro-chantiers pour améliorer le projet.

Mise à jour de la télécommande !

En effet, j’utilise une boite à chaussure, avec deux joysticks. Elle manque quelque peu de fonctionnalités, même si elle ne manque pas de charme. En fouillant dans les tiroirs, je retrouve le gamepad d’une vieille PS2. Bon, il est un peu vieux et a pas mal souffert pendant les parties enflammées de Tekken ou de Soul Calibur, alors les boutons sont un peu durs de la feuille maintenant. Il faut un peu insister sur la Croix et le Carré pour qu’ils soient détectés… On remercie Steve de Tekken 4, pour son enchaînement de crochets / uppercut.

Avec une Arduino, on peut faire des merveilles. Et avec la communauté Arduino et l’esprit ‘Open Source’, on peut faire des miracles. Une rapide recherche sur le net, je trouve comment faire les branchement, qui ne semblent pas trop sorciers.

J’ai même trouvé une librairie toute prête, qui s’appelle intelligemment PS2X_lib.h : en gros, je n’ai plus qu’à brancher, charger la librairie dans le programme et le tour est joué. Euh… est ce vraiment aussi simple ? On teste tout de suite !

 

Bah non, forcément, ça marche pas du premier coup. La librairie dit qu’il faut brancher le gamepad avec du 3.3V. En réalité, ça dépend de la marque : pour moi il faut du 5V. Ensuite, il faut ‘réhausser’ le signal qui vient du gamepad, en installant une résistance (10 k Ohms) entre la connection ‘Data’ et le +5V de l’Arduino. Et là ? Youpi, ça marche comme sur des roulettes.

Une commande qui a de la gueule, avec plein de fonctionnalités (2 joysticks analogiques, 1 croix directionnelle et pas moins de 10 boutons !) pour pas un euro dépensé : bon plan.

Indicateur du niveau de batterie

Cette fonctionnalité n’est pas du luxe : en effet, si une batterie du sous marin tombe en dessous de son niveau minimum, cela présente plusieurs risques. Tout d’abord, la perte de l’engin, qui ne serait donc plus capable d’alimenter ses moteurs pour se propulser ou sa pompe de ballast pour remonter. Mais aussi, la destruction de la batterie LiPo, qui n’aime pas être déchargée en dessous de son niveau critique (3.7V par élément !). En dessous de ce seuil critique, il y a de fortes chances que la batterie soit irrécupérable et même, qu’elle prenne feu. Sympa, un incendie dans un sous-marin, c’est rarement une bonne nouvelle.

Donc, l’idée générale c’est de connecter la batterie à un pont diviseur de tension (pour ramener les 8.4V à pleine charge à 4.2V, soit un facteur 0.5) et de se brancher à un pin Analogique de l’Arduino. On va comparer la tension qui est lue par l’entrée Analogique à la tension de référence de la carte (5V), en prenant 0 = 0V et 1024 = 5V.

Ensuite, une petite formule nous donne une approximation de la tension délivrée par la batterie :
Vbatterie = (Mesure * 5V/1024) / (0.5)
Par exemple, si je lis une valeur de 800, cela équivaut à une tension délivrée de :
Vbatterie = (800*5/1024)/(0.5) = 7.81V.

En comparant cette valeur au tableau ci-dessous, on obtient une approximation de la charge restante de la batterie, en fonction du nombre d’éléments. Pour ma part, c’est une batterie à 2 éléments, donc 7.81V ~ 80% de charge :

 

Ce qui nous intéresse, c’est la valeur de la mesure qui indique que la batterie est dans sa zone critique
Vcritique = 7.4V -> Mesure critique = 757

Si on s’approche de cette valeur, c’est le signe qu’il faut faire surface et rentrer au port… Je concocte un petit script pour que le sous marin remonte automatiquement dans ce cas, quelles que soient les instructions reçues.

Conception d’un bras robotique

A terme, ce robot aura besoin d’interagir avec son environnement : saisir un objet, tourner une vanne, poncer une coque, faire un selfie… Il lui faudra donc un bras et une main. En plus, avec le gamepad PS2 opérationnel, je peux facilement contrôler un grand nombre de degrés de libertés. Je reconnais, j’ai des choses plus urgents à faire avant. Mais… c’est trop cool !

Alors, sur internet, on trouve un peu de tout : des bras imprimés en 3D avec 7 voire 9 servos, des bouts de cartons fixés à la colle chaude avec 3 servos… Je me décide pour une version intermédiaire : du carton et du plasticard vissé/collé à la cyano avec 6 servos. Dans l’idée, je souhaite obtenir quelque chose comme ça :

En à peine 2 heures, je bricole l’embase avec un servo pour la rotation sur l’axe vertical, une base qui supporte un second servo pour la rotation du bras. Je modifie le code qui m’a servi pour le test du gamepad PS2 et je traduis les données du joystick en instructions brutes pour les servos. C’était presque facile !

Prochaine étape : je rajoute l’avant bras, le poignet et une pince. Je modifie le code de contrôle pour que le bras garde la dernière position en mémoire et que les instructions du joysticks soient relatives. Je pense même en faire une news à part entière, avant de me ‘plonger’ dans la réalisation du ballast !

A très bientôt !

NAUVA-ER

Bonjour à tous !

Je vous souhaite à tous une excellent année 2018 !

Qu’elle soit pleine de projets passionnants, de réussites et de bonheur.
Et surtout, comme on dit à Nice : « A l’an que ven, se li siam pas mai, que li siguèm pas mens ! »

Pour ma part, j’ai une bonne nouvelle pour commencer l’année : l’entreprise NAUVA – E&R SAS est maintenant immatriculée au R.C.S. de Nice ! Deux raisons de sortir le Champagne !

Le ‘E & R‘ représente les deux activités principales :
Engineering : la sous-traitance d’études d’ingénierie pour les entreprises.
Robotics : la conception et la fabrication de robots sous-marins pour les particuliers et les entreprises, ainsi que les services associés.

Enfin, c’était aussi parce que d’autres ont été plus rapides que moi et ont déposé le nom NAUVA avant moi… Il fallait bien que je me démarque !

Les bénéfices de l’activité d’ingénierie me serviront à financer les développements de l’activité robotique, afin de limiter le besoin de financement extérieur ou d’emprunt auprès des banques.

Ce n’est donc plus un ‘projet‘, mais bel et bien une entreprise. Ce qui fait de moi un chef d’entreprise !
Je dispose maintenant d’une nouvelle adresse email pro : gael.debressy@nauva-er.com et par la même occasion, ce ‘blog’ migrera à terme vers un site dédié, avec plus de fonctionnalités (version en anglais et en français, catégories bien distinctes, interfaces).

Je tiens à remercier tous ceux qui me soutiennent dans cette aventure et qui, je l’espère, continueront à me soutenir pour la suite ! Parce que les choses sérieuses commencent… maintenant !

Je ne pouvais terminer ce post sans saluer au passage notre fabuleuse administration française, qui transforme chaque étape de la vie d’un entrepreneur en une superbe expérience orwellienne.

A très bientôt pour quelques nouvelles sur l’avancement du prototype… qui fait la tête après la fête. On dirait que l’électronique n’a pas aimé le foie gras et le champagne, ou c’est le fait de changer d’année. Allez savoir !