Antriebsstrang#

Einführung#

Der Antriebsstrang umfasst Räder und Motoren, die die Fahrt und das Lenken des Roboters steuern. Antriebsstränge finden sich beispielsweise in Konstruktionen wie der Code Base 2.0, dem Super Car oder in einem individuell angefertigten Roboter.

Die Antriebsstränge nutzen den Inertialsensor im Gehirn, um Kollisionen zu erkennen und dem Roboter präzise Bewegungen und Drehungen zu ermöglichen. Zu Beginn jedes Projekts kalibriert der Antriebsstrang den Inertialsensor automatisch. Halten Sie den Roboter während der Kalibrierung etwa 2 Sekunden lang still, damit er sich korrekt bewegen und drehen kann.

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.

  • fahren bis — Bewegt den Roboter vorwärts oder rückwärts, bis der Augensensor ein Objekt erkennt oder der Roboter einen Zusammenstoß erkennt.

  • turn — Dreht den Roboter endlos nach links oder rechts.

  • turn for — Dreht den Roboter um eine bestimmte Anzahl von Grad nach links oder rechts.

  • Drehung in Richtung — Dreht den Roboter in eine bestimmte Richtung zwischen -359 und 359 Grad. Der Roboter wählt dabei den kürzesten Weg, um die Zielrichtung zu erreichen.

  • 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 stopping — Gibt an, wie der Roboter seine Bewegung stoppen wird: durch Bremsen, Ausrollen oder Anhalten.

  • set drive timeout — Legt fest, wie viele Sekunden der Roboter versucht, eine Bewegung abzuschließen.

  • 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.

