Inhaltsverzeichnis:

MyPetBot (ein Bot, der Ihnen folgt) - Gunook
MyPetBot (ein Bot, der Ihnen folgt) - Gunook

Video: MyPetBot (ein Bot, der Ihnen folgt) - Gunook

Video: MyPetBot (ein Bot, der Ihnen folgt) - Gunook
Video: Keyi Loona Robot - Petbot - KI Haustier-Roboter mit Emotionen 2024, Juli
Anonim
Image
Image
MyPetBot (Ein Bot, der Ihnen folgt)
MyPetBot (Ein Bot, der Ihnen folgt)
MyPetBot (Ein Bot, der Ihnen folgt)
MyPetBot (Ein Bot, der Ihnen folgt)

Ai ist eine der schönsten Anwendungen der Mathematik. Im Grunde handelt es sich um eine Reihe von Matrizenoperationen, die so optimiert sind, dass sie dem gesuchten Ergebnis entsprechen. Glücklicherweise gibt es jede Menge Open-Source-Tools, die es uns ermöglichen, sie zu nutzen.

Ich hatte die Idee ursprünglich vor langer Zeit, als ich an einem Wasserfall arbeitete, der durch die vorbeiziehenden Menschen deaktiviert wurde. Ich benutzte Ultraschallsensoren und entdeckte zu spät, dass sie im nassen Zustand nicht so gut funktionieren… Das war kein Spaß. Am Ende benutzten wir einen großen Knopf, den die Leute drücken würden, wenn sie passen wollten. Es stellte sich als gut heraus, weil es heiß war und die Leute es liebten, nass zu werden, aber das Problem blieb in meinem Kopf… Wie man Menschen erkennt und eine Reaktion aktiviert.

Ich erzähle diese Geschichte, weil ich darauf hinweisen möchte, dass dieses Prinzip für viele andere Anwendungen verwendet werden kann! Deinem Gesicht mit einem Spielzeug zu folgen ist nur eine davon. Für interaktive Installationen können Sie alles Mögliche tun. Sie könnten ein Modell verwenden, um zu erkennen, ob ein Gesicht lächelt. Sie können die Anzahl der Hunde in einem Park zählen. Sie könnten Ihre Jalousien schließen, wenn Leute vorbeikommen. Oder… erstelle einen Controller für deine Nintendo-Basis auf deiner Körperposition…. Sie können viele andere Ai-Modelle herunterladen, die alle möglichen Dinge tun.

Es gibt ein paar Tutorials, wie man Ai-Inferenz mit Himbeer-Pi zum Laufen bringt. Ich bin hier, um Ihnen beizubringen, wie Sie die Lochintegration zu einer selbsttätigen Einheit machen. Sobald Ihr Roboter bootet, startet er die erforderlichen Programme.

Lieferungen

  • Parallax-Roboter: Ich habe mich für diesen Roboter entschieden, weil ich ihn herumliegen hatte, aber jeder Roboter, der mit einem Arduino gesteuert werden kann, wird die Arbeit erledigen.
  • Raspberry Pi: Ich empfehle mindestens den Raspberry Pi 3B+.
  • Intel Neural Stick: Die Inferenzrate geht von eins pro Sekunde bis 8. Sie brauchen wirklich einen, wenn Sie Ai in einem Himbeer-Pi ausführen möchten.
  • Power Bank: Der einfachste Weg, den Strom zu verwalten. Funktioniert mit dem Raspberry Pi 3B+, vielleicht möchten Sie überprüfen, ob es mit einem Pi 4 funktioniert.
  • Picamera: Ich verwende gerne die Picamera anstelle von USB.

Schritt 1: Rover-Montage

Rover-Montage
Rover-Montage
Rover-Montage
Rover-Montage
Rover-Montage
Rover-Montage

