Μετάβαση στο κύριο περιεχόμενο

Μάθημα 2: Οδηγήστε μέχρι τον αριθμό '5'

Σε αυτό το μάθημα, το ρομπότ εικονικής πραγματικότητας θα οδηγήσει μέχρι τον αριθμό '5' και πίσω στον αριθμό '1' στον χάρτη πλέγματος αριθμών Playground!

Εικόνα από πάνω προς τα κάτω της παιδικής χαράς του Χάρτη Αριθμητικού Πλέγματος. Το ρομπότ εικονικής πραγματικότητας (VR) φαίνεται στην κάτω αριστερή γωνία του αριθμού 1. Μια επεξήγηση φαίνεται στο κέντρο της κάτω σειράς στον αριθμό 5.

Παρατηρήστε ότι το ρομπότ εικονικής πραγματικότητας θα κινείται κατά μήκος του άξονα Χ με τις τιμές Χ να αυξάνονται για να μετακινηθεί στον αριθμό '5' στον χάρτη πλέγματος αριθμών Playground.

Χάρτης με πλέγμα αριθμών παιδικής χαράς με τον άξονα x επικαλυμμένο στο κέντρο της παιδικής χαράς. Το κέντρο κάθε τετραγώνου σημειώνεται με την τιμή του άξονα Χ, ξεκινώντας από -900 στην αριστερή πλευρά και αυξάνοντας κατά 200 για κάθε τετράγωνο έως 900 στη δεξιά πλευρά. Ένα ρομπότ εικονικής πραγματικότητας (VR) φαίνεται στον αριθμό 1 στην κάτω αριστερή γωνία με ένα βέλος που δείχνει τον αριθμό 5.

Το ρομπότ εικονικής πραγματικότητας θα οδηγήσει στην τοποθεσία του αριθμού «5» στον χάρτη πλέγματος αριθμών Playground. Ωστόσο, προτού το ρομπότ εικονικής πραγματικότητας μπορέσει να πλοηγηθεί σε αυτόν τον αριθμό, πρέπει να ενημερωθεί για την τοποθεσία αυτού του αριθμού. Ξεκινώντας από το κέντρο της Παιδικής Χαράς, οι συντεταγμένες του αριθμού '5' είναι (-100, -900).

Η κάτω αριστερή γωνία της παιδικής χαράς του χάρτη αριθμητικών πλεγμάτων από πριν, με τους άξονες x και y σε επικάλυψη. Εμφανίζεται ένα βέλος από το -100 στον άξονα x προς τον αριθμό 5 και από το -900 στον άξονα y προς τον αριθμό 5. Το ρομπότ εικονικής πραγματικότητας (VR) βρίσκεται ακόμα στον αριθμό 1 με συντεταγμένες -900, -900 κάτω από το ρομπότ.

  • Για να ξεκινήσει, το ρομπότ εικονικής πραγματικότητας πρέπει να είναι στραμμένο προς τον αριθμό «5». Σύρετε ή πληκτρολογήστε μια εντολή turn_for.
# Προσθήκη κώδικα έργου στο "main"
def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Σύρετε έναν βρόχο while κάτω από την εντολή turn_for. Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)

    while condition:
        wait(5, MSEC)
  • Όπως ακριβώς και η Μονάδα Αισθητήρα Απόστασης, έτσι και αυτό το έργο θα χρησιμοποιήσει την κατάσταση της θέσης του Αισθητήρα Τοποθεσίας με έναν τελεστή σύγκρισης για την πλοήγηση στον Χάρτη Πλέγματος Αριθμών - Παιδική Χαρά. Ορίστε τη συνθήκη για τον βρόχο while στην εντολή θέση στον άξονα Χ σε τιμή μικρότερη από -100 σε χιλιοστά (mm). Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)

    while location.position(X, MM) < -100:
        wait(5, MSEC)
  • Σύρετε ή πληκτρολογήστε την εντολή μη αναμονής drive μέσα στον βρόχο while. Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)

    while location.position(X, MM) < -100:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
  • Σημειώστε ότι χρησιμοποιείται ο τελεστής «λιγότερο από» αντί για τον τελεστή «μεγαλύτερο από», επειδή το ρομπότ εικονικής πραγματικότητας (VR) οδηγεί προς τα δεξιά από την αριστερή πλευρά της παιδικής χαράς. Το ρομπότ εικονικής πραγματικότητας (VR) ξεκινά από μια τιμή X -900 χιλιοστών (mm). Καθώς το ρομπότ εικονικής πραγματικότητας κινείται προς τα εμπρός, οι τιμές X αυξάνονται και έτσι το ρομπότ θα συνεχίσει να κινείται προς τα εμπρός ενώ η τιμή X είναι μικρότερη από -100.

