Il modello di competizione è un progetto di esempio che include già i comandi per comunicare con il sistema di controllo del campo durante le competizioni, garantisce che i comandi siano conformi ai regolamenti del campo e aiuta nella configurazione dei progetti al fine di evitare complicazioni e squalifiche ("competizione" si riferisce a un evento VEX V5 Robotics Competition che utilizza l'hardware ufficiale di controllo del campo).
Apri il modello del concorso dalla pagina degli esempi.
Il modello è suddiviso in tre sezioni: Pre-autonoma, Modalità autonoma e Controllo del conducente.
# Inizio codice progetto
def pre_autonomous():
# azioni da eseguire all'avvio del programma
brain.screen.clear_screen()
brain.screen.print("codice pre-autonomo")
wait(1, SECONDI)
def autonomous():
brain.screen.clear_screen()
brain.screen.print("codice autonomo")
# inserisci qui il codice autonomo
def user_control():
brain.screen.clear_screen()
# inserisci il controllo del conducente in questo ciclo while
while True:
wait(20, MSEC)
# crea istanza di competizione
comp = Competition(user_control, autonomous)
pre_autonomous()
Nota: Affinché il tuo progetto funzioni in una competizione, devi lasciare queste funzioni nel tuo progetto. Aggiungere i comandi dove indicato nei commenti per ciascuna sezione.
Utilizzare la funzione pre_autonomous per qualsiasi configurazione
def pre_autonomous():
# azioni da eseguire all'avvio del programma
brain.screen.clear_screen()
brain.screen.print("codice pre_autonomo")
wait(1, SECONDI)
La funzionepre_autonomous viene utilizzata per qualsiasi configurazione di cui il robot potrebbe aver bisogno, come la calibrazione di un giroscopio, l'impostazione di variabili o altre impostazioni del dispositivo. Questi comandi verranno eseguiti immediatamente all'avvio del progetto, prima dell'inizio della parte autonoma della partita.
Assicurarsi che tutti i comandi siano correttamente indentati in modo che la linea guida sia visibile tra le funzionipre_autonomous eautonomous.
Nota: Se non è necessaria alcuna configurazione, questa funzione può rimanere vuota.
Autonomo
def autonomous():
brain.screen.clear_screen()
brain.screen.print("codice autonomo")
# inserisci qui il codice autonomo
La funzione autonoma viene utilizzata per controllare il robot durante la fase autonoma di una gara VRC. I comandi all'interno di questa funzione verranno eseguiti all'inizio del periodo autonomo della partita.
Assicurarsi che tutti i comandi siano correttamente indentati in modo che la linea guida sia visibile tra le funzionipre_autonomous eautonomous.
Nota: Se non è necessaria alcuna configurazione, questa funzione può rimanere vuota.
Controllo umano
def user_control():
brain.screen.clear_screen()
# posiziona il controllo del driver in questo ciclo while
while True:
wait(20, MSEC)
La funzione user_control viene utilizzata per controllare il robot durante la fase di controllo del pilota in una gara VRC. I comandi all'interno di questa funzione verranno eseguiti all'inizio del periodo di controllo del pilota durante la partita.
Nota: Il ciclo while True è mostrato sopra in modo che il robot risponda all'input del controller V5 per tutta la durata della partita.
Assicurarsi che tutti i comandi siano correttamente indentati all'interno del ciclowhile True durante la codifica della parte di controllo utente. Come mostrato qui, dovrebbero essere visibili due linee guida. Uno perché lomentre True è all'interno della funzione user_control. L'altro per garantire che i comandi siano all'interno del ciclowhile True.