Risoluzione dei problemi dei sensori VEX V5

Quando il tuo robot non si comporta come previsto mentre utilizza il feedback del sensore, puoi seguire una procedura di risoluzione dei problemi passo passo per individuare e risolvere i problemi. Questo articolo spiegherà i passaggi di un processo di risoluzione dei problemi e fornirà suggerimenti su come utilizzare questi passaggi.

Le fasi di questo processo sono:

  1. Identificare il problema
  2. Controllare l'hardware
  3. Controlla il software
  4. Analizzare e applicare i dati

Identificare il problema

Il primo passo per la risoluzione dei problemi del sensore è identificare quale sensore causa il problema. Confrontare il comportamento del robot osservato con il comportamento del robot previsto. Il comportamento problematico è causato da un sensore? Se sì, quale sensore? Se hai bisogno di maggiori informazioni per determinare quale sensore potrebbe essere il problema, leggi gli articoli seguenti relativi ai sensori del tuo robot.

Sensori VEX V5:

Una volta identificato quale sensore causa il comportamento indesiderato, puoi andare avanti nel processo.


Verifica l'hardware

Il secondo passo è controllare l'hardware del robot per essere sicuri che il sensore possa funzionare come previsto. Ognuna delle seguenti considerazioni sull'hardware potrebbe influire sulla funzionalità del sensore.

Verifica il posizionamento del sensore

V5 Clawbot in movimento su un campo. Il robot è dotato di un sensore ottico integrato, evidenziato e puntato verso una fullerene rossa posta di fronte a esso.

Inizia osservando dove si trova il sensore sul tuo robot. Il sensore è bloccato da qualcosa, ad esempio da un'altra parte del tuo robot? Assicurarsi che il sensore disponga dello spazio necessario per funzionare come previsto.

Come mostrato qui, il sensore ottico ha una linea di visione chiara verso l'oggetto che deve rilevare.

Controllare la connessione del sensore

La schermata Brain viene visualizzata nel menu Informazioni dispositivo, che contiene un elenco di tutte le Smart Port di Brain e dei dispositivi connessi. L'icona del sensore ottico nel menu Informazioni dispositivo è evidenziata per indicare che può essere selezionata per aprire il relativo menu informativo.

Testa la funzionalità del sensore osservando i dati riportati nella schermata Dispositivi sul cervello VEX V5. Questo può aiutarti a verificare che il sensore sia collegato e funzioni. 

Per accedere alla schermata Dispositivi, i passaggi descritti in questo articolo. Una volta aperta la schermata Dispositivi, verificare se il sensore è visibile nella posizione della porta corretta e nei dati di reporting. Qui il sensore ottico viene rilevato nella Smart Port 11.

Nella figura è mostrato il V5 Brain collegato a una batteria V5 e a un dispositivo V5 Smart Motor. Il cavo dello Smart Motor è collegato a una delle Smart Port del Brain.Unità centrale V5 con un dispositivo a 3 fili collegato a una delle sue porte a 3 fili.

Se il sensore non riporta dati, assicurati che i sensori siano collegati correttamente. Quando colleghi i sensori a una Smart Port, dovresti sentire uno scatto quando la linguetta di bloccaggio del sensore è completamente agganciata a una porta.

Quando si collegano i sensori a una porta a 3 fili, il cavo deve essere completamente inserito nell'orientamento corretto con il filo bianco più vicino allo schermo Brain. 

Puoi anche provare a sostituire il sensore che stai utilizzando con un altro per vedere se questo risolve il problema.

Se hai modificato qualcosa nel posizionamento o nella connessione del sensore, prova di nuovo il progetto per vedere se questo ha risolto il problema. Se il posizionamento e la connessione del sensore non sono cambiati, vai al passaggio successivo per continuare il processo di risoluzione dei problemi.


Controlla il software

Una volta verificato che il sensore sia posizionato e collegato correttamente al robot, è possibile passare al progetto VEXcode V5. L'iterazione di un progetto può aiutarti a garantire che i dati del sensore vengano utilizzati in modo efficace nel tuo progetto. Le seguenti strategie possono aiutarti a codificare il tuo sensore.