Das Tutorial bezieht sich hauptsächlich auf die Software, daher möchte ich nicht zu sehr auf die Details des Rovers eingehen. Es funktioniert mit diesem Roboter, aber es könnte wirklich mit jeder anderen Hardware funktionieren. Muss nicht einmal für einen Rover sein, Sie können dies für eine Bewegungssensor-Kamera verwenden.

  1. Finden Sie sich ein Arduino-gesteuertes Fahrzeug.
  2. Wickeln Sie eine Powerbank fest daran.
  3. Wickeln Sie einen Himbeer-Pi fest darauf.
  4. Kleben Sie die Picamera leicht schräg nach oben.
  5. Verbinden Sie alles miteinander.
  6. Voila!

Schritt 2: Raspbian

Raspbian
Raspbian
Raspbian
Raspbian

Ich verwende ein Himbeer-Pi, aber es gibt keinen Grund, kein anderes Linux zu verwenden … bis zu Ihnen. Ich könnte ein Plug-and-Play-Image zum Brennen einer SD-Karte veröffentlichen, ich werde es machen, wenn genügend Leute interessiert sind.

Raspbian installieren: Sie können Raspbian Buster Lite installieren. Wir werden den Desktop nicht verwenden … Nur die ssh Secure Shell-Verbindung.

Verbinden Sie sich mit Ihrem Pi: Zuerst können Sie sich über eine Ethernet-Verbindung mit Ihrem Raspberry Pi verbinden

Stellen Sie Ihr WLAN ein: Jetzt können Sie Ihre drahtlose Verbindung konfigurieren

Schritt 3: OpenVino

OpenVino
OpenVino

OpenVino ist eine großartige Bibliothek, die von Intel unterstützt wird. Sie haben großartige Arbeit beim Kompilieren von Beispielmodellen geleistet und den größten Teil des ai-Frameworks kompatibel gemacht. Sie benötigen diese Bibliothek für den Intel Neural Stick.

Python3-Installation: Sie müssen Python 3 installieren.

OpenVino-Installation: Sobald dies erledigt ist, sehen Sie jedes Mal, wenn Sie sich mit dem Himbeer-Pi verbinden, eine Zeile "[setupvars.sh] OpenVINO-Umgebung initialisiert".

OpenVino ist eine Erweiterung von opencv. Um es zu testen, können Sie Python3 starten und cv2 importieren.

tippe in die Shell:

python3

Geben Sie in Python ein:

  • CV2 importieren
  • cv2._version_

Die letzte Zeile sollte '4.1.2-openvino' oder eine beliebige Version von openvino zurückgeben. Wenn Opencv sagt, hat Ihre Installation nicht funktioniert …

Schritt 4: Laden Sie den Code herunter

Laden Sie den Code herunter
Laden Sie den Code herunter

Zuerst installieren wir git. Geben Sie in die Shell ein:

sudo apt-get install git

Dann können wir in den Ordner "Dokumente" wechseln und den Code herunterladen:

  • cd ~/Dokumente/
  • git-Klon

Schritt 5: FollowMe (Python)

FollowMe (Python)
FollowMe (Python)

Dies ist der Teil, mit dem Sie spielen möchten. Mach, wenn du dir folgst! Machen Sie Angst vor Ihnen! Folgen Sie Ihrem Hund! Lassen Sie es Gesichtsausdrücke erkennen !! Belästige deine Katze!!! Alles was du willst.

Sie finden vier Hauptordner: Arduino, Deployment, Player und FollowMe:

Arduino: Mehr dazu im nächsten Abschnitt

Bereitstellung: Hier platziere ich die Benutzeroberfläche. Im Moment habe ich einen einfachen Start/Stopp-Knopf und einen kleinen Kamera-Viewer mit Steuerung programmiert, der einfach nur Spaß macht.

Player: Soll in Ihrem Desktop-PC verwendet werden. Um die Ausgabe des Bots zu überprüfen!

FollowMe: Das Modul, das den eigentlichen Spaß macht

Ich werde mehr Details zu Github geben, damit ich nur einen Ort zum Aktualisieren habe. Hier ist der Platz für den Code

Schritt 6: Laden Sie die Modelle herunter

Die Modelle für die Inferenz sind nicht im Code enthalten, da sie ziemlich groß sind. Aber Sie finden viele Beispiele mit dem OpenVino-Modell Zoo

Sie können den Modell-Downloader verwenden oder direkt diesen Link werfen. In meinem Fall konnte ich den Modell-Downloader von meiner Himbeer-Pi-Installation nicht verwenden…

Kopieren Sie dann das Modell in einen Ordner namens Models mit:

  • cd ~/Documents/FollowMe
  • mkdir Modelle
  • CD-Modelle
  • wget
  • wget

Sie benötigen immer die.xml und die.bin.

Sie können jedes gewünschte Modell herunterladen … Sie müssen jedoch den Code ändern. Spaß haben!

Schritt 7: Arduino

Arduino
Arduino

Wir müssen den Code im vorherigen Schritt herunterladen. Der Code für das Arduino ist drin!

Der Code soll zwei kontinuierliche Servos ansteuern, wenn Sie eine andere Konfiguration wählen, müssen Sie den Code ändern.

Es macht im Grunde zwei Dinge. Es kommuniziert mit dem Computer und aktiviert die Servos mit der gewählten Geschwindigkeit.

Ich könnte den Ausgang des Himbeer-Pi direkt verwenden, um die Motoren zu steuern … aber Arduinos funktionieren besser (sie haben einen echten Frequenzgenerator). Außerdem wollte ich den Himbeer-Pi so weit wie möglich auslagern, um die Schlussfolgerung schneller zu machen.

Schritt 8: GUI

GUI
GUI
GUI
GUI

Nichts Besonderes… Noch. Ich könnte einige andere Dinge wie Live-Ansicht oder Bewegungssteuerung hinzufügen. Aber in der Zwischenzeit reicht ein einfacher Start und Stopp aus.

Wenn Sie es testen möchten, müssen Sie es aus dem Verzeichnis FollowMe Level starten und dann von python3 aufrufen:

  • cd ~/Documents/FollowMe
  • python3-Bereitstellung/FollowMe.py

Dann können Sie in Ihrem Browser auf die Benutzeroberfläche zugreifen, indem Sie Folgendes eingeben:

192.168.0.113:8000

natürlich mit der richtigen IP-Adresse.

Es gibt auch einen Video-Viewer mit Steuerelementen… aber nicht mit funktionierender Inferenz

python3-Bereitstellung/StreamVideo.py

Schritt 9: Service

Dadurch funktioniert der Rover von selbst. Ein Dienst ist ein Programm, das im Hintergrund des Computers ohne Benutzer ausgeführt wird. Stellen Sie sicher, dass ALLE IHRE PFADE absolut sind und dass Sie über die richtigen Rechte verfügen, wenn Sie Dateien verwenden und der Dienst ordnungsgemäß ausgeführt wird.

Um ein Python-Skript als Dienst auszuführen, müssen Sie auf das Skript in einer Dienstdatei verweisen. Die Servicedatei befindet sich im Code, der von git heruntergeladen wurde, im Ordner Deployment. Der Name ist FollowMe.service.

Um es zu kopieren, geben Sie Folgendes in die Shell ein:

sudo cp ~/Documents/FollowMe/Deployment/FollowMe.service /etc/systemd/system/

Wenn Sie die Datei zum ersten Mal kopieren, müssen Sie systemctl aktualisieren oder neu starten:

sudo systemctl daemon-reload

Und um zu beginnen:

sudo systemctl starte FollowMe

Sie können auch die Befehle stoppen, aktivieren und deaktivieren verwenden. Die letzten beiden sind für eine dauerhafte Zustandsänderung.

Kleine Erklärung….

Openvino benötigt einige zusätzliche Pfade in den Systemvariablen, damit es funktioniert. Leider funktioniert die normale Installation nicht als Dienst. Sie benötigen diese Datei also, um die Variablen zu setzen.

Beachten Sie, dass meine Installation für Python 3.7 ist, daher gibt es eine Variable, die Sie möglicherweise anpassen müssen … Viel Glück!

Diese Datei verweist auf das Python-Skript im absoluten Pfad:

/home/pi/Documents/FollowMe/Deployment/FollowMe.py

Schritt 10: Das ist es! Spaß haben

Kommentare? immer willkommen

Empfohlen: