Table des matières

Robot Poppyno avec Arduino

L'objectif est de construire un robot bipède très bon marché, inspiré de Poppy, programmable via une carte Arduino Uno, permettant de faire des essais dans une optique pédagogique.

A l'heure actuelle,je participe, dans le cadre des Samedis Robots, au projet Conception d'un robot à base d'Arduino avant de m'attaquer à celui-ci, afin d'acquérir les bases.

Conception

Plusieurs idées

J'ai d'abord imaginé et modélisé sur Blender une déclinaison de robots, plus économique que Poppy, allant d'une tête à une version entière avec plusieurs servomoteurs XL-320. Je me suis ensuite concentrée sur la tête avec l'idée de partir d'une plaque d'essai sans soudure comme base.

Ensuite, j'ai imaginé et modélisé une version entière d'un robot bipède, avec le moins de moteurs possibles.

J'ai ensuite commencé le montage d'une tête simplifiée, en utilisant différents composants de mon kit Sainsmart.

Logiciels utilisés

Réalisation

Matériel personnel

A la maison :

Achats via internet sur Cdiscount :

Outils et matériel utilisés au fablab

Tête du robot

J'ai fait plusieurs essais de montage sur une breadboard 400 pts mais comme je viens de recevoir un lot de 10 pièces Mini soudure Prototype Breadboard 170 points de liaison pour Arduino Shield New SG191-SZ, je vais refaire des essais avec, pour que chaque breadboard reçoive un composant.

Comme j'ai eu aussi l'idée de mettre le montage dans une boite, avec juste des “détrompeurs” et un cache (ou masque) en papier ou carton, je le documente sur Tête de robot en boite

L'étape suivante est de pouvoir disposer de composants modulables pour pouvoir changer comme on le souhaite la tête du robot. Dans cette optique, je divise mon visage en blocs de taille identiques. J'ai fait plusieurs essais.

boite_visage_V3.svg

boite_visage_v6.svg

Nouvelles idées en venant au fablab

Samedi dernier, ma tablette étant déchargée (bien que non utilisée depuis la dernière fois), je n'ai pas pu re-tester mon montage, mais j'ai eu plein d'aide:

Préparation composants clipsables

J'ai aussi réalisé une plaque d'essai 400 pts avec Blender en m'inspirant d'un tutoriel vidéo (sans paroles) de MatteReal. Cette plaque d'expérimentation virtuelle m'aidera à imaginer comment réaliser la tête de mon robot. Je commence à réfléchir dans un autre fichier Blender comment concevoir les blocs à clipser.

Je dois cependant retravailler un nouveau fichier blend (+ version ortho) une fois avoir refait mon montage sur la breadboard, en surélevant un peu les résistances et en plaçant les composants de manière plus compacte et logique. Le dernier test devra être revu en fonction du travail sur Inkscape.

breadboard 400pt - blender essai blender pour blocs repositionnement composants avec blender vue ortho avec Blender nouvel essai de composants

Dans mon projet, je commence à ajouter de l'épaisseur aux parois des éléments où seront placés les composants électroniques, mais je ne suis pas sûre de la taille exacte à choisir, de l'espace à prévoir entre 2 parois, s'il faut faire des éléments creux pour économiser de la matière et comment clipser les éléments entre eux…

Préparation servomoteurs

copie légèrement transformée (suite à des problèmes de rendu) d'une arduino modélisée par Evan Boldt

modélisation du servomoteur du sidekit basic kit.

Il faudrait que je vérifie quel poids il peut supporter et comment monter la tête dessus.

fichier Blender avec le servomoteur

Test servomoteur et potentiomètre

Montage et programme servomoteur avec potentiomètre d'après le tuto du wiki de seeedstudio

Préparation Robot entier

poppyno_blend_V5/poppyno_V5_3.blend

Difficultés actuelles

Connecter l'Arduino à ma tablette ou à mon téléphone

Au fablab ou aux Samedis Robots, l'accès aux ordinateurs portables n'est pas toujours possible.

J'apporte ma tablette mpman mpdc1006 8gb et un adaptateur USB vers micro USB. Auparavant, j'ai recherché les modèles disponibles et fait une petite fiche de rappel.

Mais l'appli Arduinodroid n'a jusqu'ici pas fonctionné.

Lors du premier upload d'un sketch (avec l'exemple Blink), elle propose plusieurs ports USB mais je ne sais lequel choisir et l'upload des sketchs est alors bloqué. Pour que l'appli repropose le choix entre les ports, je dois vider le cache de ma tablette dans les paramètres, mais j'ai toujours 2 ou 3 ports indiqués (dont 2 marqués Arduino) et 1 non reconnu. L'upload ne fonctionne pas quelque soit mon choix.

Le câble adaptateur n'est pas en cause, j'en ai essayé un autre : même problème. Pas facile de trouver si ma tablette et mon téléphone sont bien compatibles OTG. Ma tablette a bien un USB host, est-ce bien la même chose ? Le câble adaptateur ne me permet pas non plus de récupérer les photos de mon appareil photo numérique sur ma tablette.

On m'a conseillé d'updater Android (4.2.2 sur ma tablette mpman mpdc1006 8gb et Jelly Bean 4.1.1 sur mon téléphone Bouygues Telecom BS 471) mais la mise à jour via la tablette indique que j'ai la dernière version android disponible.

La page Program your Arduino with an Android device! indique que l'appli fonctionne à partir de la version 2.2 d'Android donc ça devrait fonctionner avec la tablette.

Autre problème : Je n'ai pas accès sur ma tablette à mes fichiers Inkscape et Blender (en ligne ou sur ma clé USB) et les png transparents se présentent sur fond noir et non sur damier, cachant ainsi les éventuels éléments noirs de l'image. Le site Autodesk123D circuits ne s'affiche pas non plus.

Suites du projet

Précision de l'objectif

L'objectif est surtout pédagogique. Il s'agirait pour des débutants ou des jeunes, de pouvoir apprendre à construire et à programmer ce robot, au prix le plus bas possible, en ayant juste les principaux capteurs, actionneurs et composants.

Les robots de type Ergo Jr sont sympas mais je préfère un robot entier à un bras seul.

Il doit être modulable et contenir des composants clipsables facilement réalisables par quelqu'un d'un peu bricoleur (enseignant, animateur, amateur…), qui pourront ensuite être utilisés par des enfants plus jeunes pour faire des tests.

Ce projet me permettra personnellement d'apprendre beaucoup de choses, de manière progressive, et, si je le mène à bien, j'aurai j'espère le plaisir d'avoir un robot bipède à moi pour un prix raisonnable.

Mon projet final est sans doute très ambitieux étant donné mon peu de connaissances en électronique et en robotique. Merci à tous ceux qui m'accordent leur temps et leurs conseils.

Division du projet

Tout doit être conçu de manière modulaire.

Conseil d'un visiteur des Samedis Robots : Réfléchir au projet de manière globale, en pensant à la façon d'articuler les différents éléments (tête, buste, membres…) de la manière la plus adaptée à un système modulable.

Composants clipsables

Les composants clipsables (qui réuniront par exemple led + résistance dans un bloc) devront être facilement réalisables par un adulte ou un adolescent (de préférence sans soudures), et pourront ensuite servir à des enfants plus jeunes pour réaliser leur modèle personnel.

2 options :

Corps du robot et servomoteurs

Moteurs pour le cou, les jambes et les bras : Dans un souci pédagogique, utiliser différents types de moteurs pour les articulations : pas-a-pas, courant continu et servomoteurs.

Prévoir fixation simple des moteurs et des membres

Penser à l'alimentation et à la manière de reprogrammer facilement la carte Arduino.

Capteurs pour les mains ?

Pour gérer le programme pour tous ses composants différents, voir le tuto Adafruit-multi-tasking-the-arduino-part-1

Difficultés à prévoir

Comment fixer les éléments pour le projet final sans soudures ?

J'ai peur de faire des soudures :-? et dans une optique de travail avec des enfants de CM1/CM2 (public avec lequel je travaille, entre autres), les soudures ne sont pas très faciles à envisager.

Composants clipsables existants (chers):

On peut aussi créer au fablab des plaques d'essai perforées spécialement pour le projet, avec des composants soudés, et les enfants n'auront qu'à les clipser.

Quels capteurs utiliser ?

Ex: capteurs au niveau des oreilles pour tourner la tête au robot quand on approche la main ou qu'on le touche : infrarouge, ultrasons ?

Penser au poids de la tête, qui doit être suffisamment léger pour être géré par un petit servomoteur bon marché. Idem pour la fixation.

