LEGO's Cinderella: la machine Raspberry Pi alimentée par l'IA trie les pièces pour vous



Le constructeur LEGO est souvent utilisé pour créer le boîtier d'un mécanisme avec un moteur sur "framboises". Le plus souvent, ce tandem est utilisé dans divers robots, drones, véhicules tout-terrain. L'enthousiaste Daniel West est allé dans l'autre sens et a créé une machine avec Raspberry Pi et LEGO pour trier automatiquement les pièces de cet ensemble. Naturellement basé sur l'intelligence artificielle. Sans IA, les fers ne pourront probablement pas fonctionner bientôt.



Sous la coupe - une description du mécanisme de la trieuse, ainsi que quelques projets plus intéressants basés sur les «framboises».



Fait intéressant, la machine de tri elle-même est fabriquée à partir de 10000 blocs LEGO! Il a fallu ... deux ans pour le créer.





Cette voiture est une vraie LEGO Cendrillon. Elle est capable de trier n'importe quelle partie du constructeur dans l'un des 18 conteneurs à une vitesse de "un cube en deux secondes". De plus, le trieur est capable de reconnaître toutes les briques LEGO jamais créées, y compris celles qu'elle n'a pas encore rencontrées. Cette polyvalence distingue le système des machines précédemment créées dans un but similaire.



Qu'y a-t-il sous le capot





La machine fonctionne sur le matériel suivant:



  • Raspberry Pi 3 modèle B +
  • Module de caméra Raspberry Pi V2;
  • 9 moteurs (contrôlés via un servo-multiplexeur qui communique avec le Raspberry Pi via I 2C );
  • 6 moteurs LEGO (moteurs électriques L298N contrôlés par contrôleur utilisant des ports d'E / S numériques sur le Raspberry Pi).


Comme déjà mentionné, le trieur est basé sur des algorithmes d'intelligence artificielle. Dans l'ensemble, un réseau de neurones convolutif assez classique utilisé pour classer les images. Nous avons déjà décrit dans un blog sur Habré comment cela aide les scientifiques dans leur travail.



Formation sur les réseaux neuronaux



Daniel West a formé son réseau neuronal en utilisant des images de modèles 3D de briques LEGO. Dans le même temps, le développeur a été confronté au problème du manque de données pour entraîner le réseau de neurones. Des images de qualité réelle ne suffisaient pas et les images synthétiques ne donnaient pas de bons résultats. En fin de compte, seule une combinaison d'images synthétiques et réelles a contribué au succès. Le réseau neuronal était capable de reconnaître les briques LEGO avec une grande précision, même s'il n'avait jamais interagi avec elles auparavant.



À propos, pour collecter des données, le passionné a quitté la voiture pour faire passer les pièces dans le scanner pendant plusieurs jours. En conséquence, j'ai assemblé un ensemble de données d'environ 300000 images LEGO non marquées pour le traitement de l'IA. Daniel a parlé plus en détail du travail de l'IA et de sa formation dans une vidéo distincte très visuelleet décrit le processus dans le texte .



Seule une fraction des 300 000 images que le développeur a reçues.



En tant que logiciel, le passionné a utilisé Blender, un logiciel open source pour créer des infographies 3D, et Tensor Flow, une bibliothèque de logiciels d'apprentissage automatique open source de Google. Il a également été aidé dans son travail par la communauté de fabricants du constructeur LEGO - Rebrickable.



Courir, détailler, courir



Le développement est une véritable machine à convoyeur miniature. La masse des pièces est acheminée par le convoyeur à chenilles dans ce que l'on appelle le "godet d'entrée". Ici, les pièces vont les unes après les autres, de sorte qu'un seul bloc LEGO est envoyé pour "identification".





La commande est réalisée par une plate-forme vibrante qui est alimentée par un moteur LEGO. En vibrant, la plate-forme répartit les pièces en veillant à ce qu'elles ne reposent pas les unes sur les autres et ne viennent les scanner une à une.



Le module de caméra Raspberry Pi capture la vidéo de chaque bloc, qui traite le Raspberry Pi 3 Model B + et l'envoie sans fil à un ordinateur plus puissant, où il exploite un réseau neuronal, classant les pièces. Les données traitées par le réseau neuronal sont renvoyées à la machine de tri afin qu'elle puisse pousser la pièce dans l'un des 18 conteneurs à l'aide d'une série de passerelles autonomes.



Jusqu'à présent, le projet est plus approprié sous la rubrique "N'essayez pas ça à la maison", car l'auteur a fait un excellent travailpour la formation en IA. Mais, vous voyez, la chose est intéressante.



Raspberry Pi en action



Et voici quelques projets intéressants plus récents avec la participation de "Malinka".



Scanner de film RoboScan





Travailler avec des films devient de plus en plus difficile en raison du fossé toujours plus grand entre les technologies. Un projet appelé RocoScan utilise un Raspberry Pi avec un appareil photo reflex numérique. L'appareil scanne non seulement l'image de l'ancien film, mais automatise également le processus d'enregistrement des images dans un dossier séparé.



Boîtier de serveur de style Minecraft





Ce bloc de minerai familier et lumineux de Minecraft est en fait un serveur Minecraft! À l'intérieur se trouve un Raspberry Pi 4 avec un SSD de 128 Go exécutant le Paper MC SMP. La beauté!



Coupe croûte





L'appareil que nous méritons! Si vous êtes amateur de sandwichs parfaits, vous savez qu'il n'y a pas de place pour les croûtes grillées et croustillantes. Cette machine sur "malinka" exclura de votre vie la routine de se débarrasser des imperfections du sandwich.



Poulailler automatisé





De toute évidence, cela peut être utilisé non seulement pour les poulaillers. Mais un passionné a automatisé l'ouverture et la fermeture des portes du poulailler pour protéger sa ferme la nuit. Il est basé sur un Raspberry Pi et plusieurs minuteries qui initient l'ouverture et la fermeture des portes matin et soir. Votre poulailler fonctionne-t-il en python?



Avez-vous un projet préféré sur Malinka? Partagez dans les commentaires!






All Articles