Suivi du prototypage d'un Animatronic Interactif. La figurine sera animée, pourra se déplacer et sera douée de parole ou d'une interface permettant de communiquer avec un humain.
Suivi du prototypage d'un Animatronic Interactif. La figurine sera animée, pourra se déplacer et sera douée de parole ou d'une interface permettant de communiquer avec un humain.
Des quatre coins de Rennes et de l'Hexagone, une équipe de Makers se réunit à l'occasion d'un Festival pour tenter la réalisation d'un personnage animé et interactif.
Étape 7 - Jour 1 - 🎤 Synthèse vocale ou Interface plus exotique ?
1- L'IDEE INITIALE : Une reconnaissance vocale opérée par un rapsberry pi.
Les enfants poseraient leurs questions en lien avec l'environnement en français et le robot répondrait en français.
2 - PROBLEME TECHNIQUES :
Des professionnels de la silicone vallée bosse à plein temps pour avoir des IA qui permettent de parler avec des machines en Language naturel et de passer le test de Turing. Je vous laisse imaginer la complexité de la tache.
A la manière de Siri il est possible de faire reconnaitre de mots clefs et de demander à un algorithme d'associer ces mots clefs avec une intention. En fonction de l'intention reconnue une réponse est déclenchée. Il faut donc de toute manière avoir un set de questions et de réponses pré-conçue.
Le moteur "speech to text" ou stt sur lequel se base "JARVIS", snow boy, n'existe plus.
L'autre stt gratuit et hors ligne pocketSphynx ne fonctionne qu'en anglais, et pas très bien.
Même problème est la synthèse vocale, souvent en anglais.
L'IOT et les APIs, c'est pas ma tasse de thé. Compliqué de faire fonctionner JARVIS (qui n'est pas maintenu depuis 3 ans) avec Google speech. Peut-être une histoire de ficher Json.
Le bruit ambiant rend la compréhension des mots clefs super difficile.
Le "parlé" enfant peut-être une source de complexité supérieur
Pour atteindre une bonne efficacité il faut entrainer l'algorithme, ce qui n'est pas adapté lorsqu'il y a plusieurs interlocuteurs.
3 - CONCLUSION INTERMEDIAIRE ==> EXIT JARVIS ET LA RECONNAISSANCE VOCALE
4 - SOLUTION ALTERNATIVE :
Plus simple et plus consistant, remplacer de la reconnaisse vocale par de la reconnaissance optique.
Avantages :
Plus consistant : la reconnaissance optique n'est pas dépendant du volume ambiant ou du contexte, surtout s'il intègre son propre système d'éclairage.
Questions et réponses rédigé. Un peu à la manière d'un QR code, le décryptage d'une couleur ou d'un motif déclenche une réponse.
Permet la manipulation d'objets. C'est pas COVID mais c'est rigolo.
Principes : Une caméra reconnais un code à deux couleurs. En fonction du code reconnu, déclenche la lecture d'un fichier MP3.
Construction d'une boite à la découpeuse laser. Sur cette boite la caméra pixy2 et quatre led blanche pour éclairer l'intérieur. La boite comporte une fente pour y insérer les cartes de couleurs.
Ressources :
....> Plan de la boite à découper à la laser
....> Plan des cartes à découper à la laser
2- LES CARTES
Les cartes doivent être découper en trois section puis peintes :
Une qui reste blanche c'est la partie que l'on garde en main, sur laquelle on peut écrire à quoi sers la carte
La partie du milieu à peindre d'une couleurs
La partie supérieure à peindre également
Un trait noir doit-être tracer entre les deux couleurs pour permettre à la caméra une reconnaissance aisée.
Chaque combinaison de couleur est unique et déclenche une réponse unique.
3- LA CAMERA
La caméra est une caméra pixy2, conçus pour la reconnaissance de couleurs. Elle peut stocker en mémoire la reconnaissance de 7 couleurs.
La caméra est "entraînée" à reconnaitre les couleurs sur un ordinateur grâce au logiciel pixymon.
Copier le code que l'on fournis dans le répertoire ==>
Lancer le programme python grâce à la ligne de commande suivante
Chaque carte déclenche la lecture d'un fichier audio situé dans le dossier "Musique". La carte rouge-rouge déclenche le 1. Etc. Pour changer la piste lu, écraser le fichier de votre choix par une bande audio de votre choix. Ce qui compte c'est qu'elle ai le même nom. Penser à changer dans le code python la valeur de la variable "sound_time[piste modifié]" pour qu'elle corresponde au temps de la nouvelle piste, en seconde.
Pour info, voici la matrice des cartes :
Rouge(1)
Vert(1)
Bleu(1)
Rouge(2)
1
4
7
Vert(2)
2
5
8
Bleu(2)
3
6
9
5- Lancer le programme au démarrage de la Raspberry Pi
Lancer la commande "sudo crontab -e"
Insérer la ligne "@reboot python3 ....Chemin absolu vers le code python...."
Sauvegarder
Fichiers open-sources : [Programme reconnaissance couleur / Plan des cartes et de la boite de détection / Schéma de câblage pour le détecteur de couleur]
To Do : ajouter les sources : Programme Python de la reconnaisance vocal / Programme Python de la reconnaisance des couleurs / Plans de la boite et des cartes colorées.
Étape 17 - Jour 2 - Restituer : Le bilan
Si rien ne marche, Peaufiner le Pitch
Est-ce qu'on ne peut pas "tricher" pour la présentation ?
Débusquer "le diable dans les détails"
Faire simple...
Si ça marche pas, c'est pas grave, c'est l'intention qui compte...
Étape 18 - Le début de la Fin
Arrivé ici:
L'animatronic doit commencer à fonctionner un peu tout seul...
Certains n'ont plus rien à faire, sinon à regarder...
Ca serait bien de lui donner un nom ? non ?
... Hey ! Est-ce que tout est bien documenté ? Y a des photos ? des vidéos ? Du son ?
Conseil : Si ça sert plus, alors c'est peut-être le moment de ranger...
Étape 19 - Epilogue...
Comment ça s'est passé ?
La météo de l'humeur de chacun
Les réussites,
Les échecs,
Les frustrations
Ce qu'on a appris / confirmé / maitrisé.
C'est la Fin !
Notes et références
Cahier des charges et Liste des ressources disponibles réalisé en amont du Hackathon :