RANA ESCULENTA: Wasserfrosch

ESCULENTA

 

Auf der Basis dieses Roboters habe ich dieses Experiment auf einem anderen Raspberry aufgesetzt:

roboterarm

In einer ersten Variante habe ich den USB-Controller zum Einsatz gebracht.

Vorgehensweise:

 Als erstes brauche ich  die USB-Bilbiothek (PyUSB library). Den Raspberry hochfahren, einloggen und mit startx die grafische Benutzeroberfläche starten. Dann den Webbroser starten und auf der Seite "http://sourceforge.net/projects/pyusb/" die neueste Version von PyUSB herunterladen.

Die grafische Oberfläche verlassen und ein Terminalfenster öffnen. Mit dem Befehl "dir" den Inhalt des Heimatverzeichnisses (home directory) anzeigen lassen. Falls das Verzeichnis gewechselt werden muß "cd Verzeichnisname" eingeben. Sobald ich die heruntergeladene Datei pyusb...tar.gz gefunden habe diesemit "tar xvf pyusb....tar.gz" entpacken, das "..." mit der Versionsnummmer der PyUSB (Dateiname!) ersetzen.

Nun in das angelegte Verzeichnis wechseln und mit "sudo python setup.py install" die Installation starten. Vorher sollte natürlich auch bereits PYTHON installiert sein. Bei der Installation werden die benötigten Bibliotheken für PYTHON hinzugefügt.

Dann mit "cd ~" zum Heimatverzeichnis zurückkehren. Die heruntergeladenen Dateien können nun mit  "rm -r pyusb..." gelöscht werden. Bei einigen Dateien muß der Löschvorgang bestätigt werden. Zum Schluß die .tar.gz Datei mit  "rm pyusb....tar.gz" löschen.

Nun mit "sudo nano roboterarm.py" das Script zur Steuerung des Roboterarms erzeugen. Kann natürlich auch einen anderen Namen tragen.

 #!/usr/bin/python

# coding=utf-8
# roboterarm.py
#-----------------------
#Prozedurendefinition für Einzelbewegungen
    #Bewegung starten
    RoboArm.ctrl_transfer(0x40,6,0x100,0,ArmCmd,3)
    #Bewegung nach einer bestimmten Zeit wieder anhalten
    time.sleep(Duration)
    ArmCmd=[0,0,0]
    RoboArm.ctrl_transfer(0x40,6,0x100,0,ArmCmd,3)
	MoveArm(1,[0,1,0]) #Basis gegen den Uhrzeigersinn drehen
    MoveArm(1,[0,2,0]) #Basis im Uhrzeigersinn drehen
    MoveArm(1,[64,0,0]) #Schulter hoch
    MoveArm(1,[128,0,0]) #Schulter runter
    MoveArm(1,[16,0,0]) #Ellenbogen hoch
    MoveArm(1,[32,0,0]) #Ellenbogen runter
    MoveArm(1,[4,0,0]) #Handgelenk hoch
    MoveArm(1,[8,0,0]) #Handgelenk runter
    MoveArm(1,[2,0,0]) #Griff öffnen
    MoveArm(1,[1,0,0]) #Griff schließen
    MoveArm(1,[0,0,1]) #Licht an
    MoveArm(1,[0,0,0]) #Licht aus

Ist zwar eigentlich Spielzeug, aber ich wollte mal erkunden, was man damit machen kann. Optimal wäre ein späterer Aufbau auf einem Raupenfahrzeug.

Aber dann kam es anders. Nach einer Weile des Anpassens des Programms und des Testens kam es immer wieder zu solchen Fehlermeldungen:

 

 usbcoreerrorrobot

Daher habe ich das Thema erst wieder etwas einschlafen lassen. 

Der als Nachfolger vorgesehene Raspberry gerade erst im Aufbau befindlich. Soll einmal einen Greifarmroboter steuern. Aber der muß erst einmal von normalen Getriebemotoren ohne Start-/Stop-Funktion auf Servomotoren umgebaut werden. Aus den dann verbleibenden Motoren läßt sich bestimmt auch noch etwas sinnvolles basteln (oder auch sinnloses, Hauptsache es macht Spaß).

 Zurück 

 

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Ok Ablehnen