Drawbot, le robot 🤖 dessinateur du Devfest 🖊
Pour animer le stand du Devfest 2021, Stéphane Cohan et moi avons fabriqué un robot graffeur à base d’Arduino et de pièces imprimées en 3D. Ce robot est largement inspiré du projet Polargraph de Sandy Noble.
Un stylo-feutre est entraîné par le biais de courroies reliées à 2 moteurs afin de le déplacer. Ce système positionne le crayon à l’aide d’un système de double triangulation.
Dans cet article, nous allons vous détailler les différentes étapes de sa création.

🛠Matériel de construction
Ce robot est montĂ© sur une grande planche de placard que nous avons dĂ©coupĂ©e aux dimensions de 240×90 cm et sur laquelle nous avons collĂ© du papier peint motif brique.


Le robot dessinateur est composé de :
- D’une carte électronique Arduino Uno et d’un shield CNC v3 : cette carte embarque notamment un micro-contrôleur qui interprétera les ordres reçus via le port USB depuis l’ordinateur afin de piloter les moteurs. La seconde carte se branche sur le dessus de l’Arduino et produit les signaux électriques de puissance pour les moteurs. (en rouge en haut de la photo);

- 2 moteurs pas à pas NEMA17 disposés de chaque côté de la planche afin de faire bouger les courroies crantées en caoutchouc de type GT2. Ce matériel est fréquemment utilisé dans les imprimantes 3D et autres fabrications DIY du fait de leur disponibilité, robustesse et coût.

- D’un support de stylo appelé “gondole” portant le stylo. Cette pièce, lestée d’environ 100g, se déplace sur la feuille de dessin par l’intermédiaire des courroies crantées reliées aux 2 moteurs. Un support magnétique a été conçu pour faciliter le changement de feutre et de couleur.

- De plus, la gondole est équipée d’un servomoteur pour lever le stylo afin de ne pas dessiner lors de déplacements comme nous le faisons lorsque nous tenons un crayon avec la main.

- De nombreux modèles de gondole sont disponibles sur les sites de bibliothèque de modèles 3D mais nous avons préféré en redessiner une afin de permettre le changement de stylo plus facilement par le biais du support magnétique et d’optimiser l’emplacement du servomoteur.

- Des contrepoids au bout de chaque courroie sont fixĂ©s afin d’assurer une tension dans celle-ci pour que les moteurs ne patinent pas et qu’il n’y ait pas de “saut” dans le dessin. 100g de plomb de pĂŞche sont installĂ©s dans chaque boĂ®te.

- 2 supports de moteurs Nema (lien thingiverse) pour fixer les moteurs Ă la planche

- 1 support pour la carte Arduino (lien thingiverse)

đź’» Logiciel
Le robot n’est pas autonome, il n’est pas capable de convertir directement un fichier vectoriel ou une image en ordres de déplacement, il faut passer par un outil fonctionnant sur un ordinateur.
Nous avons utilisé polargraph qui fournit un firmware pour l’Arduino Uno et une interface graphique sous Processing 2.2.1 fonctionnant sous Windows, Macos ou Linux.
L’IHM n’est pas très facile Ă utiliser et n’est malheureusement plus maintenue… Il existe cependant des alternatives comme melt-app ou plus globalement le projet makelangelo qui fournit un autre firmware et une interface plus accessible.
Avant de commencer à dessiner, il faut calibrer le robot en fonction de la distance entre les moteurs, la longueur des courroies, le nombre de dents des poulies fixées aux moteurs et la position et taille de la zone à dessiner. Cette opération est plutôt fastidieuse car il faut tester de manière empirique la configuration mais le résultat final en vaut la peine.

Voici le rĂ©sultat d’un dessin :

Voici un exemple de déplacement de la gondole en vidéo :
Les fichiers SVG que nous avons sélectionnés pour le DevFest sont uniquement constitués de lignes et de petites tailles.
Il faut environ 5 min pour dessiner la bombe de peinture sur la photo précédente, ce qui n’est pas très rapide. En effet, les déplacements sont découpés en fragments de 1 mm et sont transmis de manière synchrone entre le PC et l’Arduino ce qui induit une latence sur le bus USB et sur les moteurs qui ne restent pas en mouvement continuellement.
🚀 Vers l’infini et au-delà !
Nous avons passé du bon temps à réaliser ce projet et espérons que le robot fonctionnera tout au long de la conférence ;-).
Bonjour,
J’ai Ă©tĂ© poussĂ© sur cette page par le titre racoleur de https://blog.zenika.com/author/gmembre2/ me laissant penser que j’allais savoir comment construire un tel robot pas Ă pas.
Las, je tombe sur une page qui dĂ©gonfle rapidement les ambitions. Nulle rĂ©fĂ©rence prĂ©cise de matĂ©riel (quand elles sont citĂ©es), aucun partage des fichiers utilisĂ©s. Il est indiquĂ© que le logiciel est obsolète et complexe Ă prendre en main, mais aucun retour d’expĂ©rience n’est exposĂ©, aucun conseil ou dĂ©but de tuto.
Les belles images avec les logos zenika sur le papier peint montrent manifestement une maĂ®trise perfectible de photoshop de la part de l’auteur, sentiment de faux appuyĂ© par l’absence de vidĂ©o montrant le robot en action de dessin. Bref, vous avez probablement construit un système capable de dĂ©clencher deux moteurs et moi je viens de perdre mon temps.
DĂ©solĂ© pour ce commentaire mais il fallait que je rĂ©agisse car c’est ici une belle page de consultant 🙂
Bonjour,
Merci d’avoir pris le temps de vous arrĂŞter sur notre blog. DĂ©solĂ©e que l’article vous ait tellement déçu. Vos remarques ont Ă©tĂ© transmises Ă l’auteur 🙂
Bonne journée !