Pourquoi construire un robot contrôlé par la voix?

Les robots contrôlés par la voix apportent une façon naturelle et sans main d'interagir avec les machines. Ils sont populaires dans l'éducation parce qu'ils introduisent les étudiants à la reconnaissance de la parole, à la programmation de base et à l'intégration matérielle, sans nécessiter de compétences de codage profondes. Pour les amateurs, construire un robot qui écoute les commandes est un projet enrichissant qui peut être étendu à la domotique, aux appareils fonctionnels, ou même à un compagnon parlant.

Comprendre les éléments de base

Avant de monter votre robot, il aide à savoir ce que chaque pièce fait et pourquoi certains choix facilitent la construction pour les débutants. Chaque robot contrôlé par la voix a besoin d'un cerveau (microcontrôleur), d'oreilles (reconnaissance de la voix) et d'un corps (moteurs et châssis).

Options de microcontrôleur

Pour un codage minimal, deux microcontrôleurs se distinguent : Arduino et Riz de framboise- Oui.

  • Arduino (par exemple, Uno, Nano, Mega) est simple, bon marché et excellent pour le contrôle moteur en temps réel. Il exécute des croquis de style C++, mais de nombreux environnements de programmation visuelle (comme ArduBlock, mBlock) vous permettent de glisser et de laisser tomber la logique. Vous pouvez également utiliser l'éditeur Web Arduino si vous préférez ne pas installer de logiciel.
  • Riz de framboise (tout modèle, mais un 3B+ ou 4B fonctionne bien) est un ordinateur Linux complet. Il peut exécuter une reconnaissance vocale plus sophistiquée localement (en utilisant PocketSphinx ou Vosk) ou stream audio vers les services cloud (Google Assistant, Amazon Alexa). Python et Scratch sont les langues go-to; les deux ont une bibliothèque étendue pour le contrôle GPIO.

Si vous êtes un débutant complet, un Arduino avec un bouclier de reconnaissance vocale ou un Raspberry Pi avec un microphone USB offre le chemin le plus court pour réussir. Pour ce guide, nous nous concentrerons sur une configuration Raspberry Pi parce qu'il offre la plus grande flexibilité avec des changements de code minimes.

Choix de reconnaissance vocale

La reconnaissance vocale est le ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- locaux (hors ligne) et basé sur le nuage- Oui.

  • Local : PocketSphinx (CMU Sphinx) est une bibliothèque open-source qui fonctionne sur Raspberry Pi. Il fonctionne hors ligne et est gratuit, mais sa précision de reconnaissance est inférieure aux services cloud. Pour les commandes courtes et prédéfinies comme - Vosk, qui prend en charge plus de langues et a une meilleure précision.
  • Nuageux: Assistant Google SDK et Amazon Alexa Service de voix Ils nécessitent une connexion Internet, mais la configuration est simple – Google offre même un --Google AIY Voice Kit pour Raspberry Pi. L'inconvénient est que vous devez enregistrer votre appareil et gérer la latence réseau.

Pour le codage -minimal, les services cloud sont plus faciles : vous n'avez qu'à installer le SDK, le relier à vos broches GPIO robotisées, et définir des actions pour une poignée de phrases. Cet article utilise Google Assistant comme référence, mais la même logique s'applique à Alexa ou à d'autres plateformes.

Moteurs, châssis et puissance

Un simple châssis à deux roues à entraînement différentiel est le meilleur point de départ. Vous aurez besoin :

  • Deux servomoteurs (servos de rotation continue comme les servos FS90R ou les servos génériques à 360°) ou deux moteurs à courant continu avec un conducteur de moteur (L298N, L293D ou TB6612). Les servos sont plus faciles car ils acceptent un simple signal PWM; les moteurs DC nécessitent un conducteur mais offrent plus de couple.
  • Kit de châssis robot (Beaucoup de kits acryliques ou métalliques bon marché sur Amazon – cherchez un -2WD Smart Robot Car Cassis).
  • Roues et une balle de roulette pour l'équilibre.
  • Alimentation électrique: Un pack de batterie 5V pour le Pi (ou un pack 7.2V-12V pour les moteurs, selon votre conducteur). Une source d'alimentation séparée pour les moteurs et la logique est recommandée pour éviter les pannes.

