Inhaltsverzeichnis:

EWON Raspberry Pi Powered Home Robot - Gunook
EWON Raspberry Pi Powered Home Robot - Gunook

Video: EWON Raspberry Pi Powered Home Robot - Gunook

Video: EWON Raspberry Pi Powered Home Robot - Gunook
Video: Companion Robot: Overview - Raspberry Pi | Arduino | DIY Robotics 2024, Juli
Anonim
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot

Von sharathnaikSharathnaik.comFolgen Sie mehr vom Autor:

Herz-Visualisierung | Sehen Sie Ihren Herzschlag
Herz-Visualisierung | Sehen Sie Ihren Herzschlag
Herz-Visualisierung | Sehen Sie Ihren Herzschlag
Herz-Visualisierung | Sehen Sie Ihren Herzschlag
DIY- Cool Denim Pocket Notebook (mit Bildern)
DIY- Cool Denim Pocket Notebook (mit Bildern)
DIY- Cool Denim Pocket Notebook (mit Bildern)
DIY- Cool Denim Pocket Notebook (mit Bildern)
PUPPI
PUPPI
PUPPI
PUPPI

About: Engineering und Design Mehr über sharathnaik »

Ich habe vor kurzem aufgrund der aktuellen Situation viele Netflix-Serien gesehen. Ich hoffe, Sie sind alle in Sicherheit, und ich habe gesehen, dass Staffel 5 von Black Mirror veröffentlicht wurde. Eine Anthologieserie, die sich um das Privatleben einer Gruppe von Menschen dreht und wie Technologie ihr Verhalten manipuliert.

Und eine der Episoden, die meine Aufmerksamkeit erregten, war Rachel, Jack und Ashley Too. Eine der Hauptfiguren dieser Serie ist ein Heimroboter namens Ashley O und dieser Roboter hat viel Charakter und ich dachte mir, ich sollte einen bauen, es ist ein gutes Projekt, um mit dem Programmieren zu beginnen, wenn nicht das dann zumindest Ich kann es so programmieren, dass es über meine Witze lacht.!

Was / Wer ist Ewon? Was kann ich tun?

Bevor ich anfing, an diesem Projekt zu arbeiten, habe ich einige Grundregeln festgelegt, die befolgt werden müssen. Dieses Projekt musste sein

  • Einfach für alle auszuprobieren
  • Es geht nicht nur darum, süß zu sein, sondern auch nützlich zu sein, damit es nicht in einem Regal landet
  • Modular, damit Sie immer wieder neue Funktionen hinzufügen können.

Nachdem ich diese Regel festgelegt hatte, entschied ich mich, das Google Assistant SDK zu verwenden. Dieses SDK bietet viele Funktionen, nach denen ich gesucht habe, und wenn Sie von Ewon gelangweilt sind, können Sie es immer als Google Home-Gerät verwenden und tun, was ein Google Home tut.

Ewon wird dem Google-Assistenten einen Charakter hinzufügen. Das heißt, Emotionen zu zeigen und auf das zu reagieren, was der Benutzer sagt. Jetzt hört man nicht nur die Stimme, sondern sieht auch, wie man reagiert.

HINWEIS: Dieses instructable befindet sich in der Entwicklung. Ich werde demnächst alle relevanten Dateien hochladen. Dankeschön

Schritt 1: Erforderliche Teile für Ewon

ELEKTRONIK

  • Himbeer-PI
  • Servo SG90 (x4)
  • Servo MG995 – Standard (x2)
  • PCA9685 16-Kanal-Servotreiber
  • USB-Soundkarte
  • Mikrofon
  • Lautsprecher (Jeder kleine Lautsprecher reicht aus, so ähnlich)
  • Stift- und Buchsenleistensteckverbinder
  • Steckbrett
  • Nextion-Display

BEFESTIGUNGEN UND LAGER

  • M3*10mm (x10)
  • M3*8mm (x10)
  • M3-Muttern (x20)
  • Lager

    • Außendurchmesser: 15 mm Innendurchmesser: 6 mm Breite: 5 mm (x2)
    • Außendurchmesser: 22 mm Innendurchmesser: 8 mm Breite: 7 mm (x2)

ANDERE MATERIALIEN

  • Abstand

    • 40mm (x4)
    • 30mm (x4)

WERKZEUGE

3D Drucker

Schritt 2: Verständnis von Ewon und Programmierung

Ewon und Programmierung verstehen
Ewon und Programmierung verstehen
Ewon und Programmierung verstehen
Ewon und Programmierung verstehen
Ewon und Programmierung verstehen
Ewon und Programmierung verstehen

Bevor ich mit dem Programmieraspekt beginne, möchte ich kurz das Blockschaltbild der Schaltung von Ewon erläutern.

RPI (Raspberry Pi) ist das Gehirn des Systems. Der von RPI gesteuerte Servotreiber treibt das Servo an. Von RPI gesteuertes Display mit serieller Kommunikation, um Emotionen zu zeigen, und schließlich Mikrofon und Lautsprecher, die zur Kommunikation mit Ewon verwendet werden. Jetzt, da wir wissen, welche Hardware was macht, beginnen wir mit der Programmierung von Ewon.

Google Assistant SDK installieren

Lassen Sie mich die beiden Gründe erklären, warum ich Google Assistant verwenden wollte:

  • Ich wollte, dass Ewon nicht nur ein lustiger, sondern auch ein nützlicher Roboter ist. Das Google Assistant SDK verfügt bereits über eine Menge Ressourcen, mit denen Sie die Funktionalität von Ewon erweitern können.
  • Sie können auch Aktionen auf Google und den Dialogablauf verwenden, um Ewon die Möglichkeit zu geben, mit vordefinierten Antworten zu chatten. Vorerst konzentrieren wir uns nur auf das Basis-SDK.

Beginnen wir mit der Installation des Google Assistant SDK. Dies sollte nicht schwierig sein, da es eine Menge Ressourcen gibt, die Ihnen bei der Einrichtung des Google Assistant SDK auf RPI helfen. Sie können diesem Tutorial folgen:

Anleitung:

Nach Abschluss des obigen Vorgangs sollten Sie in der Lage sein, auf der Tastatur auf die Eingabetaste zu klicken und mit dem Assistenten zu sprechen. Das ist alles über die Installation des Google Assistant SDK.

Wie soll ich es nennen? Ewon?

Hallo Google! Dies wird verwendet, um mit Google Assistant zu sprechen, und leider lässt Google keine anderen benutzerdefinierten Aktivierungswörter zu. Mal sehen, wie wir dies ändern können, damit Google Assistant ausgelöst wird, wenn jemand Ewon anruft.

Snowboy: eine hochgradig anpassbare Hot-Word-Erkennungs-Engine, die in Echtzeit eingebettet ist und mit Raspberry Pi, (Ubuntu) Linux und Mac OS X kompatibel ist.

Ein heißes Wort (auch bekannt als Aktivierungswort oder Triggerwort) ist ein Schlüsselwort oder eine Phrase, auf die der Computer ständig als Signal zum Auslösen anderer Aktionen lauscht.

Beginnen wir mit der Installation von Snowboy auf RPI. Denken Sie daran, die virtuelle Umgebung zu aktivieren, um Snowboy wie bei der Installation des Assistant SDK zu installieren. Alles, was wir ab hier installieren, muss in der virtuellen Umgebung installiert werden. Die Installation von Snowboy kann etwas knifflig sein, aber dieser Link sollte Ihnen helfen, es problemlos zu installieren. Link:

Hier ist ein zusammengefasster Installationsprozess, wenn der obige Link verwirrend wird oder die Installation fehlschlägt.

$ [sudo] apt-get install libatlas-base-dev swig$ [sudo] pip install pyaudio $ git clone https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ make $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py install