Η κάτω αριστερή γωνία της παιδικής χαράς του χάρτη αριθμητικών πλεγμάτων από πριν, με τους άξονες x και y σε επικάλυψη. Εμφανίζεται ένα βέλος από το -100 στον άξονα x προς τον αριθμό 5 και από το -900 στον άξονα y προς τον αριθμό 5. Το ρομπότ εικονικής πραγματικότητας (VR) βρίσκεται ακόμα στον αριθμό 1 με συντεταγμένες -900, -900 κάτω από το ρομπότ.

Για την ενημέρωσή σας

Θα χρειαστεί να επιλέξετε ποιον τελεστή σύγκρισης θα χρησιμοποιήσετε στο έργο σας, ανάλογα με την κατεύθυνση που θέλετε να κινηθεί το ρομπότ εικονικής πραγματικότητας κατά μήκος του άξονα Χ ή Υ. Όταν το ρομπότ εικονικής πραγματικότητας (VR) κινείται προς μια μεγαλύτερη τιμή, ο τελεστής μικρότερος από (<) θα χρησιμοποιηθεί με έναν βρόχοενώ Και όταν το ρομπότ εικονικής πραγματικότητας κινείται προς μια μικρότερη τιμή, ο τελεστής μεγαλύτερος από (>) θα χρησιμοποιηθεί με έναν βρόχοενώ .

Αυτό ευθυγραμμίζεται με τις κινήσεις αριστερά και δεξιά όταν κοιτάμε την Παιδική Χαρά. Εάν το ρομπότ εικονικής πραγματικότητας κινείται από αριστερά προς τα δεξιά ή από κάτω προς τα πάνω (μεγαλύτερες τιμές), ο χειριστής "λιγότερο από" χρησιμοποιείται για την οδήγηση, ενώ η θέση είναι μείον από την τιμή-στόχο. 

Δύο όψεις από πάνω προς τα κάτω της παιδικής χαράς του χάρτη πλέγματος αριθμών. Στην πρώτη, το ρομπότ εικονικής πραγματικότητας εμφανίζεται στον αριθμό 51 με ένα βέλος που υποδεικνύει ότι το ρομπότ πρόκειται να κινηθεί προς τα δεξιά προς τον αριθμό 60. Το παραπάνω κείμενο αναφέρει «οδήγηση ενώ η θέση είναι μικρότερη από». Στο δεύτερο, το ρομπότ εικονικής πραγματικότητας εμφανίζεται στον αριθμό 6 με ένα βέλος που υποδεικνύει ότι το ρομπότ πρόκειται να κινηθεί προς τα πάνω μέχρι τον αριθμό 96. Το παραπάνω κείμενο αναφέρει «οδήγηση ενώ η θέση είναι μικρότερη από».

Εάν το ρομπότ εικονικής πραγματικότητας κινείται από δεξιά προς τα αριστερά ή από πάνω προς τα κάτω (μικρότερες τιμές), ο τελεστής «μεγαλύτερο από» χρησιμοποιείται για την οδήγηση, ενώ η θέση είναι μεγαλύτερη κατά από την τιμή-στόχο.

Δύο όψεις από πάνω προς τα κάτω της παιδικής χαράς του χάρτη πλέγματος αριθμών. Στην πρώτη, το ρομπότ εικονικής πραγματικότητας εμφανίζεται στον αριθμό 60 με ένα βέλος που υποδεικνύει ότι το ρομπότ πρόκειται να κινηθεί προς τα αριστερά προς τον αριθμό 51. Το παραπάνω κείμενο αναφέρει «οδήγηση ενώ η θέση είναι μεγαλύτερη από». Στο δεύτερο, το ρομπότ εικονικής πραγματικότητας εμφανίζεται στον αριθμό 96 με ένα βέλος που υποδεικνύει ότι το ρομπότ πρόκειται να μετακινηθεί προς τα κάτω, στον αριθμό 6. Το παραπάνω κείμενο αναφέρει «οδήγηση ενώ η θέση είναι μεγαλύτερη από».

Χρησιμοποιώντας τους τελεστές σύγκρισης, το ρομπότ εικονικής πραγματικότητας θα ταξιδεύει ενώ η τιμή που αναφέρεται από τον αισθητήρα τοποθεσίας είναι μεγαλύτερη από (>) ή μικρότερη από (<) την τιμή κατωφλίου. Σε αυτό το παράδειγμα, το ρομπότ εικονικής πραγματικότητας θα πλοηγηθεί στα θετικά 500 χιλιοστά (mm) στον άξονα Χ. Το ρομπότ εικονικής πραγματικότητας θα οδηγεί ενώ η θέση στον άξονα Χ είναι από 0 έως θετικό 499. Όταν ο Αισθητήρας Τοποθεσίας αναφέρει ότι η θέση είναι 501 ή υψηλότερη, το Ρομπότ Εικονικής Πραγματικότητας θα σταματήσει να οδηγεί. 

# Προσθήκη κώδικα έργου στο "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()

