Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Rover-Montage
- Schritt 2: Raspbian
- Schritt 3: OpenVino
- Schritt 4: Laden Sie den Code herunter
- Schritt 5: FollowMe (Python)
- Schritt 6: Laden Sie die Modelle herunter
- Schritt 7: Arduino
- Schritt 8: GUI
- Schritt 9: Service
- Schritt 10: Das ist es! Spaß haben
Video: MyPetBot (ein Bot, der Ihnen folgt) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
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
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.
- Finden Sie sich ein Arduino-gesteuertes Fahrzeug.
- Wickeln Sie eine Powerbank fest daran.
- Wickeln Sie einen Himbeer-Pi fest darauf.
- Kleben Sie die Picamera leicht schräg nach oben.
- Verbinden Sie alles miteinander.
- Voila!
Schritt 2: 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 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
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)
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
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
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:
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
On Off Latch-Schaltung mit UC. Ein Druckknopf. Ein Stift. Diskrete Komponente.: 5 Schritte
On Off Latch-Schaltung mit UC. Ein Druckknopf. Ein Stift. Discrete Component.: Hallo zusammen, habe im Netz nach einer Ein/Aus-Schaltung gesucht. Alles, was ich fand, war nicht das, was ich suchte. Ich habe mit mir selbst gesprochen, es gibt unbedingt einen Weg dazu. Das habe ich gebraucht. - Nur ein Druckknopf zum Ein- und Ausschalten. - Muss nur
AWS und IBM: ein Vergleich der IoT-Services – 4 Schritte
AWS und IBM: ein IoT-Services-Vergleich: Heute vergleichen wir zwei Stacks, die es ermöglichen, IoT-Anwendungen unter dem Gesichtspunkt unterschiedlicher Serviceangebote zu entwickeln
So schalten Sie jedes Gerät aus der Ferne ein, z. einen Computer (mit einem Mobiltelefon): 5 Schritte
So schalten Sie jedes Gerät aus der Ferne ein, z. ein Computer (mit einem Mobiltelefon): In diesem anweisbaren zeige ich Ihnen, wie Sie ein altes Mobiltelefon in einen Fernschalter für Ihren Computer verwandeln. Für andere Geräte siehe letzter Schritt. Dies ist fast kostenlos, wenn Sie ein altes Handy und eine SIM-Karte besitzen. Was Sie brauchen: - Altes Handy (w
DER EINFACHSTE WEG, EIN KOMPAKTES LICHT ZU MACHEN!! 3 EINFACHE SCHRITTE !!: 3 Schritte
DER EINFACHSTE WEG, EIN KOMPAKTES LICHT ZU MACHEN!! 3 EINFACHE SCHRITTE !!: Was Sie brauchen - Zinnfolie 1 AA-Batterie (einige AAA-Batterien funktionieren) 1 Mini-Glühbirne (Glühbirnen werden für die meisten Taschenlampen verwendet; siehe Bild) Lineal (falls erforderlich)