Skip to main content

Lezione 2: Utilizzo del sensore dell'occhio anteriore con i while loop

In questa lezione creerai un progetto utilizzando il sensore dell'occhio frontale con un ciclo while e una condizione not  per guidare il robot VR attraverso il parco giochi del labirinto dischi. Il tuo progetto indicherà al robot VR di girare a destra quando viene rilevato un disco verde dal sensore dell'occhio anteriore e a sinistra quando viene rilevato un disco blu. Nella mini sfida, applicherai queste abilità per guidare il robot VR su ciascun disco nel Disk Maze Playground e finire al disco rosso.

Vista laterale del robot VR sul Disk Maze Playground con frecce nere sullo sfondo che indicano il percorso che il robot ha percorso per spostarsi da un disco all'altro. Il robot si trova alla fine del labirinto davanti al disco rosso.

Risultati di apprendimento

  • Identificare che il ciclo mentre può essere utilizzato con i sensori oculari.
  • Identificare che per utilizzare i dati del sensore oculare per consentire al robot VR di prendere una decisione in un progetto, è necessario utilizzare una condizione.
  • Descrivi come identificare un modello in un progetto può essere utilizzato per semplificare il tuo codice.

Navigazione ai primi quattro dischi

Il sensore dell'occhio anteriore può essere utilizzato per consentire al robot VR di rilevare i dischi e i loro colori e di prendere decisioni in base a tali dati. Il Robot VR può quindi navigare nel Disk Maze utilizzando il feedback del sensore relativo ai colori degli oggetti rilevati, per determinare il movimento del robot. In sostanza, i dati del sensore dell'occhio anteriore verranno utilizzati per "codificare i colori" dei giri del robot VR, quindi quando viene rilevato un colore gira a sinistra e quando ne viene rilevato un altro gira a destra.

Per iniziare, diamo un'occhiata al percorso che il robot VR percorrerà per navigare nella prima porzione del labirinto di dischi. Vista dall'alto verso il basso del parco giochi del labirinto del disco. Il robot si trova nella posizione di partenza. Le frecce indicano il percorso che il robot Vr prenderà mostrando l'unità in avanti verso il primo disco verde, girando a destra, guidando verso il disco blu, girando a sinistra, guidando verso un secondo disco blu, girando a sinistra e fermandosi a un terzo disco blu.

Per tua informazione

Il Disk Maze Playground contiene marcature colorate sul pavimento del Playground in ciascuna delle posizioni del disco colorato in rilievo.Vista laterale del robot VR sul Disk Maze Playground con una freccia nera che indica che il robot si dirigerà verso il disco verde, quindi girerà a destra. 

Utilizzeremo il sensore oculare anteriore per rilevare i dischi in questa unità, ma la stessa logica e lo stesso progetto potrebbero essere utilizzati anche con il sensore oculare inferiore. Invece di rilevare i dischi sollevati, il sensore Down Eye rileverebbe i colori sul pavimento del parco giochi e prenderebbe decisioni con quei dati. Il sensore Down Eye non rileva il pavimento del parco giochi come oggetto, ma rileverà gli spazi colorati. 

Utilizzo di un ciclo While con dati del sensore oculare

Nelle unità precedenti, il ciclo while veniva utilizzato per far sì che il robot VR guidasse mentre era soddisfatta una condizione, oppure un ciclo while con una condizione not per guidare mentre una condizione non era soddisfatta. I dati dei sensori oculari possono essere utilizzati allo stesso modo. Diamo un'occhiata al primo passo nel percorso Labirinto di dischi.

 Vista dall'alto verso il basso del robot VR sul Disk Maze Playground con una freccia nera che indica che il robot si dirigerà verso il disco verde direttamente di fronte alla posizione di partenza, quindi svoltare a destra.

Il robot VR deve avanzare mentre il sensore oculare anteriore  non rileva il verde. Quando il sensore dell'occhio anteriore rileva il verde, il robot VR deve ruotare a destra di 90 gradi per affrontare il disco successivo nel labirinto.

Nomina e salva il progetto

Cominciamo a realizzare il progetto usando il ciclo  while  per dare istruzioni al robot VR di girarsi quando il sensore dell'occhio frontale rileva il primo disco colorato (verde) nel parco giochi del labirinto dei dischi .

  • Avviare un nuovo progetto e selezionare Disk Maze Playground quando richiesto. Riquadro di selezione del parco giochi del labirinto del disco da VEXcode VR.
  • Denominare il progetto Unit7Lesson2.Barra degli strumenti VEXcode VR con la casella del nome del progetto richiamata. Il nome del progetto recita Unità 7 Lezione 2.

     

  • Per iniziare, aggiungi un commento per descrivere il comportamento del robot VR. Questo progetto utilizzerà i commenti per ricordare all'utente quale sia l'intenzione per i comportamenti del Robot VR durante la sezione successiva del progetto. Ricorda che i commenti in VEXcode VR Python iniziano con un simbolo # (libbra). 
def main():
    # Drive al 1° disco (verde), girare a destra
  • Il robot VR dovrà guidare verso il primo disco nel parco giochi del labirinto di dischi. Trascinare o digitare un ciclo while con una condizione not nell'area di lavoro. Ricordarsi di includere il comando wait come parte del ciclo while , per garantire che il robot VR esegua correttamente il progetto.
def main():
    # Drive to 1st disk (verde), turn right
    while not condition:
        wait(5, MSEC)
  • Imposta la condizione del loop sul comando detect del sensore dell'occhio anteriore e imposta il parametro su "VERDE".
def main():
    # Drive to 1st disk (verde), turn right
    while not front_eye.detect(VERDE):
        wait(5, MSEC)
  • All'interno del ciclo while , trascina o digita il comando non in attesa drive in modo che il tuo progetto appaia così:
def main():
    # Drive to 1st disk (verde), turn right
    while not front_eye.detect(VERDE):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
  • Al di fuori del ciclo while , trascina o digita un comando turn_for  per indicare al robot VR di girare a destra di 90 gradi quando rileva un disco verde. Il tuo progetto dovrebbe essere simile a questo:
def main():
    # Drive to 1st disk (verde), turn right
    while not front_eye.detect(VERDE):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Aprire la finestra del parco giochi se non è già aperta. Assicurarsi che Disk Maze Playground siapra ed eseguire il progetto.
  • Guarda il robot VR avanzare fino al primo disco verde, quindi gira a destra.

    Vista laterale del robot VR sul Disk Maze Playground con una freccia nera che indica che il robot si dirigerà verso il disco verde, quindi girerà a destra.
  • Si noti che il robot VR avanza mentre le condizioni del colore del sensore dell'occhio anteriore riportano Falso. Una volta rilevato il disco verde, il colore del sensore dell'occhio anteriore segnala True ed esce dal loop. Quindi, esegue il comando successivo, che è quello di girare a destra per 90 gradi.

Selezionare il pulsante Avanti per continuare con il resto della lezione.