Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Sprachgesteuerter Roboter mit Windows 10 IoT Core auf Raspberry Pi 2 bauen

Geschichte

Frühes Computing setzte auf Lochkarten, Trackballs und Tastaturen – alles erforderte direkten physischen Kontakt. Mit der Technologieentwicklung vereinfachten drahtlose und Touch-Interfaces die Interaktion. Heute bieten visuelle und Spracheingabe noch intuitivere Steuerungsmöglichkeiten.

Diese Anleitung zeigt, wie Sie die integrierte Spracherkennung von Windows 10 IoT Core nutzen, um einen Roboter auf Raspberry Pi 2 zu steuern. Am Ende haben Sie einen Roboter, der sich bewegt, dreht und Hinderniserkennung per Sprachbefehl managt.

Neu bei Windows 10 IoT Core? Starten mit dieser Übersicht.

Aktualisiert am 30. März 2016

Was ist Spracherkennung?

Spracherkennung wandelt gesprochene Wörter in Text um. Sie umfasst typischerweise zwei Kernkomponenten: Signalverarbeitung und Sprachdecoder. Microsofts Speech SDK abstrahiert diese Komplexitäten, sodass Entwickler sich auf Anwendungslogik konzentrieren können.

Schritt 1

Einstieg in die Spracherkennung

Der grundlegende Workflow:

Spracherkennungsgrammatik erstellen

Eine benutzerdefinierte Grammatik lässt die App die spezifischen Befehle verstehen, die der Roboter akzeptieren soll. Für dieses Projekt umfasst der Wortschatz:

Die Grammatik wird in SRGS-XML ausgedrückt. Wichtige Strukturregeeln:

Für Details zu SRGS siehe MSDN und W3C Dokumentation.

Speech Recognizer initialisieren & Grammatik laden

SpeechRecognizer befindet sich im Windows.Media.SpeechRecognition Namespace. Importieren, dann SRGS-XML-Datei laden. Bei Kompilierfehlern prüfen, ob Mikrofon angeschlossen und von IoT Core erkannt wird.

Für Speech Recognizer Events registrieren & Handler erstellen

Sobald der Recognizer läuft, sendet er ResultGenerated bei erfolgreicher Sprachverarbeitung. Dieses Event nutzen, um args.Result.Text zu extrahieren und auf Roboteraktionen abzubilden. Das StateChanged-Event informiert, wann der Recognizer zuhört oder aufhört.

Visual Studio kann Handler-Methoden per Tab-Taste autogenerieren. Alternativ Handler direkt nach Erstellung der SpeechRecognizer-Instanz registrieren.

Schritt 2

Roboter per erkanntem Sprachbefehl steuern

Im ResultGenerated-Handler args.Result.Text prüfen und bedingte Logik für Motorsteuerung ausführen. Die MotorDriver-Klasse (im Beispiel enthalten) abstrahiert GPIO-Manipulation. Voller Quellcode am Artikelende.

Schritt 3

Gerätefähigkeit aktualisieren

Vor Deployment auf Raspberry Pi 2 microphone-Fähigkeit zum App-Paketmanifest hinzufügen. Das gewährt Berechtigung für Audioeingang.


Sobald Software bereit, Hardware wie unten beschrieben verdrahten.

Schritt 4

Deploy & App als Startanwendung registrieren

Damit der Roboter sofort nach Boot auf Befehle lauscht, App als Startanwendung registrieren. Zuerst deployen, dann PowerShell oder IoT Core Web-Management-Portal nutzen.

Paketfamiliennamen vor Deployment ändern, um Konflikte zu vermeiden.


Nach Deployment App als Startdienst über Web-Management-Portal registrieren.


Bei Registrierungsproblemen Troubleshooting-Guide konsultieren.

Nach erfolgreicher Registrierung Raspberry Pi 2 neu starten und prüfen, ob App automatisch startet.

Schaltplan

Roboter-Hardware besteht aus Chassis mit DC-Motoren, Raspberry Pi 2 mit Windows 10 IoT Core, 9-12 V Motor-Batterie, Distanzsensor und Netzteilen. Motor-Batterie speist H-Brücken-Treiber, Raspberry Pi 2 benötigt dedizierte 5-V-Quelle – entweder USB-Powerbank oder 7805-Regler.

Widerstände beim Ultraschall-Distanzsensor?

Der Ultraschallsensor gibt 5 V am Echo-Pin aus, was die 3,3-V-Logik des Raspberry Pi 2 übersteigt. Ein Spannungsteiler (R1 = 1 kΩ, R2 = 2 kΩ) reduziert auf 3,3 V:

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

WARNUNG: Echo-Pin direkt an Pi-GPIO anschließen beschädigt das Board. Immer Level-Shifter oder Teiler nutzen.

Endmontage



Bekannte Probleme

Spracherkennung funktioniert nicht (Build 10586)

Spracherkennung schlägt auf IoT-Geräten mit Windows IoT Core Build 10586 fehl.

Lösung: Auf Build 10240 zurückgehen, bis Microsoft Update veröffentlicht.

Mikrofonproblem

Erkennungsgenauigkeit sinkt bei minderwertigen Mikrofonen, besonders über 1-2 m Distanz.

Lösung: Hochwertiges oder drahtloses Mikrofon nutzen. Falls nötig Signal verstärken oder Noise-Cancelling-Headset erwägen.

Recognizer-Verarbeitungsverzögerung

Spracherkennung führt zu 600-2000 ms Latenz. Bei schnellen Robotern kann Verzögerung Fehlausrichtung zwischen Befehl und Aktion verursachen.

Lösung: Aktuelle SDK-Versionen reduzieren Verzögerung nicht. Zukünftige Releases könnten Optimierungen bringen.

Ausspracheunterschiede

Akzente und regionale Aussprachen beeinträchtigen Erkennung. Sprache und Region in SRGS-Datei angeben (z. B. xml:lang="en-GB" für UK-Englisch).

Umgebungsgeräusche

Hintergrundgeräusche mindern Genauigkeit. Schwer zu eliminieren, aber Noise-Cancelling-Mikrofon mildert das Problem.

USB-Mikrofon / USB-Soundkarte wird nicht erkannt

Ab Build 10531 unterstützt Windows IoT Core generische USB-Audiogeräte. Proprietäre Treiber funktionieren möglicherweise nicht.

Anderes USB-Mikrofon oder Soundkarte mit generischem Treiber testen.

Zukünftige Erweiterungen

Roboter um visuelles Feedback erweitern – z. B. grüne LED bei erfolgreichem Befehl, rote bei Fehler. „Zuhören“- und „Schlaf“-Zustände hinzufügen, um versehentliche Aktivierungen zu vermeiden.

Haben Sie bemerkt?

Der animierte Titel zeigt Feature, das im Text nicht behandelt wird. Animation genau ansehen und versuchen, die versteckte Fähigkeit zu implementieren.

Viel Erfolg!

Quelle: Speech Controlled Robot

Herstellungsprozess

  1. Herzfrequenz mit Windows 10 IoT Core auf Raspberry Pi auslesen – Schritt-für-Schritt-Anleitung
  2. Sichere Gesichtserkennungs-Tür mit Windows IoT und Raspberry Pi bauen
  3. Bewegungsgesteuerter AWS IoT Button mit Raspberry Pi, PIR-Sensor und MQTT
  4. Adafruit 10DOF IMU Daten von Raspberry Pi 2 an Azure Event Hubs senden (Windows 10 IoT Core)
  5. Präzise Temperatur- & Feuchtigkeitsüberwachung mit SHT15 unter Windows 10 IoT Core
  6. Windows 10 IoT Core auf Raspberry Pi 3 Model B+ installieren – Schritt-für-Schritt
  7. Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
  8. Gesten-gesteuerter Roboter mit Raspberry Pi
  9. WLAN-gesteuerter Roboter mit Raspberry Pi & Android Smartphone bauen
  10. GoPiGo v2 auf Windows 10 IoT Core für Raspberry Pi 3 erweitern