Roboterspezifische Blöcke#
Einführung#
Der Hero Bot Flex verfügt über einen Greifmotor, einen Armmotor, einen KI-Vision-Sensor, einen Distanzsensor und einen Game Positioning System (GPS)-Sensor.
Alle Standard-VEXcode-VR-Blöcke können im V5 26-27 Override Playground verwendet werden.
Nachfolgend finden Sie eine Liste aller verfügbaren roboterspezifischen Blöcke:
Antriebsstrang – Den Roboter bewegen und drehen.
Aktionen
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
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
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.
Fahrgeschwindigkeit — Gibt an, wie schnell der Roboter fährt.
Bewegung – Die Motoren des Roboters bewegen und verfolgen.
Aktionen
Motor drehen – Dreht einen Motor unendlich lange vorwärts oder rückwärts.
Motor drehen für – Dreht einen Motor um eine bestimmte Strecke in Grad oder Umdrehungen.
Motor in Position drehen – Dreht einen Motor in eine bestimmte Position.
Motor stoppen – Stoppt den Motor.
Einstellungen
Motorgeschwindigkeit einstellen – Gibt dem Motor die Drehzahl vor.
set motor timeout – Legt fest, wie lange ein Motor versucht, eine Bewegung abzuschließen.
Motorposition einstellen – Ändert die aktuelle Position des Motors auf einen neuen Wert.
Werte
Motor ist fertig – Meldet, ob der Motor seine Bewegung beendet hat.
Motor dreht sich – Meldet, ob sich der Motor dreht.
Motorposition – Gibt die aktuelle Position des Motors an.
Motorgeschwindigkeit – Gibt an, wie schnell sich der Motor dreht, als Prozentsatz von -100% bis 100%.
KI-Vision – Objekte mithilfe des KI-Vision-Sensors erfassen und analysieren.
Aktionen
Objektdaten abrufen – Erfasst Daten für eine bestimmte Signatur, wie z. B. eine erkannte KI-Klassifizierung.
Einstellungen
set object item – Wählt ein bestimmtes Objekt aus der Liste aus.
Werte
object exists – Gibt zurück, ob eine Klassifizierung erkannt wurde.
object is – Gibt zurück, ob eine Klassifizierung erkannt wurde.
object is AprilTag – Gibt zurück, ob das erkannte Objekt ein AprilTag ist, das einer bestimmten ID entspricht.
Objektanzahl – Gibt zurück, wie viele Objekte erkannt wurden.
Objekteigenschaft – Gibt Details wie die folgenden zurück:
Sensorik – Nutzen Sie die verschiedenen Sensoren des Roboters.
Distanz
Distanz gefundenes Objekt – Meldet, ob der Distanzsensor ein Objekt innerhalb der Reichweite erkennt.
Objektdistanz – Gibt die Distanz zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt an.
GPS
GPS-Position – Gibt die X- oder Y-Position vom GPS-Sensor zurück.
GPS-Richtung – Gibt die Richtung zurück, in die der Roboter aktuell zeigt.
Die Beispiele auf dieser Seite verwenden Startposition C aus der Checkliste vor dem Spiel des Spielplatzes.
Antriebsstrang#
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.
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
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v]
warte (0.5) Sekunden
Fahren stoppen
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
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
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad 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
[Score a Pin in a Neutral Goal.]
drehe [links v]
warte (0.78) Sekunden
Fahren stoppen
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
fahre [vorwärts v] für (25) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
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
[Score a Pin in a Neutral Goal.]
drehe [links v] für (110) Grad ▶
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
fahre [vorwärts v] für (25) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
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
[Score a Pin in a Neutral Goal.]
drehe zu Kurswinkel (-110) Grad ▶
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
fahre [vorwärts v] für (25) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
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
[Score a Pin in a Neutral Goal.]
drehe zu Drehung (-110) Grad ▶
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
fahre [vorwärts v] für (25) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
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
[Score a Pin in a Neutral Goal.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v]
warte (0.5) Sekunden
Fahren stoppen
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
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
[Score a Pin in a Neutral Goal.]
drehe [links v] für (110) Grad ▶
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
setze Fahrgeschwindigkeit auf (100) [% v]
fahre [vorwärts v] für (25) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad 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 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 to face the Neutral Goal faster.]
setze Drehgeschwindigkeit auf (100) [% v]
drehe [links v] für (110) Grad ▶
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
[Make facing the Neutral Goal the new heading.]
setze Fahrrichtung auf (110) 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
[Make facing the Neutral Goal the new rotation.]
setze Fahrdrehung auf (110) 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
[Turn to face the Neutral Goal.]
setze Fahrzeitlimit auf (0.8) Sekunden
drehe [links v] für (180) 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
[Score a Pin in a Neutral Goal.]
drehe [links v] für (110) Grad ▶
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
fahre [vorwärts v] für (25) [Zoll v] ◀ und nicht warten
warte bis <Fahrt abgeschlossen?>
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
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
[Raise the Arm once stopped near the Goal.]
drehe [links v] für (110) Grad ▶
fahre [vorwärts v] für (25) [Zoll v] ◀ und nicht warten
solange <Fahrt aktiv?>
warte (0.005) Sekunden
Ende
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
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
[Turn to the Goal, then show heading.]
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
[Spin to find a Pin, then show rotation.]
drehe [rechts v] für (450) Grad ▶
drucke (Fahrtdrehung in Grad) auf Bildschirm ◀ und Cursor in nächste Zeile
Antriebsgeschwindigkeit#
Der Fahrgeschwindigkeits-Reporterblock meldet, wie schnell der Roboter fährt.
(Fahrgeschwindigkeit in [% v])
Parameter |
Beschreibung |
|---|---|
Einheit |
Die Geschwindigkeitseinheit: % |
Beispiel
wenn gestartet :: hat events
[Show speed while driving to the Goal.]
fahre [vorwärts v] für (150) [mm v] ▶
drucke (Fahrgeschwindigkeit in [% v]) auf Bildschirm ◀ und Cursor in nächste Zeile
Bewegung#
Flex nutzt den ArmMotor zum Heben und Senken des Arms und den ClawMotor zum Öffnen und Schließen der Klaue.
Jeder Motor verfügt über eigene Richtungsoptionen. Die Richtungsbezeichnungen beschreiben, wie sich der jeweilige Motor auf Flex bewegt.
Aktionen#
Spinmotor#
Der Drehmotor-Stapelblock lässt einen Motor sich endlos in eine von zwei Richtungen drehen. Der Motor dreht sich so lange, bis er eine andere Aktion auslöst, z. B. die Drehrichtung ändert oder anhält.
drehe [ArmMotor v] [hoch v]
Parameter |
Beschreibung |
|---|---|
Motor |
Der zu drehende Motor: ArmMotor oder ClawMotor. |
Richtung |
Die Drehrichtung des Motors:
|
Beispiel
wenn gestartet
[Raise the Arm before driving toward a Pin.]
drehe [ArmMotor v] [hoch v]
warte (1) Sekunden
stoppe [ArmMotor v]
Spinmotor für#
Der Drehmotor für den Stapelblock lässt einen Motor eine bestimmte Strecke drehen. Die Drehung erfolgt relativ zur aktuellen Position des Motors. Das Projekt wartet, bis der Motor seine Drehung beendet hat, bevor der nächste Block im Stapel ausgeführt wird.
drehe [ArmMotor v] [hoch v] für (90) [Grad v] ▶
Parameter |
Beschreibung |
|---|---|
Motor |
Der zu drehende Motor: ArmMotor oder ClawMotor. |
Richtung |
Die Drehrichtung des Motors:
|
Distanz |
Die Strecke, die der Motor zurücklegt. Gradangaben werden als ganze Zahlen angegeben. Umdrehungen können als ganze Zahlen oder Dezimalzahlen angegeben werden. |
Einheit |
Die Entfernungseinheit: Grad oder Umdrehungen. |
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
[Raise the Arm to carry the Pin to the Goal.]
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
Drehmotor in Position#
Der Drehmotor-Positionierungsblock dreht einen Motor in eine bestimmte Position.
Die Position eines Motors gibt an, wie weit er sich gedreht hat, gemessen in Grad oder Umdrehungen. Eine Umdrehung entspricht 360 Grad. Zu Beginn eines Projekts ist die Position des Armmotors auf 0 Grad eingestellt. Der ClawMotor bildet die Ausnahme – er startet bei 467 Grad (vollständig geschlossen). Die Motorposition kann auch mit dem Block Motorposition festlegen eingestellt werden.
Positionswerte sind absolut. Das bedeutet, dass die Drehrichtung von der aktuellen Position des Motors abhängt.
Wenn der Motor beispielsweise bei 0 Grad startet und sich bis zu einer Position von 720 Grad dreht, dreht er sich zwei Umdrehungen vorwärts. Dreht er sich anschließend bis zu einer Position von 360 Grad, dreht er sich eine Umdrehung rückwärts, da 360 kleiner als 720 ist.
drehe [ArmMotor v] zu Position (90) [Grad v] ▶
Parameter |
Beschreibung |
|---|---|
Motor |
Der zu drehende Motor: ArmMotor oder ClawMotor. |
Position |
Der Positionswert, bis zu dem sich der Motor dreht. Grad werden als ganze Zahlen angegeben. Umdrehungen können als ganze Zahlen oder Dezimalzahlen angegeben werden. |
Einheit |
Die Positionseinheit: Grad oder Umdrehungen. |
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
[Raise the Arm, then release the Pin.]
drehe [ArmMotor v] zu Position (800) [Grad v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
Motor stoppen#
Der Motorstopp-Block stoppt den ausgewählten Motor.
stoppe [ArmMotor v]
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, der gestoppt werden soll: ArmMotor oder ClawMotor. |
Beispiel
wenn gestartet
[Raise the Arm partway to hold the Pin.]
drehe [ArmMotor v] [hoch v]
warte (1) Sekunden
stoppe [ArmMotor v]
Einstellungen#
Motorgeschwindigkeit einstellen#
Der Motorgeschwindigkeit einstellen-Block legt fest, wie schnell sich ein Motor drehen soll. Ein höherer Prozentwert beschleunigt die Drehung, ein niedrigerer Prozentwert verlangsamt sie.
Jedes Projekt beginnt standardmäßig damit, dass jeder Motor mit 50 % Drehzahl läuft.
Hinweis: Eine höhere Drehzahl lässt den Motor schneller drehen, kann aber die Präzision verringern. Eine niedrigere Drehzahl lässt den Motor langsamer drehen, kann aber die Präzision erhöhen.
setze [ArmMotor v] Geschwindigkeit auf [50] [% v]
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, dessen Geschwindigkeit eingestellt werden soll: ArmMotor oder ClawMotor. |
Geschwindigkeit |
Die Drehzahl des Motors. Prozent werden in ganzen Zahlen von 0 % bis 100 % angegeben. |
Einheit |
Die Geschwindigkeitseinheit: %. |
Beispiel
wenn gestartet
[Raise the Arm fast to release the Pin.]
setze [ArmMotor v] Geschwindigkeit auf [100] [% v]
drehe [ArmMotor v] [hoch v] für (800) [Grad v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
Motor-Timeout einstellen#
Der Block „Motor-Timeout festlegen“ bestimmt, wie lange ein Motor versucht, eine Bewegung abzuschließen. Schafft er es nicht, die Bewegung innerhalb dieser Zeit zu beenden, bricht er den Versuch ab und fährt mit dem nächsten Block im Stapel fort. Dadurch wird verhindert, dass der Motor bei einer Bewegung hängen bleibt.
setze [ArmMotor v] Zeitlimit auf [1] Sekunden
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, für den das Timeout eingestellt werden soll: ArmMotor oder ClawMotor. |
Zeit |
Die Anzahl der Sekunden, die der Motor versuchen kann, eine Bewegung abzuschließen. Dies kann eine ganze Zahl oder eine Dezimalzahl sein. |
Beispiel
wenn gestartet
[Score a Pin in a Neutral Goal.]
drehe [links v] für (110) Grad ▶
setze [ArmMotor v] Zeitlimit auf [1] Sekunden
drehe [ArmMotor v] [hoch v] für (1800) [Grad v] ▶
fahre [vorwärts v] für (25) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
Position#
Motorposition#
Die Position eines Motors wird in Grad oder Umdrehungen gemessen und gibt an, wie weit er sich gedreht hat. Eine Umdrehung entspricht 360 Grad. Der Block zur Meldung der Motorposition gibt die aktuelle Position des Motors aus.
Zu Beginn eines Projekts ist die Position des Armmotors auf 0 Grad eingestellt. Der Klauenmotor bildet die Ausnahme – er startet bei 467 Grad (vollständig geschlossen). Dreht sich der Motor eine volle Umdrehung vorwärts, erhöht sich die Position. Dreht er sich in die andere Richtung, verringert sie sich.
([ArmMotor v] Position in [Grad v])
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, der die Position von ArmMotor oder ClawMotor melden soll. |
Einheit |
Die Einheit, in der die Motorposition angegeben werden soll: Grad oder Umdrehungen. |
Beispiel
wenn gestartet
[Raise the Arm, then release the Pin.]
solange <([ArmMotor v] Position in [Grad v]) < (800)>
drehe [ArmMotor v] [hoch v]
warte (0.002) Sekunden
Ende
stoppe [ArmMotor v]
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
Motorposition einstellen#
Die Position eines Motors gibt an, wie weit er sich gedreht hat, gemessen in Grad oder Umdrehungen. Eine Umdrehung entspricht 360 Grad. Der Block „Motorposition festlegen“ ändert die aktuelle Motorposition auf einen neuen Wert.
Hat sich ein Motor beispielsweise um 180 Grad gedreht, wird durch Einstellen der Position auf 0 Grad diese Position von 180 auf 0 Grad zurückgesetzt. Anschließend kann sich der Motor basierend auf diesem neuen Wert in verschiedene Positionen drehen.
setze [ArmMotor v] Position auf (0) [Grad v]
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, der die Position einstellt: ArmMotor oder ClawMotor. |
Position |
Der für den Motor einzustellende Positionswert. Grad werden als ganze Zahlen angegeben. Umdrehungen können als ganze Zahlen oder Dezimalzahlen angegeben werden. |
Einheit |
Die Positionseinheit: Grad oder Umdrehungen. |
Beispiel
wenn gestartet
[Reset encoder, raise Arm, place Pin.]
setze [ArmMotor v] Position auf (0) [Grad v]
drehe [ArmMotor v] zu Position (800) [Grad v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
Werte#
Der Motor ist fertig.#
Der boolesche Block Motor beendet meldet, ob der Motor seine Bewegung abgeschlossen hat. Dies kann genutzt werden, um den Zeitpunkt anderer Aktionen basierend auf der Motorbewegung zu steuern.
Wahr — Der Motor hat seine Bewegung beendet.
Falsch — Der Motor dreht sich noch.
Dieser Block arbeitet mit den folgenden Motion-Blöcken zusammen, die den Parameter und nicht warten haben: Motor drehen für und Motor drehen zu Position.
<[ArmMotor v] abgeschlossen?>
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, der meldet, ob er seine Bewegung beendet hat: ArmMotor oder ClawMotor. |
Beispiel
wenn gestartet
[Raise the Arm while driving to the Goal.]
drehe [ArmMotor v] zu Position (800) [Grad v] ◀ und nicht warten
warte (0.1) Sekunden
solange <nicht <[ArmMotor v] abgeschlossen?>>
fahre [vorwärts v]
warte (0.005) Sekunden
Ende
Fahren stoppen
Der Motor dreht sich#
Der boolesche Block „Motor dreht sich“ meldet, ob sich der Motor dreht. Dies kann genutzt werden, um den Zeitpunkt anderer Aktionen basierend auf der Motorbewegung zu steuern.
Wahr — Der Motor dreht sich.
Falsch — Der Motor dreht sich nicht.
Dieser Block arbeitet mit den folgenden Motion-Blöcken zusammen, die den Parameter und nicht warten haben: Motor drehen für und Motor drehen zu Position.
<[ArmMotor v] dreht?>
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, der meldet, ob er sich dreht: ArmMotor oder ClawMotor. |
Beispiel
wenn gestartet
[Raise the Arm while driving to the Goal, then release the Pin.]
drehe [ArmMotor v] zu Position (800) [Grad v] ◀ und nicht warten
warte (0.1) Sekunden
solange <[ArmMotor v] dreht?>
fahre [vorwärts v] für (20) [mm v] ▶
Ende
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
Motorgeschwindigkeit#
Der Motorgeschwindigkeits-Reporterblock gibt an, wie schnell sich der Motor dreht, und zwar als Prozentsatz von -100% bis 100%.
([ArmMotor v] Geschwindigkeit in [% v] :: custom-motion)
Parameter |
Beschreibung |
|---|---|
Motor |
Der Motor, dessen Geschwindigkeit gemeldet werden soll: ArmMotor oder ClawMotor. |
Einheit |
Die Einheit, in der die Motorgeschwindigkeit angegeben werden soll: %. |
Beispiel
wenn gestartet
[Show Arm Motor velocity while raising.]
setze [ArmMotor v] Geschwindigkeit auf [100] [% v]
drehe [ArmMotor v] zu Position (800) [Grad v] ◀ und nicht warten
warte (0.2) Sekunden
drucke ([ArmMotor v] Geschwindigkeit in [% v] :: custom-motion) auf Bildschirm ◀ und Cursor in nächste Zeile
KI-Vision#
Aktionen#
Objektdaten abrufen#
Der Block Objektdaten abrufen filtert Daten aus dem AI Vision Sensor-Frame zu einer einzigen Signatur – einer gespeicherten Beschreibung von etwas, das der Sensor erkennen kann, wie zum Beispiel ein Spielelement auf dem Spielfeld.
Der Datensatz speichert Objekte, sortiert nach ihrer Breite von groß nach klein, beginnend mit Index 0. Auf die Eigenschaften jedes Objekts kann über den Block AI Vision-Objekteigenschaft zugegriffen werden. Wird kein passendes Objekt gefunden, wird ein leerer Datensatz zurückgegeben.
hole [KI-Klassifikationen v] Daten von [AIVision v]
Parameter |
Beschreibung |
|---|---|
Unterschrift |
Filtert den Datensatz, sodass nur Daten der angegebenen Signatur enthalten sind. Verfügbare Signaturen:
|
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
[Turn to face the Pin.]
setze Drehgeschwindigkeit auf (30) [% v]
für immer
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
if <([AIVision v] Objekt [centerX v]) < (140)> then
drehe [links v]
else if <([AIVision v] object [centerX v]) > (180)> then
drehe [rechts v]
sonst
Fahren stoppen
Abbruch
Ende
Ende
Ende
Einstellungen#
Objektelement festlegen#
Der Block set object item legt fest, welches Element im Datensatz verwendet werden soll.
setze [AIVision v] Objektelement auf [1]
Parameter |
Beschreibung |
|---|---|
Artikel |
Die Nummer des zu verwendenden Elements im Datensatz. |
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
hole [KI-Klassifikationen v] Daten von [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
wenn <[AIVision v] Objekt vorhanden?> dann
[If any AI Classification is detected, check if any of them are a specific game element.]
wenn <[AIVision v] Objekt ist [RedBluePin v]?> dann
drucke [RedBluePin detected.] ▶
sonst
drucke [No RedBluePin detected.] ▶
Ende
Ende
Werte#
Objekt existiert#
Der Objekt existiert-Block gibt einen booleschen Wert zurück, der angibt, ob im Datensatz ein Objekt gefunden wurde.
Wahr – Der Datensatz enthält ein erkanntes Objekt.
Falsch – Der Datensatz enthält keine erkannten Objekte.
<[AIVision v] Objekt vorhanden?>
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
hole [KI-Klassifikationen v] Daten von [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
wenn <[AIVision v] Objekt vorhanden?> dann
drucke ([AIVision v] Objektanzahl) ◀ und Cursor in nächste Zeile
Ende
Objekt ist#
Der Objekt ist-Block gibt einen booleschen Wert zurück, der angibt, ob ein erkanntes Objekt einer bestimmten Klassifizierung entspricht.
Wahr – Das Element im Datensatz ist das spezifische Objekt.
Falsch – Das Element im Datensatz ist nicht das gesuchte Objekt.
<[AIVision v] Objekt ist [RedBluePin v]?>
Parameter |
Beschreibung |
|---|---|
Objekt |
Mit welchem Objekt soll der Artikel verglichen werden?
|
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
wenn <[AIVision v] Objekt ist [RedBluePin v]?> dann
drucke [RedBluePin detected.] ▶
sonst
drucke [No RedBluePin detected.] ▶
Ende
Ende
Objekt ist AprilTag#
Der Block object is AprilTag gibt einen booleschen Wert zurück, der angibt, ob es sich bei dem erkannten Objekt um einen AprilTag handelt, der einer bestimmten ID entspricht.
True – Das erkannte Objekt ist ein AprilTag mit der angegebenen ID.
Falsch – Das erkannte Objekt ist kein AprilTag mit der angegebenen ID.
<[AIVision v] Objekt ist AprilTag [0]?>
Parameter |
Beschreibung |
|---|---|
AprilTag ID |
Die ID-Nummer zum Vergleich mit dem erkannten AprilTag. |
Beispiel
wenn gestartet
[Report if AprilTag 3 is detected.]
hole [AprilTags v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
wenn <[AIVision v] Objekt ist AprilTag [3]?> dann
drucke [That is 3!] ▶
sonst
drucke [That isn't 3!] ▶
Ende
Ende
Objektanzahl#
Der Objektanzahl-Block gibt die Anzahl der im Datensatz erkannten Objekte als ganze Zahl zurück.
([AIVision] Objektanzahl)
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
drucke ([AIVision v] Objektanzahl) ◀ und Cursor in nächste Zeile
Ende
Objekteigenschaft#
Es gibt sechs Eigenschaften, die zu jedem Objekt gehören (siehe unten), das nach der Verwendung des Blocks get object data gespeichert wird.
([AIVision v] Objekt [Breite v])
Alle Eigenschaftswerte beschreiben Position und Größe des erkannten Objekts im Sichtfeld des KI-Vision-Sensors zum Zeitpunkt der Verwendung des Blocks „Objektdaten abrufen“. Diese Werte werden in Pixeln gemessen, basierend auf der Auflösung des Sensors von 320 x 240 Pixeln.
Parameter |
Beschreibung |
|---|---|
Eigentum |
Which property of the detected object to use: |
Breite#
Die width-Eigenschaft gibt die Breite des erkannten Objekts in Pixeln als ganze Zahl von 1 bis 320 an.
([AIVision v] Objekt [Breite v])
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
[Approach the next Cup and Pin.]
setze Fahrgeschwindigkeit auf (30) [% v]
für immer
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
if <([AIVision v] object [width v]) > (140)> then
Fahren stoppen
Abbruch
sonst
fahre [vorwärts v]
Ende
Ende
Ende
Höhe#
Die height-Eigenschaft gibt die Höhe des erkannten Objekts in Pixeln als ganze Zahl von 1 bis 240 an.
([AIVision v] Objekt [Höhe v])
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
[Approach the next Cup and Pin.]
setze Fahrgeschwindigkeit auf (30) [% v]
für immer
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
if <([AIVision v] object [height v]) > (200)> then
Fahren stoppen
Abbruch
sonst
fahre [vorwärts v]
Ende
Ende
Ende
centerX#
Die centerX-Eigenschaft gibt die x-Koordinate des Mittelpunkts des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 320 an.
([AIVision v] Objekt [centerX v])
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
[Turn and approach the next Cup and Pin.]
setze Drehgeschwindigkeit auf (30) [% v]
für immer
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
if <([AIVision v] Objekt [centerX v]) < (140)> then
drehe [links v] für (5) Grad ▶
sonst
fahre [vorwärts v] für (25) [Zoll v] ▶
Abbruch
Ende
Ende
Ende
ZentrumY#
Die centerY-Eigenschaft gibt die y-Koordinate des Mittelpunkts des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 240 an.
([AIVision v] Objekt [centerY v])
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
[Approach the next Cup and Pin.]
setze Fahrgeschwindigkeit auf (30) [% v]
für immer
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
if <([AIVision v] object [centerY v]) > (230)> then
Fahren stoppen
Abbruch
sonst
fahre [vorwärts v]
Ende
Ende
Ende
originX#
Die originX-Eigenschaft gibt die x-Koordinate der oberen linken Ecke des Begrenzungsrahmens des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 320 an.
([AIVision v] Objekt [originX v])
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
[Turn and approach the next Cup and Pin.]
setze Drehgeschwindigkeit auf (30) [% v]
für immer
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
if <([AIVision v] Objekt [originX v]) < (100)> then
drehe [links v] für (5) Grad ▶
sonst
fahre [vorwärts v] für (25) [Zoll v] ▶
Abbruch
Ende
Ende
Ende
UrsprungY#
Die originY-Eigenschaft gibt die y-Koordinate der oberen linken Ecke des Begrenzungsrahmens des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 240 an.
([AIVision v] Objekt [originY v])
Beispiel
wenn gestartet
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
drehe [links v] für (70) Grad ▶
[Approach the next Cup and Pin.]
setze Fahrgeschwindigkeit auf (30) [% v]
für immer
hole [KI-Klassifikationen v] Daten von [AIVision v]
wenn <[AIVision v] Objekt vorhanden?> dann
if <([AIVision v] object [originY v]) > (140)> then
Fahren stoppen
Abbruch
sonst
fahre [vorwärts v]
Ende
Ende
Ende
Sensorik#
Distanz#
Entfernung, die ein Objekt gefunden hat#
Der boolesche Block Entfernung: Objekt gefunden gibt an, ob der Entfernungssensor aktuell ein Objekt innerhalb von 2000 mm erkennt.
Wahr — Der Abstandssensor erkennt ein Objekt.
Falsch — Der Abstandssensor erkennt kein Objekt.
<[FrontDistance v] Objekt gefunden?>
Parameter |
Beschreibung |
|---|---|
Abstandssensor |
Der zu verwendende Distanzsensor. Wählen Sie aus den für Flex verfügbaren Distanzsensoren. |
Beispiel
wenn gestartet :: hat events
[Turn until something is detected, then release the Pin.]
drehe [rechts v]
warte bis <[FrontDistance v] Objekt gefunden?>
Fahren stoppen
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
Objektentfernung#
Der Objektdistanz-Reporterblock meldet die Distanz zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt.
([FrontDistance v] Abstand in [mm v])
Parameter |
Beschreibung |
|---|---|
Abstandssensor |
Der zu verwendende Distanzsensor. Wählen Sie aus den für Flex verfügbaren Distanzsensoren. |
Einheit |
Die Entfernungseinheit: mm oder Zoll. |
Beispiel
wenn gestartet :: hat events
[Drive until 200 mm from the Goal, then release the Pin.]
fahre [vorwärts v]
warte bis <([FrontDistance v] Abstand in [mm v]) < (200)>
Fahren stoppen
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
GPS#
GPS-Position#
Der GPS-Positionsblock gibt die Positionsabweichung des Drehpunkts des Roboters vom Mittelpunkt des Spielfelds mithilfe des GPS-Sensors (Game Positioning System™) zurück.
([GPS v] Position [X v] in [mm v])
Parameter |
Beschreibung |
|---|---|
Achse |
Welche Achse soll angezeigt werden:
|
Einheiten |
Die Einheit zur Angabe der Position: mm oder Zoll |
Beispiel
wenn gestartet :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v]
wait until <([GPS v] position [X v] in [mm v]) > (-1370)>
Fahren stoppen
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
GPS-Kurs#
Der GPS-Richtungsblock gibt die Richtung zurück, in die der Roboter aktuell zeigt, basierend auf den Messwerten des GPS-Sensors (Game Positioning System™) aus dem VEX GPS-Feldcode von 0,00 bis 359,99 Grad.
([GPS v] Kurswinkel in Grad)
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
drehe [ArmMotor v] [hoch v] für (300) [Grad v] ▶
fahre [vorwärts v] für (10) [Zoll v] ▶
drehe [ClawMotor v] [open v] für (180) [Grad v] ▶
[Turn left to face the Neutral Goal.]
setze Drehgeschwindigkeit auf (30) [% v]
drehe [links v]
warte bis <([GPS v] Kurswinkel in Grad) < (18)>
Fahren stoppen