Jython HomeDruckenJava-Online

Das erste Programm im direkten, autonomen und Simulationsmodus

Das in TigerJython eingebaute Robotik-Modul besteht aus drei Teilen, die für Lego-EV3, Lego-NXT und für die Lego-Simulation verwendet werden. Die Programme unterscheiden sich praktisch nur in der Importzeile:

für Lego-EV3:
für Lego-NXT:
für Lego-Simulation:

from ev3robot import*
from nxtrobot import*
from simrobot import*

Im Folgenden wird die Ausführung eines einfachen Programms für diese Systeme kurz beschrieben.

Lego-EV3

Voraussetzung:

  • Der EV3 ist unter leJOS eingerichtet und mit der SD-Karte gestartet
  • Auf dem EV3 ist BrickGate gestartet
  • Die Verbindung zwischen dem Computer und EV3 via Bluetooth ist erstellt

Direkter Modus

 

Geben Sie ein Programm ein:

from ev3robot import *

robot = LegoRobot()
gear = Gear()
robot.addPart(gear)
gear.forward(1000)
robot.exit()

 

Klicken Sie auf den grünen Pfeil Ausführen.


In einer Dialogbox wird nach der IP-Adresse des EV3-Bricks gefragt. Diese ist default auf 10.0.1.1 gesetzt. Danach wird die Programmausführung im direkten Modus gestartet.

Falls Sie über das WLAN mit dem EV3 kommunizieren, müssen Sie die vom Router zugeteilte IP-Adresse, in der Regel 192.168.0.nn eingeben (siehe verbindung über WLAN).

Im direkten Modus wird ein Programm dem Computer ausgeführt. Während der Programmausführung sendet der PC Befehle zum Roboter via Bluetooth und dieser führt sie aus. Falls der EV3 mit 2 Motoren an der Ports A und B ausgestattet ist, fährt er eine kurze Strecke vorwärts.

 


Autonomer Modus (Programm auf EV3 downloaden)

Klicken Sie auf das Symbol Einstellungen und wählen Sie das Register Bibliotheken.

Aktivieren Sie die Checkboxes
- LegoEV3Roboter
- Nach Download ausführen
und geben Sie die IP Adresse 10.0.1.1 ein.

 
Falls Sie über das WLAN mit dem EV3 kommunizieren, müssen Sie die vom Router zugeteilte IP-Adresse eingeben, in der REgel 192.168.0.nn (siehe verbindung über WLAN)

 

In der Funktionsleiste des TJ-Editors erscheint eine neue Ikone mit einem EV3-Symbol, die für EV3-Robotik verwendet wird. Diese bleibt in den TigerJython-Einstellungen gestartet und erscheint auch beim nächsten Start des TigerJythons in der Funktinsleiste.

Mit Klick auf die Schaltfläche Auf EV3 hinunterladen wird das Programm auf den EV3 heruntergeladen und die Programmausführung im autonomen Modus automatisch gestartet. Das Programm ist auf dem EV3-Brick im Ordner Scripts gespeichert und kann jeder Zeit neu ausgeführt werden.

 


Die Programmausführung erfolgt vollständig auf dem EV3-Brick. Im autonomen Modus werden daher keine Fehlermeldungen bei nicht korrekten Programmen angezeigt. Es ist deswegen vorteilhaft, Programme zuerst im direkten Modus zu entwickeln und zu testen und erst danach im autonomen Modus laufen zu lassen.

Programm abbrechen

Ein Programm im autonomen Modus kann durch Drücken des Escape-Buttons abgebrochen werden. Bei fehlerhafen Programmen wird danach auf dem LCD-Display eine Fehlermeldung angezeigt. Wenn ein Programm in Folge von Programmfehlern "hängen" bleibt, kann es jeder Zeit durch gleichzeitiges Drücken der Ecape- und Enter-Taste beendet werden. Dabei wird aber auch das BrickGate-Programm beendet und muss danach neu gestartet werden. Man kann natürlich den Roboter auch durch das Herausnehmen der Batterie zum Stillstand bringen. Im direkten Modus erfolgt der Programmabbruch durch das Schliessen der Connection-Box.  


NXT-Roboter

In unserer Lernumgebung werden unter Python NXT-Programme nur im direkten- und im Simulationsmodus unterstützt. Der autonome Modus funktioniert allerdings unter Java (siehe Robotik auf Java-Online).

Voraussetzung

  • Auf dem NXT ist leJOS-Firmware installiert
  • Der NXT ist via Bluetooth mit dem Computer verbunden

Programm editieren und im direkten Modus ausführen

 

Geben Sie ein Programm ein:

from nxtrobot import *

robot = LegoRobot()
gear = Gear()
robot.addPart(gear)
gear.forward(1000)
robot.exit()
      

 

Klicken Sie auf die Schaltfläche Ausführen.


In einer Dialogbox wird nach der Bluetooth Name des NXT-Bricks gefragt. Diese ist default auf NXT gesetzt. Danach wird die Verbindung zum NXT aufgebaut und Programmausführung im direkten Modus gestartet.

Falls der NXT mit 2 Motoren an der Ports A und B ausgestattet ist, fährt er eine kurze Strecke vorwärts.

 


Während der Programmausführung bleibt ein Fenster mit Verbindungsinformationen offen. Schliesst man dieses Fenster, so wird die Verbindung zum NXT unterbrochen und die Programmausführung beendet.

Ein laufendes Programm kann durch die Schliessung der Connection-Box jeder Zeit abgebrochen werden.

 


Lego-Simulation

Die meisten Programme können auch mit einem virtuellen Roboter (im Simulationsmodus) ausgeführt werden. Die Roboterbewegungen werden dabei in einem Grafikfenster dargestellt. Auch Light-, Touch-, Color- Sound- und Ultrasonic-Sensoren können simuliert werden. Die Programme für den realen und den virtuellen Roboter sind praktisch gleich.

 

Geben Sie ein Programm ein:

from simrobot import *

robot = LegoRobot()
gear = Gear()
robot.addPart(gear)
gear.forward(1000)
robot.exit()  

Klicken Sie auf den grünen Pfeil Ausführen.