N'oubliez pas Microphone USB (un micro webcam bon marché ou un micro USB dédié comme le PS3 Eye) et un petit haut-parleur si vous voulez que le robot parle en arrière. Un haut-parleur est facultatif mais ajoute à l'expérience.

Processus de construction étape par étape

Suivez ces étapes pour assembler et programmer votre robot à commande vocale. Le processus est conçu pour impliquer un codage minimal – la plupart du travail est le câblage et la configuration.

1. Assembler le châssis et l'électronique de montage

Placer les moteurs sur le châssis en utilisant les vis et les supports fournis. Appuyez sur les roues sur les arbres du moteur et visser la boule de roulette à l'avant ou à l'arrière. Montez le Raspberry Pi sur le dessus en utilisant des supports ou du ruban double face. Sécurisez le conducteur du moteur (si vous utilisez des moteurs à courant continu) et le pack de batterie. Connectez les moteurs aux sorties du conducteur, et les broches d'entrée du conducteur au GPIO Pis (voir le manuel du conducteur pour la cartographie des broches).

2. Installer le système d'exploitation et les dépendances

Flash une nouvelle copie de Raspberry Pi OS (32 bits de lit ou de bureau) sur une carte SD à l'aide de l'imageur Raspberry Pi. Démarrez le Pi, connectez-le au Wi-Fi et lancez des mises à jour via le terminal:

Installer Python et la bibliothèque GPIO :

Ensuite, installez le SDK de reconnaissance vocale. Pour Google Assistant, suivez le guide de configuration officiel. Le processus implique de activer l'API, de télécharger des identifiants et d'exécuter le code d'exemple. Pour la reconnaissance locale avec PocketSphinx, exécutez :

3. Configurer les commandes vocales

Définir les commandes que vous voulez que votre robot reconnaisse. Gardez-les simples: -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Dans Python, avec GPIO Zero, les fonctions de contrôle moteur ressemblent à ceci :

Si vous utilisez PocketSphinx, vous créez un fichier de liste de mots clés (par exemple ) et écrivez un script court qui écoute ces mots clés et appelle la fonction correspondante.

4. Fil et test de la connexion

Connectez le microphone et l'enceinte (si vous utilisez). Alimentez le Pi et exécutez votre script de reconnaissance vocale. Parlez une commande et regardez la sortie du terminal pour confirmer que le robot entend et analyse correctement. Une fois confirmé, les moteurs doivent répondre. Si non, vérifiez le câblage : les servos ont souvent besoin d'une alimentation 5V séparée du rail 5V Pi.

5. Mouvement de la Tune Fine et sensibilité

Pour GPIO Zero, vous pouvez passer une valeur entre 0 et 1 à . Pour la reconnaissance vocale, abaisser le seuil de sensibilité si le robot prend le bruit de fond. Dans PocketSphinx, modifiez le script pour augmenter la valeur de seuil; pour Google Assistant, vous pouvez définir le niveau de confiance de détection dans le modèle de périphérique.

Programmation du robot avec un code minimal

La promesse de code -minimum est tenue en utilisant des environnements qui génèrent du code pour vous. Voici trois approches triées par la quantité de code que vous écrivez réellement:

  • Visuel / basé sur le bloc : Gratte-toi (avec l'extension Pi GPIO) ou Node‐RED (outil basé sur le flux) vous permet de connecter des nœuds de reconnaissance vocale à des nœuds de commande moteur sans écrire une seule ligne. Scratch fonctionne dans le navigateur sur Pi et a un bloc de -microphone , qui peut écouter certaines phrases. Node‐RED a un noeud -google‐assistant , qui sort des objets d'événement.
  • Scripts de code bas : Si vous préférez le texte, mais peu, utilisez la classe GPIO Zero et appelez , , etc. La partie vocale peut être gérée par avec une boucle d'inscription de cinq lignes.
  • Trousses préconçues : Produits similaires Kit Google AIY Voix et Kit de voiture Amazon Alexa Pi Il suffit d'assembler le matériel et de remplir vos clés API. C'est le chemin de codage minimum absolu : quelques actions de copie-colle.

Dépannage de problèmes communs

Même avec un codage minimal, les choses peuvent mal tourner. Voici les problèmes les plus fréquents et comment les résoudre.

ProblèmeCause probableSolution
Robot ne répond pas aux commandes Microphone non détecté, ou service de reconnaissance vocale non en cours d'exécution Vérifiez pour micro; redémarrez le service vocal. Pour Google Assistant, assurez-vous que votre est dans le bon dossier.
Moteurs fonctionnant en continu sans arrêt Le conducteur moteur active les broches non contrôlées, ou les servos recevant une impulsion constante Pour les moteurs DC, set activer les broches HIGH/LOW via GPIO. Pour les servos, arrêter d'envoyer PWM après les fin de commande.
Robot se déplace lentement ou les abrutis Alimentation en énergie insuffisante Utilisez des batteries séparées pour les moteurs et Pi. Assurez-vous que la tension correspond aux spécifications du moteur.
Google Assistant sort des heures Lacet réseau ou identifiants expirés Vérifiez la vitesse d'Internet et re-authentifiez avec .
PocketSphinx méconnaissait les mots Bruit ou modèle linguistique limité Utilisez un microphone directionnel et ajoutez plus de données de formation. Créez un modèle de langue personnalisé avec .

Expanding Your Robot , les capacités

Une fois que le robot de base contrôlé par la voix fonctionne, vous pouvez le mettre à niveau avec des ajouts sans code ou des ajouts à code bas :

  • Ajouter un capteur à ultrasons (HC‐SR04) Pour détecter les obstacles et faire du robot éviter les murs automatiquement. Cela nécessite quelques fils de saut et un bloc dans Scratch ou une ligne GPIO Zero dans Python.
  • Inclure une caméra montée sur servo et stream vidéo à l'aide du module caméra Pi. Intégrez le suivi du visage à l'aide d'OpenCV – bien que cela ajoute plus de code, de nombreux tutoriels existent.
  • Activer les séquences multicommandes : Programmez le robot pour exécuter des phrases comme -Go à la cuisine - ou -follow me. Pour Google Assistant, vous pouvez utiliser Actions sur Google (plus de configuration) ou déclencher les webhooks IFTTT.
  • Monter un bras robotique (par exemple, une simple griffe) et le contrôle par la voix. Utilisez une carte de contrôleur servo supplémentaire et définissez de nouvelles commandes comme -grab ou -release.
  • Faites revenir le robot : Utilisez le moteur texte à parole sur le Pi pour dire -Déplacement vers l'avant ou -I-m perdu. Cela ajoute de la personnalité et aide à déboguer.

Chaque extension nécessite généralement moins de 20 lignes de nouveau code, grâce aux bibliothèques existantes et au même pipeline de reconnaissance vocale.

Sécurité et pratiques exemplaires

Lors de la construction d'un robot, gardez à l'esprit ces points de sécurité :

  • Débranchez toujours la batterie lors du câblage ou de la modification du circuit pour éviter les courts-circuits.
  • Utilisez une alimentation fondue ou ajoutez un polyfuse pour protéger le Pi du moteur arrière-EMF.
  • Si le robot se déplace de manière autonome, placez-le par terre avant de parler des commandes pour éviter les chutes.
  • Pour les services de voix basés sur le cloud, soyez conscient que l'audio est envoyé sur Internet. Évitez les mots ou commandes sensibles qui pourraient déclencher des actions non désirées.

Conclusion

En mettant à profit des plateformes comme Raspberry Pi, la reconnaissance vocale en nuage et les environnements de programmation visuelle, vous pouvez sauter des mois de développement de bas niveau et vous concentrer sur la partie amusante : regarder votre création répondre à votre voix. Commencez par le châssis de base, ajoutez le contrôle vocal, puis itérer. Les compétences que vous apprenez se traduisent directement par des projets plus avancés en robotique, en domotique et en interfaces conversationnelles. Avec les ressources énumérées ici, vous avez tout ce dont vous avez besoin pour mettre un robot à la vie ce week-end.