Table des matières:

Robot domestique alimenté par Raspberry Pi EWON : 7 étapes (avec photos)
Robot domestique alimenté par Raspberry Pi EWON : 7 étapes (avec photos)

Vidéo: Robot domestique alimenté par Raspberry Pi EWON : 7 étapes (avec photos)

Vidéo: Robot domestique alimenté par Raspberry Pi EWON : 7 étapes (avec photos)
Vidéo: 🚀 Raspberry Pi 4 8Go : Le Mini-PC qui révolutionne tout ! Découverte & Astuces 🤖" 2024, Novembre
Anonim
Robot domestique alimenté par Raspberry Pi EWON
Robot domestique alimenté par Raspberry Pi EWON
Robot domestique alimenté par Raspberry Pi EWON
Robot domestique alimenté par Raspberry Pi EWON
Robot domestique alimenté par Raspberry Pi EWON
Robot domestique alimenté par Raspberry Pi EWON

Par sharathnaikSharathnaik.comSuivre plus par l'auteur:

Visualiseur de coeur | Voir votre cœur battre
Visualiseur de coeur | Voir votre cœur battre
Visualiseur de coeur | Voir votre cœur battre
Visualiseur de coeur | Voir votre cœur battre
DIY - Cool Denim Pocket Notebook (avec photos)
DIY - Cool Denim Pocket Notebook (avec photos)
DIY - Cool Denim Pocket Notebook (avec photos)
DIY - Cool Denim Pocket Notebook (avec photos)
PUPPI
PUPPI
PUPPI
PUPPI

À propos de: Ingénierie et conception En savoir plus sur shaathnaik »

Je me suis récemment retrouvé à regarder beaucoup de séries Netflix en raison de la situation actuelle, j'espère que vous êtes tous en sécurité, et j'ai vu que la saison 5 de Black Mirror était sortie. Une série d'anthologies qui tourne autour de la vie personnelle d'un groupe de personnes et de la façon dont la technologie manipule leur comportement.

Et l'un des épisodes qui a attiré mon attention était Rachel, Jack et Ashley Too. L'un des personnages principaux de cette série est un robot domestique nommé Ashley O et ce robot a beaucoup de caractère autour de lui et je me suis dit que je devrais en construire un, c'est un bon projet pour commencer à programmer sinon ça alors au moins Je peux le programmer pour rire de mes blagues.!

Quoi / Qui est Ewon ? Qu'est-ce que ça peut faire?

Donc, avant de commencer à travailler sur ce projet, j'ai défini quelques règles de base à suivre. Ce projet devait être

  • Facile à essayer pour tout le monde
  • Pas seulement pour être mignon, mais aussi pour être utile pour ne pas finir dans une étagère
  • Modulaire, pour que vous puissiez continuer à ajouter de nouvelles fonctionnalités.

Après avoir défini cette règle, j'ai décidé d'utiliser le SDK Google Assistant. Ce SDK fournit de nombreuses fonctionnalités que je recherchais et si vous vous ennuyez d'Ewon, vous pouvez toujours l'utiliser comme appareil Google Home et faire ce que fait une maison Google.

Ce qu'Ewon va faire, c'est ajouter un personnage à l'assistant Google. C'est montrer des émotions et réagir à ce que dit l'utilisateur. Maintenant, ce n'est pas seulement la voix que vous entendez, mais vous pouvez également voir comment réagir.

REMARQUE: cette instructable est en cours de développement. Je vais bientôt télécharger tous les fichiers pertinents. Merci

Étape 1: Pièces requises pour Ewon

ÉLECTRONIQUE

  • Tarte aux framboises
  • Servo SG90 (x4)
  • Servo MG995 – standard (x2)
  • Pilote de servomoteur 16 canaux PCA9685
  • carte son USB
  • Microphone
  • Haut-parleurs (n'importe quel petit haut-parleur fera l'affaire, quelque chose comme ça)
  • Connecteurs mâles et femelles à broches
  • Planche à pain
  • Affichage Nextion

FIXATIONS ET ROULEMENTS

  • M3*10mm (x10)
  • M3*8mm (x10)
  • Écrous M3 (x20)
  • Palier

    • OD: 15 mm ID: 6 mm Largeur: 5 mm (x2)
    • OD: 22 mm ID: 8 mm Largeur: 7 mm (x2)

AUTRES MATÉRIAUX

  • Impasse

    • 40mm (x4)
    • 30mm (x4)

OUTILS

Imprimante 3D