Se applichi una di queste strategie al tuo progetto VEXcode V5, testa nuovamente il tuo progetto per vedere se questo ha risolto il problema.

Controlla firmware e configurazione

VEXcode V5 con un Brain collegato e il menu a tendina Brain aperto, a indicare che può essere utilizzato per controllare il firmware del Brain. Viene visualizzata la versione di VEXos e solo il pulsante "Aggiornamento forzato".

Innanzitutto, assicurati che il firmware del tuo V5 Brain sia aggiornato.

Consulta questo articolo per saperne di più sull'aggiornamento del firmware sul V5 Brain.

Menu Dispositivi di VEXcode V5 con un lungo elenco di dispositivi connessi visualizzati. Questo menu può essere utilizzato per verificare che ogni sensore sia collegato correttamente e per controllare la porta specifica a cui è collegato sul Brain.

Ora che sei sicuro che tutti i dispositivi siano collegati correttamente al Brain, controlla la configurazione del dispositivo in VEXcode V5.

Verificare che tutti i sensori siano presenti nella configurazione. Quindi, controlla che ognuno sia collegato alla porta corretta.

Modificare eventuali configurazioni errate del dispositivo.

Esegui un progetto di esempio

Il menu VEXcode Blocks Example Projects offre una varietà di progetti suddivisi in diverse categorie tra cui scegliere. La categoria Rilevamento è evidenziata.

Apri un progetto di esempio che utilizzi il sensore di cui stai risolvendo i problemi. Puoi selezionare la categoria "Sensing" per filtrare progetti di esempio.

Per ulteriori informazioni su progetti e modelli di esempio di V5 Blocks consultare questo.

Per ulteriori informazioni sui progetti e modelli di esempio V5 Python, questo.

Per ulteriori informazioni sui progetti e modelli di esempio C++ V5 consultare questo.

VEXcode V5 con un progetto di esempio aperto dalla categoria Sensing, comprendente una serie di blocchi di codice e una nota con la descrizione del progetto. La nota è evidenziata.

Una volta aperto, leggi la nota per determinare se la funzionalità nel progetto di esempio è in linea con ciò che stai tentando di fare con il sensore.

Nel progetto di esempio mostrato qui, la nota indica che lo stato dell'interruttore paraurti o dell'interruttore limite premuto verrà stampato sullo schermo del cervello. In questo caso True indica premuto e False indica non premuto. 

Esegui il progetto di esempio e osserva il comportamento del robot. Quindi guarda il progetto per vedere come vengono utilizzati i dati del sensore per provocare i comportamenti osservati. Potresti voler eseguire il progetto di esempio più volte per aiutarti in questo.

Potresti provare a creare il tuo progetto semplificato per applicare ciò che hai imparato dal progetto di esempio alla tua attività.

Utilizza altri strumenti VEXcode V5

Esistono anche strumenti e strategie che puoi utilizzare per aiutarti mentre impari di più sulla codifica del tuo sensore in VEXcode V5. Puoi conoscere i blocchi o i comandi nella Casella degli strumenti individualmente utilizzando la Guida. Puoi anche visualizzare i dati del sensore mentre un progetto è in esecuzione per saperne di più su ciò che il sensore sta segnalando.

VEXcode V5 con il menu Guida aperto e il blocco Pressione del pulsante selezionato. Vengono fornite descrizioni del blocco e del suo utilizzo, corredate da immagini di esempi.

L'aiuto

Leggi la Guida per i blocchi o i comandi nel progetto di esempio o nel tuo progetto per conoscere i dati utilizzati, quali valori riporterà il comando ed esempi di come utilizzare il comando in un progetto.

Visualizza questo articolo per ulteriori informazioni sull'accesso alla Guida in VEXcode V5 Blocks.

Visualizza questo articolo per ulteriori informazioni sull'accesso alla Guida in VEXcode V5 Python.

Visualizza questo articolo per ulteriori informazioni sull'accesso alla Guida in VEXcode V5 C++.

Stampa dei dati

Puoi anche stampare i dati dal sensore mentre il progetto di esempio o il tuo progetto è in esecuzione, per aiutarti a capire meglio cosa sta segnalando il sensore in tempo reale. Ciò può aiutarti a determinare quali valori riportati dal sensore utilizzare come parametri nel tuo progetto. 

Tieni presente che in un progetto Blocchi, è possibile utilizzare un blocco cappello {When started} separato per mantenere tutti i comandi di stampa organizzati nel proprio stack.

Blocchi VEXcode V5
Progetto VEXcode V5 Blocks che utilizza un ciclo Forever per stampare i dati dei sensori sul Brain durante l'esecuzione del progetto. La prima parte del progetto recita: All'avvio, imposta il carattere su Mono Extra Large su Brain. Successivamente, c'è un blocco ciclo infinito con 5 blocchi al suo interno. I blocchi nel ciclo leggono cancella tutte le righe su Brain, imposta il cursore sulla riga 1 colonna 1 su Brain e poi stampa Distanza (mm): su Brain. Successivamente, stampa Distance19 distanza dell'oggetto in mm su Brain e imposta il cursore sulla riga successiva, quindi attendi 0,5 secondi.
VEXcode V5 Python
# Inizio codice progetto

# Aumenta la dimensione del carattere per una migliore leggibilità sullo schermo di Brain
brain.screen.set_font(FontType.MONO40)

while True:
  # Ogni iterazione del ciclo cancellerà lo schermo
  brain.screen.clear_screen()
    
  # Dopo aver cancellato lo schermo, riporta il cursore di stampa nell'angolo in alto a sinistra
  brain.screen.set_cursor(1, 1)
  
  # Stampa un'etichetta e il valore della distanza dall'oggetto sulla stessa riga
  brain.screen.print("Distanza (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
Codice VEX V5 C++
int main() {

  // Aumenta la dimensione del carattere per una migliore leggibilità sullo schermo di Brain
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // Ogni iterazione del ciclo cancella lo schermo
    Brain.Screen.clearScreen();
    
    // Dopo aver cancellato lo schermo, riporta il cursore di stampa nell'angolo in alto a sinistra
    Brain.Screen.setCursor(1, 1);
    
    // Stampa un'etichetta e il valore della distanza dall'oggetto sulla stessa riga
    Brain.Screen.print("Distanza (mm): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, secondi);
    
  }
  
}

La stampa su V5 Brain è utile quando si desidera visualizzare i valori che cambiano durante l'esecuzione di un progetto VEXcode V5. Ciò può aiutarti a determinare quali valori riportati dal sensore utilizzare come parametri nel tuo progetto. Questi comandi di stampa possono essere integrati nel progetto VEXcode V5 che hai già creato in modo da poter vedere i valori del sensore cambiare in momenti specifici mentre il robot si muove. 

Questi progetti di esempio sopra mostrano come stampare i valori dal sensore di distanza al cervello V5. I commenti in ciascun progetto spiegano il flusso del progetto e l'utilizzo di ciascun comando.

Blocchi VEXcode V5
Progetto VEXcode V5 Blocks che utilizza un ciclo Forever per stampare i dati dei sensori nella console durante l'esecuzione del progetto. La prima parte del progetto recita: All'avvio, impostare la posizione di Rotazione15 a 0 gradi. Successivamente, c'è un blocco ciclo infinito con 3 blocchi al suo interno. I blocchi nel ciclo leggono stampa Posizione (gradi): sulla console, stampa Rotazione15 posizione in gradi sulla console e imposta il cursore sulla riga successiva e infine attendi 0,5 secondi.
VEXcode V5 Python
# Inizio codice progetto

# Reimposta il sensore di rotazione a 0 all'inizio del progetto
rotation_15.set_position(0, DEGREES)

while True:
  # Stampa un'etichetta e il valore della distanza dall'oggetto sulla stessa riga
  print("Posizione (gradi): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Attendi prima di stampare il valore, quindi ripeti il ​​ciclo
  wait(0.5, SECONDS)
Codice VEX V5 C++
int main() {

  // Reimposta il sensore di rotazione a 0 all'inizio del progetto
  Rotation15.setPosition(0.0, gradi);
  
  while(true) {
  
    // Stampa un'etichetta e il valore della distanza dall'oggetto sulla stessa riga
    printf("Posizione (gradi): %.2f\n", Rotation15.position(gradi));
    
    // Attendi prima di stampare il valore, quindi ripeti il ​​ciclo
    wait(0.5, secondi);
    
  }
  
}

Stampare nella Console di stampa in VEXcode V5 è consigliato quando si esegue un progetto VEXcode V5 in cui il robot NON si muove. Il V5 Brain deve rimanere collegato durante l'esecuzione del progetto per poter stampare su Print Console. Ciò è vantaggioso perché puoi leggere i valori dalla finestra VEXcode V5 invece di provare a leggere i dati dalla schermata Brain.

Questi esempi mostrano un progetto che stampa i dati dal sensore di rotazione alla console in VEXcode V5. 

Per ulteriori informazioni sull'utilizzo di Print Console nei blocchi VEXcode V5, vedere questo articolo.


Analizzare e applicare i dati

Successivamente, utilizza ciò che hai imparato nei passaggi precedenti per adattare il tuo progetto originale. Puoi continuare a utilizzare strumenti come la Guida e la stampa dei dati per consentirti di utilizzare il sensore in modo efficace per raggiungere il tuo obiettivo.

Puoi anche porre domande sul tuo progetto per aiutarti ad andare avanti. Pensa a cose come:

  • Stai utilizzando più di < o meno di > nel tuo progetto? Il simbolo è rivolto nella direzione giusta? Se stai usando uguale a = prova a sostituirlo con maggiore o minore di, per utilizzare un intervallo di valori.
  • I parametri sono corretti? Stai utilizzando i dati del sensore per impostare i parametri? Hai scelto l'opzione a discesa di cui hai bisogno?
  • Stai controllando le condizioni più di una volta? Prova ad aggiungere un ciclo Forever al tuo progetto, in modo che la condizione venga controllata ripetutamente quando il progetto viene eseguito.
  • Il tuo progetto si blocca? Le tue condizioni sono impostate correttamente? Se utilizzi cicli nidificati, prova a semplificare il tuo progetto per isolare i singoli comportamenti.
  • Le condizioni ambientali influenzano il sensore? È troppo chiaro o troppo scuro? Ci sono oggetti o persone nel percorso? Prova a eseguire il tuo progetto in una posizione diversa per vedere se questo aiuta.
  • Stai eseguendo la versione più recente del tuo progetto? Hai scaricato il tuo progetto aggiornato su Brain? Assicurati di scaricare nuovamente il progetto ogni volta che apporti una modifica.
  • Stai rilevando il colore corretto? Il sensore segnala un colore diverso da quello presente nel tuo progetto? Prova a modificare il parametro del colore o a utilizzare un intervallo di valori di tonalità per vedere se questo aiuta.
  • Stai rilevando un oggetto nel campo visivo del sensore? Ricordare che il campo visivo si sposta insieme al movimento del robot.
  • Si sta utilizzando un blocco di attesa durante il controllo di una condizione? Assicurarsi di utilizzare blocchi non in attesa in un progetto quando si verifica una condizione. Consulta questo articolo per saperne di più sui blocchi di attesa e non di attesa in VEXcode V5.
  • Se stai codificando in blocchi, l'intero stack è collegato al blocco {When started} cappello? I blocchi verranno eseguiti solo quando sono collegati. Puoi ascoltare il suono di un clic quando trascini i blocchi e li colleghi insieme.

Mentre rispondi a queste domande, assicurati di cambiare una cosa alla volta nel tuo progetto, testala, quindi valuta se il cambiamento è stato efficace. Testare frequentemente il tuo progetto può aiutarti a vedere più facilmente come il tuo codice è collegato ai comportamenti del robot.  Potrebbe essere necessario ripetere più volte i passaggi del processo di risoluzione dei problemi per risolvere il problema e va bene. Ogni iterazione ti aiuterà a saperne di più sul sensore che stai utilizzando e su come codificarlo in VEXcode V5.

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

Last Updated: