Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construire un robot piloté par la parole avec Windows 10 IoT Core sur Raspberry Pi 2

Histoire

L'informatique primitive reposait sur cartes perforées, trackballs et claviers — chacun nécessitant un contact physique direct. Avec l'évolution technologique, les interfaces sans fil et tactiles ont simplifié l'interaction utilisateur. Aujourd'hui, les entrées visuelles et vocales offrent des moyens encore plus intuitifs de contrôler les appareils.

Ce guide montre comment exploiter la reconnaissance vocale intégrée de Windows 10 IoT Core pour commander un robot construit sur un Raspberry Pi 2. À la fin, vous aurez un robot qui avance, tourne et gère la détection d'obstacles par commandes vocales.

Nouveau sur Windows 10 IoT Core ? Commencez par cet aperçu.

Mis à jour le 30 mars 2016

Qu'est-ce que la reconnaissance vocale ?

La reconnaissance vocale traduit les mots parlés en texte. Elle implique généralement deux composants principaux : le traitement du signal et un décodeur vocal. Le SDK Speech de Microsoft abstrait ces complexités, permettant aux développeurs de se concentrer sur la logique applicative.

Étape 1

Démarrage avec la reconnaissance vocale

Le flux de travail de base est :

Créer la grammaire de reconnaissance vocale

Définir une grammaire personnalisée permet à l'application de comprendre les commandes spécifiques que vous voulez que le robot accepte. Pour ce projet, le vocabulaire inclut :

La grammaire s'exprime en XML SRGS. Règles structurelles clés :

Pour des conseils détaillés sur SRGS, consultez la documentation MSDN et W3C.

Initialiser le reconnaisseur vocal et charger la grammaire

SpeechRecognizer réside dans l'espace de noms Windows.Media.SpeechRecognition. Importez-le, puis chargez votre fichier XML SRGS. Si la compilation échoue, vérifiez qu'un microphone est connecté et reconnu par IoT Core.

S'inscrire aux événements du reconnaisseur vocal et créer le gestionnaire

Une fois le reconnaisseur en marche, il émet ResultGenerated lorsqu'il analyse avec succès la parole. Utilisez cet événement pour extraire args.Result.Text et le mapper aux actions du robot. L'événement StateChanged vous informe quand le reconnaisseur commence ou arrête d'écouter.

Visual Studio peut générer automatiquement les méthodes de gestionnaire avec la touche Tab. Alternativement, enregistrez les gestionnaires immédiatement après la création de l'instance SpeechRecognizer.

Étape 2

Comment piloter sur parole analysée

Dans le gestionnaire ResultGenerated, inspectez args.Result.Text et effectuez une logique conditionnelle pour contrôler les moteurs du robot. La classe MotorDriver (incluse dans l'exemple) abstrait la manipulation GPIO. Le code source complet est fourni à la fin de l'article.

Étape 3

Mettre à jour la capacité de l'appareil

Avant de déployer sur le Raspberry Pi 2, ajoutez la capacité microphone au manifeste de package de votre application. Cela accorde à l'application la permission d'accéder à l'entrée audio.


Une fois le logiciel prêt, câblez le matériel comme décrit ci-dessous.

Étape 4

Déployer et enregistrer l'application comme application de démarrage

Pour que le robot écoute les commandes immédiatement après le démarrage, enregistrez votre application comme application de démarrage. Déployez-la d'abord, puis utilisez soit PowerShell, soit le portail de gestion web IoT Core.

Il est judicieux de changer le nom de famille du package avant le déploiement pour éviter les conflits.


Après le déploiement, enregistrez l'application comme service de démarrage via le portail de gestion web.


En cas de problèmes d'enregistrement, consultez ce guide de dépannage.

Après un enregistrement réussi, redémarrez le Raspberry Pi 2 et confirmez que l'application démarre automatiquement.

Schéma

Le matériel du robot comprend un châssis avec moteurs DC, un Raspberry Pi 2 sous Windows 10 IoT Core, une batterie moteur 9-12 V, un capteur de distance, et des alimentations. La batterie moteur alimente le pilote en H, tandis que le Raspberry Pi 2 nécessite une source 5 V dédiée — soit une PowerBank USB, soit un régulateur 7805.

Pourquoi des résistances avec le capteur de distance ultrasonique ?

La broche Echo du capteur ultrasonique sort 5 V, ce qui dépasse le niveau logique 3,3 V du Raspberry Pi 2. Un diviseur de tension (R1 = 1 kΩ, R2 = 2 kΩ) réduit la tension à 3,3 V :

Vout = 5 × (2 kΩ / (1 kΩ + 2 kΩ)) = 3,3 V

ATTENTION : Connecter directement la broche Echo à un GPIO du Pi endommagera la carte. Utilisez toujours un décalageur de niveau ou un diviseur.

Assemblage final



Problèmes connus

La reconnaissance vocale ne fonctionne pas (Build 10586)

La reconnaissance vocale échoue sur les appareils IoT exécutant Windows IoT Core build 10586.

Solution : Revenir au build 10240 jusqu'à ce que Microsoft publie une mise à jour résolvant le problème.

Problème de microphone

La précision de reconnaissance chute avec les microphones de basse qualité, surtout à distances supérieures à 1-2 m.

Solution : Utilisez un microphone de haute qualité ou sans fil. Si nécessaire, amplifiez le signal ou envisagez un casque antibruit.

Délai de traitement du reconnaisseur

La reconnaissance vocale introduit une latence de 600-2000 ms. Pour des robots rapides, ce délai peut causer un décalage entre commande et action.

Solution : Les versions actuelles du SDK ne réduisent pas ce délai. Les futures versions pourraient offrir des optimisations.

Différence de prononciation

Les accents et prononciations régionales peuvent affecter la reconnaissance. Spécifiez la langue et la région dans le fichier SRGS (ex: xml:lang="en-GB" pour l'anglais britannique).

Bruit environnemental

Le bruit de fond peut réduire la précision. Bien qu'il soit difficile à éliminer, un microphone antibruit peut atténuer le problème.

Microphone USB / Carte son USB non reconnue

À partir du build 10531, Windows IoT Core prend en charge les périphériques audio USB génériques. Si votre périphérique utilise un pilote propriétaire, il peut ne pas fonctionner.

Essayez un autre microphone USB ou carte son utilisant un pilote générique.

Améliorations futures

Étendez le robot avec un retour visuel — par exemple, une LED verte s'allume pour les commandes réussies et une LED rouge indique les erreurs. Vous pouvez aussi ajouter des états « écoute » et « veille » pour éviter les activations accidentelles.

L'avez-vous remarqué ?

Le titre animé présente une fonctionnalité non couverte dans ce texte. Explorez l'animation attentivement et essayez d'implémenter la capacité cachée.

Bonne chance !

Source : Robot piloté par la parole

Processus de fabrication

  1. Lire les pulsations cardiaques avec Windows 10 IoT Core sur Raspberry Pi – Guide étape par étape
  2. Construire une porte à reconnaissance faciale sécurisée avec Windows IoT et Raspberry Pi
  3. Construire un bouton IoT AWS contrôlé par mouvement avec Raspberry Pi, capteur PIR et MQTT
  4. Envoyer les données IMU 10DOF Adafruit du Raspberry Pi 2 vers Azure Event Hubs avec Windows 10 IoT Core
  5. Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core
  6. Installation de Windows 10 IoT Core sur Raspberry Pi 3 Model B+ : Guide Étape par Étape
  7. Construire un robot Raspberry Pi piloté par Bluetooth avec retour audio
  8. Robot à commande gestuelle piloté par Raspberry Pi
  9. Construire un robot piloté Wi‑Fi avec Raspberry Pi & Smartphone Android