Skip to main content

VEX V5 Clawbot mit hochgeklapptem Arm und geöffneter Klaue.
VEX V5 Clawbot mit hochgeklapptem Arm und offener Klaue.

Die Groove-Maschine-Herausforderung

In dieser Herausforderung wirst du dich in Teams aufteilen und deinen Roboter so programmieren, dass er mit deinem Wissen über Loops eine Tanzroutine durchläuft. Ihr Lehrer wird ein Zeitlimit für die Entwicklung/Erprobung des Tanzes und ein Zeitlimit für die Länge des Tanzes festlegen. Jeder, der nicht zu den konkurrierenden Kopf-an-Kopf-Tanzteams gehört, wird die Tänze beurteilen und über das Team abstimmen, das er für das Beste hält.

Regeln:

  • Jeder Clawbot tanzt einzeln innerhalb des 1x1-Meter-Bereichs.
  • Das Tanzen wird fortgesetzt, bis die Stopp-Taste auf dem Bildschirm des Gehirns gedrückt wird, um das Projekt zu stoppen.
  • Der Arm muss angehoben und abgesenkt werden.
  • Die Klaue muss sich öffnen und schließen.
  • Der Clawbot muss nach links und rechts abbiegen.
  • Der Clawbot muss vorwärts und rückwärts fahren.
  • Das Projekt muss sofort gestoppt werden, wenn der Clawbot mit irgendetwas kollidiert oder umfällt. Das ist ein verlorener Tanz.

Lehrer-Toolbox-Symbol Lehrer-Toolbox

Die Beurteilung für diesen Wettbewerb könnte auf verschiedene Weise erfolgen. Eine Möglichkeit, das Engagement zu steigern, besteht darin, dass die Schüler den Tanzabend per Video aufzeichnen und Schüler aus anderen Klassen über den Gewinner abstimmen lassen. Wenn dies zu ehrgeizig ist, sollten Sie eine Jury aus unparteiischen Richtern ernennen, bevor Sie mit dieser Herausforderung beginnen, oder andere Schüler, Lehrer oder Mitarbeiter hinzuziehen.

Die folgende Lösung ist lediglich eine Kombination aller drei beispielhaften Tanzschritte, die aneinandergereiht sind.

# Library import
from vex import *

# Begin project code
while True
    : arm_motor.spin_for (FORWARD, 300, DEGREES
    ) arm_motor.set_stopping (BRAKE)
    
    for repeat_count in range(3
        ): drivetrain.turn_for (RIGHT, 90, DEGREES)
        
        for repeat_claw in range(
            2): claw_motor.spin_for (REVERSE,
            90, DEGREES) claw_motor.spin_for (FORWARD, 90, DEGREES)
            wait
            
        (5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES)
        for repeat_claw
            in range(2): claw_motor.spin_for (
            REVERSE, 90, DEGREES) claw_motor.spin_for
            (FORWARD, 90, degrees)
            
        wait(5, MSEC)

    for repeat_count in range(2
        ): arm_motor.spin_for (FORWARD, 300,
        DEGREES) arm_motor.set_stopping
        (BRAKE) drivetrain.turn_for (RIGHT, 90, DEGREES)
        
        for repeat_turn in range
            (9): drivet.turn_for (LEFT, 10, DEGREES)
            wait
            
        (5, MSEC )_motor.spin_for (REVERSE, 300, DEGREES)
        wait (

    5, MSEC) arm_motor.set_velocity
    (80 PERCENT) drivetrain.turn_velocity (65, percent) count (2, MSEC
        )
    
    for repeat_count in range(3, 300, DEGREES)
        
        for repeat_
            claw in range (LEFT, 90,
            DEGREES): drivetrain.turn_for (left,
            90, DEGREES) for (
            
        REVERSE, 90, DEGREES) drivetrain.spin_for
        (5, degrees):