Module import: | from simrobot import * from ev3robot import * from nxtrobot import * |
|
Funktion | Action |
LegoRobot() | erzeugt Roboter (ohne Motoren) und stellt die Verbindung zum Roboter her |
addPart(part) | fügt eine Komponente zum Roboter |
clearDisplay() | Löscht die Anzeige [Simulationsmodus: Status bar] |
drawString(text, x, y) | Schreibt text an Position x, y [Simulationsmodus: in Status bar, (x, y) irrelevant] |
isEscapeHit() | True, falls ESCAPE-Taste gedrückt wurde [NXT und Simulationsmodus: Tastaturtaste Escape] |
isEnterHit() | True, falls ENTER-Taste gedrückt wurde [NXT und Simulationsmodus: Tastaturtaste Escape] |
isLeftHit() | True, falls LEFT-Taste gedrückt wurde [NXT und Simulationsmodus: Tastaturtaste Cursor-Left] |
isRightHit() | True, falls RIGHT-Taste gedrückt wurde [NXT und Simulationsmodus: Tastaturtaste Cursor-Right] |
isUpHit() | True, falls UP-Taste gedrückt wurde [NXT und Simulationsmodus: Tastaturtaste Cursor-Up] |
isDownHit() | True, falls DOWN-Taste gedrückt wurde [NXT und Simulationsmodus: Tastaturtaste Cursor-Up] |
playTone(frequency, duration) | spielt einen Ton mit geg, Frequenz (in Hz) in Länge (ms) [Simulationsmodus: nicht vorhanden] |
setVolume(volume) | setzt die Lautstärke für alle Tonausgaben (0..100) |
playSample(tag, volume) | spielt mit der Lautstärke volume (0..100) eine WAV Datei aus dem Verzeichnis /home/root/music mit dem Dateinamen song<tag>.wav ab (tag: integer) (Funktion nicht blockierend). WAV format: mono, 8 bit unsigned oder 16 bit signed mit maximaler Samplingrate 11025 Hz. [Simulationsmodus: nicht verfügbar] |
playSampleWait(tag, volume) | dasselbe, aber Funktion blockierend, bis Datei fertig abgespielt. [Simulationsmodus: nicht verfügbar] |
setLED(pattern) | setzt EV3-LEDS: 0: aus, 1: grün, 2: rot, 3: rot hell, 4: grün blinkend, 5: rot blinkend, 6: rot blinkend hell, 7: grün doppelblinkend, 8: rot doppelblinkend, 9: rot doppelblinkend hell |
exit() | stoppt den Roboter und beendet die Verbindung |
isConnected() | gibt True zurück, falls die Verbindung unterbrochen ist, oder das Simulationsfenster geschlossen wurde |
reset() | Simulationsmodus: setzt den Roboter an die Startposition/Startrichtung |
Gear() | erzeugt ein Fahrwerk mit 2 synchronisierten Motoren an Port A, B |
backward() | fährt rückwärts (nicht-blockierende Methode) |
backward(ms) | fährt während gegebener Zeit (in ms) rückwärts (blockierende Methode) |
isMoving() | gibt True zurück, wenn das Fahrwerk in Bewegung ist |
forward() | fährt vorwärts (nicht blockierende Methode) |
forward(ms) | fährt während gegebener Zeit (in ms) vorwärts (blockierende Methode) | left() | dreht links (nicht blockierende Methode) |
left(ms) | dreht während gegebener Zeit (in ms) links (blockierende Methode) |
leftArc(radius) | fährt auf einem Linksbogen mit geg. Radius (nicht- blockierende Methode) |
leftArc(radius, ms) | fährt während gegebener Zeit (in ms) auf einem Linksbogen (blockierende Methode) |
right() | dreht rechts (nicht-blockierende Methode) |
right(ms) | dreht während gegebener Zeit (in ms) rechts (blockierende Methode) |
rightArc(radius) | fährt auf einem Rechtsbogen mit geg. Radius (nicht blockierende Methode) |
rightArc(radius, ms) | fährt während gegebener Zeit (in ms) auf einem Rechtsbogen (blockierende Methode) |
setSpeed(speed) | setzt die Geschwindigkeit |
stop() | stoppt das Fahrwerk |
getLeftMotorCount() | gibt momentanen Zählerstand für den linken Motor zurück [nicht für Sim] |
getRightMotorCount() | gibt momentanen Zählerstand für den rechten Motor zurück [nicht für Sim] |
resetLeftMotorCount() | setzt den Zähler des linken Motors auf 0 [nicht für Sim] |
resetRightMotorCount() | setzt den Zähler des rechten Motors auf 0 [nicht für Sim] |
TurtleRobot() | erzeugt Roboter mit Fahrwerk mit Motoren an Port A, B |
backward() | fährt rückwärts (nicht-blockierende Methode) |
backward(step) | fährt die gegebene Anzahl Schritte rückwärts (blockierende Methode) |
forward() | fährt vorwärts (nicht-blockierende Methode) |
forward(step) | fährt die gegebene Anzahl Schritte vorwärts (blockierende Methode) |
left() | dreht links (nicht-blockierende Methode) |
left(angle) | dreht um den gegebenen Winkel links (blockierende Methode) |
right() | dreht rechts (nicht-blockierende Methode) |
right(angle) | dreht um den gegebenen Winkel rechts (blockierende Methode) |
setTurtleSpeed(speed) | setzt die Geschwindigkeit |
Motor(MotorPort.port) | erzeugt einen Motor am Motorport A, B, C oder D |
backward() | dreht den Motor rückwärts |
forward() | dreht den Motor vorwärts |
setSpeed(speed) | setzt die Geschwindigkeit |
isMoving() | gibt True zurück, wenn der Motor in Bewegung ist |
stop() | stoppt den Motor |
getMotorCount() | gibt den momentanen Stand des Zählers zurück [nicht für Sim] |
resetMotorCount() | setzt den Zähler auf 0 [nicht für Sim] |
rotateTo(count) | setzt Zähler auf 0, bewegt Motor bis Zählerstand count und stoppt (blockierend) [nicht für Sim] |
rotateTo(count, blocking) | wie rotateTo(count), aber mit blocking False nicht blockierend [nicht für Sim] |
continueTo(count) | wie rotateTo(count), aber Zähler nicht auf 0 gesetzt [nicht für Sim] |
continueTo(count, blocking) | wie rotateTo(count, blocking), aber Zähler nicht auf 0 gesetzt [nicht für Sim] |
continueRelativeTo(count) | wie continueTo(count), aber count ist Inkrement [nicht für Sim] |
continueRelativeTo(count, blocking) | wie continueTo(count, blocking), aber count ist Inkrement [nicht für Sim] |
LightSensor(SensorPort.port) |
erzeugt einen Lichtsensor am SensorPort S1, S2, S3, S4 |
LightSensor(SensorPort.port, bright = onBright, dark = onDark) | dasselbe mit registrierten Event-Callbacks onBright(port, value), onDark(port, value) beim Überqueren des Triggerlevels |
LightSensor(SensorPort.port, True) | Nur Simulationsmodus: erzeugt einen nach oben gerichteten Lichtsensor am SensorPort S1, S2, S3, S4. Port S1: vorne rechts, S2: vorne links, S3: hinten rechts, S4: hinten links |
LightSensor(SensorPort.port, True, bright = onBright, dark = onDark) | dasselbe mit registrierten Event-Callbacks onBright(port, value), onDark(port, value) beim Überqueren des Triggerlevels |
activate(bool) | schaltet den LED eines NXT LightSensors ein/aus |
getValue() | gibt den Wert des Lichtsensors zurück (Zahl zwischen 0 und 1000) |
setTriggerLevel(level) | setzt den Triggerlevel (default: 500) |
ColorSensor(SensorPort.port) | erzeugt einen Colorsensor am Port S1, S2, S3, S4 |
getColor() | gibt die gemessene Farbe zurück als Color-Objekt mit den Methoden getRed(), getGreen() und getBlue(), welche den RGB-Wert 0 - 255 liefern |
getColorID() | gibt eine Farbidentifikationszahl zurück: 0: undefiniert, 1: schwarz, 2: blau, 3:grün, 4: gelb, 5: rot, 6: weiss |
getColorStr() | liefert die Farbe als String (BLACK, BLUE, GREEN, YELLOW, RED, WHITE und UNDEFINED) |
getLightValue() | gibt die Helligkeit (im HSG Modell) der gemessenen Farbe zurück |
TouchSensor(SensorPort.port) | erzeugt einen Berührungssensor am SensorPort S1, S2, S3, S4 Simulationsmodus: Port S1: rechts, S2: links, S3: vorne Mitte, S4: hinten Mitte |
TouchSensor(SensorPort.port, pressed = onPressed, released = onReleased) | dasselbe mit registrierten Event-Callbacks onPressed(port), onReleased(port) |
isPressed() | gibt True zurück, falls der Touchsensor gedrückt ist |
SoundSensor(SensorPort.port) | erzeugt einen Soundsensor am Port S1, S2, S3, S4 (nur 1 Instanz erlaubt) |
SoundSensor(SensorPort.port, loud = onLoud, quiet = onQuiet) | dasselbe mit registrierten Event-Callbacks onLoud(port, value), onQuiet(port, value) beim Überqueren des Triggerlevels. Beim EV3: NxtSoundSensor(SensorPort.port, loud = onLoud, quiet = onQuiet) |
getValue() | gibt die Lautstärke zurück (0 - 150) |
setTriggerLevel(level) | setzt den Triggerlevel (default: 50) |
UltrasonicSensor(SensorPort.port) | erzeugt einen Ultraschallsensor. |
UltrasonicSensor(SensorPort.port, far = onFar, near = onNear) |
dasselbe mit registrierten Event-Callbacks onFar(port, value), onNear(port, value) beim Überqueren des Triggerlevels |
getDistance() | gibt die Entfernung zurück |
setTriggerLevel(level) | setzt einen Triggerlevel (default: 10) |
setProximityCircleColor(color) | Simulationsmodus: setzt die Farbe des Suchkreises |
setMeshTriangleColor(color) | Simulationsmodus: setzt die Füllfarbe der Maschen |
eraseBeamArea() | Simulationsmodus: löscht den Strahlbereich |
GyroRateSensor(SensorPort.port) | erzeugt einen GyroRateSensor am SensorPort S1, S2, S3, S4 |
getValue() | gibt die Winkelgeschwindigkeit zurück (Grad pro Sekunde, positiv im Gegenuhrzeigersinn) |
GyroAngleSensor(SensorPort.port) | erzeugt einen GyroAngleSensor am SensorPort S1, S2, S3, S4 |
getValue() | gibt die Orientierung des Sensors bezüglich seiner Startposition zurück (Grad im Gegenuhrzeigersinn) |
reset() | setzt die Startposition |
InfraredSensor (nur EV3):
IRRemoteSensor(SensorPort.port) | erzeugt einen Infrarot-Fernsteuerungssensor am Port S1, S2, S3, S4 |
getCommand() | gibt die aktuelle Kommando-ID zurück: 0: nichts, 1:oben-links, 2:unten-links, 3:oben-rechts, 4:unten-rechts,5:oben-links+oben-rechts,6:oben-links+unten-rechts,7:unten-links+oben-rechts, 8::unten-links+unten-.rechts,9:Zentrum,10:unten-links+oben-links,11:oben-rechts+unten-rechts. Der Kanal wird mit dem roten Schiebeschalter gewählt.1: oben, 4: unten. Er entspricht der Portnummer, wo der Sensor angeschlossen ist. |
actionPerformed(port, command) | Callback-Funktion, die als benannter Parameter registriert werden kann |
IRSeekSensor(SensorPort.port) | erzeugt einen Infrarot-Suchensor am Port S1, S2, S3, S4 (aktive IR-Quelle der Fernsteuerung, wenn der Zentrums-Button gedrückt wird) |
v = getValue() | v.bearing gibt den Richtungswert (-12..12) und v.distance die Distanz (in cm) zur Quelle zurück. Der Kanal wird mit dem roten Schiebeschalter gewählt.1: oben, 4: unten. Er entspricht der Portnummer, wo der Sensor angeschlossen ist. |
IRDistanceSensor(SensorPort.port) | erzeugt einen Infrarot-Distanzsensor am Port S1, S2, S3, S4 (reflektierendes Target) |
getDistance() | gibt die Entfernung zurück (in cm; 255, falls die die Distanzmessung misslingt) |
TemperatureSensor(SensorPort.port) | erzeugt einen Temperatursensor am SensorPort S1, S2, S3, S4 (Lego NXT Temperature Sensor 9749) |
getTemperature() | gibt die Temperatur im Bereich -55..128 Grad Celsius zurück |
I2CExpander(SensorPort.port, deviceType, slaveAddress) | erzeugt einen I2C Expander auf Port S1, S2, S3, S4. deviceType = 0: PCF8574, 1: PCF8574A, 2: PCF8591; slaveAddress: 8-bit I2C Adresse |
I2CExpander(SensorPort.port, deviceType, inputMode, slaveAddress) | dasselbe, aber mit Angabe von inputMode: 0: single ended, 2: three differential, 3: mixed, 4: two differential (gemäss Datenblatt PCF8591) |
writeDigital(out) |
setzt den Digital-Eingang/Ausgang (8 bits) und liefert den aktuellen Wert zurück. Für einen digitalen Eingang wird das Portbit auf 1 gesetzt. (Nur für PCF8574/PCF8574A) |
writeAnalog(out) | setzt den Analog-Ausgang (8 bits). (Nur für PCF8591) |
readAnalog(channel) | liefert den aktuellen Wert von channel 0..3 (0..255 für single ended, -128..127 für differential). (Nur für PCF8591) |
readAnalog() | liefert Liste mit den aktuellen Werten aller Kanäle. (Nur für PCF8591) |
ArduinoLink(SensorPort.port) | erzeugt einen I2C-Master zur Verbindung mit dem Arduino auf Port S1, S2, S3, S4 |
getReply(request, reply) | sendet den request (Integer 0..255) an den Arduino und liefert die Antwort in der übergebenen Liste reply (max.16 Integers 0..255) |
getReplyInt(request) | sendet den request (Integer 0..255) an den Arduino und liefert eine Antwort als Integer 0..255 |
getReplyString(request) | sendet den request (Integer 0..255) an den Arduino und liefert die Antwort als String (max. 15 ASCII-Zeichen) |
setStartDirection(angle) | setzt die Startrichtung des Roboters (0 gegen Osten, positiv im Uhrzeigersinn) |
setStartPosition(x, y) | setzt die Startposition des Roboters (Pixelkoordinaten, Nullpunkt oben links |
showStatusBar(height) | fügt eine Statusbar mit gegebener Höhe unten am Fenster an |
setStatusText(text) | setzt den Statustext (alter Text wird gelöscht) |
useBackground(filename) | fügt ein Hintergrundbild für den Lichtsensor ein |
useObstacle(filename, x, y) | fügt ein Hindernis für den Touchsensor an der Position (x, y) ein |
useTarget(filename, mesh, x, y) | fügt ein Target für den Ultraschallsensor an der Position (x, y) ein |
Vollständige JavaDoc | EV3JLib (Direkter Modus) |
EV3JLibA (Autonomer Modus) | |
NxtJLib (Direkter Modus) | |
RobotSim (Simulation) |