Home > Technologie > Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

0
Advertisement

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Dies ist ein Projekt, das ich an meiner Freizeit arbeite, um mit meinen Töchtern zu spielen. Es ist ein Spiel, das Sie mit Ihrem mobilen Gerät oder einem Computer spielen können, auf der Steuerung von echten Robotern.

In einer Nußschale enthält dieses Spiel:

- Video-Streaming von einem Roboter montiert Kamera auf Ihr Steuergerät mit einigen Overlay-Ebenen für die Wiedergabe von Features (wie Explosionen) enthalten.

- Laser-Pistole und Schilde (eigentlich sind sie Infrarot-Pendants ganz sicher sein)

- Von Ihrem Gerät gesteuerte Motoren und Räder.

- RFID-Tags für Power-Ups auf dem Schlachtfeld (ein RFID-Leser ist auf jedem Roboter enthalten)

- Verwenden Sie Wi-Fi für die Kommunikation von Robotern und Spielern. Ein Roboter kann als Access Point fungieren, um Outdoor-Spaß zu bieten.

- Dieses Spiel soll mit 2 oder mehr Robotern gespielt werden. Gut für eine geek Partei.

Sie verwenden einen Webbrowser in Ihrem mobilen Gerät oder Computer, um dieses Spiel zu spielen. Es sollte mit HTML5 kompatibel sein und sollte nicht zu alt sein. Sie wurden mit den neuesten Versionen von Chrome und Safari getestet. Jeder Roboter wird als ein Web-Applikationsserver laufen, der die gesamte Spiellogik ausführt und den Spielstatus mit jedem anderen Roboter synchronisiert.

Schritt 1: Roboter-Stücklisten

Erweiterte Realität in einem Schießspiel mit echten Robotern

Dies ist die Stückliste, die Sie für den Aufbau eines Roboters benötigen (bitte beachten Sie, dass Sie mindestens zwei Roboter für dieses Spiel benötigen):

  • Himbeere Pi 3 'B'
  • Himbeer-Kameramodul (v1.3 oder neuer)
  • Arduino Uno r3 (DIP)
  • Arduino Motor Driver Shield (getestet mit Adafruit Motor Driver Shield Version 1)
  • Kit von Car Chassis + DC Motoren + Räder (getestet mit einem gemeinsamen 4WD Kfz-Chassis-Kit finden Sie leicht für $ 17 in gemeinsamen Internet-Marktplätze finden).
  • PowerBank 10.000mAh mit zwei USB-Ports
  • MFRC522 RFID-Modul-Kit (13,56 MHz) mit einigen RFID-Karten
  • 3D-Druckrevolver (PLA FDM). Sketch-Datei in diesem instructable zur Verfügung gestellt.
  • USB-Kabel für die Stromversorgung von Himbeere (Stecker Typ A zum Mikro-Typ B-Stecker)
  • USB-Kabel zum Verbinden von Arduino mit Himbeere (Stecker Typ A zu Stecker Typ B)
  • USB-Kabel für die Versorgung von Motoren (Stecker Typ A auf TTL, oder schneiden Sie ein Ende aus)
  • Micro SD (empfohlene Klasse 4 mit 16 GB)
  • Led IR TSAL 6200
  • Led jede sichtbare Farbe 5mm (zB gelb)
  • Led RGB 5mm gemeinsame Anode (funktioniert auch mit einer LED mit gemeinsamen Kathode, wenn Sie einige Einstellungen später ändern)
  • BC547 NPN-Transistor
  • Vier TSOP 4838 IR Lichtdetektoren
  • Schwenkbare Kugelrollen (wenn Sie einen 2WD Roboter anstelle eines 4WD Roboters bauen wollen)
  • 32 Dupont-Kabel (männlich-weiblich) plus 8 weiblich-weiblich.
  • Mini-Steckbrett (170 Punkte)
  • Widerstände (1 x 10 kOhm, 2 x 220 Ohm, 1 x 100 Ohm, 2 x 47 Ohm)
  • 8 Schrauben + Sechskantmuttern M2,5 10mm
  • 5 Schrauben + Sechskantmuttern M3 10mm
  • 3 Metallwinkel Klammern (90 Grad mit jedem Bein 3,5 cm lang, 2 mm dick, Löcher etwa 7 mm Durchmesser)
  • 4 Abstandsringe

