Antriebsstrang#
Einführung#
Der Antriebsstrang steuert die Fahr- und Drehbewegungen des VR-Roboters. Er ermöglicht Vorwärts- und Rückwärtsfahrten, Links- und Rechtskurven, Drehungen in verschiedene Richtungen und die Nachführung der Rotation.
Es gibt viele Möglichkeiten, den Antriebsstrang zu codieren. Nachfolgend finden Sie eine Liste aller Antriebsstrangblöcke:
Aktionen – Den Roboter bewegen und drehen.
drive — Bewegt den Roboter unendlich vorwärts oder rückwärts.
drive for — Bewegt den Roboter vorwärts oder rückwärts über eine bestimmte Distanz.
turn — Dreht den Roboter endlos nach links oder rechts.
turn for — Dreht den Roboter um eine bestimmte Anzahl von Grad nach links oder rechts.
in eine bestimmte Richtung drehen — Dreht den Roboter so, dass er in eine bestimmte Richtung zeigt.
Drehung — Dreht den Roboter in eine bestimmte Rotationsrichtung.
Fahren stoppen — Stoppt die Bewegung des Roboters.
Einstellungen – Antriebsstrangeinstellungen anpassen.
set drive velocity — Sagt dem Roboter, wie schnell er fahren soll.
set turn velocity — Sagt dem Roboter, wie schnell er sich drehen soll.
set drive heading — Ändert die aktuelle Fahrtrichtung des Roboters auf eine neue Fahrtrichtung.
set drive rotation — Ändert die aktuelle Drehrichtung des Roboters in eine neue Drehrichtung.
set drive timeout — Legt fest, wie viele Sekunden der Roboter versucht, eine Bewegung abzuschließen.
Werte – Bewegungsstatus prüfen.
Fahrt beendet — Meldet, ob der Roboter seine Fahrt beendet hat.
Antrieb bewegt sich — Meldet, ob sich der Roboter bewegt.
Fahrrichtung — Gibt die aktuelle Fahrtrichtung des Roboters von 0 bis 359,99 Grad an.
Antriebsdrehung — Gibt die aktuelle Drehrichtung des Roboters an.
Aktionen#
fahren#
Der Antriebsblock bewegt den Roboter endlos vorwärts oder rückwärts. Der Roboter bewegt sich so lange, bis ihm eine andere Aktion zugewiesen wird, wie z. B. Drehen oder Anhalten.
fahre [vorwärts v]
Parameter |
Beschreibung |
|---|---|
Richtung |
Die Bewegungsrichtung des Roboters: vorwärts oder rückwärts. |
Beispiel
wenn gestartet :: hat events
[Drive forward, then stop.]
fahre [vorwärts v]
warte (2) Sekunden
Fahren stoppen
Fahrt für#
Der Antriebsblock bewegt den Roboter vorwärts oder rückwärts über eine bestimmte Strecke. Das Projekt wartet, bis der Roboter seine Bewegung abgeschlossen hat, bevor der nächste Block im Stapel ausgeführt wird.
fahre [vorwärts v] für (200) [mm v] ▶
Parameter |
Beschreibung |
|---|---|
Richtung |
Die Bewegungsrichtung des Roboters: vorwärts oder rückwärts. |
Distanz |
Die vom Roboter zurückgelegte Strecke. Dies kann eine ganze Zahl oder eine Dezimalzahl sein. |
Einheit |
Die Entfernungseinheit: mm (Millimeter) oder Zoll |
und warte nicht |
Wählen Sie den Pfeil ( ▶ ), um den Block zu erweitern und und warten Sie nicht anzuzeigen, damit der nächste Block im Stapel sofort ausgeführt wird. |
Beispiel
wenn gestartet :: hat events
[Drive forward.]
fahre [vorwärts v] für (500) [mm v] ▶
drehen#
Der Drehen-Stapelblock dreht den Roboter endlos nach links oder rechts. Der Roboter dreht sich so lange, bis ihm eine andere Aktion zugewiesen wird, z. B. Fahren oder Anhalten.
drehe [rechts v]
Parameter |
Beschreibung |
|---|---|
Richtung |
Die Richtung, in die sich der Roboter dreht: links oder rechts. |
Beispiel
wenn gestartet :: hat events
[Turn right, then stop.]
drehe [rechts v]
warte (2) Sekunden
Fahren stoppen
wenden für#
Der Drehung-Block im Stapel dreht den Roboter um eine bestimmte Gradzahl nach links oder rechts. Die Drehung erfolgt relativ zur aktuellen Position des Roboters. Das Projekt wartet, bis der Roboter die Drehung abgeschlossen hat, bevor der nächste Block im Stapel ausgeführt wird.
drehe [rechts v] für (90) Grad ▶
Parameter |
Beschreibung |
|---|---|
Richtung |
Die Richtung, in die sich der Roboter dreht: links oder rechts. |
Winkel |
Die Gradzahl, um die sich der Roboter dreht. Dies kann eine ganze Zahl oder eine Dezimalzahl sein. |
und warte nicht |
Wählen Sie den Pfeil ( ▶ ), um den Block zu erweitern und und warten Sie nicht anzuzeigen, damit der nächste Block im Stapel sofort ausgeführt wird. |
Beispiel
wenn gestartet :: hat events
[Turn left, then turn around to the right.]
drehe [links v] für (90) Grad ▶
drehe [rechts v] für (180) Grad ▶
Zum Titel wechseln#
Die Ausrichtung des Roboters wird in Grad gemessen. Der Ausrichtungsblock richtet den Roboter auf eine bestimmte Ausrichtung zwischen -359 und 359 Grad aus. Der Roboter wählt dabei den kürzesten Weg, um die Zielausrichtung zu erreichen.
Der Ausgangskurs beträgt 0 Grad.
Das Projekt wartet, bis der Roboter seine Drehung abgeschlossen hat, bevor der nächste Block im Stapel ausgeführt wird.
drehe zu Kurswinkel (90) Grad ▶
Parameter |
Beschreibung |
|---|---|
Überschrift |
Die Richtung, in die der Roboter zeigen sollte, von -359 bis 359 Grad. |
und warte nicht |
Wählen Sie den Pfeil ( ▶ ), um den Block zu erweitern und und warten Sie nicht anzuzeigen, damit der nächste Block im Stapel sofort ausgeführt wird. |
Beispiel
wenn gestartet :: hat events
[Turn to face the cardinal directions.]
drehe zu Kurswinkel (90) Grad ▶
warte (2) Sekunden
drehe zu Kurswinkel (180) Grad ▶
warte (2) Sekunden
drehe zu Kurswinkel (270) Grad ▶
warte (2) Sekunden
drehe zu Kurswinkel (0) Grad ▶
warte (2) Sekunden
Drehung zur Rotation#
Der Drehung zum Drehen-Stapelblock bringt den Roboter in eine bestimmte Drehung.
Die Rotation gibt an, um welchen Winkel sich der Roboter gedreht hat, gemessen in Grad. Zu Beginn eines Projekts ist der Rotationswert auf 0 Grad eingestellt. Die Rotation kann auch mit dem Block set drive rotation festgelegt werden.
Die Rotationswerte sind absolut. Das bedeutet, die Drehrichtung hängt von der aktuellen Rotation des Roboters ab. Eine Rechtsdrehung erhöht die Rotation, eine Linksdrehung verringert sie.
Wenn der Roboter beispielsweise bei 0 Grad startet und Sie ihn um 720 Grad drehen, dreht er sich zweimal nach rechts. Drehen Sie ihn anschließend um 360 Grad, dreht er sich einmal nach links, da 360 kleiner als 720 ist.
Das Projekt wartet, bis der Roboter seine Drehung abgeschlossen hat, bevor der nächste Block im Stapel ausgeführt wird.
drehe zu Drehung (90) Grad ▶
Parameter |
Beschreibung |
|---|---|
Drehung |
Der Drehwinkel in Grad, um den sich der Roboter drehen wird. Dies kann eine ganze Zahl oder eine Dezimalzahl sein. |
und warte nicht |
Wählen Sie den Pfeil ( ▶ ), um den Block zu erweitern und und warten Sie nicht anzuzeigen, damit der nächste Block im Stapel sofort ausgeführt wird. |
Beispiel
wenn gestartet :: hat events
[Turn left, then spin in a circle clockwise and face right.]
drehe zu Drehung (-90) Grad ▶
warte (2) Sekunden
drehe zu Drehung (450) Grad ▶
Fahren Sie nicht mehr#
Der Stop-Drive-Stapelblock stoppt die Bewegung des Roboters.
Fahren stoppen
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet :: hat events
[Drive forward, then stop.]
fahre [vorwärts v]
warte [4] Sekunden
Fahren stoppen
Einstellungen#
Antriebsgeschwindigkeit einstellen#
Der Antriebsgeschwindigkeit festlegen-Block gibt dem Roboter vor, wie schnell er fahren soll. Ein höherer Prozentwert beschleunigt den Roboter, ein niedrigerer Prozentwert verlangsamt ihn.
Jedes Projekt beginnt standardmäßig damit, dass der Roboter mit 50 % Geschwindigkeit fährt.
Hinweis: Eine höhere Geschwindigkeit lässt den Roboter schneller fahren, kann aber die Präzision verringern. Eine niedrigere Geschwindigkeit lässt den Roboter langsamer fahren, kann aber die Präzision erhöhen.
setze Fahrgeschwindigkeit auf (50) [% v]
Parameter |
Beschreibung |
|---|---|
Geschwindigkeit |
Die Geschwindigkeit, mit der von 0 % bis 100 % gefahren werden soll. |
Einheit |
Die Geschwindigkeitseinheit: % |
Beispiel
wenn gestartet :: hat events
[Drive forward at the default velocity.]
fahre [vorwärts v] für (100) [mm v] ▶
warte (1) Sekunden
[Move slower.]
setze Fahrgeschwindigkeit auf (20) [% v]
fahre [vorwärts v] für (100) [mm v] ▶
warte (1) Sekunden
[Move faster.]
setze Fahrgeschwindigkeit auf (100) [% v]
fahre [vorwärts v] für (100) [mm v] ▶
warte (1) Sekunden
Kurvengeschwindigkeit einstellen#
Der Drehgeschwindigkeit festlegen-Block gibt dem Roboter vor, wie schnell er sich drehen soll. Ein höherer Prozentwert beschleunigt die Drehung, ein niedrigerer Prozentwert verlangsamt sie.
Jedes Projekt beginnt standardmäßig damit, dass sich der Roboter mit 50 % Geschwindigkeit dreht.
Hinweis: Eine höhere Geschwindigkeit führt zu schnelleren Drehungen des Roboters, kann aber die Präzision verringern. Eine niedrigere Geschwindigkeit verlangsamt die Drehung, kann aber die Präzision erhöhen.
setze Drehgeschwindigkeit auf (50) [% v]
Parameter |
Beschreibung |
|---|---|
Geschwindigkeit |
Die Geschwindigkeit, mit der von 0 % auf 100 % gedreht werden soll. |
Einheit |
Die Geschwindigkeitseinheit: % |
Beispiel
wenn gestartet :: hat events
[Turn at default velocity.]
drehe [rechts v] für (100) Grad ▶
warte (1) Sekunden
[Turn slower.]
setze Drehgeschwindigkeit auf (20)%
drehe [rechts v] für (100) Grad ▶
warte (1) Sekunden
[Turn faster.]
setze Drehgeschwindigkeit auf (100)%
drehe [rechts v] für (100) Grad ▶
warte (1) Sekunden
Fahrtrichtung festlegen#
Die Fahrtrichtung gibt die Blickrichtung des Roboters in Grad an. Der Fahrtrichtung festlegen-Block ändert die aktuelle Fahrtrichtung des Roboters auf einen neuen Wert.
Wenn sich der Roboter beispielsweise nach rechts gedreht hat, wird durch Einstellen der Ausrichtung auf 0 Grad diese Position nach rechts zum neuen 0-Grad-Wert. Anschließend kann der Roboter basierend auf dieser neuen Ausrichtung andere Positionen anfahren.
setze Fahrrichtung auf (0) Grad
Parameter |
Beschreibung |
|---|---|
Überschrift |
Der für den Roboter einzustellende Kurswert in Grad. |
Beispiel
wenn gestartet :: hat events
[Turn to the left.]
setze Fahrrichtung auf (90) Grad
drehe zu Kurswinkel (0) Grad ▶
Antriebsrotation einstellen#
Die Rotation gibt an, um welchen Winkel sich der Roboter gedreht hat, gemessen in Grad. Zu Beginn eines Projekts ist der Rotationswert auf 0 Grad eingestellt. Der Antriebsrotation festlegen-Block ändert die aktuelle Rotation des Roboters auf einen neuen Wert.
Hat der Roboter beispielsweise zwei volle Drehungen nach rechts ausgeführt, beträgt sein Rotationswert 720 Grad. Durch Setzen der Rotation auf 0 Grad wird dieser Wert von 720 auf 0 Grad zurückgesetzt. Anschließend kann der Roboter Drehungen basierend auf diesem neuen Wert ausführen.
setze Fahrdrehung auf (0) Grad
Parameter |
Beschreibung |
|---|---|
Drehung |
Der für den Roboter einzustellende Rotationswert in Grad. Dies kann eine ganze Zahl oder eine Dezimalzahl sein. |
Beispiel
wenn gestartet :: hat events
[Spin counterclockwise two times.]
setze Fahrdrehung auf (720) Grad
drehe zu Drehung (0) Grad ▶
Laufwerks-Timeout festlegen#
Der Block „set drive timeout“ legt fest, wie viele Sekunden der Roboter versucht, eine Bewegung abzuschließen. Gelingt ihm dies nicht, bricht er den Versuch ab und fährt mit dem nächsten Block im Stapel fort. Dadurch wird verhindert, dass der Roboter bei einer Bewegung hängen bleibt.
setze Fahrzeitlimit auf (1) Sekunden
Parameter |
Beschreibung |
|---|---|
Zeit |
Die Anzahl der Sekunden, die der Roboter versuchen kann, eine Bewegung abzuschließen. Dies kann eine ganze Zahl oder eine Dezimalzahl sein. |
Beispiel
wenn gestartet :: hat events
[Drive forward for 1 second, then turn.]
setze Fahrzeitlimit auf (1) Sekunden
fahre [vorwärts v] für (25) [Zoll v] ▶
drehe [rechts v] für (90) Grad ▶
Werte#
Die Fahrt ist beendet.#
Der boolesche Block Fahrt beendet meldet, ob der Roboter seine Bewegung abgeschlossen hat. Dies kann genutzt werden, um den Zeitpunkt anderer Verhaltensweisen basierend auf der Roboterbewegung zu steuern.
Wahr — Der Roboter hat seine Bewegung beendet.
Falsch — Der Roboter bewegt sich noch.
Dieser Block funktioniert zusammen mit Antriebsstrangblöcken, die den Parameter und nicht warten haben.
<Fahrt abgeschlossen?>
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet :: hat events
[Start spinning when the drive is complete.]
fahre [vorwärts v] für (200) [mm v] ◀ und nicht warten
warte bis <Fahrt abgeschlossen?>
drehe [rechts v] für (360) Grad ▶
Das Laufwerk bewegt sich#
Der boolesche Block Antrieb bewegt sich meldet, ob sich der Roboter bewegt. Dies kann genutzt werden, um den Zeitpunkt anderer Verhaltensweisen basierend auf der Bewegung des Roboters zu steuern.
Wahr — Der Roboter bewegt sich.
Falsch — Der Roboter bewegt sich nicht.
Dieser Block funktioniert zusammen mit Antriebsstrangblöcken, die den Parameter und nicht warten haben.
<Fahrt aktiv?>
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet :: hat events
[Print that the robot is moving while it is still driving.]
fahre [vorwärts v] für (200) [mm v] ◀ und nicht warten
solange <Fahrt aktiv?>
drucke [Still Moving...] ▶
warte (0.1) Sekunden
Bildschirm löschen
Ende
drucke [Done!] ▶
Fahrtrichtung#
Die Fahrtrichtung gibt die Blickrichtung des Roboters in Grad an. Der Fahrtrichtungs-Reporterblock meldet diese Richtung von 0 bis 359,99 Grad.
Die Ausgangsrichtung des Roboters beträgt 0 Grad.
(Fahrtrichtung in Grad)
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet :: hat events
[Display the heading after turning.]
drehe [rechts v] für (450) Grad ▶
drucke (Fahrtrichtung in Grad) auf Bildschirm ◀ und Cursor in nächste Zeile
Antriebsrotation#
Die Rotation gibt an, um welchen Winkel sich der Roboter gedreht hat, gemessen in Grad. Zu Beginn eines Projekts ist der Rotationswert auf 0 Grad eingestellt. Der Antriebsrotations-Reporterblock meldet die aktuelle Rotation des Roboters.
Eine Rechtsdrehung erhöht die Rotation, eine Linksdrehung verringert sie. Beispielsweise ergibt eine zweifache Rechtsdrehung eine Rotation von 720 Grad.
(Fahrtdrehung in Grad)
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet :: hat events
[Display the rotation after turning.]
drehe [rechts v] für (450) Grad ▶
drucke (Fahrtdrehung in Grad) auf Bildschirm ◀ und Cursor in nächste Zeile