Archives de catégorie : Non classé

Projet R.I.P.E.R. (Robotic Intelligent Platform for Entertainment and Research)

Désolé, ça commence par beaucoup d’explications textuelles, mais des schémas plus éloquents sont à la fin 🙂

J’ai passé ces deux derniers mois à tester pas mal de choses : moteurs, capteurs, amplis audio, écrans, microcontrôleurs, matériaux, montages, mini-PC… C’était intéressant, mais le but est bien évidemment d’utiliser tout ça pour créer un robot 🙂

Dans ce billet, je vais essayer de formaliser toutes les idées qui me trottent dans la tête depuis quelques temps et décrire où je veux aller.

Jusqu’ici j’ai fabriqué quelques robots assez simples, avec des comportements limités à des tâches précises (et avec un petit microcontrôleur en guise de cerveau). Une fois le robot terminé, il l’était vraiment et je passais à autre chose. Cette fois, je veux réaliser une véritable plateforme robotique, très polyvalente pour explorer différents domaines de la robotique :

  • Le SLAM pour Simultaneous Localization And Mapping (ou cartographie et localisation simultanées). C’est un ensemble de techniques qui permettent à un robot de connaître sa position et de découvrir son environnement.
  • La synthèse vocale (TTS : Text To Speech), pour lui permettre de communiquer avec des êtres humains par la voix.
  • La reconnaissance vocale (SR : Speech Recognition ou STT)
  • Langage, conversation avec un humain
  • Intelligence artificielle et apprentissage
  • Utilisation d’internet (accès à des services, bases de connaissances…)
  • Vision : reconnaissance de formes et de visages, tracking
  • Algorithmes d’évitement d’obstacles (Virtual Force Field algorithm)
  • Pilote de la domotique
  • Télé-présence et surveillance
  • « Humanisation » : permettre au robot d’exprimer des émotions (mouvements, yeux…), lui donner un comportement moins prévisible avec des micro gestes aléatoires (clignement des yeux…), des tics de langages etc.
  • Extensibilités : possibilité de lui ajouter des modules pour lui donner de nouvelles capacités (module pour analyser la qualité de l’air, piloter la domotique, changer la fonction de ses bras/mains : poignée, pince, lasers…)
  • Personnalité, comportements, humeurs, humour…

La plateforme devra être suffisamment évoluée pour approfondir tous ces sujets sans devoir refaire un nouveau robot à chaque fois. En gros, il ne sera jamais vraiment terminé 🙂

Les applications qui en découlent sont illimitées :

  • Accompagnement, stimulation et surveillance/assistance des personnes âgées ou en difficulté
  • Télé-présence : pouvoir prendre le contrôle du robot à distance et se déplacer / communiquer grâce à lui, comme si on y était
  • « Chef d’orchestre » domotique et sécurité (détection et signalisation d’intrus, pilote du chauffage, de la télé, de la musique, de l’humidité, simulation de présence…)
  • Jukebox à la demande
  • Occuper le chat (en le faisant jouer avec un laser etc.)
  • Assistant personnel à domicile (domotique, lecture des e-mails et autres notifications, actualités, météo, discussions, gestion de l’agenda et rappel de rendez-vous, mémos, réveil…)
  • Coach personnel
  • Station d’analyse de l’air, détection de produits dangereux/toxiques
  • Exploration de zones dangereuses/inaccessibles pour l’homme
  • Conquérir le monde…

