Poppyrate le robot humanoïde imprimable en 3d et abordable

Ils tondent nos pelouses et aspirent parfois la poussière de nos chambres. Ces petits automates qui autrefois n’appartenaient qu’à la fiction ou rampaient au fond de nos piscines se dressent maintenant sur leur deux jambes. Les robots marchent et communiquent plus ou moins bien.  Si bien qu’ils apparaissent petit à petit dans notre quotidien : Nous les rencontrons parfois dans les rayons de nos supermarchés ou dans nos usines. Habitués à leur seule présence dans les bandes dessinées et les films, une défiance à leur égard s’est installée. D’autant plus que leur arrivée a vite été perçue comme une menace pour l’emploi … Dommage ! La robotique est peut-être le domaine le plus rassembleur et le plus porteur de notre époque.  A condition de le rendre accessible à tout le monde ! Designers, artistes, ingénieurs, infirmières, informaticiens, psychologues, sauveteurs etc . Alors que l’on entend que la technologie divise la société, toutes les professions sont ainsi appelées à se rencontrer pour fabriquer ou exploiter cet outil fantastique. C’est donc dans ce souci d’accessibilité, d’apprentissage et de diversité qu’est née notre initiative : Permettre à chaque personne souhaitant apprendre la robotique de lui donner un outil modulable dans l’accomplissement d’un projet personnel ou professionnel. La découverte du projet Poppy, sur lequel nous nous sommes appuyé nous avons réussi à offrir un robot d’éducation peu onéreux.

Intro de la vidéo de présentation de Poppy - source Youtube

De Poppy à Poppyrate


Le projet Poppy humanoïde est un projet de recherche de l’INRIA, dont la particularité majeure est d’avoir un « soft » et un « hard » open source. Il est aussi imprimable en 3D et ses composants se trouvent sur « étagère » sauf quelques cartes électroniques faite sur mesure.  Cette volonté de démocratisation fut donc presque atteinte. Néanmoins l’ensemble des pièces pour constituer un Poppy coûte cher. On peut acheter soi-même ses pièces ou acheter un kit fait par Génération Robot pour un prix d’environ 9000 €.  Un coût qui ne le met qu’à portée des laboratoires de recherche. Pour démocratiser la robotique humanoïde il faut donc faire baisser ce coût. Le projet Poppyrate  vise donc à créer un Poppy à un tarif abordable pour rendre accessible le robot humanoïde à un public beaucoup plus large.

Avec Paul Mugnier, élève-ingénieur en mécanique, nous nous sommes attaqués à ce projet.
Le coût élevé du Poppy provient essentiellement de ses moteurs. Ils sont au nombre de 25 et sont des servomoteurs haut de gamme très couteux : les AX32 et AX64 de Dynamixel.

En décidant de réduire le gabarit du Poppy et en mettant en compétition plusieurs architectures, une configuration optimale pour le Poppyrate se détache: 2 Dynamixel AX-12A – 23 Dynamixel XL-320. En s’appuyant sur toutes les informations disponibles sur le Poppy, nous avons dessiné un nouveau squelette accueillant de nouveaux servomoteurs alimentés par un nouveau schéma électronique. Ce-dernier reste très proche du schéma original du Poppy.

Poppy Original - Image Paul Mugnier

Avec comme base de départ les fichiers Solidworks nous avons redessiné un nouveau squelette pour notre Poppyrate. Ce dernier a été dimensionné et réduit par rapport à celui de Poppy pour s’adapter à de nouveaux servomoteus (AX-12 + XL-320) plus petits, moins puissants et à leurs nouveaux points d’ancrage. Outre son adaptabilité aux servomoteurs, le squelette a également été modifié pour être plus facile à imprimer. Le squelette de Poppy s’imprime assez difficilement sur une imprimante FDM classique comme l’Ultimaker, la Replicator ou n’importe quelle RepRap. Ainsi les pièces ont besoin d’une multitude de supports qui rendent l’impression plus longue et le résultat pas évident à nettoyer par la suite. Toutes les pièces ont ainsi été modifiées pour être simples à imprimer et quelques supports indispensables ont été ajoutés directement dans les fichiers 3D ce qui permet d’avoir des supports plus simples et plus facilement destructible par la suite.

Premières impressions 3D du squelette

Les premiers tests ont eu lieu sur mon imprimante 3D, une « Ultimaker Original », premier modèle d’Ultimaker en bois distribuée en kit à monter soi-même et équipée d’une tête d’impression E3D permettant l’impression de plusieurs autres matériaux.

Imprimante 3D Ultimaker Classic modifié pour imprimer poppyrate - Photo Aymeric Weinbach

Les premières impressions ont surtout servi à ajuster les dessins des pièces par rapport aux servos et toutes leurs problématiques associées (dimensions, connectiques, points d’ancrage …) . Elles ont été réalisés en PLA blanc avec une épaisseur de couche de 0.2 mm et une vitesse d’impression privilégiée à la qualité lors de ces tests.

Comme le PLA n’est pas un matériau très solide les pièces sensibles se devaient d’être imprimés dans une matière plus solide. Après des courtes études de résistance des matériaux, trois critères de sélections se sont détachés : Solidité à la Flexion (Contrainte à la rupture/Densité), Rigidité à Flexion (Module de Young/Densité) et Traction/Compression. De nombreux matériaux mêlant polymères et fibres de verre ou de carbone sont apparus mais le fuseau des recherches s’est énormément réduit lorsque nous nous sommes renseignés sur leur « Imprimabilité 3D ».