Παρατηρήστε ότι η τιμή που αναφέρεται από τον αισθητήρα τοποθεσίας δεν είναιακριβώς 500 χιλιοστά (mm). Όπως και με τον Αισθητήρα Απόστασης, οι τελεστές σύγκρισης χρησιμοποιούνται λόγω του χρόνου που χρειάζεται το Ρομπότ Εικονικής Πραγματικότητας (VR) για να επαναλάβει το έργο και να αναφέρει τιμές.

  • Σύρετε ή πληκτρολογήστε μια εντολή stop εκτός του βρόχου while. Το έργο σας θα πρέπει να μοιάζει με αυτό:
# Προσθήκη κώδικα έργου στο "main"
def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)

    while location.position(X, MM) < -100:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
    drivetrain.stop()
  • Ανοίξτε το Παράθυρο Παιδικής Χαράςεάν δεν είναι ήδη ανοιχτό. Βεβαιωθείτε ότι ανοίγει ο Χάρτης Πλέγματος ΑριθμώνPlaygroundκαι εκτελέστε το έργο.
  • Παρακολουθήστε το ρομπότ εικονικής πραγματικότητας να οδηγεί προς τον αριθμό '5' στην παιδική χαρά του χάρτη πλέγματος αριθμών .

Εικόνα από πάνω προς τα κάτω της παιδικής χαράς του Χάρτη Αριθμητικού Πλέγματος. Το ρομπότ εικονικής πραγματικότητας (VR) φαίνεται στο κάτω μέρος, στον αριθμό 5.

  • Σε αυτό το έργο, το ρομπότ εικονικής πραγματικότητας οδηγεί προς τον αριθμό «5» στον χάρτη πλέγματος αριθμών στην παιδική χαρά. Ο βρόχος ενώ χρησιμοποιείται έτσι ώστε το ρομπότ εικονικής πραγματικότητας να συνεχίσει να κινείται προς τα εμπρός ενώ η τιμή X είναι μείον από την τιμή X της συντεταγμένης στην οποία βρίσκεται ο υποδεικνυόμενος αριθμός.
  • Μόλις η τιμή X γίνει μεγαλύτερη από -100, το έργο μετακινείται στην επόμενη εντολή εκτός του βρόχου, η οποία είναι μια εντολή stop. Δεδομένου ότι η τιμή X του αριθμού '5' είναι -100, το ρομπότ εικονικής πραγματικότητας θα σταματήσει να οδηγεί μόλις η τιμή X γίνει μεγαλύτερη από -100.

Ροή του έργου python που μόλις εκτελέστηκε. Ένα βέλος υποδεικνύει ότι το ρομπότ μετακινείται στον βρόχο while μόλις ολοκληρωθεί η δεξιά στροφή 90 μοιρών. Ένα κυκλικό βέλος βρίσκεται δίπλα στον βρόχο while με κείμενο που αναφέρει «η τιμή x μικρότερη από -100 επιστρέφει True, το VR Robot κινείται προς τα εμπρός». Από κάτω υπάρχει ένα κόκκινο βέλος με κείμενο που αναφέρει 'τιμή x μεγαλύτερη από -100' και επιστρέφει False. Το ρομπότ εικονικής πραγματικότητας σταματά να οδηγεί.

Για την ενημέρωσή σας

Σημειώστε ότι η τιμή που αναφέρεται από τον αισθητήρα τοποθεσίας ενδέχεται να μην είναι ακριβώς-100 χιλιοστά (mm). Όπως και με τον Αισθητήρα Απόστασης, οι τελεστές σύγκρισης χρησιμοποιούνται λόγω του χρόνου που χρειάζεται το Ρομπότ Εικονικής Πραγματικότητας (VR) για να επαναλάβει το έργο και να αναφέρει τιμές.

Ο πίνακας ελέγχου στο παράθυρο Playground μεγεθύνεται για να δείξει ότι η αναφερόμενη τιμή x του αισθητήρα τοποθεσίας είναι -90 χιλιοστά.

Στο VEXcode VR Python, μπορείτε να χρησιμοποιήσετε έναν τελεστή σύγκρισης μεγαλύτερο απόή ίσο με(>=) ή μικρότερο από ή ίσο με(<=) στο έργο σας για να έχετε επιπλέον ακρίβεια στις κινήσεις σας.

# Προσθήκη κώδικα έργου στο "main"
def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)

    while location.position(X, MM) <= -100:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
    drivetrain.stop()

Ανάλογα με την ταχύτητα του ρομπότ VR και την ταχύτητα με την οποία το έργο επαναλαμβάνεται στον βρόχο, μπορεί να δείτε ότι το ρομπότ VR είναι σε θέση να σταματήσει πιο κοντά στην τιμή κατωφλίου όταν στον τελεστή προστεθεί το ή ίσο με (<= ή >=).

Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.