Utilizzo del modello di competizione Python in VEXcode V5

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.

Barra degli strumenti di VEXcode V5 con il menu File aperto e l'opzione Apri esempi evidenziata. Apri esempi è la quinta opzione del menu, sotto Nuovo progetto a blocchi, Nuovo progetto di testo, Apri e Apri recenti.


Nel menu Progetti di esempio, nella categoria Modelli, è evidenziato il progetto di esempio Modello per concorsi.


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.

Progetto VEXcode V5 Python Competition Template con la funzione pre_autonomous() mostrata. Le righe rientrate dopo la dichiarazione della funzione sono evidenziate per indicare che ogni riga all'interno di una funzione deve essere rientrata.

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.

Progetto VEXcode V5 Python Competition Template con la funzione autonomous() mostrata. Le righe rientrate dopo la dichiarazione della funzione sono evidenziate per indicare che ogni riga all'interno di una funzione deve essere rientrata.

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.

Progetto VEXcode V5 Python Competition Template con la funzione user_control() mostrata. Diverse righe vuote con doppia indentazione all'interno del ciclo while True sono evidenziate per indicare che ogni riga all'interno di questo ciclo deve essere rientrata due volte.

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.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: