Skip to main content

Utilizzo del sensore visivo - C++

Icona della cassetta degli attrezzi dell'insegnante Toolbox per l'insegnante - Lo scopo di questa attività

Per utilizzare efficacemente il sensore visivo, è necessario che gli studenti siano in grado di configurarlo e regolarlo in base all'ambiente in cui si trova. Nell'attività, gli studenti impareranno come fare entrambe le cose.
Per maggiori informazioni sulla programmazione del sensore di visione con VEXcode V5, visitare informazioni di aiuto per C++ all'interno della libreria VEX. 

Di seguito è riportato uno schema di ciò che i tuoi studenti faranno in questa attività:

  • Aprire il progetto di esempio Rilevamento oggetti (Visione).

  • Configurare il sensore visivo.

  • Eseguire il progetto di esempio Rilevamento oggetti (Visione).

  • Discutere e riflettere.

  • Regolare il sensore visivo.

Icona Suggerimenti per gli insegnanti Suggerimenti per gli insegnanti

Se è la prima volta che uno studente utilizza VEXcode V5, può accedere a articoli della guida nella libreria VEX .

Icona Suggerimenti per gli insegnanti Suggerimenti per gli insegnanti - Utilizzo del completamento automatico

Il completamento automatico è una funzionalità di VEXcode V5 che prevede il resto del comando che stai digitando. Mentre gli studenti lavorano in VEXcode V5, incoraggiateli a utilizzare la funzione di completamento automatico per aiutarli con la sintassi .

VEXcode V5 con la parte Drivetrain di un comando digitata a sinistra e, a destra, viene visualizzato un elenco scorrevole di opzioni di completamento automatico per quel comando.

Gli articoli di Completamento automatico per C++ spiegano come utilizzare la funzionalità di Completamento automatico.

Procuratevi l'hardware necessario, il vostro notebook di progettazione e aprite VEXcode V5.

Materiali richiesti:
Quantità Materiali necessari
1

Kit di avvio per l'aula VEX V5

1

VEXcode V5 (ultima versione, Windows, MacOS)

1

Quaderno di ingegneria

1

Configurazione di un sensore di visione (libreria VEX)

1

Regolazione del sensore visivo (libreria VEX)

1

Progetto di esempio di rilevamento di oggetti (Visione)

Questa attività ti fornirà gli strumenti per utilizzare il sensore visivo.

È possibile utilizzare le informazioni Help (C++) all'interno di VEXcode V5 per apprendere le istruzioni.

VEXcode V5 è mostrato con la casella degli strumenti aperta all'estrema sinistra e la guida per il comando Drive for aperta all'estrema destra. La Guida mostra la definizione del comando e informazioni su come utilizzarlo.

 

Passaggio 1: aprire un progetto di esempio

VEXcode V5 contiene molti progetti di esempio diversi. In questa esplorazione ne utilizzerai uno.

Aprire il progetto di esempio Rilevamento oggetti (Visione) completando i seguenti passaggi:

  • Aprire il menu File.
  • Seleziona Apri Esempi.

Barra degli strumenti VEXcode V5 con il menu File aperto e la voce Apri esempi evidenziata in un riquadro rosso. Apri esempi è la quarta voce di menu sotto Nuovo progetto blocchi, Nuovo progetto testo e Apri.

  • Utilizza la barra dei filtri nella parte superiore dell'applicazione e seleziona "Rilevamento".

Finestra di selezione del progetto di esempio VEXcode V5 con il filtro di rilevamento selezionato in alto ed evidenziato in una casella rossa. Di seguito sono riportate sei icone di esempio del progetto.

Selezionare e aprire il progetto di esempio Rilevamento oggetti (Visione).

L'icona del progetto di esempio riporta in basso la dicitura "Visione di rilevamento oggetti" e mostra un diagramma blu di un robot con un sensore che indica il rilevamento di oggetti in alto.

Salva il progetto con il nome Rilevamento oggetti.

  • Verificare che il nome del progetto Rilevamento oggetti sia ora visualizzato nella finestra al centro della barra degli strumenti.

Nella finestra di dialogo Nome progetto nella barra degli strumenti VEXcode V5 è riportato Rilevamento oggetti e viene mostrato che lo slot 1 è selezionato a sinistra, mentre a destra è riportato Salvato.

Icona Suggerimenti per gli insegnanti Suggerimenti per gli insegnanti

  • Assicurarsi che gli studenti abbiano selezionato Apri Esempi dal menu File.

  • Assicuratevi che gli studenti abbiano selezionato il progetto Rilevamento di oggetti (visione) Esempio. Puoi far notare agli studenti che ci sono diverse selezioni tra cui scegliere nella pagina Esempi Aperti.

  • Puoi chiedere agli studenti di aggiungere le loro iniziali o il nome del loro gruppo al nome del progetto. Ciò contribuirà a differenziare i programmi se chiederai agli studenti di inviarli.

  • Poiché VEXcode V5 dispone di salvataggio automatico, non è necessario salvare nuovamente il progetto dopo averlo salvato per la prima volta.

  • Se gli studenti hanno bisogno di aiuto per il salvataggio, indirizzali a uno di questi articoli: 