Pour créer cette plateforme voici les composants que je compte utiliser (dont la plupart ont été testés dans les articles précédents) :

  • Le cerveau supérieur : un mini-PC sous forme de clé HDMI avec un processeur Intel Atom CherryTrail (4 coeurs), 4Go de RAM, 32 Go de mémoire eMMC. Ces « PC » consomment peu, sont très légers et compacts, offrent des possibilités intéressantes en terme d’IA, sans compter l’accès au Bluetooth et au Wifi (et donc à Internet). Pour une centaine d’euros !
  • La moelle épinière : un Arduino MEGA (Pro Mini), qui aura la charge de transmettre les messages entre le cerveau (mini-PC) et le reste du corps du robot (capteurs, actuateurs : moteurs, écrans, HP…).
  • Un anneau de sonars : 12 capteurs ultrasoniques SRF05 pilotés par un Arduino Nano, lui-même connecté à la moelle épinière par le bus I2C. Les capteurs détecteront les obstacles tout autour du robot.
  •  Capteurs d’environnements : boussole (référentiel directionnel), détecteur de luminosité (LDR), détecteur de distance IR (pour éviter les chutes)
  • La tête : webcam USB avec microphone pour récupérer l’image et le son (et la voix) (Logitech c920), matrice de capteurs thermiques pour identifier les sources de chaleur (humains, animaux, feu…) (TPA81), Pixy CMUCam5 pour reconnaître et traquer des objets, 2 matrices de 8×8 LEDs pour émuler les yeux, un bargraphe de 5 LEDs pour animer la bouche, émetteur/récepteur IR pour piloter certains appareils, des LEDs puissantes pour éclairer dans l’obscurité. Le tout sera piloté par un autre Arduino Nano, lui-même connecté à la moelle épinière par le bus I2C.
  • Le cou : une tourelle « pan-tilt » constituée de 2 servomoteurs pour bouger la tête de haut en bas et de gauche à droite.
  • Un ampli et un haut-parleur pour émettre la voix du robot, de la musique ou des sons. Connecté sur la sortie son du mini-PC.
  • Quelques périphériques pour interagir « manuellement » avec le robot (écran OLED, boutons, buzzer).
  • HUB USB : pour connecter le mini-PC, la webcam, l’Arduino MEGA (+ de nouveaux périphériques)
  • Bras : 3-4 servomoteurs et la possibilité d’y attacher un module (pince, laser…)
  • Des cartes de contrôle des moteurs et servomoteurs (raccordés à la moelle épinière)
  • Moteurs CC avec encodeurs et un châssis. J’ai opté pour un châssis à chenilles, type tank : facile à diriger et une meilleure adaptation au terrain que les roues.
  • Alimentation : une première batterie Ni-MH de 7.2V / 5000mA pour les moteurs CC et servomoteurs (bras et cou). Une seconde batterie identique pour tout l’électronique (bas niveau, hub et PC). J’ai opté pour du Ni-Mh pour des raisons de sécurité (je veux pouvoir le laisser allumé même si personne n’est à la maison). La moelle épinière (MEGA) surveillera l’état des batteries. Le robot pourra aussi fonctionner sur une alimentation externe (12 V).

Pour concrétiser tout ça, voici une « maquette » de R.I.P.E.R., ce n’est pas très joli, mais ça a le mérite de clarifier un peu la cible 😉

Maquette_RIPER

Le schéma suivant décrit l’architecture du robot et recense toutes les interfaces nécessaires. Le détail de chaque carte n’est pas représenté pour faciliter la lecture. Cliquer sur le schéma pour le voir en taille réelle :

ArchiRIPERmini

Et voilà, il y a plus qu’à…;)

 

Le choix de la Mendel90

Après un rapide tour d’horizon des principales variantes de RepRap, mon choix s’est porté sur le design de Nophead (Chris) avec sa Mendel90.

C’est une imprimante qui a beaucoup de succès au sein de la communauté.

Ces principaux atouts sont :

  • Un design qui a fait ses preuves
  • Un châssis basés sur 2 plaques rigides à 90°, au lieux d’un assemblage de tiges filetées (très fréquent sur les RepRap)
  • Une construction plus facile
  • Le calibrage est simplifié, les 2 plans étant à 90°
  • Démontage partiel facilité
  • Peu de câblage apparent
  • Le plateau ne se déplace que sur l’axe Y, pas de contrainte par rapport à son poids
  • Les moteurs de l’axe Z sont en bas, la jonction moteur/tige n’a pas à supporter le poids de l’axe X contrairement aux designs avec les moteurs en haut.
  • Possibilité d’imprimer un gabarit pour facilement percer les plaques du châssis aux bons endroits.
  • Les designs avec des tiges et une base triangulaire sont plus sensibles aux mouvements rapides de l’axe X, le cadre est moins stable
  • La Mendel90 est conçue pour limiter au maximum les contraintes appliquées aux câbles électriques.

La Prusa i3 est très intéressante aussi, mais il fallait choisir… alors ça sera la Mendel90, dans sa version « Sturdy ». C’est à dire avec des panneaux de MDF à la place du Plexy ou du Dibond. C’est plus facile à se procurer, à travailler et à personnaliser.

Le blog de Nophead

Le Github de la Mendel90, pour tous les sources

La section Mendel90 du site RepRap

Acheter une imprimante 3D ou la fabriquer ?

Lors de la fabrication de petits robots et autres gadgets DIY, j’ai souvent besoin de pièces sur-mesures pour le chassis, fixer les moteurs, les capteurs etc. J’ai souvent bricolé avec du plexi ou de l’alu, mais une imprimante 3D pourrait vraiment me faciliter la vie.