Führen Sie nach der Installation die Demodatei [im Ordner - snowboy/examples/Python3/] aus, um zu sehen, ob alles perfekt funktioniert.

Hinweis: Sie können den Namen Ihres Roboters auch einfach in einen anderen Namen ändern. Alles, was Sie tun müssen, ist, zu https://snowboy.kitt.ai/ zu gehen und ein benutzerdefiniertes Hotword zu trainieren und dieses Hotword dann im selben Ordner wie ewon.pmdl abzulegen.

Kann Ewon Emotionen verstehen?

Jetzt, da Ewon einen Namen hat, werde ich Ewon verwenden, anstatt es Roboter zu nennen. Okay, Emotionen, kurze Antworten nein, Ewon kann Emotionen nicht verstehen, also werden wir hier Ewon dazu bringen, Emotionen in unserer Sprache anhand von Schlüsselwörtern zu erkennen und dann den dazugehörigen Gesichtsausdruck abzuspielen.

Um dies zu erreichen, habe ich ein einfaches Sentiment-Analyse-Skript erstellt. Es gibt 6 verschiedene Emotionsklassen.

Bild
Bild

Glücklich, traurig, Wut, Angst, Ekel und Überraschung. Dies sind die wichtigsten Emotionsklassen und jede von ihnen hat eine Liste von Schlüsselwörtern, die mit der Emotion verbunden sind. (zum Beispiel gut, nett, aufgeregt, alle fallen unter glückliche Emotionen).

Immer wenn wir also eines der Schlüsselwörter in der Emotionsklasse sagen, wird die entsprechende Emotion ausgelöst. Wenn Sie also "Hey Ewon!" sagen. und warte, bis Ewon spricht und ich sage weiter "Heute ist ein schöner Tag!", es greift das Stichwort "Nice" auf und löst die entsprechende Emotion "Happy" aus, die den Gesichtsausdruck für Happy auslöst.

Sind diese Ohren auf Ewon?

Der nächste Schritt wäre, die ausgelöste Emotion zu nutzen, um den jeweiligen Gesichtsausdruck auszuführen. Bei Ewon ist der Gesichtsausdruck notierend, aber bewegt sein Ohr und Hals mit Servos und ändert die Anzeige, um die Augenbewegungen zu ändern.

Zuerst die Servos. Um dies auszuführen, können Sie diesem Tutorial folgen, um die Adafruit-Servobibliothek einzurichten. Link:

Bild
Bild

Dann weisen wir allen Servos den maximalen und minimalen Wert zu. Dies geschieht, indem jedes Servo manuell bewegt und seine Grenzen überprüft werden. Sie können dies tun, sobald Sie Ewon zusammengebaut haben.

Augen für Ewon

Für die Augen verwende ich ein Nextion-Display mit einer Reihe von Bildern wie unten.

Bild
Bild

Es ist eine Sequenz von Bildern, die ich in Photoshop entworfen habe, die, wenn sie nacheinander abgespielt werden, eine Animation ergeben. Eine ähnliche Sequenz wurde für alle Emotionen erstellt. Um nun eine Emotion anzuzeigen, müssen Sie nur die spezifische Bildsequenz aufrufen, aus der die Animation besteht. Die Dateien befinden sich im Ordner 'Display files', Download-Link unten.

Schließlich

Alles zusammen, wenn die glückliche Emotion durch das Skript ausgelöst wird, wird die Happy-Funktion aufgerufen und das Servo bewegt sich in die bereits eingestellten Winkel und das Display spielt die Happy-Eye-Animation ab. Auf diese Weise erreichen wir also ein "Verstehen" menschlicher Emotionen. Diese Methode ist nicht die beste und es gibt Zeiten, in denen Keywords nicht in dieselbe Emotion fallen wie vordefiniert, aber im Moment funktioniert dies gut genug und Sie können jederzeit weitere Keywords hinzufügen, um die Erkennungsgenauigkeit zu erhöhen. Darüber hinaus kann dies durch ein viel trainierteres Emotionsanalysemodell wie das Paralleldots Emotionsanalysemodell ersetzt werden, um bessere Ergebnisse zu erzielen. Aber als ich es ausprobierte, gab es viele Verzögerungen, die Ewon langsamer reagieren ließen. Vielleicht wird Ewon Version 2.0 so etwas haben.

