Skip to main content

Lezione 1: Cos'è un sensore paraurti?

In questa lezione, imparerai cos'è un sensore e perché utilizzarlo con un robot VR. Il primo sensore che imparerai a conoscere è il sensore paraurti. Imparerai come funziona il sensore paraurti e come utilizzare i sensori paraurti del robot VR in un progetto Python VEXcode VR.

Risultati di apprendimento

  • Identificare che il sensore paraurti è un tipo di interruttore che può segnalare quando premuto o non premuto.
  • Identificare che il sensore paraurti può essere utilizzato per causare un'azione del robot VR quando premuto o non premuto.
  • Identificare che left_bumper.pressed e right_bumper.pressed sono comandi che riportano un valore booleano sul sensore paraurti.
  • Descrivere perché il sensore paraurti dovrebbe essere utilizzato in un progetto.

Applica

I sensori sono essenziali per la robotica. Affinché un robot VR sia veramente considerato un robot, deve essere in grado di percepire e interagire con il suo ambiente. Questo è comunemente indicato come il ciclo decisionale → del Sense → Think Act.

Un diagramma che mostra un ciclo continuo con tre stadi collegati da frecce. La prima fase, denominata Sense, include il testo Sense the Environment, che indica che il processo inizia raccogliendo informazioni dall'ambiente circostante. Passando alla fase successiva, denominata Pensa, il testo legge Prendere decisioni in base ai dati dei sensori provenienti dall'ambiente, suggerendo che questo passaggio comporta l'elaborazione delle informazioni rilevate per prendere decisioni. La fase finale, denominata Act, include il testo Carry Out Decisions, che mostra che le azioni vengono intraprese in base alle decisioni. Le frecce creano un anello, riportando il processo alla fase del Senso, che rappresenta un ciclo continuo di percezione, pensiero e azione.

Un robot VR utilizza sensori per raccogliere dati dall'ambiente circostante (Sense), prendere  decisioni basate su queste informazioni (Think) e trasformare tali informazioni in istruzioni per i comportamenti (Act).

I sensori consentono a un robot VR di interagire con il suo ambiente e consentono all'utente di creare progetti più dinamici. Questi progetti dinamici richiedono un robot VR per interagire e rispondere ai cambiamenti degli ambienti.

Il sensore paraurti

In questa unità, si utilizzerà il sensore paraurti, un sensore in grado di rilevare il contatto fisico. Il sensore paraurti viene utilizzato per informare un robot VR quando è entrato in contatto con un oggetto o una parete. Un robot VR può quindi utilizzare le informazioni riportate dal sensore paraurti sinistro o destro per prendere decisioni.

Il robot VR ha due sensori di paraurti situati nella parte anteriore.

Una vista frontale del robot VR. I due sensori di paraurti sulla parte anteriore sono evidenziati con caselle rosse.

Un sensore paraurti è un interruttore che segnala se è premuto o meno.

  • Il sensore paraurti segnalerà un valore del sensore pari a Vero quando il sensore paraurti viene premuto.
  • Il sensore paraurti segnalerà un valore del sensore pari a Falso quando il sensore paraurti non viene premuto.

Il sensore paraurti viene premuto dalle pareti del Labirinto delle pareti del Parco giochio dalle pareti esterne che circondano altri parchi giochi.

Il robot VR nel parco giochi del labirinto a muro. Il robot sta guardando un muro di fronte ad esso, indicando che dovrà girare per poter andare avanti.

Per informazioni dettagliate sul funzionamento del sensore paraurti, leggere l'articolo Bumper Sensor - Caratteristiche del robot - VEX VR 

Comandi premuti dal paraurti

Il sensore paraurti viene utilizzato per determinare se il robot VR sta toccando un oggetto o una parete. Tali dati possono quindi essere utilizzati in un progetto in modo che il robot VR possa prendere una decisione quando viene premuto il sensore paraurti. 

Utilizzare i comandi left_bumper.pressed e right_bumper.pressed in un progetto di testo per verificare le condizioni del sensore paraurti.

Left_bumper.pressed e right_bumper.pressed sono comandi reporter booleani, che riportano True se viene premuto ilparaurti e False se non viene premuto.

Due comandi premuti sul paraurti sono scritti su due file per mostrare la differenza tra paraurti sinistro o destro. Nella riga superiore, il comando legge il punto di sottolineatura destro premuto (). Nella riga inferiore, il comando legge il punto di sottolineatura sinistro premuto ().

I comandi left_bumper.pressed e right_bumper.pressed vengono in genere utilizzati con una struttura di controllo, come un ciclo while, in modo che il robot VR possa utilizzare i dati del sensore del paraurti per prendere una decisione. Nella prossima lezione imparerai di più sui cicli e . 

Il sensore paraurti e il problema del labirinto a parete

Pensando al problema del labirinto a parete, l'obiettivo è far guidare il robot VR mentre il sensore paraurti non è premuto. Quando si preme il sensore paraurti, il robot VR ha raggiunto una parete e quindi deve fermarsi o girare per continuare nel labirinto. 

Nell'esempio seguente, il robot VR avanzerà dalla posizione di partenza, fino a quando il paraurti sinistro viene premuto quando raggiunge la parete opposta. Una volta premuto il paraurti sinistro, il robot VR smetterà di guidare. 

File video

Noterai che la Dashboard mostra il valore che il sensore del paraurti sta segnalando in tempo reale durante l'esecuzione del progetto. Quando il sensore paraurti non viene premuto, il valore viene riportato come Falso.

# Add project code in ""main"
def main():
	while not left_bumper.pressed():
		drivetrain.drive(FORWARD)
		wait(5, MSEC)
	drivetrain.stop()

# VR threads - Do not delete
vr_thread(main())
Il Wall Maze Playground che mostra il cruscotto del parco giochi e il robot VR è nella posizione di partenza, senza toccare nessuna delle pareti. I sensori di paraurti nel cruscotto del parco giochi sono evidenziati con una casella rossa, che segnala Falso, dicendo che entrambi non vengono premuti.

Quando si preme il sensore paraurti e il robot VR è contro il muro, il valore viene riportato come Vero.

# Add project code in ""main"
def main():
	while not left_bumper.pressed():
		drivetrain.drive(FORWARD)
		wait(5, MSEC)
	drivetrain.stop()

# VR threads - Do not delete
vr_thread(main())
Il Wall Maze Playground che mostra il cruscotto del parco giochi quando la parte anteriore del robot VR tocca un muro. I sensori di paraurti nel cruscotto del parco giochi sono evidenziati con un riquadro rosso, riportando True, dicendo che sono entrambi premuti.

Puoi utilizzare la Dashboard in qualsiasi momento, per visualizzare i dati del sensore mentre il tuo progetto è in esecuzione. Nota, la Dashboard può essere nascosta e riaperta in qualsiasi momento, come mostrato in questo video. Nel video qui sotto, il menu hamburger nell'angolo in alto a sinistra della finestra Playground è selezionato per visualizzare il pulsante Dashboard sotto di esso. Viene quindi selezionato il pulsante Dashboard e si apre il Dashboard. Questo processo viene ripetuto per chiudere la Dashboard.

File video

Domande

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

Google Doc / .docx / .pdf