Étape 2: Comprendre Ewon et la programmation

Comprendre Ewon et la programmation
Comprendre Ewon et la programmation
Comprendre Ewon et la programmation
Comprendre Ewon et la programmation
Comprendre Ewon et la programmation
Comprendre Ewon et la programmation

Avant de commencer par l'aspect programmation, permettez-moi d'expliquer brièvement le schéma fonctionnel des circuits d'Ewon.

RPI (Raspberry pi) est le cerveau du système. Le servomoteur contrôlé par RPI entraîne le servomoteur. Affichage contrôlé par RPI avec communication série pour montrer les émotions et enfin, micro et haut-parleurs utilisés pour communiquer avec Ewon. Maintenant que nous savons quel matériel fait quoi, commençons à programmer Ewon.

Installer le SDK de l'assistant google

Laissez-moi vous expliquer les deux raisons pour lesquelles j'ai prévu d'utiliser l'Assistant Google:

  • Je voulais qu'Ewon ne soit pas seulement un robot amusant, mais aussi utile. Google Assistant SDK dispose déjà d'une tonne de ressources que vous pouvez utiliser pour augmenter les fonctionnalités d'Ewon.
  • Vous pouvez également utiliser des actions sur Google et un flux de dialogue pour donner à Ewon la possibilité de discuter avec des réponses prédéfinies. Pour l'instant, nous allons nous concentrer uniquement sur le SDK de base.

Commençons par installer le SDK de l'assistant google. Cela ne devrait pas être difficile car il existe une tonne de ressources pour vous aider à configurer le SDK Google Assistant sur RPI. Vous pouvez suivre ce tutoriel en suivant:

Tutoriel:

Après la fin du processus ci-dessus, vous devriez pouvoir cliquer sur Entrée sur le clavier et parler à l'assistant. Il s'agit d'installer le SDK Google Assistant.

Comment dois-je le nommer ? Ewon ?

Salut Google ! C'est ce qui est utilisé pour commencer à parler à l'assistant google et malheureusement, google n'autorise l'utilisation d'aucun autre mot de réveil personnalisé. Voyons donc comment nous pouvons changer cela pour que l'assistant google soit déclenché lorsque quelqu'un appelle Ewon.

Snowboy: un moteur de détection de mots chauds hautement personnalisable qui est intégré en temps réel compatible avec Raspberry Pi, Linux (Ubuntu) et Mac OS X.

Un mot chaud (également connu sous le nom de mot de réveil ou de mot déclencheur) est un mot-clé ou une phrase que l'ordinateur écoute constamment comme signal pour déclencher d'autres actions.

Commençons par installer Snowboy sur RPI. N'oubliez pas d'activer l'environnement virtuel pour installer Snowboy comme vous l'avez fait pour installer Assistant SDK. Tout ce que nous installons à partir de maintenant doit être installé dans l'environnement virtuel. L'installation de Snowboy peut être un peu délicate, mais ce lien devrait vous aider à l'installer sans aucun problème. Lien:

Voici un résumé du processus d'installation si le lien ci-dessus prête à confusion ou si l'installation échoue.

$ [sudo] apt-get install libatlas-base-dev swig$ [sudo] pip install pyaudio $ git clone https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ make $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py install

Une fois installé, exécutez le fichier de démonstration [qui se trouve dans le dossier - snowboy/examples/Python3/] pour voir si tout fonctionne parfaitement.

Remarque: vous pouvez facilement changer le nom de votre robot en un autre nom. Tout ce que vous avez à faire est d'aller sur https://snowboy.kitt.ai/ et de former un mot clé personnalisé, puis de placer ce mot clé dans le même dossier que ewon.pmdl.

Ewon peut-il comprendre les émotions ?

Maintenant qu'Ewon a un nom, j'utiliserai Ewon au lieu de l'appeler un robot. D'accord, les émotions, réponses courtes non, Ewon ne peut pas comprendre les émotions, donc ce que nous allons faire ici, c'est faire en sorte qu'Ewon détecte les émotions dans notre discours à l'aide de mots-clés, puis joue l'expression faciale correspondante qui lui est associée.

Pour y parvenir, j'ai fait un simple script d'analyse des sentiments. Il existe 6 classes d'émotions différentes.

Image
Image

Heureux, Triste, Colère, Peur, Dégoût et Surprise. Ce sont les principales classes d'émotions et chacune d'entre elles a une liste de mots-clés associés à l'émotion. (par exemple bon, gentil, excité, tous relèvent de l'émotion heureuse).

