Skip to main content

Lezione 1: Cos'è un sensore di distanza?

In questa lezione, imparerai cos'è il sensore di distanza e perché utilizzarlo con un robot VR. Imparerai anche come funziona il sensore di distanza e come utilizzarlo in un progetto Python VEXcode VR.

Risultati di apprendimento

  • Identificare che il sensore di distanza riporti la distanza tra il sensore stesso e l'oggetto più vicino.
  • Identificare che il sensore di distanza determina la distanza utilizzando il tempo necessario affinché un impulso di luce laser rifletta un oggetto e ritorni al sensore.
  • Si noti che il comando found_object riporta un valore booleano se il sensore di distanza ha trovato un oggetto o meno.
  • Si noti che il comando get_distance  riporta la distanza dell'oggetto più vicino dal sensore in millimetri (mm) o pollici.
  • Descrivere perché il sensore di distanza dovrebbe essere utilizzato in un progetto.

Sensore di distanza

Il sensore di distanza può rilevare se c'è un oggetto di fronte a un robot VR e, in tal caso, quanto è lontano quell' oggetto dal sensore di distanza. Questo può essere utile per navigare in un labirinto senza sbattere continuamente contro le pareti, per evitare un oggetto o per guidare verso un oggetto o un muro nei Parchi Giochi.

In questa unità, si utilizzerà il sensore di distanza, un sensore che utilizza un impulso di luce laser per rilevare oggetti. Il sensore di distanza riporta la distanza tra la parte anteriore del sensore di distanza sul robot VR e l'oggetto più vicino. Il sensore di distanza si trova nell'occhio anteriore sul robot VR. Proprio come il sensore di paraurti, il robot VR può utilizzare i dati del sensore di distanza per prendere decisioni. 

Una vista frontale del robot VR con il sensore di distanza sul centro anteriore del robot evidenziato con una casella rossa.

Il sensore di distanza calcola la distanza utilizzando il tempo necessario affinché un impulso di luce laser rifletta un oggetto e ritorni al sensore. Il sensore di distanza può essere utilizzato per rilevare la distanza del robot VR dalle pareti nel parco giochi del labirinto a parete.

Un'immagine dall'alto verso il basso del robot VR di fronte alla pila centrale di blocchi come nel parco giochi Castle Crasher. Ci sono una serie di linee curve rosse e verdi tra la parte anteriore del robot e i blocchi. Quelli rossi mostrano il segnale emesso dal sensore all'oggetto e quelli verdi mostrano il segnale che rimbalza dall'oggetto al sensore, per consentirgli di calcolare la distanza.

Comando Distance Found Object

Il sensore di distanza può essere utilizzato per rilevare se c'è un oggetto (come un muro) di fronte ad esso. Questi dati possono quindi essere utilizzati in un progetto in modo che il robot VR possa prendere una decisione quando il sensore di distanza rileva un oggetto.

Utilizzare il comando found_object in un progetto Python per verificare le condizioni del sensore di distanza. Il comando found_object restituisce i valori booleani True o False, a seconda che un oggetto venga rilevato dal sensore.

Il comando VEXcode VR Python Distance found object legge il punto di distanza found underscore object ( ).

  • found_object restituisce True quando il sensore di distanza rileva un oggetto o una superficie all'interno del suo campo visivo ed entro 3000 mm dal sensore.
  • found_object restituisce False quando il sensore di distanza non rileva un oggetto o una superficie entro 3000 mm.

Il comando found_object  viene in genere utilizzato con una struttura di controllo, come un ciclo while , in modo che il robot VR possa utilizzare i dati provenienti dal sensore di distanza per prendere una decisione.

Quando si utilizza il comando found_object in un progetto, è necessario specificare il sensore di distanza utilizzato. Nel Wall Maze Playground, sul robot VR è disponibile solo il sensore di distanza frontale. Quando il comando found_object viene trascinato dalla casella degli strumenti in un progetto, il comando found_object specificherà automaticamente il sensore di distanza in uso, come mostrato qui. Nel video seguente, il comando found_object viene selezionato nella Casella degli strumenti e trascinato nell'Area di lavoro. Quando appare nel progetto, il comando appare automaticamente con il Dispositivo scritto come "front_distance".

File video

Ottieni comando distanza

Il sensore di distanza può anche segnalare la distanza di un oggetto e utilizzare quel valore per prendere una decisione. Il comando get_distance restituisce la distanza numerica dell'oggetto più vicino dalla parte anteriore di un robot VR.

Scegliere se la distanza viene riportata in millimetri (mm) o pollici impostando il parametro su "MM" o "POLLICI".

I comandi VEXcode VR Python Get distance scritti due volte - la prima riga mostra il comando con il parametro impostato su millimetri, la seconda riga mostra il comando con il parametro impostato su pollici.

Il comando get_distance può essere utilizzato con altri comandi, come un ciclo while , in un progetto per istruire un robot VR a percorrere una certa distanza da (o verso) un oggetto, o per completare un'azione quando viene segnalata una distanza specifica .

Quando si utilizza il comando get_distance in un progetto, è necessario specificare il sensore di distanza utilizzato. Nel Wall Maze Playground, sul robot VR è disponibile solo il sensore di distanza frontale. Quando il comando get_distance viene trascinato dalla casella degli strumenti in un progetto, il comando get_distance specificherà automaticamente il sensore di distanza in uso, come mostrato qui. Nel video seguente, il comando get_distance viene selezionato nella Casella degli strumenti e trascinato nell'Area di lavoro. Quando appare nel progetto, il comando appare automaticamente con il Dispositivo scritto come "front_distance".

File video

Il sensore di distanza e il problema del labirinto a parete

Pensando al problema del labirinto a muro, l'obiettivo è far guidare il robot VR mentre è lontano da un muro. Quando il robot VR si avvicina a un muro, deve fermarsi o girare senza toccare il muro, per continuare attraverso il labirinto. L'utilizzo del sensore di distanza consentirà a un robot VR di raggiungere un oggetto senza toccarlo.

Nel seguente esempio di clip video, il robot VR guiderà in avanti mentre il sensore di distanza segnala che si trova a più di 50 millimetri di distanza da un oggetto. Una volta a meno di 50 millimetri di distanza, il robot VR smetterà di guidare. Si noti che il robot VR non tocca la parete.

File video

Noterai che la Dashboard visualizza il valore che il sensore di distanza sta segnalando in tempo reale durante l'esecuzione del progetto. Quando il valore è superiore a 50 millimetri, il robot VR continuerà ad avanzare.VEXcode VR con il Workspace a sinistra e la finestra Playground a destra. Nella finestra Parco giochi, il robot VR si trova nella posizione di partenza, non vicino a un muro. Nella parte superiore della finestra del parco giochi il cruscotto è aperto e, all'estrema destra, la distanza è riportata come 287 mm ed è evidenziata in un riquadro rosso.

Quando il sensore di distanza segnala un valore inferiore a 50 millimetri, il robot VR si trova vicino alla parete senza toccarla e smette di guidare. VEXcode VR con il Workspace a sinistra e la finestra Playground a destra. Nella finestra del parco giochi, il robot VR si è spinto in avanti ed è ora fermo vicino alla prima parete. Nella parte superiore della finestra del parco giochi il cruscotto è aperto e, all'estrema destra, la distanza è riportata come 27 mm ed è evidenziata in un riquadro rosso.

In questo , il comando get_distance  viene utilizzato  un ciclo. Si apprenderà di più sugli operatori maggiori di (>) e minori di (>) in questa unità.

Domande

Seleziona un link qui sotto per accedere al quiz della lezione.

Google Doc / .docx / .pdf