Fase 2: Configurazione e utilizzo del sensore visivo

La finestra di configurazione del sensore visivo mostra l'immagine di una mano che tiene un cubo rosso sulla sinistra, con una sovrapposizione sul cubo e le parole REDBOX e W142 H142 sopra di esso. A destra, sono impostate 3 firme a colori per BlueBox, Redbox e Greenbox.

Aprire il progetto di esempio Rilevamento oggetti (Visione) salvato in precedenza.

Come viene utilizzato il sensore visivo in questo progetto? Prevedi cosa accadrà una volta completato il progetto e annota le previsioni sul tuo quaderno di progettazione.

#include "vex.h"

	using namespace vex;
	
	event checkBlue = event();
	event checkRed = event();
	event checkGreen = event();
	
	// Will check to see if there is a blue object in the view of the Vision
	// Sensor and display the results on line 1 of the V5 Brain's screen.
	void has BlueCallback() {
	
	  Brain.Screen.clearLine(1);
	  Brain.Screen.setCursor(1, 1);
	  Vision5.takeSnapshot(Vision5__BLUEBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Blue Object Found");
	
	  } else {
		Brain.Screen.print("No Blue Object");
	  }
	}
	
	// Will check to see if there is a red object in the view of the Vision
	// Sensor and display the results on line 3 of the V5 Brain's screen.
	void has RedCallback() {
	
	  Brain.Screen.clearLine(3);
	  Brain.Screen.setCursor(3, 1);
	  Vision5.takeSnapshot(Vision5__REDBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Red Object Found");
	
	  } else {
		Brain.Screen.print("No Red Object");
	  }
	}
	
	// Will check to see if there is a green object in the view of the Vision
	// Sensor and display the results on line 5 of the V5 Brain's screen.
	void has GreenCallback() {
	
	  Brain.Screen.clearLine(5);
	  Brain.Screen.setCursor(5, 1);
	  Vision5.takeSnapshot(Vision5__GREENBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Green Object Found");
	
	  } else {
		Brain.Screen.print("No Green Object");
	  }
	}
	
	// Begin project code
	int main() {
	  // Initializing Robot Configuration. DO NOT REMOVE!
	  vexcodeInit();
	
	  // Register event handlers
	  checkBlue (hasBlueCallback);
	  checkRed (hasRedCallback);
	  checkGreen (hasGreenCallback);
	
	  // Small delay to ensure the event handlers are ready to be used
	  wait(15, msec);
	
	  // Set the print font for all future prints to the V5 screen
	  Brain.Screen.setFont(mono40);
	
	  // Constantly run to check for new sensor data
	  while (true) {
		checkBlue.broadcastAndWait();
		checkRed.broadcastAndWait();
		checkGreen.broadcastAndWait();
		wait(0.1, seconds);
	  }
	}
  • Scarica ed esegui il progetto. Posizionare oggetti di colore diverso davanti al sensore visivo e osservare il comportamento del robot. Annota nel tuo quaderno di progettazione in che modo la tua previsione è risultata diversa o corretta rispetto a quanto hai effettivamente osservato nel progetto.

Icona Suggerimenti per gli insegnanti Suggerimenti per gli insegnanti

I tre oggetti colorati non devono essere necessariamente cubi: possono essere qualsiasi oggetto relativamente piccolo di colore verde, rosso e blu.

Icona di discussione motivata Motivare Discussione - Risposte

Facilitare una discussione in classe per far sì che gli studenti condividano nel loro quaderno di ingegneria cosa hanno previsto che questo progetto avrebbe fatto e anche riflettere su come configurare il sensore di visione.
Facilitare la discussione ponendo le seguenti domande:

  1. Quali sono i passaggi per configurare il sensore visivo?

  2. Cosa fa la struttura se allora altrimenti?

  3. Cosa accadrebbe al modo in cui il sensore visivo rileva gli oggetti se cambiassimo stanza?

Le risposte possono variare:

  1. Gli studenti devono tenere presente che il nome dell'oggetto dovrà essere ancora deciso. L'oggetto deve essere posizionato nell'inquadratura del sensore visivo e immobilizzato tramite il pulsante "Blocca". Il colore verrà quindi selezionato e configurato tramite il pulsante "Imposta". Gli studenti dovrebbero delineare i passaggi elencati in questo articolo.

  2. La struttura if then else esegue le istruzioni all'interno della prima o della seconda parte di if then else in base al valore booleano riportato. Per ulteriori informazioni su come utilizzare queste istruzioni, consultare la Guida.

  3. Se al sensore visivo venisse chiesto di rilevare oggetti in un ambiente diverso, l'illuminazione potrebbe cambiare e i colori degli oggetti potrebbero apparire diversi. Ciò potrebbe rendere difficoltoso il rilevamento degli oggetti da parte del sensore visivo.

Estendi la tua icona di apprendimento Amplia il tuo apprendimento - Configura più oggetti

Scegli altri due oggetti colorati da configurare, possibilmente bianco, viola, giallo, ecc...

Finestra di configurazione del sensore visivo che mostra l'istantanea sulla sinistra con una mano che tiene un ingranaggio giallo. Sull'ingranaggio giallo è presente una sovrapposizione quadrata e i dati indicano Scatola gialla, X90 y 62, w102, h 98. A destra sono impostate le firme colorate per Bluebox, Redbox, Greenbox e Yellowbox.

Se gli studenti hanno bisogno di aiuto, possono fare riferimento alle informazioni Aiuto o all'articolo Configurazione di un sensore di visione V5.

Fase 3: Regolazione del sensore visivo

Spesso un oggetto è configurato per essere riconosciuto dal sensore visivo in un ambiente, ad esempio in un'aula scolastica. Se il sensore visivo viene portato in un ambiente diverso, ad esempio durante una gara, l'oggetto potrebbe non essere riconosciuto dal sensore visivo. Ciò è spesso dovuto a un cambiamento nell'illuminazione dopo che il sensore di visione è già stato configurato. Per risolvere questo problema, potrebbe essere necessario regolare il sensore visivo.

Finestra di configurazione del sensore di visione con una mano che tiene un cubo rosso con una sovrapposizione sul cubo e il testo redbox e x84 y 28 quindi w 158 h 166. A destra sono impostate le firme cromatiche Bluebox, Redbox e Greenbox con un cursore evidenziato in un riquadro rosso e il quadrante impostato su 4,4.

Aprire il progetto di esempio Rilevamento oggetti (Visione) salvato in precedenza.

In che modo la messa a punto del sensore visivo influirà sulla sua capacità di rilevare gli oggetti? Sposta il Clawbot in una parte diversa della stanza, con più o meno luce.

V5 Clawbot su un campo con il braccio abbassato e l'artiglio aperto e attorno a un oggetto cubo viola.

  • Scarica ed esegui il progetto. Posizionare oggetti di colore diverso davanti al sensore visivo e osservare il comportamento del robot. Annota sul tuo quaderno di progettazione quanto bene il sensore visivo rileva gli oggetti. È necessario regolare il sensore visivo dopo aver cambiato posizione?
  • Regolare il sensore visivo secondo necessità. Dopo aver regolato il sensore visivo, testarlo per verificare se riesce a rilevare meglio gli oggetti e apportare le modifiche necessarie.

Icona di discussione motivata Motivare la discussione - Riflettere sull'attività

D: Il sensore visivo ha rilevato gli oggetti come previsto?
R: Le risposte possono variare; tuttavia, l'obiettivo di questa domanda è promuovere il pensiero cognitivo. Gli studenti devono tenere presente che la capacità del sensore visivo di rilevare gli oggetti può cambiare a seconda dell'ambiente e della luce.

D: Perché è importante poter regolare il sensore visivo in base alle esigenze?
R: Sebbene le risposte possano variare, una risposta comune dovrebbe essere che se un robot utilizza un sensore visivo e viene portato a una competizione o addirittura utilizzato in un gioco o in una sfida, le prestazioni del robot dipenderanno dalla precisione del sensore visivo. Per garantire la precisione è importante regolarlo.

Estendi la tua icona di apprendimento Amplia il tuo apprendimento - oggetti multipli

Chiedere agli studenti di eseguire il progetto Rilevamento oggetti (Visione) e di posizionare più di uno degli oggetti configurati davanti al sensore visivo. Che succede? Chiedete loro di documentare le loro scoperte nel loro quaderno di ingegneria.
Ora, chiedete agli studenti di posizionare un oggetto configurato e un oggetto sconosciuto o non configurato davanti al sensore visivo. Che succede? Chiedete loro di documentare i risultati delle loro ricerche nel loro quaderno di ingegneria.

Prima di testare il tutto, chiedete agli studenti cosa accadrebbe se posizionassero tre oggetti configurati davanti al sensore visivo. Chiedete agli studenti di scrivere le loro previsioni prima di testarle. Chiedete loro di registrare le loro osservazioni dopo aver testato il prodotto.

Interfaccia di Vision Sensor Utility che mostra due mani che tengono una Greenbox e una Redbox nella finestra a sinistra. Ogni cubo colorato ha una sovrapposizione di dati. A destra sono impostate tutte le firme per Bluebox, Redbox, Greenbox e Yellowbox.

Facilitare una discussione su ciò che gli studenti hanno previsto e osservato.

Facilitare la discussione chiedendo:

  • Quali erano le differenze tra uno, due e tre oggetti?
  • Vorresti adattare in qualche modo il progetto per consentire il riconoscimento di più oggetti?