Collegamento alla concorrenza: punto di svolta - Python
Capacità del robot
Nel gioco Turning Point della VEX Robotics Competition 2018-2019, i giocatori dovevano alternare le bandiere tra gli altri elementi del gioco. In totale c'erano nove bandiere: tre bandiere in basso che potevano essere alzate dal robot e sei bandiere in alto che potevano essere alzate solo colpendole con i pezzi del gioco della palla da competizione. Le squadre in gara dovevano trovare un modo per colpire le bandierine più alte utilizzando un lanciatore di palline. Se potete immaginare, programmare il robot affinché colpisca le bandierine usando i pezzi di un gioco con la palla misurando potrebbe non essere sempre preciso. Se il robot sbaglia una svolta durante il periodo di autonomia, è possibile che nessuna delle bandierine venga colpita perché i calcoli sarebbero sbagliati. Allo stesso modo, per la sfida Driving Skills, potrebbe essere difficile per le squadre allineare manualmente il robot in modo sufficiente a lanciare la palla correttamente. Pertanto, team qualificati programmerebbero il robot utilizzando il sensore visivo per rilevare le bandierine e quindi allineerebbero correttamente il robot per effettuare tiri precisi.
Amplia il tuo apprendimento
Per ampliare questa attività, chiedi ai tuoi studenti di progettare e delineare un progetto in cui il robot si muoverà verso gli oggetti gialli rilevati che potrebbero potenzialmente utilizzare per questo gioco competitivo!
Chiedi ai tuoi studenti di fare quanto segue:
-
Aprire il progetto di esempio del modello Clawbot (Trasmissione, 2 motori, senza giroscopio).
- Utilizzare il progetto di esempio Rilevamento oggetti (Visione) come riferimento durante la programmazione del sensore visivo. Utilizzare il progetto di esempio Rilevamento oggetti (Visione) come riferimento durante la programmazione del sensore visivo (Google Doc / .v5python).
-
Aggiungere il sensore visivo alla configurazione Clawbot (trasmissione, 2 motori, senza giroscopio), quindi configurare il sensore visivo per rilevare oggetti rossi e blu. Per ulteriori informazioni, fare riferimento agli articolie del sensore visivo.
- Programmare il Clawbot affinché si muova verso l'oggetto rilevato. Il Clawbot può addirittura essere programmato per alzare il braccio come se dovesse muovere una bandiera!
- Scarica ed esegui il progetto per se il sensore visivo riesce a rilevare oggetti gialli come le palline gialle nel gioco VRC Turning Point. Se il sensore visivo riesce a rilevare oggetti, il robot si muove in base agli oggetti rilevati? Per assistenza nel download e nell'esecuzione di un progetto, visualizza questo articolo.
- Se il tempo lo consente, allestisci un campo di gioco simile al campo Turning Point. Esercitati a usare il sensore visivo per consentire al robot di muoversi e segnare punti!
Visualizza la soluzione di esempio qui sotto:
# La libreria importa
da vex import *
# Inizia il codice del progetto
check_yellow = Event()
def check_yellow_callback():
brain.screen.set_font(FontType.MONO40)
brain.screen.clear_row(3)
brain.screen.set_cursor(3, 1)
vision_5_objects = vision_5.take_snapshot(vision_5__YELLOWBOX)
if (vision_5_objects):
arm_motor.spin_for(FORWARD, 300, DEGREES)
claw_motor.spin_for(FORWARD, 100, DEGREES)
drivetrain.drive_for(FORWARD, 12, INCHES)
arm_motor.spin_for(REVERSE, 300, DEGREES)
claw_motor.spin_for(REVERSE, 100, GRADI)
else:
brain.screen.print("Nessun oggetto giallo")
# gestori eventi di sistema
check_yellow(check_yellow_callback)
# piccolo ritardo per garantire che i gestori eventi siano pronti per essere utilizzati
wait(15, MSEC)
# viene eseguito costantemente per verificare la presenza di nuovi dati del sensore
while True:
check_blue.broadcast_and_wait()
wait(105, MSEC)