Résistance des matériaux imprimable en 3D - Image Paul Mugnier

Le choix s’est alors arrêté sur le filament XT CF 20, polymère développé par le néerlandais ColorFabb renforcé avec 20% de fibre de carbone, qui rend le filament particulièrement abrasif et qui a pour effet d’user prématurément les buses d’imprimante 3D. Pour éviter tout problème une buse d’impression en acier inoxydable a donc été ajoutée. Comparé au PLA, Le XT-CF20 possède une densité 14% supérieure mais une rigidité 3 fois plus importante et un gain de solidité de 50%. Ces bonnes qualités mécaniques nous permettent de rentrer dans un cercle vertueux : en réduisant le volume du squelette pour les mêmes standards mécaniques nous réduisons sa masse globale, augmentons sa taille et limitons l’impact du prix du matériau sur le prix global.

Un plateau chauffant à également été acheté pour rendre ces impressions plus faciles, mais les premiers tests réalisés la semaine dernière sur le XT CF 20 sans plateau chauffant ont montrés qu’il n’y avait aucun problème de déformation sur les petites pièces.

Maintenant sur les impressions 3D c’est à vous de jouer ! Le projet étant opensource si vous voulez imprimer votre propre Poppyrate envoyez-nous un email à contact@poppyrate.com pour avoir un accès en avant-première aux fichiers d’impression. Une tête pour le stockage de l’électronique et un visage sont en cours de création !

L’Electronique

Une Source d’Energie Adaptée

Il fallait adapter l’électronique de Poppy pour Poppyrate. Les moteurs XL320 et les AX12 n’ayant pas la même puissance, pour le projet a donc été développé des cartes faites maison, mais malheureusement il n’est pas toujours évident de faire ses propres cartes et les cartes développés étaient vraiment peu fiables.  Mais depuis cette première version, l’équipe du projet poppy à développé une carte qui fait exactement ce que faisait cette carte «custom ».

La carte PIXL elle permet d’alimenter les XL320 et de transmettre la data à un raspberry pi. Et elle est en cours d’intégration dans la nouvelle version de Poppyrate.


Le Montage

Pour l’impression 3d nous avons utilisé CURA comme «slicer » logiciel OpenSource fourni par Ultimaker. Une fois que vous avez toutes les pièces imprimées en 3D ainsi que l’électronique nécessaire vous êtes prêt pour monter votre premier Poppyrate.  Le montage est assez intuitif, vous aurez juste besoin d’un tournevis ainsi que d’un OLLO Tool fourni avec les rivets du même nom produit par le cosntructeur des XL 320 Et ensuite dernier conseil brancher la connectique après le montage des moteurs avec le squelette. Un guide de montage détaillé est en cours de réalisation.

La programmation du robot

Le projet Poppy, c’est aussi une contribution open source logicielle avec Pypot. Pypot est un framework pour python 2.7 qui va permettre de programmer aisément les moteurs Dynamixel, ainsi que de faire différents niveaux d’abstraction sur des ensembles de moteurs pour en faire des « creatures » programmables. Pour Poppyrate nous avons recréé une structure Pypot pour pouvoir aisément programmer Poppyrate. Pypot nécessite les packages scientifiques classiques scipy et numpy et est disponible via le package manager Pip ou easy_install. Pypot est aussi compatible avec le simulateur V-REP ce qui permet de programmer et de tester le comportement de son code sur un robot virtuel afin de garantir la sécurité du robot et de visualiser rapidement la cinématique de votre application. Pour Poppyrate le modèle V-REP n’existe pas encore mais est en cours de réalisation.

Applications et modularité

En fonction des applications que vous souhaitez faire vous pouvez embarquer tout type d’équipement à bord de la tête comme une caméra ou des capteurs infra-rouge, il reste maintenant à lui faire explorer tous les horizons possibles. En ce qui nous concerne pour la partie matérielle nous y intégrons actuellement une caméra et des haut-parleurs avec un micro. Rendre « intelligent » le robot avec le Cloud.

L'ensemble des piéces nécessaires pour monter un poppyrate - Photo Aymeric Weinbach

IA Donnez de l’intelligence à votre robot grâce au cloud.

Une utilisation avancée du robot serait de le rendre « intelligent » avec des services cloud d’IA tels que les Cognitive Services de Microsoft. Dans un tel scénario, l’intelligence embarqué du robot sers les besoins primaires tels que la mobilité, et les services avancés d’IA permettent de lui ajouter des « sens ».  Les services de « vision » vont lui permettre de reconnaitre son environnement, de reconnaitre les visages et les émotions, et de faire ainsi des applications pilotées par les émotions, il sera aussi possible de lui apprendre à lire avec les services de reconnaissance de l’écriture.
Les services tels que la reconnaissance vocale et la synthèse vocale vont permettre de lui donner la parole et l’ouïe. Avec le service de « speaker recognition » il sera même en mesure de reconnaitre qui lui parle, ainsi il pourrait répondre différemment en fonction de son interlocuteur. Les services de NLP (Natural Langage Processing) vont permettre de « comprendre » les paroles de l’utilisateur, ainsi on peut avoir une discussion comme avec un chatbot ou déclencher des actions ou des applications en langage naturel. Avec les services de recherche et de connaissance il peut devenir une encyclopédie parlante, imaginez posez vos questions de façon naturelle à wikipedia.

Propulsez votre robot dans le cloud avec un skateboard - Photo Aymeric Weinbach