Die Software, die für Himbeere und Arduino benötigt wird, wird durch dieses instructable besprochen.

Es ist möglich, verschiedene Hardwarekonfigurationen mit geringfügigen Änderungen der Softwareeinstellungen zu verwenden. Zum Beispiel ist es möglich, den Raspberry GPIO direkt mit dem Arduino Motor Driver Shield ohne Arduino zu verbinden. Sie können auch versuchen, einige andere Motor Treiber PCB steckbar direkt über Raspberry Pi (wie Adafruit DC Motor HAT für Raspberry).

Schritt 2: Unterbau des Roboters

Erweiterte Realität in einem Schießspiel mit echten Robotern

In diesem Schritt werden Sie die Gleichstrommotoren und Räder an Ihrem Roboterchassis sowie drei Platinen (Arduino, Motortreiberabschirmung und MFRC522) montieren.

Ich baute diesen Roboter mit einem sehr häufigen und billigen Kit, dass vier Sätze von Rädern und Motoren, zwei Acrylplatten, Schrauben und einige andere Befestigungsteile umfasst. Bitte beachten Sie, dass es nach meiner Erfahrung mit diesem Bausatz schwierig war, die Drehbewegungen mit allen vier Rädern zusammenzubauen, so dass ich beschloss, nur zwei Räder in meinem Roboter zu halten, und ich fügte eine Schwenkkugelrolle nach vorne hinzu und positionierte die Batterie Am Roboter zurück, um Gewicht zu balancieren. Der Roboter drehte sich danach sehr leicht. Fühlen Sie sich frei, andere Vereinbarungen zu verwenden.

Das Arduino-Board war in der Nähe der Motoren, gerade vor sich, mit dem USB-Anschluss nach hinten gerichtet positioniert. Auf der Oberseite von Arduino war angebracht Motorschild.

Der Motor-Treiber-Schild hat eine Power-Brücke, die zeigt, wenn es eine einzige DC-Stromversorgung für beide Arduino und Motoren. In diesem Fall ist es besser, eine externe Stromversorgung für die Motoren zu verwenden, so dass der Netzstecker entfernt werden muss.

Da wir in diesem Projekt eine Stromzelle mit USB-Steckverbindern verwenden, nahm ich ein normales USB-Kabel und ich schneide ein Ende aus, indem ich seine internen Drähte freigelegt habe. Die VCC- und GND-Drähte sind in der Regel rot bzw. schwarz eingefärbt, jedoch mit einem Multimeter. Diese Drähte sind mit dem externen Stromversorgungskopf an der Motorantriebsabschirmung verbunden. Die anderen USB-Drähte (mit D + und D- bezeichnet) werden in diesem Projekt nicht benötigt.

Der Motorschutz kann bis zu vier Gleichstrommotoren antreiben. Sie sind mit M1, M2, M3 und M4 gekennzeichnet. In meinem Projekt mit 2 motorisierten Rädern habe ich die Motoren an die M3- und M4-Steckverbinder (je zwei Drähte) angeschlossen. Es gibt einige Konfigurationseinstellungen, die später in einem anderen Schritt angepasst werden können, um andere Anschlüsse zu verwenden.

Das MFRC522 RFID-Modul wurde gerade vor Arduino auf der Acrylplatte positioniert. Mit diesem Kit verbleibt ca. 2cm Platz zwischen Antenne und Boden des Moduls, was ausreichen sollte, um eine RFID-Karte auf dem Boden zu erkennen.

Dies ist die endgültige Konfiguration der unteren Acrylplatte: zwei auf der Rückseite montierte DC-Motoren, eine an der Vorderseite angebrachte Schwenkkugelrolle, ein daneben angebrachtes MFRC522-Modul und ein Arduino Plus-Motortreiberschild am Mittelteil. Mit Schrauben, Abstandshaltern und Sechskantmuttern sollte alles fest mit der Acrylplatte verbunden werden.

Schritt 3: Arduino Programm

