Hallo Habr! Im Frühjahr 2019 fand der nächste Think Developers Workshop statt, bei dem jeder einen TJBota-Kartonroboter mit IBM Watson Services zusammenbauen konnte. Unter dem Cutter finden Sie eine detaillierte Anleitung zum Zusammenbau eines solchen Roboters, nützliche Links und einfache Rezepte, die einige der kognitiven Fähigkeiten von Watson Services demonstrieren, sowie eine kleine Ankündigung von zwei Juli-Seminaren zu Watson Services im Moskauer Büro von IBM.
IBM Watson Services sind ein kognitives System, das natürliche Sprache verarbeiten, Bilder erkennen und lernen kann. Zur bequemen Verwendung dieser Dienste in einer beliebigen Anwendung ist eine API vorhanden.
TJBot ist ein Open Source-Projekt, das den Zugriff auf Watson-Dienste erleichtert. Dies ist ein Roboter, den jeder Himbeer-Pi und jede vorgefertigte künstliche Intelligenz herstellen kann. TJBot kann mit Rezepten wiederbelebt werden.
Rezepte sind schrittweise Anleitungen, mit denen Sie Ihren TJBot mit Watson-Diensten wie Speech to Text, Visual Recognition und Language Translator verbinden können. Die Rezepte basieren auf dem Raspberry Pi.
Was wird für TJBota benötigt?
- Raspberry Pi 3 + OS SD-Karte
- USB-Mikrofon
- Bluetooth-Lautsprecher oder Lautsprecher mit 3,5 mm. Audio-Buchse
- Servoantrieb
- NeoPixel RGB LED (8mm)
- Postings Mama Mama und Papa Mama
- Himbeer-Pi-Kamera
- Netzteil
- Fall (kann auf einem 3D-Drucker gedruckt oder aus Pappe lasergeschnitten werden. Die erforderlichen Layouts finden Sie hier )

Montageanleitung finden Sie
hier .
Das Anschlussdiagramm der Diode und des Servos zur Platine in der Abbildung unten.

Das Gehäuse ist „um“ die Platine herum montiert, daher müssen Sie zuerst das Betriebssystem auf die Speicherkarte schreiben.
Am einfachsten ist es,
NOBS zu installieren, aber jedes andere Linux ist für uns geeignet. Formatieren Sie vor der Installation von NOOBS die Speicherkarte, laden Sie das Archiv mit den Installationsdateien herunter und exportieren Sie sie auf Ihren Computer. Als nächstes müssen Sie die Dateien aus dem NOOBS-Ordner auf die Speicherkarte übertragen. Wenn Sie Himbeere zum ersten Mal starten (mit einer zuvor eingelegten Speicherkarte), wird das Installationsmenü des Betriebssystems geöffnet. Detaillierte Anweisungen finden Sie
hier .
Programmvorbereitungen
Als erstes müssen Sie die Pakete installieren:
curl -sL http://ibm.biz/tjbot-bootstrap | sudo sh –
Laden Sie jetzt die vorgefertigten Rezepte vom Github herunter:
git clone https://github.com/ibmtjbot/tjbot.git
Gehen Sie in das Verzeichnis mit dem Rezept:
cd tjbot / recipes / speech_to_text
Dieser Ordner enthält die Konfigurationsdatei config.js und die Datei mit dem ausführbaren Skript stt.js.
Installiere npm:
sudo apt-get install npm
Verbinden Sie Watson-Dienste
Um Watson-Dienste nutzen zu können, müssen Sie die folgenden Schritte ausführen.
Wir gehen zu dieser
Seite über .

Registrieren Sie sich und gehen Sie in das Verzeichnis. Im Katalog suchen wir nach "Speech to Text". Speech to Text ist ein Dienst, mit dem Sprache in Text übersetzt wird. Zugriff auf die API finden Sie
hier .

Text-to-Speech und visuelle Erkennung werden auch benötigt, wenn wir mit Bilderkennung arbeiten. Wir klicken auf Rede zu Text, wir gelangen auf die Seite mit einer Beschreibung dieser Komponente und Nutzungsplänen.

Ein kostenloser Plan reicht uns. Klicken Sie auf Erstellen und dann im Menü links auf Service-Anmeldeinformationen.

Von hier aus müssen Sie die Anmeldeinformationen und APIKEY kopieren und in die Datei config.js einfügen.
Wenn wir nun einen weiteren Watson-Dienst hinzufügen möchten, müssen wir in der Konfigurationsdatei jedem Dienst einen Block mit Apikey und URL hinzufügen, der in der folgenden Konstruktion eingeschlossen ist:
exports.credentials.[ text_to_speech/visual_recognition/speech_to_text ] = { … };
Die Wiederbelebung von TjBota
Betrachten Sie die Datei mit dem ausführbaren Bot-Skript stt.js. Es verfügt über eine vorgefertigte diskoParty () - Funktion zum Überprüfen des Betriebs des Bots ohne Verwendung von Watson-Diensten. Diese Funktion lässt die Bot-Diode in verschiedenen Farben blinken.
function discoParty() { for (i = 0; i < 30; i++) { setTimeout(function() { var randIdx = Math.floor(Math.random() * tjColors.length); var randColor = tjColors[randIdx]; tj.shine(randColor); }, i * 250); } } discoParty();
Im selben Skript gibt es eine Funktion, mit der Sie die Farbe der Diode mithilfe der Sprache des Entwicklers ändern können.
Führen Sie das Skript aus:
sudo node stt.js
Sagen Sie dem Bot, dass er das Licht blau schalten soll, um die Farbe der Diode auf blau umzuschalten, schalten Sie das Licht ein, um die Diode einzuschalten, oder schalten Sie das Licht aus, um es auszuschalten. Unterstützte Farben zur Erkennung (bisher wird nur Englisch unterstützt): Gelb, Grün, Orange, Lila, Magenta, Rot, Blau, Aqua und Weiß.
TjBot hat viele Grundfunktionen. Um beispielsweise das Servo zu überprüfen, können Sie die Funktion tj.wave () verwenden, mit der der Bot Sie mit einer Welle des Griffs begrüßt. Diese Kurzbeschreibungsfunktionen finden Sie
hier .
Stellen Sie sich nun das folgende Szenario vor, in dem sowohl visuelle Erkennung als auch Text-zu-Sprache verwendet werden.
Text to Speech ist ein Dienst, der gedruckten Text mit verschiedenen Stimmen, Tasten und Sprachen in Sprache umwandelt. Die API finden Sie unter folgendem
Link . Mit dem visuellen Erkennungsdienst können Sie beschreiben, was auf dem Bild angezeigt wird. Es erkennt die Gesichter von Menschen mit einer Bestimmung ihres ungefähren Alters und Geschlechts, ihrer Nahrung, ihres Geschirrs und ihrer Gegenstände und kann nach ähnlichen Bildern suchen. Die API für diesen Service finden Sie
hier . Mit diesen Diensten bringen wir dem Bot das Sehen und Sprechen bei. Basierend auf dem von der Kamera empfangenen Bild senden uns die Watson-Dienste (visuelle Erkennung) ein JSON-Objekt mit Bild-Tags als Antwort, und Text-to-Speech hilft dabei, diese auszusprechen.
Erstellen Sie zunächst Anmeldeinformationen auf cloud.ibm.com. Wir kopieren sie und fügen sie in die Konfigurationsdatei config.js ein.
Bearbeiten Sie als Nächstes das ausführbare Skript stt.js. Wir finden die folgenden Zeilen darin:
Das Hardware-Array enthält die verwendeten Bot-Geräte. Wenn wir ein Servo im Skript verwenden möchten, müssen wir "Servo" im Array signieren. Wenn wir eine Kamera benötigen, fügen Sie dem Array "Kamera" hinzu, um die Spalte zu verwenden, in die wir "Lautsprecher" schreiben.
Unser Skript verwendet also eine Spalte bzw. eine Kamera. Wir signieren dies im Hardware-Array.
Aus den Grundfunktionen der tj-Bibliothek benötigen wir die Funktionen tj.see () und tj.speak ().
Die Funktion tj.see () erstellt ein Foto (das Objekt wird im Ordner tmp gespeichert), sendet es mit Watson-Diensten an die Cloud, analysiert das Bild und erstellt ein json-Objekt, das aus Tags besteht - Wörter, die das Foto beschreiben (Sie können verschiedene Beschreibungen und Vertrauensgrade auswählen) und Der Prozentsatz der Zuverlässigkeit dieser Tags. Wir werden den Inhalt der Antwort von Diensten an die Konsole ausgeben.
Die Funktion tj.speak () kann Text mithilfe von Watson-Diensten in eine Audiodatei umwandeln und dann wiedergeben. Wenn mithilfe der Watson-Dienste eine Person auf dem Foto erkannt wird, winkt TJBot mit dem Stift.
Dieses Rezept zeigt, wie einfach es ist, Watson-Dienste in Ihrem Projekt zu verwenden. Eine kurze Beschreibung dieser Dienste und Links zu ihnen waren bereits in diesem
Artikel enthalten . Testen Sie alle Watson-Dienste kostenlos.
Außerdem werden in Kürze Seminare im IBM-Büro in Moskau abgehalten, in denen Sie sich mit anderen Watson-Servicefunktionen vertraut machen können.
Am 9. Juli 2019 findet die Unveil AI Blackbox mit IBM Watson OpenScale Workshop zum neuen Cloud-Produkt Watson OpenScale statt. Bei dieser Veranstaltung können Sie sich mit den Prinzipien neuronaler Netze vertraut machen, versuchen, ein neuronales Netz zu erstellen, zu trainieren und es mithilfe der Watson AI OpenScale-Plattform zu testen. Sie müssen sich über diesen
Link für die Veranstaltung
vorregistrieren .
Am 10. Juli 2019 findet das Seminar „Bild- und Videoerkennung in der IBM Cloud“ statt. In diesem Seminar erfahren Sie, wie Sie mit Watson Studio künstliche Intelligenz in Ihre Anwendung implementieren. Detaillierte Veranstaltungsbeschreibung und Registrierungslink
hier .