On peut aussi prévoir un capteur de pression dans les mains, qui ferait monter et descendre le bras. Ou tout simplement un bouton poussoir, pour reprendre les exemples de Thierry lors des Samedis robots.

Marche

Il faudra voir la stabilité du système, la tête risquant d'être trop lourde et les composants clipsables risquant de bouger beaucoup lors de la marche

Quelques idées pour la simplifier :

Une solution : Projet de robot roulant

Il est envisagé de créer un robot à roues à plusieurs aux Samedis Robots, ça pourrait être une option plus simple, selon les autres participants.

On peut partir du robot roulant de Cédric Doutriaux où une petite roue avant permet de conserver l'équilibre.

1ère idée : s'inspirer du robot Pepper, qui est monté sur roues bien qu'humanoïde. ou version 2 avec la carte arduino sur les épaules.

2ème idée : Si l'équilibre est meilleur avec une hauteur réduite, reprendre un peu le look de Pedro le robot, fait au fablab par Maxime, mais avec des parties qu'on peut enlever et bouger.

3ème idée : Un robot de taille intermédiaire entre les 2 précédents avec le visage composé de 6 mini-breadboards (faire un test avec les 6 breadboard en position verticale, pour de + jolies proportions)

Sites et pages utiles

Sources d'inspiration

Recherches préparatoires

Simulations, schémas préparatoires, modélisation virtuelle du projet

J'ai préféré des solutions en ligne gratuites même si elles ne sont pas libres.

Partage et conseils

Robots avec tutoriels

Achats à prévoir

Kits avec plusieurs servomoteurs, par ex :

Mais ils ne sont pas super beaux et il y a plein de pièces inutiles pour moi et d'autres qui manquent pour mon projet.

Servomoteurs un à un ou par lots :

Liste Google, prix par ordre croissant

Modèle le moins cher :

Plusieurs vendeurs :

TowerPro SG90 9G Mini Servo avec accessoires - Bleu à 2.15 € (en solde, prix normal : 3,31€) - Pour 5 servos, 1.89 € frais ports (marqué aussi livraison gratuite en 24h pour la France) = 12,64 pour 5 servos

pour l'EU : TowerPro SG90 9G Mini Servo with Accessories - Blue à 2,41 € (soldé prix normal : 2,71 €) - livraison gratuite en 5-7 jours à partir de 30 € de commande = 12,05€ (ou 13,55 € sans les soldes) pour 5 servos (mais voir autres produits)

TowerPro SG90 Mini Servos 9g pour 450 Hélicoptère à ailes fixes à €1,39 - €1,36 pour 3 à 9 servos - port pour 5 servos : €6,22 pour 12-23 jours ouvrables = 13,02€ pour 5 servos

Tour Pro SG90 9G Spare Part Servo pour hélicoptère RC Bleu à €2.79 - livraison gratuite 3-7 jours (voire plus car produit très demandé) = 13,95 € pour 5 servos

Autre servomoteur pas cher :

MR.RC 9g Mini Servo SG90 pour 450 RC Hélicoptère Avion à 2,24 € (prix normal : 2,29€) - €2,19 pour 3 à 9 servos - port pour 5 servos : €6,22 pour 12-23 jours ouvrables = 17,17 € pour 5 servos

Difficultés rencontrées

A la maison, les outils et les matériaux pour bricoler sont limités. Je ne peux me rendre au fablab que le samedi. Par contre, cela m'oblige à être créative.

Le regard extérieur des autres usagers pourrait pourtant m'éviter des erreurs de conception ou m'aider à progresser.

Le fablab est aussi ouvert le 1er dimanche par mois, bonne nouvelle. Une soirée en nocturne (19-21h par ex), de temps à autre serait aussi super (pour les usagers, moins pour les médiateurs…)

Pour utiliser les outils du fablab, l'aide des habitués (ou des animateurs) est franchement nécessaire ! Je n'ose pas les déranger trop souvent, mais ils viennent souvent d'eux mêmes !

Remèdes

Aide et soutien d'usagers du BUG, des Samedis Robots et du fablab :

Problèmes matériels et organisationnels

Dans une optique pédagogique, je veux utiliser du matériel simple et facile à trouver : essais à base de carton, papier, etc… et de composants venant de kits peu onéreux.

Photos