Ainsi, chaque fois que nous prononçons l'un des mots-clés de la classe d'émotion, l'émotion correspondante est déclenchée. Alors, quand vous dites "Hey Ewon!" et attendez qu'Ewon parle et je continue à dire "Aujourd'hui est une belle journée!", il ramasse le mot-clé "Nice" et déclenche l'émotion correspondante "Happy" qui déclenche l'expression faciale pour Happy.

Ces oreilles sont-elles sur Ewon ?

La prochaine étape consisterait à utiliser l'émotion déclenchée pour exécuter l'expression faciale respective. Avec Ewon, l'expression du visage note mais bouge son oreille et son cou à l'aide de servos et change l'affichage pour changer les mouvements des yeux.

Tout d'abord, les servos, pour exécuter cela, c'est assez facile, vous pouvez suivre ce tutoriel pour configurer la bibliothèque de servos Adafruit. Lien:

Image
Image

Ensuite, nous attribuons la valeur maximale et minimale pour tous les servos. Cela se fait en déplaçant manuellement chaque servo et en vérifiant ses limites. Vous pouvez le faire une fois que vous avez assemblé Ewon.

Yeux pour Ewon

Pour les yeux, j'utilise un écran Nextion qui contient un tas d'images comme ci-dessous.

Image
Image

C'est une séquence d'images que j'ai conçue dans photoshop qui, lorsqu'elle est lue en séquence, fait une animation. Une séquence similaire a été créée pour toutes les émotions. Maintenant, pour afficher une émotion, tout ce que vous avez à faire est d'appeler la séquence d'images spécifique qui constitue l'animation. Les fichiers se trouvent dans le dossier « Afficher les fichiers », lien de téléchargement ci-dessous.

Finalement

En rassemblant le tout, lorsque l'émotion heureuse est déclenchée par le script, la fonction heureuse est appelée et le servo se déplace vers les angles déjà définis et l'affichage joue l'animation de l'œil heureux. C'est ainsi que nous parvenons à « comprendre » les émotions humaines. Cette méthode n'est pas la meilleure et il y a des moments où les mots-clés ne tombent pas dans la même émotion que celle prédéfinie, mais pour l'instant, cela fonctionne assez bien et vous pouvez toujours ajouter plus de mots-clés pour augmenter la précision de la détection. De plus, cela peut être remplacé par un modèle d'analyse des émotions beaucoup plus entraîné comme le modèle d'analyse des émotions Paralleldots pour obtenir de meilleurs résultats. Mais quand je l'ai essayé, il y avait beaucoup de retards qui faisaient réagir Ewon plus lentement. Peut-être que la version 2.0 d'Ewon aura quelque chose comme ça.

C'est le LIEN vers tous les fichiers nécessaires pour exécuter EWON. Téléchargez le fichier et suivez les étapes ci-dessous:

  • Décompressez le fichier placez ce dossier (Ewon) dans home/pi/
  • Ajoutez l'ID de l'appareil et l'ID du modèle dans le fichier main.py. L'ID est obtenu lors de l'installation du SDK de l'assistant google.
  • Ouvrez l'invite de commande et exécutez la source des commandes suivantes:

source env/bin/activatepython main.py models/Ewon.pmdl

Étape 3: Impression du corps

Vous pouvez trouver les fichiers 3D ici:

Maintenant que nous sommes tous configurés avec le cerveau d'Ewon, il est temps d'imprimer son corps. Il y a 18 pièces uniques à imprimer, la plupart d'entre elles sont assez petites, avec un temps d'impression total d'environ 15 à 20 heures. (hors cas).

J'ai utilisé du PLA blanc avec 50 % de remplissage et une hauteur de couche de 2 mm. Vous pouvez modifier ces valeurs si nécessaire, cela devrait fonctionner correctement, mais assurez-vous que les petites pièces ont un remplissage à 100%, pour plus de solidité.

Une fois les fichiers imprimés, vous pouvez utiliser du papier de verre ou une lime à main et nettoyer les pièces imprimées, en particulier les liens où les pièces glissent les unes dans les autres. Lisser les joints rendra le mécanisme lisse et offrira moins de résistance au servo. Ce processus peut prendre aussi longtemps que vous le souhaitez, car on peut se perdre en essayant de rendre les pièces imprimées parfaites.

Notes supplémentaires: vous pouvez repercer les trous dans les pièces imprimées en 3D à l'aide d'un foret de 3 mm. Tous les trous ont les mêmes dimensions. Cela facilitera le vissage des écrous plus tard dans l'assemblage.