In diesem Projekt wird der Arduino den Motortreiber Schild direkt auf Anfrage von Raspberry Pi's Logik steuern. Wir verwenden eine serielle Kommunikation zwischen Raspberry und Arduino über die USB-Verbindung und ein Protokoll für die Zwecke dieses Projekts.

Dieses Protokoll definiert im Grunde einige kurze Befehle (wie 'f', um es zu befehlen, vorwärts zu gehen und 'b', um rückwärts zu bewegen).

Die Arduino-Skizzen-Dateien finden Sie unter diesem Link:

[Https://github.com/gustavohbf/robotoy/tree/master/arduino/RoboToy]

Wenn Sie für Ihre DC-Motoren unterschiedliche Motortreibernummern wählen, müssen Sie diese Variablen in diesem Programm entsprechend ändern:

  #define WHEELS TWO_REAR # define REAR_LEFT 4 #define REAR_RIGHT 3 #define FRONT_LEFT 1 #define FRONT_RIGHT 2

Die erste Variable sagt, dass wir nur zwei Motoren hinter dem Roboter steuern wollen.

Jede Zahl auf den folgenden Variablen bezieht sich auf die Motornummer des Motortreibers. So, out-of-the-Box dieser Skizze Datei erzählt, dass jeder Roboter nur zwei hintere Motoren haben und wir sind die Verkabelung der hinteren linken Motor mit der Treiber-Nummer 4 (mit der Bezeichnung M4 auf der Platine) und der hinteren rechten Motor mit dem Fahrer Nummer 3 (mit der Bezeichnung M3 auf der Platine). Sie können diese Datei mit einem beliebigen Texteditor Ihrer Wahl bearbeiten oder vorzugsweise die Arduino IDE , dass Sie hier finden: [ https://www.arduino.cc/en/Main/Software]

Verwenden Sie die Arduino IDE, um diese Skizzen-Datei in Ihren Arduino mit Ihrem Computer und dem angeschlossenen USB-Kabel hochzuladen.

Sie können die Anweisungen in folgendem Link befolgen, um Ihre Halterung bis zu diesem Punkt zu testen:

[ Http://github.com/gustavohbf/robotoy/wiki/Hardware-Assembly-Instructions#step-2-arduino-and-motor-driver-shield]

Schritt 4: Revolver - Teil 1

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Der Revolver begreift die optischen Komponenten dieses Roboters. Es umfasst die folgenden Teile:

  • 1 RGB geführt
  • 4 TSOP IR-Melder (TSOP 4838)
  • 1 IR-LED (TSAL 6200)
  • 1 sichtbares Licht geführt (zB gelbes Licht mit hoher Helligkeit)
  • Widerständen und Transistoren
  • Himbeer-Kamera

Bevor Sie fortfahren, überprüfen Sie die Datenblätter für Ihre Komponenten, um die richtige Pinbelegung zu ermitteln. Der hier verwendete TSOP 4838 hat folgende Pinbelegung von links nach rechts, wenn der 'Bump' zu Ihnen weist: DATA, GND, VCC. Die RGB-LED mit der üblichen Anode, die ich hier verwende, habe folgenden Pinbefehl von links nach rechts, wenn die Anode (längere Leitung) näher an der linken Seite ist: ROT, ANODE (+), GRÜN, BLAU. Für die verbleibenden LEDs, nur um sich zu erinnern, ist die längere Leitung die positive (Anode). Wenn sie Leitungen mit der gleichen Länge haben, schauen Sie sich die Metallplatte in der LED. Die kleinere Platte zeigt die positive (Anoden-) Leitung an.

Um für alle diese Komponenten zusammen zu halten, können Sie dieses einfache 3D-Revolvermodell verwenden, das auf diesem Link freigegeben wird:

[Https://tinkercad.com/things/avhOTa6vCFk]

Dieses Projekt führt zu drei 3D-gedruckten Teilen. Vor dem Zusammenkleben dieser Teile die elektronischen Bauteile anschließen und die Drähte verbinden. Gehen Sie wie folgt vor:

  1. Legen Sie die RGB-LED's in die vier kleinen Löcher in der Mitte des oberen Teils. Sie müssen sie voneinander getrennt halten.
  2. Neben den Rändern dieses Montageteils sehen Sie vier Reihen von drei Punktmarkierungen. Schließen Sie vorsichtig die vier IR-Detektoren von TSOP an. Der Anschlag jedes Detektors sollte nach außen weisen.
  3. Jetzt ist es an der Zeit, Kabel zu jedem der Komponenten zu führen. Wählen Sie für jeden anderen Zweck unterschiedliche Farben (zB schwarz für GND, orange für VCC, gelb für Daten, grau für gemeinsame RGB-Anode, rot, grün und blau für die entsprechenden RGB-Anschlüsse). Wenn Sie gute Lötfähigkeiten haben, versuchen Sie, einen Draht zu jeder Leitung innerhalb des Revolvers zu löten. Andernfalls schließen Sie jede Leitung zu einem dupont Kabel an und verwenden Sie isolierende Bänder, um jede von ihnen zu haften. Sie können ein weiblich-zu-weibliches dupont Kabel auf der längeren Leitung der RGB-Leitung (die allgemeine Anode) und Mann-zu-weibliche Kabel für alles andere verwenden. Es ist sehr wichtig, Isolierband zu verwenden, um ganz alle Kabel zu bedecken, da einige von ihnen das Kameramodul berühren werden. Wenn Sie dies nicht tun, riskieren Sie das Kameramodul zu ruinieren.
  4. Verbinden Sie zwei Drähte mit der IR-LED und zwei weiteren mit der LED für sichtbares Licht. Erinnern Sie sich, welche Drahtfarbe Sie für 'Anode' wählen und welches Sie für 'Kathode' auf jeder LED wählen. Legen Sie diese LEDs durch die Kanonen des Revolvers ein.
  5. Die Himbeere-Kamera ist gerade ungefähr die rechte Größe, zum innerhalb des Revolverkopfes zu passen. Das quadratische Loch ist gleich groß wie das Kameraobjektiv. Sie können es in das Revolver-Stück halten, so dass Platz für die Drähte der Kanonen-LEDs darüber.
  6. Kleben Sie die beiden Teile, die den Kopf des Revolvers bilden.
  7. Kleben Sie den Revolverkopf auf seine "Basis". Prüfen Sie die obigen Bilder auf die richtige Position.

Schritt 5: Revolver - Teil 2

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Das elektronische Schaltungsschema ist oben dargestellt. Sie können dies entweder durch Löten von Teilen oder durch Verwendung von dupont Kabel und ein Steckbrett. In den Bildern oben bin ich mit einem lötlosen Design.

Grundsätzlich haben Sie:

  • Drei Widerstände mit unterschiedlichen Werten für die RGB-LED (eine für jede Kathode). In diesem Projekt verwendete ich 47 Ohm Widerstände für "grüne" und "blaue" Kathoden und 100 Ohm Widerstand für "rote" Kathode. Überprüfen Sie das Datenblatt auf die LED, die Sie verwenden, um richtige Widerstandswerte zu wählen. Der Strom sollte unter 10 mA an jedem Pin liegen.
  • 3.3V für das RGB führte gemeinsame Anode (längeres Blei).
  • Ein 10 kOhm Widerstand, der mit der Transistorbasis verbunden ist.
  • Zwei 220 Ohm Widerstände verbinden den Transistor-Kollektor mit den Kanonenkathoden (sie sind parallel geschaltet).
  • 5V für die Anoden der Kanone und für die TSOP-Detektoren.
  • GND für den Transistor-Emitter und für die TSOP-Detektoren.

Hinweis: Das in dieser Schaltung verwendete TSOP arbeitet auf der 5 V-Ebene. Um zu verhindern, dass es die GPIO von Himbeere beschädigt, die unter 3,3 V Niveau arbeiten sollte, werden wir einen Spannungsteiler verwenden. Nach dem Datenblatt des TSOP 4838 haben sie bereits einen internen Widerstand von 33 kOhm zwischen Vcc und 'data' Pins. Mit den internen 50 kOhm-Pull-Down-Widerständen, die im Raspberry Pi GPIO vorhanden sind, würden wir den TSOP-Datenwert auf einen sicheren Spannungspegel herabsetzen.

Schritt 6: Roboter-obere Plattenanordnung

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Auf der oberen Acrylplatte werden die restlichen Teile befestigt:

  • Himbeer-Pi auf der Vorderseite
  • Revolverkopf am Mittelteil. Bretter mit der Revolver Schaltung neben ihm.
  • Batterie (Stromzelle) auf der Rückseite

Beginnen Sie mit der Befestigung des Revolverkopfes auf dem zentralen Teil der oberen Acrylplatte. Verwenden Sie Schrauben durch die Löcher auf der 3d-bedruckten Basis.

Falls Sie es noch nicht getan haben, formatieren Sie die microSD-Karte in Ihrem Computer und laden Sie sie mit dem NOOBS-Installationsmanager. Dieses Projekt setzt voraus, dass Sie das Raspbian-Betriebssystem verwenden. Wenn Sie Hilfe mit NOOBS Download und Betrieb benötigen, diesen Link überprüfen:

[ Https://www.raspberrypi.org/documentation/installation/noobs.md]

Sobald Sie das NOOBS-Image auf der microSD-Karte formatiert und gespeichert haben, stecken Sie es in den Raspberry Pi.

Setzen Sie die Himbeere Pi auf der Vorderseite mit der USB-Anschlüsse nach vorne. Verwenden Sie M2.5 Schrauben, um es auf der Platte zu befestigen.

Die Kraftbank sollte zurückbleiben, um das Gesamtgewicht über die Hinterräder auszugleichen. Die Befestigung auf der Acrylplatte kann aufgrund ihrer Form schwierig sein. Ich war in der Lage, es in einer festen Position mit dem Akku-Pack-Box zu sperren. Verwenden Sie zwei spitze Klammern, um den Akkupack auf der Acrylplatte zu fixieren und einen weiteren, um die Batterie darin zu unterstützen. Ich musste auch kleine rechteckige Löcher auf der Oberseite der Pack-Box schneiden, um die Batterie USB-Anschlüsse freizulegen.

Das Brett, das die Revolver-Schaltkreise enthielt, wurde zu seiner Seite positioniert. Das Flachbandkabel des Kameramoduls wurde mit dem Raspberry-CSI-Port verbunden (erinnern Sie sich, dass die Raspberry-USB-Anschlüsse vorne liegen sollten, um zu verhindern, dass die Kamera falsch angeschlossen wird). Dann wurden alle Verbindungen zum Himbeer-GPIO gemß dem obigen Diagramm hergestellt. Insgesamt gibt es:

  • Eine 3,3 V Stromleitung geht an die RGB-LED Anode führen direkt
  • Eine 5-V-Stromleitung geht an die Steckdose, die wiederum alle vier TSOPs und die beiden Cannon-LEDs versorgt.
  • Eine GND-Leitung, die zum Steckbrett führt, die wiederum alle vier TSOPs und die Transistor-Emitterleitung, die von den zwei Kanonen-LEDs verwendet wird, erden wird.
  • Drei GPIO verwendet als "Ausgang" auf die RGB-LED-Kathoden (rot, grün und blau durch Widerstände auf dem Steckbrett)
  • Vier GPIO verwendet als "Eingang" aus den vier TSOP-Detektoren.
  • Ein GPIO, der über einen 10 kOhm-Widerstand (der zum Einschalten der Cannon-LEDs verwendet wird) als Ausgang für die Transistorbasis verwendet wird.
  • Sieben Stifte, die mit dem RFID-Modul auf der unteren Acrylplatte verbunden werden sollen.

Schritt 7: Endverbindungen

Erweiterte Realität in einem Schießspiel mit echten Robotern

Erweiterte Realität in einem Schießspiel mit echten Robotern

Sie sind fast fertig mit dem Hardware-Teil dieses Projekts.

Befestigt die sechs Zylinderschraubenspalten über der unteren Platte (liegend das Arduino Brett und alle Motoren). Verwenden Sie drei auf jeder Seite des Chassis.

Verbinden Sie die Raspberry Pi auf der oberen Platte mit dem MFRC522 RFID Modul auf der unteren Platte mit sieben Drähten, wie auf der Tabelle oben gezeigt.

Nehmen Sie ein USB-Kabel zur Verbindung mit der Arduino-Platine, die auf der unteren Platte montiert ist, und führen Sie es über das kleine runde Loch auf der oberen Platte.
Befestigt die obere Platte über die untere Platte mit sechs Schrauben mit den sechs Trennzylindern. Stecken Sie das USB-Kabel aus dem Arduino in einen der USB-Anschlüsse der Himbeere. Verwenden Sie bei Bedarf den 'L' Winkel USB Anschluss.

Schließen Sie das mit dem 'external power' Anschluss des Motortreibers verbundene USB-Kabel an den 2A USB-Anschluss des Akkus an.
Schließen Sie das USB-Kabel an den Mikro-USB-Stromanschluss am Raspberry Pi und das andere Ende an den anderen USB-Anschluss des Akkus an.

Schalten Sie die Batterie und hoffentlich alles wird gut einschalten.

Schritt 8: Raspbian-Setup

Dieses Projekt setzt voraus, dass Sie das Raspbian-Betriebssystem in Ihrem Raspberry Pi verwenden.

Es gibt einige Software-Teile von diesem Projekt benötigt:

  • Raspbian Betriebssystem
  • Java JDK 1.8
  • UV4L + WebRTC
  • WiringPi + Pi4J
  • RXTX
  • SPI-Bus und Kameramodul freigegeben

Wenn Sie keine Zeit hatten, das Himbeer-Pi für SSH-Sitzung mit WiFi vorzubereiten, müssen Sie einen Monitor an den Himbeer-Pi mit seinem HDMI-Anschluss anschließen und auch Maus und Tastatur mit seinen zusätzlichen USB-Ports stecken.

Es gibt mehrere gute Tutorials über die Einstellung dieser Funktionen. Wenn Sie einige Referenzen benötigen, werde ich einige von ihnen hier auflisten:

Installation Raspbian: [ https://www.raspberrypi.org/learning/noobs-install/]

Einstellen Wifi: [ https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md]

Aktivieren des SSH - : [ https://www.raspberrypi.org/documentation/remote-access/ssh/]

Es ist wichtig, die Raspberry zugänglich durch WiFi, weil Sie nicht wie Ihr Monitor und Peripheriegeräte hängen über Ihren Roboter, sobald es sich bewegt. Die SSH-Sitzung wird für die Konfiguration und Wartung verwendet, aber Sie können sie durch eine VNC-Sitzung ersetzen, wenn Sie eine grafische Schnittstelle bevorzugen. Weitere Informationen zur VNC-Konfiguration finden Sie hier:

Installieren Sie VNC: [ https://www.raspberrypi.org/documentation/remote-access/vnc/]

Um das Kameramodul mit UV4L, überprüfen Sie die "Schritt 2" auf der folgenden Seite zu installieren:

[ Https://github.com/gustavohbf/robotoy/wiki/Software-Installation#step-2-camera-and-video-streaming]

Überprüfen Sie auch den "Schritt 6 'auf der gleichen Seite Anweisungen zur Installation der seriellen Schnittstelle Bibliothek:

[ Https://github.com/gustavohbf/robotoy/wiki/Software-Installation#step-6-install-serial-port-library]

Überprüfen Sie auch den "Schritt 7 'in der gleichen Seite für Anweisungen über den SPI - Bus ermöglicht mit dem RFID - Modul verwendet werden:

[ Https://github.com/gustavohbf/robotoy/wiki/Software-Installation#step-7-enable-spi-bus-for-rfid-module]

Falls Sie den Roboter als "Access Point" zu verwenden, prüfen Sie auch die optionalen Schritte 4 und 5 auf der gleichen Seite.

[ Https://github.com/gustavohbf/robotoy/wiki/Software-Installation#step-4-install-mdns-multicast-domain-name-system]

[ Https://github.com/gustavohbf/robotoy/wiki/Software-Installation#step-5-install-access-point-daemon]

Schritt 9: RoboToy Programm

Schließlich müssen Sie das Programm installieren und konfigurieren, das alles auf dem Roboter steuert und die Spielseiten für Ihre steuernden Geräte instandhält.

Ich habe bereits die gesamte Anwendung einschließlich eines eingebetteten Anwendungs-Server und alle Spiel-Logik. Es ist "RoboToy" genannt und es ist total Open - Source - Software kostenlos. Die GitHub Einstiegsseite befindet sich unter:

[ Https://github.com/gustavohbf/robotoy]

Falls Sie git noch nicht installiert haben, können Sie es mit der folgenden Befehlszeile in Raspbian installieren:

  Sudo apt-get installieren git

Herunterladen RoboToy Quellcode von GITHub.

  git clone https://github.com/gustavohbf/robotoy.git

Erstellen Sie die Binärdateien aus der Quelle.

  Cd robotoy chmod + x gradlew./gradlew bauen

Erweitern Sie die kompilierte Binärdatei auf das lokale System.

  Sudo tar -zxvf ./build/distributions/robotoy-1.0.tar.gz -C / usr / local

Ändern Sie die Konfigurationen nach Bedarf mit Ihrem bevorzugten Texteditor. Es gibt mehrere Einstellungen, die geändert werden können. Die Standardeinstellungen sollten gut funktionieren, wenn Sie diese Anleitung genau wie hier beschrieben folgen. Suchen Sie nach Kommentaren in der Konfigurationsdatei. Die Standardkonfigurationsdatei befindet sich unter:

  /usr/local/robotoy/config.properties

Führen Sie das Shell-Skript "checkup.sh" aus, um zu überprüfen, ob alle erforderlichen Systemkomponenten richtig installiert und konfiguriert sind.

  /usr/local/robotoy/bin/checkup.sh

Dieses Skript überprüft, ob Ihr System alle RoboToy-Anforderungen erfüllt (zB: Java-Version, andere Pakete, etc.). Wenn ein Element als 'FAIL' angezeigt wird, sollten Sie die Installationsschritte, die auf der Seite zur Softwareinstallation im RoboToy Wiki beschrieben sind, lesen.

Testen Sie, ob alles in Ordnung ist, indem Sie das RoboToy-Skript als root ausführen.

  Sudo / usr / local / robotoy / bin / RoboToy

Es sollte nicht so sein (siehe Phrasen, die mit "Ausnahmen in Thread" Ausdrücken beginnen):

  Ausnahme im Thread "main" java.lang.NullPointerException at org.guga .... etc

Die RGB-LED sollte eingeschaltet sein. Wenn dies nicht der Fall ist, liegt möglicherweise ein Problem mit dem Dienst oder mit der Hardwareverdrahtung vor.
Sie sollten in der Lage sein, eine Verbindung zum Roboter mit der folgenden URL auf einem beliebigen Computer im selben Netzwerk herzustellen (ändern Sie die '<IP-Adresse>' für die IP-Adresse, die Raspberry zugewiesen ist.

  Http: // <IP-Adresse>

Wenn alles in Ordnung ist, können Sie STRG + C drücken, um den laufenden Dienst zu schließen und als einen Dienst zu installieren, der jedes Mal nach dem Start ausgeführt wird.

  Sudo /usr/local/robotoy/bin/robotoy_service.sh installieren

Dann können Sie es sofort starten:

  Sudo service robotoy starten

Beachten Sie, dass diesmal keine Nachrichten auf der Konsole angezeigt werden. Alle vom RoboToy-Dienst generierten Konsolenmeldungen sollten in temporäre Protokolldateien unter / tmp umgeleitet werden. Die temporären Protokolldateien haben diese Signatur:

  /tmp/robotoy.out -> Für die Standardausgabe des RoboToy-Dienstes / tmp / robotoy.err -> Für Standardfehler, der vom RoboToy-Dienst generiert wird

Die Mehrheit der Informationen sollte auf '.err' Dateien ausgegeben werden. Wenn Sie den RoboToy-Dienst neu starten, wird eine neue Datei erstellt, und der vorherige wird umbenannt mit einem "prev" -Suffix an seinen Namen angehängt.

Wenn Sie weitere Hilfe zum Installationsverfahren oder zur Anpassung benötigen, überprüfen Sie bitte die RoboToy-Projektseiten auf GitHub.

Habe Spaß!

Related Reading