Piloter un robot a reconnaissance d image via le Cloud AWS

July 27, 2017
✚ Inscrivez-vous aux mardis du cloud ! : http://amzn.to/2lvragO ✚ Rendez-vous sur notre site internet : http://amzn.to/2ktrf5g ✚ Suivez-nous sur Twitter : https://twitter.com/aws_actus

Transcript

Bien, nous allons maintenant tester l'ensemble des équipements. Ma télécommande Arduino est connectée au Gateway IoT en Wi-Fi. Mon robot, un Raspberry Pi, est également connecté au Gateway IoT, avec un petit serveur Python qui tourne et reçoit les commandes. On va déjà déplacer le robot. À chaque fois que j'agis sur mon joystick, j'envoie un message MQTT qui est publié dans un topic que le robot écoute. Il agit en conséquence, en fonction de la direction : avant, arrière, droite, gauche, etc. À chaque fois que j'agis, j'envoie un message au Gateway IoT en Irlande, et ce message est instantanément envoyé au robot pour action. Les actions s'interrompent parce que j'ai peur que le robot tombe de la table. À chaque déplacement, je le stoppe. Il n'y a aucune raison, on pourrait le laisser avancer beaucoup plus longtemps. Ce n'est pas du tout une latence liée au cloud, c'est vraiment une sécurité que j'ai ajoutée. Vous voyez comment on peut intégrer un Arduino avec un Raspberry Pi en MQTT. Pour finir, on va réutiliser un bouton IoT, le même que tout à l'heure. Lorsque je vais appuyer sur ce bouton, mon Raspberry Pi va prendre une photo. J'ai une petite caméra à l'avant qui va prendre une photo de l'objet, mesurer sa distance avec le capteur, et utiliser un modèle de deep learning que j'ai installé sur le Pi via MXNet, une librairie open source de deep learning. Vaste sujet dont on aura l'occasion de reparler. Ce modèle de deep learning va tenter de reconnaître l'objet qui est en face de lui. Et tout ça en appuyant juste sur ce bouton. On va essayer avec un objet simple. Voyons ce que ça donne. Alors, en avant. J'appuie sur le bouton. Ça poste un message MQTT qui va être envoyé au robot. Je suis 58% sûr que c'est un mug de café. L'objet est à 17 cm. Vous l'avez entendu, c'est Poly, le service de texte-to-speech d'AWS, qui vous parle. J'ai appuyé sur le bouton, on a envoyé un message MQTT au Gateway, il est reçu par le robot. Le robot prend une photo avec sa caméra et, localement, avec sa librairie de deep learning, son modèle basé sur la librairie MXNet, reconnaît l'objet avec un niveau de confiance relativement important. À partir du texte retourné, de la catégorie de l'objet, on fabrique un message qu'on passe à une API de synthèse vocale qui nous retourne instantanément un fichier son que l'on peut jouer. On va essayer avec un deuxième objet ? Voilà, c'est parti. On appuie sur le bouton. On prend la photo. Voilà. Une petite démo combinée d'IoT et d'IA. Sujet dont on aura l'occasion de reparler d'ici la fin de l'année puisqu'on va organiser une série de webinaires dédiés au machine learning et à l'intelligence artificielle. Voilà pour cette démo.

Tags

IoTMQTTRaspberryPiArduinoDeepLearning

About the Author

Julien Simon is the Chief Evangelist at Arcee AI , specializing in Small Language Models and enterprise AI solutions. Recognized as the #1 AI Evangelist globally by AI Magazine in 2021, he brings over 30 years of technology leadership experience to his role.

With 650+ speaking engagements worldwide and 350+ technical blog posts, Julien is a leading voice in practical AI implementation, cost-effective AI solutions, and the democratization of artificial intelligence. His expertise spans open-source AI, Small Language Models, enterprise AI strategy, and edge computing optimization.

Previously serving as Principal Evangelist at Amazon Web Services and Chief Evangelist at Hugging Face, Julien has helped thousands of organizations implement AI solutions that deliver real business value. He is the author of "Learn Amazon SageMaker," the first book ever published on AWS's flagship machine learning service.

Julien's mission is to make AI accessible, understandable, and controllable for enterprises through transparent, open-weights models that organizations can deploy, customize, and trust.