Werte – Bewegungsstatus prüfen.

  • Fahrt beendet — Meldet, ob der Roboter seine Fahrt beendet hat.

  • Fahrrichtung — Meldet die aktuelle Fahrtrichtung des Roboters von 0 bis 359 Grad.

  • Antriebsdrehung — Gibt die aktuelle Drehrichtung des Roboters an.

  • Fahrgeschwindigkeit — Gibt an, wie schnell der Roboter fährt, als Prozentsatz von -100% bis 100%.

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
[Build Used: Code Base 2.0]
[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 [100] [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
[Build Used: Code Base 2.0]
[Drive back and forth.]
fahre [vorwärts v] für [100] [mm v] ▶
fahre [rückwärts v] für [4] [Zoll v] ▶

fahren bis#

Der drive until Stapelblock bewegt den Roboter vorwärts oder rückwärts, bis der Augensensor ein Objekt erkennt oder der Roboter einen Zusammenstoß feststellt.

fahre [vorwärts v] bis [Objekt v] ▶

Parameter

Beschreibung

Richtung

Die Bewegungsrichtung des Roboters: vorwärts oder rückwärts.

Zustand

Die Bedingung, die den Roboter stoppt: Objekt oder Zusammenstoß.

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
[Build Used: Code Base 2.0]
[Turn right after a crash.]
fahre [vorwärts v] bis [Aufprall v] ▶
drehe [rechts v] für (90) Grad ▶

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. von Fahren zu Anhalten.

drehe [rechts v]

Parameter

Beschreibung

Richtung

Die Richtung, in die sich der Roboter dreht: links oder rechts.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
drehe [rechts v]
warte [2] Sekunden
drehe [links 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
[Build Used: Code Base 2.0]
[Turn right then left.]
drehe [rechts v] für (90) Grad ▶
drehe [links v] für (90) 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.

Eine VEX GO Codebasis 2.0, die die Kursrichtungen anzeigt: 0 Grad vorwärts, 90 Grad rechts, 180 Grad rückwärts und 270 Grad links.

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 soll, als ganze Zahl 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
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
drehe zu Kurswinkel [90] Grad ▶
warte [1] Sekunden
drehe zu Kurswinkel [180] Grad ▶
warte [1] Sekunden
drehe zu Kurswinkel [270] Grad ▶
warte [1] Sekunden
drehe zu Kurswinkel [0] Grad ▶

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.

Eine VEX GO-Codebasis 2.0, die nach rechts und links rotierende Pfeile zeigt. Der linke Pfeil zeigt "Minus" und der rechte Pfeil zeigt "Plus".

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 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
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
drehe zu Drehung [360] Grad ▶
[Make another full turn to the right.]
drehe zu Drehung [720] Grad ▶
[Make one full turn to the left, returning to 360 degrees.]
drehe zu Drehung [360] 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
[Build Used: Code Base 2.0]
[Drive forward then stop.]
fahre [vorwärts v]
warte (2) 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, erhöht aber die Präzision.

setze Fahrgeschwindigkeit auf (50) %

Parameter

Beschreibung

Geschwindigkeit

Die Geschwindigkeit, mit der von 0 % bis 100 % gefahren werden soll.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
fahre [vorwärts v] für [100] [mm v] ▶
warte [1] Sekunden
[Drive slow.]
setze Fahrgeschwindigkeit auf (20) %
fahre [vorwärts v] für [100] [mm v] ▶
warte [1] Sekunden
[Drive fast.]
setze Fahrgeschwindigkeit auf (100) %
fahre [vorwärts v] für [100] [mm v] ▶

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 führt zu langsameren Drehungen, erhöht aber die Präzision.

setze Drehgeschwindigkeit auf [50]%

Parameter

Beschreibung

Geschwindigkeit

Die Geschwindigkeit, mit der von 0 % auf 100 % gedreht werden soll.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
drehe [rechts v] für [180] Grad ▶
warte [1] Sekunden
[Turn fast.]
setze Drehgeschwindigkeit auf [100]%
drehe [rechts v] für [180] Grad ▶

Antrieb stoppen#

Der Antriebsstopp-Block legt fest, wie der Roboter seine Bewegung stoppt: durch Bremsen, Ausrollen oder Anhalten.

setze Fahrstopp auf [Bremsen v]

Parameter

Beschreibung

Stoppverhalten

So stoppt der Roboter:

  • Bremse – Hält sofort an.
  • Ausrollen – Verlangsamt sich bis zum Stillstand.
  • Halten – Hält sofort an und hält die Radposition.

Wenn dieser Block nicht verwendet wird, betätigt der Roboter beim Anhalten die Bremse.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
setze Fahrgeschwindigkeit auf (100) %
setze Fahrstopp auf [Auslaufen v]
fahre [vorwärts v]
warte [2] Sekunden
Fahren stoppen

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
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
setze Fahrzeitlimit auf [1] Sekunden
fahre [vorwärts v] für [25] [Zoll v] ▶
drehe [rechts v] für [90] Grad ▶

Fahrtrichtung festlegen#

Die Fahrtrichtung ist die Richtung, in die das Robotergehirn zeigt, gemessen in Grad. Der Fahrtrichtung festlegen-Stackblock ä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. Dies kann eine ganze Zahl zwischen 0 und 359 sein.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
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 sein.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Spin counterclockwise two times.]
setze Fahrdrehung auf [720] Grad
drehe zu Drehung [0] 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 arbeitet mit den folgenden Antriebsstrangblöcken zusammen, die den Parameter und nicht warten haben: fahren für, fahren bis, drehen für, drehen zu Richtung, und drehen zu Drehung.

<Fahrt abgeschlossen?>

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
fahre [vorwärts v] für [100] [mm v] ◀ und nicht warten
warte [0.25] Sekunden
für immer
wenn <Fahrt abgeschlossen?> dann
drehe [rechts v] für [180] Grad ▶
Abbruch
sonst
drucke [Still moving...] ▶
warte [0.1] Sekunden
lösche alle Zeilen

Fahrtrichtung#

Die Fahrtrichtung gibt die Richtung an, in die das Robotergehirn zeigt, gemessen in Grad. Der Fahrtrichtungs-Reporterblock meldet diese Fahrtrichtung von 0 bis 359 Grad.

Die Ausgangsrichtung des Roboters beträgt 0 Grad.

Ein VEX GO Gehirn, das die Fahrtrichtungen anzeigt: 0 Grad vorwärts, 90 Grad rechts, 180 Grad rückwärts und 270 Grad links.

(Fahrtrichtung in Grad)

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
drehe [rechts v] für [450] Grad ◀ und nicht warten
für immer
lösche alle Zeilen
drucke (Fahrtrichtung in Grad) ▶
warte [0.1] Sekunden

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.

Eine VEX GO-Codebasis 2.0, die nach rechts und links rotierende Pfeile zeigt. Der linke Pfeil zeigt "Minus" und der rechte Pfeil zeigt "Plus".

(Fahrtdrehung in Grad)

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
drehe [rechts v] für [450] Grad ◀ und nicht warten
für immer
lösche alle Zeilen
drucke (Fahrtdrehung in Grad) ▶
warte [0.1] Sekunden

Antriebsgeschwindigkeit#

Der Fahrgeschwindigkeits-Reporterblock gibt an, wie schnell der Roboter fährt, und zwar als Prozentsatz von -100% bis 100%.

Ein positiver Wert bedeutet, dass der Roboter vorwärts fährt. Ein negativer Wert bedeutet, dass der Roboter rückwärts fährt.

(Fahrgeschwindigkeit in %)

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
drucke [Start: ] ▶
drucke (Fahrgeschwindigkeit in %) ▶
setze Cursor in nächste Zeile
fahre [vorwärts v]
warte [0.5] Sekunden
drucke [Moving: ] ▶
drucke (Fahrgeschwindigkeit in %) ▶
Fahren stoppen