J’ai d’abord regardé du côté des fameuses imprimantes de MakerBOT, mais elles coûtent un bras. La Cube semblait intéressante aussi, et un peu moins chère. J’ai ensuite découvert qu’il y avait de nombreux projets plus abordables lancés, notamment, via KickStarter ou autres plate-formes similaires, par exemple :

Les prix sont plus intéressants, mais la plupart ne sont pas dispos en France, il faut donc ajouter des frais de ports conséquents, la surface d’impression est parfois un peu juste, elles ne gèrent pas toujours le PLA et l’ABS, les délais de livraisons sont pour certaines de 2-3 mois etc.

Et par dessus tout, l’impression 3D à la maison étant quelque chose de très nouveau, il faut s’attendre à devoir faire un peu de maintenance et mettre les mains dans le cambouis… hors de question de renvoyer l’imprimante en SAV à l’autre bout du monde. Bien que sur ce point, la SmartRAP et les PrintrBot s’en sortent beaucoup mieux, car elles sont basées sur le projet RepRap

… et nous y voilà donc, j’ai fini par découvrir l’incroyable projet RepRap (et sa communauté !).

Alors, pour comprendre de quoi il s’agit, le plus simple est encore de citer la source :

RepRap est la première machine autoréplicable de production d’usage général fabriqué par l’homme.
RepRap se présente sous la forme d’une imprimante 3D, pilotée par un logiciel libre, capable d’imprimer des objets en plastique. Puisque la RepRap est composée de plusieurs pièces de plastique et que la RepRap a la capacité d’imprimer ces pièces, la RepRap peut être considérée comme autoréplicable — tout le monde peut la construire avec du temps et le matériel nécessaire. Cela signifie également que — si vous possédez une RepRap — vous pouvez imprimer beaucoup d’objets utiles, voire même imprimer une autre RepRap pour un ami…
Le concept RepRap relève de la production de machines autoreplicables, ainsi que de les rendre librement accessibles au bénéfice de tous. Nous utilisons l’impression 3D pour atteindre cet objectif, mais si vous possédez d’autres technologies qui peuvent se copier d’elles-mêmes, sont gratuites et à la disposition de tous, alors cet endroit est aussi pour vous.

RepRap.org est un projet collectif, vous êtes donc cordialement invités à modifier presque toutes les pages de ce site, ou mieux, créer de nouvelles pages personnalisées. Nos pages Portail Communautaire et Nouveaux Développements comportent plus d’information sur la façon de s’impliquer dans ce projet. Utilisez les liens ci-dessous et sur la gauche pour explorer le contenu du site, que vous retrouverez traduit dans plusieurs langues.

RepRap a été la première imprimante 3D à faible coût. Le Projet RepRap a marqué le début de la révolution d’imprimante 3D à code source ouvert (voir schéma regroupant tout les projets descendants).

RepRap est devenue l’imprimante 3D la plus largement utilisée parmi les membres mondiaux de la Maker Community.

RepRap (Replicating Rapid-prototyper) est un projet sous licence Open Source qui a démarré il y a une petite dizaine d’années. La communauté n’a cessé de grandir depuis, et la RepRap originale a été modifiée et améliorée pour donner naissance à de nouvelles imprimantes 3D qui ont été elles-même le départ d’autres branches du projet.

Il existe donc de nombreuses imprimantes dérivées de l’originale, comme le montre cet impressionnant « arbre généalogique » du projet. Les principaux modèles sont listés ici.

Finalement, j’opte pour la construction de mon imprimante RepRap pour un certain nombre de raisons :

  • Projet Open Source : toute la documentation et sources sont disponibles et libres, je ne dépend d’aucun assembleur qui propose des produits propriétaires et au fonctionnement opaque
  • La communauté est énorme et pleine de passionnés talentueux et prêts à répondre aux questions.
  • En la construisant, je saurai comment elle fonctionne, comment la réparer et la faire évoluer.
  • Le coût, nettement inférieur au MakerBot et autres imprimantes « grand public ».
  • Le fun 🙂

C’est parti !

Après une petite période de réflexion, et beaucoup de lecture, j’ai décidé de me lancer dans l’aventure de la construction de mon imprimante 3D.

Je documenterai ici (autant que possible) la construction de mon imprimante. Mes erreurs et difficultés aideront peut-être d’autres personnes dans cette aventure.

en_route