Jython

Erstes Programm

Die Robotik-Bibliotheken für den EV3, NXT und für die Simulation sind im TigerJython integriert und müssen im Programm mit folgenden Zeilen importiert werden:

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

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

Da sich die Programme für EV3, NXT und für die Simulation praktisch nur in der Importzeile unterscheiden, werden die Beispiele nur mit einem Programmcode präsentiert und die entsprechende Importzeile muss jeweils aktiviert werden. Im Folgenden wird die Ausführung eines einfachen Programms für diese Systeme kurz beschrieben.


1. LEGO - EV3

Kontrollieren Sie, ob die SD-Karte im Karten-Slot eingeschoben ist und starten Sie den EV3 mit der ENTER-Taste. Nach kurzer Zeit erscheint das EV3-Startmenü. Die Bluetooth-Verbindung mit der IP-Adresse 10.0.1.1 ist standardmässig aktiviert. Falls Sie eine WLAN-Verbindung eingerichtet haben, erscheint darunter die IP-Adresse, die Ihr EV3 vom Accesspoint zugeteilt erhält.  

Drücken Sie noch einmal die ENTER-Taste, um den Befehl "Run Default" auszuführen. Dadurch wird das BrickGate-Programm, welches als "default" gesetzt ist, gestartet. Warten Sie bis nach einem kurzen Pipston die Anzeige "Wait connection" erscheint. Der EV3 ist nun startbereit. In dieser Anzeige erscheinen später alle Programme, die im autonomen Modus auf dem EV3 gespeichert werden. Zur Zeit ist es nur ein Testprogramm HelloPython.py  

 

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 eingeben (z.Bsp. 192.168.0.23, 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. Der EV3 fährt 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.

 

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. Auf dem Computer wird nur ein Terminal-Fenster angezeigt. In diesem Fenster sind auch die Fehlermeldungen ersichtlich, falls das Programm auf dem EV3 nicht korrekt ausgeführt werden kann. Bei der Programmausführung im autonomen Modus muss man in der Regel etwas länger warten, bis das Programm auf dem EV3 startet. 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 mit Schliessen des Terminal-Fensters abgebrochen werden. Man kann auch gleichzeitig die Tasten ENTER + DOWN drücken. 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.

 

2. SIMULATIONSMODUS

Die meisten Programme können auch im Simulationsmodus ausgeführt werden. Die Programme im Real- und Simulationsmodus unterscheiden sich nur in der Import-Zeile. Für die Simulation gibt man:

from simrobot import *

Zum Ausführen klickt man auf den grünen Run-Pfeil.

 


 

3. LEGO - NXT

In unserer Lernumgebung werden unter Python NXT-Programme nur im direkten- und im Simulationsmodus unterstützt. Da die NXT-Roboter nicht WLAN und nicht über alle EV3-Sensoren verfügen, können nicht alle Beispiele mit den NXT's aufgeführt werden.

Starten Sie den NXT mit dem roten Start-Button.

Programm editieren und im direkten Modus ausführen

 

Geben Sie im TigerJython-Editor ein:

from nxtrobot import *

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

 

Klicken Sie auf den grünen Run-Pfeil.


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.