Dies ist der LINK zu allen Dateien, die zum Ausführen von EWON benötigt werden. Laden Sie die Datei herunter und führen Sie die folgenden Schritte aus:

  • Entpacken Sie die Datei und legen Sie diesen Ordner (Ewon) unter home/pi/ ab.
  • Fügen Sie Geräte-ID und Modell-ID in der Datei main.py hinzu. Die ID wird bei der Installation des Google Assistant SDK abgerufen.
  • Öffnen Sie die Eingabeaufforderung und führen Sie die Quelle der folgenden Befehle aus:

source env/bin/activatepython main.py models/Ewon.pmdl

Schritt 3: Drucken des Körpers

Die 3D-Dateien finden Sie hier:

Jetzt, da wir alle mit dem Gehirn von Ewon ausgestattet sind, ist es an der Zeit, seinen Körper zu drucken. Es müssen 18 einzigartige Teile gedruckt werden, die meisten davon sind ziemlich klein, mit einer Gesamtdruckzeit von etwa 15-20 Stunden. (ohne die Fälle).

Ich habe weißes PLA mit 50% Infill und einer Schichthöhe von 2mm verwendet. Sie können diese Werte bei Bedarf ändern, es sollte gut funktionieren, aber stellen Sie sicher, dass die kleinen Teile aus Festigkeitsgründen zu 100% gefüllt sind.

Nachdem die Dateien gedruckt wurden, können Sie Sandpapier oder eine Handfeile verwenden und die gedruckten Teile reinigen, insbesondere die Verbindungen, an denen die Teile durcheinander gleiten. Das Glätten der Gelenke macht den Mechanismus glatt und bietet dem Servo weniger Widerstand. Dieser Vorgang kann so lange dauern, wie Sie möchten, da man sich verlieren kann, wenn Sie versuchen, die gedruckten Teile perfekt aussehen zu lassen.

Zusätzliche Hinweise: Sie können die Löcher in den 3D-gedruckten Teilen mit einem 3-mm-Bohrer nachbohren. Alle Löcher haben die gleichen Abmessungen. Dies erleichtert das spätere Einschrauben der Muttern in der Montage.

Schritt 4: Ewon zusammenbringen

Ewon zusammenbringen
Ewon zusammenbringen
Ewon zusammenbringen
Ewon zusammenbringen
Ewon zusammenbringen
Ewon zusammenbringen
Ewon zusammenbringen
Ewon zusammenbringen

Bevor wir mit der Montage beginnen, sind einige Änderungen an den gedruckten Teilen erforderlich. Die Dateien mit dem Namen Servolink müssen mit Servolinks ausgestattet werden, die mit dem Servo geliefert werden, damit sich die 3D-gedruckten Links gut mit dem Servo verbinden.

Die Montage von Ewon sollte einfach sein. Ich habe Bilder zum Nachmachen angehängt.

Zusätzliche Hinweise: Stellen Sie sicher, dass Sie die Bolzen oder Schrauben nicht zu fest anziehen, da dies die gedruckten Teile brechen und verschleißen kann.

Schritt 5: Ewon verkabeln

Verkabelung von Ewon
Verkabelung von Ewon
Verkabelung von Ewon
Verkabelung von Ewon
Verkabelung von Ewon
Verkabelung von Ewon