Étape 4: Mettre Ewon ensemble

Rassembler Ewon
Rassembler Ewon
Rassembler Ewon
Rassembler Ewon
Rassembler Ewon
Rassembler Ewon
Rassembler Ewon
Rassembler Ewon

Avant de commencer l'assemblage, quelques modifications sont nécessaires pour les pièces imprimées. Les fichiers nommés lien servo doivent être équipés de liens servo fournis avec le servo, ce qui permet aux liens imprimés en 3D de bien se connecter au servo.

L'assemblage d'Ewon devrait être simple. J'ai joint des images pour que vous suiviez.

Remarques supplémentaires: assurez-vous de ne pas trop serrer les boulons ou les vis, car cela pourrait casser et user les pièces imprimées.

Étape 5: Câblage d'Ewon

Câblage d'Ewon
Câblage d'Ewon
Câblage d'Ewon
Câblage d'Ewon
Câblage d'Ewon
Câblage d'Ewon

Nous sommes à la dernière étape pour donner vie à Ewon. Voici le schéma de câblage des composants ainsi que des images montrant la connexion.

  • Le servomoteur est connecté aux broches I2C qui sont SDA et SCL de RPI.
  • L'écran est connecté aux broches RX et TX de RPI
  • Le microphone et les haut-parleurs sont connectés à la carte son USB qui est connectée au RPI via le port USB.

Attention: attention à ne pas court-circuiter votre RPI. Veuillez vérifier toutes vos connexions deux fois et assurez-vous que vous n'avez pas fait d'erreurs. Tous les accessoires que sont le haut-parleur, le servomoteur et l'écran sont alimentés par une batterie 5v séparée et n'utilisent pas la ligne Raspberry Pi 5v. Raspberry pi ne sert qu'à envoyer des données aux accessoires mais pas à les alimenter.

Étape 6: Salut Ewon ! Peux-tu m'entendre?

Hé Ewon ! Peux-tu m'entendre?
Hé Ewon ! Peux-tu m'entendre?

Nous avons donc attaché tous nos accessoires et installé toutes les bibliothèques nécessaires. Vous pouvez démarrer Ewon en exécutant le script shell en utilisant./run Ewon.shMais qu'est-ce que ce script.sh ? Ewon utilise de nombreuses bibliothèques différentes avec différents scripts (Google assistant SDK, Snowboy, Adafruit, etc.). Tous les scripts sont placés dans leurs dossiers respectifs. (Nous pouvons déplacer tous les fichiers dans le même chemin et organiser tous les scripts, mais actuellement, certaines bibliothèques ne permettent pas de déplacer les fichiers source, donc, pour l'instant, nous allons simplement les conserver dans leurs emplacements respectifs).sh est des scripts shell qui exécutent tous ces scripts un par un à partir de chaque emplacement afin que vous n'ayez pas à accéder manuellement à chaque emplacement et à exécuter les scripts. Cela facilite la gestion de toutes les commandes.

Une fois que vous avez exécuté le script shell, dites simplement "Hey Ewon!" et vous devriez voir Ewon commencer à vous écouter. Maintenant, vous pouvez utiliser Ewon comme assistant Google et lui parler et vous pouvez voir Ewon changer les expressions de ce que vous dites. Essayez quelque chose comme « Hé Ewon ! Je suis triste aujourd'hui " et vous pouvez voir Ewon être triste avec vous. Demandez une blague à Ewon et voyez-le rire à la blague.

Étape 7: Et ensuite ?

Ewon ne s'arrête pas là. Ewon a maintenant un moyen de détecter et de montrer les émotions, mais nous pouvons lui faire faire bien plus. Ce n'est que le début.

Dans la prochaine mise à jour, nous allons travailler sur la façon de faire

  • Ewon détecte les visages, suit votre visage et se déplace avec votre visage.
  • Nous allons ajouter des effets sonores pour donner une profondeur supplémentaire au personnage.
  • Ajoutez de la mobilité pour qu'Ewon puisse se déplacer avec vous.

Remarque: En raison de la situation actuelle, il est devenu très difficile de trouver des pièces pour le projet. Cela m'a fait changer de conception et de fonctionnalité compte tenu des idées que j'avais dans mon inventaire. Mais dès que je mets la main sur toutes les pièces, je mets à jour le projet ci-dessus.

Mises à jour:

  • Quelques modifications dans le code, suppression du script shell.
  • Ajout d'un corps rectangulaire pour EWON.

Conseillé: