Lezione 2: Guida verso il numero "5"
In questa lezione, il robot VR guiderà verso il numero "5" e tornerà al numero "1" nel parco giochi della mappa della griglia dei numeri!

Si noti che il robot VR viaggerà lungo l'asse X con valori X crescenti per passare al numero "5" nel parco giochi della mappa della griglia numerica.

Il robot VR guiderà fino alla posizione del numero "5" nel parco giochi della mappa della griglia numerica. Tuttavia, prima che il robot VR possa raggiungere quel numero, al robot VR deve essere detto dove si trova quel numero. A partire dal centro del parco giochi, le coordinate del numero "5" sono (-100, -900).

- Per iniziare, il robot VR deve essere rivolto verso il numero "5". Trascina o digita un comando turn_for.
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)- Trascinare un ciclo while sotto il comando turn_for . Il tuo progetto dovrebbe essere simile a questo:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while condition:
wait(5, MSEC)- Proprio come l'unità sensore di distanza, questo progetto utilizzerà la condizione della posizione del sensore di posizione con un operatore di confronto per navigare nel parco giochi della mappa della griglia dei numeri. Imposta la condizione per il ciclo while sul comando posizione sull'asse X a un valore inferiore a -100 in millimetri (mm). Il tuo progetto dovrebbe essere simile a questo:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
wait(5, MSEC)- Trascinare o digitare il comando non in attesa drive all'interno del ciclo while. Il tuo progetto dovrebbe essere simile a questo:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)- Si noti che l'operatore minore di viene utilizzato al posto dell'operatore maggiore di perché il robot VR sta guidando a destra dal lato sinistro del parco giochi. Il robot VR parte da un valore X di -900 millimetri (mm). Man mano che il robot VR avanza, i valori X aumentano e quindi il robot continuerà ad avanzare mentre il valore X è inferiore a -100.

Per tua informazione
Dovrai scegliere quale operatore di confronto utilizzare nel tuo progetto, a seconda della direzione in cui desideri che il Robot VR viaggi lungo l'asse X o Y. Quando il robot VR si sta muovendo verso un valore maggiore, l'operatore minore di (<) verrà utilizzato con un ciclo while ; quando il robot VR si sta muovendo verso un valore minore, l'operatore maggiore di (>) verrà utilizzato con un ciclo while .
Questo si allinea con i movimenti a sinistra e a destra quando si guarda il parco giochi. Se il robot VR si muove da sinistra a destra o dal basso verso l'alto (valori maggiori), l'operatore minore di viene utilizzato per guidare mentre la posizione è inferiore al valore target.
Se il robot VR si muove da destra a sinistra o dall'alto verso il basso (valori più piccoli), l'operatore maggiore di viene utilizzato per guidare mentre la posizione è maggiore del valore target.
Utilizzando gli operatori di confronto, il Robot VR viaggerà mentre il valore riportato dal Sensore di Posizione è maggiore di (>) o minore di (<) il valore di soglia. In questo esempio, il robot VR passerà a 500 millimetri (mm) positivi sull'asse X. Il robot VR guiderà mentre la posizione sull'asse X è compresa tra 0 e 499 positivo. Quando il sensore di posizione segnala che la posizione è 501 o superiore, il robot VR smetterà di guidare.
# Add project code in "main"
def main():
monitor_sensor(location.position)
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()Si noti che il valore riportato dal sensore di posizione non è esattamente di 500 millimetri (mm). Come il sensore di distanza, gli operatori di confronto vengono utilizzati a causa del tempo necessario al robot VR per scorrere i valori del progetto e del report.
- Trascina o digita un comando stop all'esterno del ciclo while. Il tuo progetto dovrebbe essere simile a questo:
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()- Aprire la finestra del parco giochi se non è già aperta. Assicurarsi che il Number Grid Map Playground si apra ed eseguire il progetto.
- Guarda il robot VR guidare al numero "5" nel parco giochi della mappa della griglia dei numeri.

- In questo progetto, il robot VR si sposta sul numero "5" nel parco giochi della mappa della griglia dei numeri. Il ciclo while viene utilizzato in modo che il robot VR continui ad avanzare mentre il valore X è meno del valore X della coordinata su cui si trova il numero indicato.
- Quando il valore X è maggiore di -100, il progetto passa al comando successivo all'esterno del ciclo, che è un comando stop. Poiché il valore X del numero "5" è -100, il robot VR smetterà di guidare una volta che il valore X è maggiore di -100.

Per tua informazione
Si noti che il valore riportato dal sensore di posizione potrebbe non essere esattamente -100 millimetri (mm). Come il sensore di distanza, gli operatori di confronto vengono utilizzati a causa del tempo necessario al robot VR per scorrere i valori del progetto e del report.
In VEXcode VR Python, è possibile utilizzare un operatore di confronto maggiore o uguale a (>=) o minore o uguale a (<=) nel progetto per avere maggiore precisione nei movimenti.
# Add project code in "main"
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) <= -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()A seconda della velocità del robot VR e della rapidità con cui il progetto esegue l'iterazione nel ciclo, potresti notare che il robot VR è in grado di fermarsi più vicino al valore soglia quando viene aggiunto all'operatore il valore uguale a (<= o >=).
Selezionare il pulsante Avanti per continuare con il resto della lezione.