Benutzer-Werkzeuge

Webseiten-Werkzeuge


roboter_mit_android_steuern

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
roboter_mit_android_steuern [2024/01/26 13:11] – [Worum geht es ?] torsten.roehlroboter_mit_android_steuern [2024/01/26 13:22] (aktuell) – [Inbetriebnahme des Clients (Mr. Robot)] torsten.roehl
Zeile 20: Zeile 20:
  
 ====  Themenbereiche==== ====  Themenbereiche====
 +Einige der Themenbereiche sind bereits kleine Projekte für sich, z.B. wurde der Roboterarm fotografiert und in der 3D-Modellierungssoftware Blender modelliert. Anschließend wurden die Daten exportiert und mit einem kleinen "Java-Programm" in ein für Android lesbares Format gewandelt. Unter Android wurde dann OpenGL ES2.0 für die 3D-Darstellung verwendet.
 +
 +Wem das zu kompliziert ist, kann aber die 3D-Programmierung komplett auslassen.  Das Ansteuern des Servo-Controllers mit dem IO-Warrior24 unter Java wird im Band III (IIC-Projekte) ausführlich gezeigt.
 +
 +Anschließend noch eine Liste mit Themenbereichen die in diesem Projekt behandelt werden:
 +  * Android Programmierung
 +          * OpenGL Programmierung unter Android
 +  * 3D Modellierung mit Blender
 +      * Die von Blender erzeugten 3D-Daten werden mit einem kleinen Java Programm in ein für Android lesbares Format exportiert.
 +  * Netzwerkprogrammierung
 +          * Client ↔ Server, Socket Programmierung
 +  * IO-Warrior
 +          * Verwenden der IIC-Schnittstelle zum Ansteuern eines 16 Kanal Adafruit-Servo-Controller
 +
 ==== Benötigte Hardware ==== ==== Benötigte Hardware ====
 +  * Standard Servomotor (1 bis 6 Stück )
 +          * Netzgerät zur Stromversorgung der Servomotoren (5-6 Volt, 1-2 Ampere)
 +
 +  * PCA9685 Adafruit Servo Controller
 +  * IO-Warrior24 (einfach geht es mit dem Gandalf-Board  )
 +  * Linux PC um den IO-Warrior24 mit der Serversoftware zu betreiben (es geht auch ein Raspberry-Pi).
 +  * Android Gerät (ab 4.2) um die Motoren zu steuern.
 +
 +FIXME Aufbau der Hardware
 +
 +
 ==== Inbetriebnahme des Servers==== ==== Inbetriebnahme des Servers====
 +
 +
 +  * getestet wurde ein 32Bit-System
 +Der Server ''RobotArmServer.jar'' benötigt die Native-Bibliothek ''libiowkit.so'', damit der IO-Warrior angesteuert werden kann.
 +
 +Deshalb wird ein Aufruf mit :
 +
 +<code>java -jar RobotArmServer.jar</code>
 +
 +nicht funktionieren, wenn nicht zuvor der Pfad zur Datei: ''libiowkit.so'' angegeben wird.
 +
 +Unter Linux kann man z.B. die Umgebungsvariable (Envirenmentvariable) ''LD_LIBRARY_PATH'' auf das Verzeichnis setzen, dass die ''libiowkit.so'' enthält.
 +
 +Das macht man mit ''"export LD_LIBRARY_PATH=/VERZEICHNIS/"'' (s. Abb. 1).
 +
 +|{{ :inf:msr:shell1.png? |}}|
 +| Abb. 1 |
 +
 +In diesem Beispiel liegt sowohl das Programm "RobotArmServer.jar", als auch die Native-Bibliothek "libiokit.so" im  Homeverzeichnis: /home/torsten/
 +
 +
 +Der Server muss zuerst gestartet werden, anschließend kann eine Verbindung zum Client (AndroidApp) hergestellt werden. Dabei müssen sich der Server und der Client im gleichen Netzwerk befinden.
 +
 +
 ==== Inbetriebnahme des Clients (Mr. Robot) ==== ==== Inbetriebnahme des Clients (Mr. Robot) ====
  
Zeile 27: Zeile 76:
  
  
 +{{ :inf:msr:mr_robot2.png? |}}
 +
 +Der Client ist unter Android (ab 4.2) schnell installiert. Auch ohne Hardware (bzw. Server) lässt sich die //App// bedienen.
 +
 +Allerdings macht es erst mit angeschlossener Hardware richtig Spaß! 
 +
 +Die zu installierende Anwendung lautet: ''de.androidtools.mr.robot.apk''
 +
 +(einfacher geht es im Playstore //"Mr.Robot"//)
 +
 +=== Konfiguration===
 +|{{ :inf:msr:server23.png?350 |}}|
 +|Um "Mr. Robot" mit einen angeschlossenen Roboterarm zu verbinden muss der Menüpunkt "Settings" aufgerufen werden.|
 +
 +
 +
 +
 +{{ :inf:msr:servername.png?350 |}}
 +|Die Adresse des Servers und ein freier Port (z.B. 4444 oder 5555 ) muss eingegeben werden. Die Server-IP gibt die Linux-Rechner, an denen der Roboterarm angeschlossen ist, auf der Kommandozeile aus.|
 +
 +
 +
 +=== Quellcode ===
 +FIXME Quellcode zur Verfügung stellen
  
roboter_mit_android_steuern.1706274714.txt.gz · Zuletzt geändert: 2024/01/26 13:11 von torsten.roehl