Wir sind am letzten Schritt, um Ewon zum Leben zu erwecken. Hier ist der Schaltplan für die Komponenten zusammen mit Bildern, die die Verbindung zeigen.

  • Der Servotreiber ist mit den I2C-Pins verbunden, die SDA und SCL von RPI sind.
  • Das Display ist mit den RX- und TX-Pins von RPI. verbunden
  • Mikrofon und Lautsprecher sind mit der USB-Soundkarte verbunden, die über den USB-Port mit RPI verbunden ist.

Warnung: Seien Sie vorsichtig, wenn Sie Ihren RPI kurzschließen. Bitte überprüfen Sie alle Ihre Verbindungen zweimal und stellen Sie sicher, dass Sie keine Fehler gemacht haben. Alle Zubehörteile wie Lautsprecher, Servotreiber und Display werden von einer separaten 5-V-Batterie mit Strom versorgt und verwenden nicht die Raspberry Pi-5-V-Leitung. Raspberry Pi wird nur verwendet, um Daten an die Zubehörteile zu senden, aber nicht, um sie mit Strom zu versorgen.

Schritt 6: Hey Ewon! Kannst du mich hören?

Hey Ewon! Kannst du mich hören?
Hey Ewon! Kannst du mich hören?

Also haben wir unser gesamtes Zubehör angebracht und alle notwendigen Bibliotheken installiert. Sie können Ewon starten, indem Sie das Shell-Skript mit./run Ewon.sh ausführen. Aber was ist dieses.sh-Skript? Ewon verwendet viele verschiedene Bibliotheken mit unterschiedlichen Skripten (Google Assistant SDK, Snowboy, Adafruit usw.). Alle Skripte werden in ihren jeweiligen Ordnern abgelegt. (Wir können alle Dateien in denselben Pfad verschieben und alle Skripte organisieren, aber derzeit erlauben einige der Bibliotheken das Verschieben der Quelldateien nicht, daher werden wir sie vorerst einfach an ihren jeweiligen Speicherorten belassen.).sh sind Shell-Skripte, die alle diese Skripte nacheinander von jedem Ort aus ausführen, sodass Sie nicht manuell zu jedem Ort gehen und die Skripte ausführen müssen. Dies erleichtert die Handhabung aller Befehle.

Sobald Sie das Shell-Skript ausgeführt haben, sagen Sie einfach "Hey Ewon!" und Sie sollten sehen, wie Ewon Ihnen zuhört. Jetzt können Sie Ewon als Google-Assistenten verwenden und mit ihm sprechen und Sie können sehen, wie Ewon Ausdrücke von dem, was Sie sagen, ändert. Probiere etwas wie „Hey Ewon! Ich bin heute traurig“und du kannst sehen, wie Ewon mit dir traurig ist. Fragen Sie Ewon nach einem Witz und sehen Sie, wie er über den Witz lacht.

Schritt 7: Was kommt als nächstes?

Ewon hört hier nicht auf. Ewon hat jetzt eine Möglichkeit, Emotionen zu erkennen und zu zeigen, aber wir können viel mehr tun. Dies ist erst der Anfang.

Im kommenden Update werden wir daran arbeiten, wie man

  • Ewon erkennt Gesichter und verfolgt Ihr Gesicht und bewegt sich mit Ihrem Gesicht.
  • Wir werden Soundeffekte hinzufügen, um dem Charakter eine zusätzliche Tiefe zu verleihen.
  • Fügen Sie Mobilität hinzu, damit Ewon sich mit Ihnen bewegen kann.

Hinweis: Aufgrund der aktuellen Situation ist es sehr schwierig, Teile für das Projekt zu beschaffen. Dies hat mich dazu gebracht, Design und Funktionalität zu ändern, wenn ich die Gedanken berücksichtige, die ich in meinem Inventar hatte. Aber sobald ich alle Teile in den Händen habe, aktualisieren Sie das obige Projekt.

Aktualisierung:

  • Einige Änderungen am Code vorgenommen, Shell-Skript entfernt.
  • Ein rechteckiger Körper für EWON hinzugefügt.

Empfohlen: