Σύνδεση Ανταγωνισμού: Σημείο Καμπής - Python
Δυνατότητες ρομπότ
Το παιχνίδι Turning Point του διαγωνισμού VEX Robotics 2018 - 2019 απαιτούσε από τους παίκτες να εναλλάσσουν σημαίες μεταξύ άλλων στοιχείων του παιχνιδιού. Υπήρχαν συνολικά εννέα σημαίες: τρεις κάτω σημαίες που μπορούσαν να εναλλάσσονται από το ρομπότ και οι έξι ψηλές σημαίες που μπορούσαν να εναλλάσσονται μόνο χτυπώντας τες με πιόνια αγωνιστικής μπάλας. Οι ομάδες του αγώνα έπρεπε να βρουν έναν τρόπο να χτυπήσουν τις υψηλότερες σημαίες χρησιμοποιώντας έναν εκτοξευτή μπάλας. Αν μπορείτε να φανταστείτε, ο προγραμματισμός του ρομπότ να χτυπάει τις σημαίες χρησιμοποιώντας πιόνια παιχνιδιού μετρώντας μπορεί να μην είναι πάντα ακριβής. Εάν το ρομπότ κάνει μία λάθος στροφή κατά τη διάρκεια της αυτόνομης περιόδου, υπάρχει πιθανότητα να μην χτυπήσει καμία από τις σημαίες επειδή οι υπολογισμοί θα είναι λανθασμένοι. Ομοίως, για την πρόκληση Δεξιοτήτων Οδήγησης, μπορεί να είναι δύσκολο για τις ομάδες να ευθυγραμμίσουν χειροκίνητα το ρομπότ αρκετά ώστε να εκτοξεύσει σωστά την μπάλα. Έτσι, έμπειρες ομάδες θα προγραμματίσουν το ρομπότ χρησιμοποιώντας τον αισθητήρα όρασης για την ανίχνευση σημαιών και στη συνέχεια θα ευθυγραμμίσουν το ρομπότ σωστά προκειμένου να πραγματοποιούν ακριβείς βολές.
Επεκτείνετε τη Μάθησή σας
Για να επεκτείνετε αυτήν τη δραστηριότητα, ζητήστε από τους μαθητές σας να σχεδιάσουν και να περιγράψουν ένα έργο που θα κάνει το ρομπότ να κινηθεί προς ανιχνευμένα κίτρινα αντικείμενα που θα μπορούσαν ενδεχομένως να χρησιμοποιήσουν για αυτό το διαγωνιστικό παιχνίδι!
Ζητήστε από τους μαθητές σας να κάνουν τα εξής:
-
Ανοίξτε το παράδειγμα έργου προτύπου Clawbot (Σύστημα μετάδοσης κίνησης, 2 κινητήρες, χωρίς γυροσκόπιο).

- Χρησιμοποιήστε το παράδειγμα έργου Ανίχνευσης Αντικειμένων (Όραση) ως αναφορά κατά τον προγραμματισμό του Αισθητήρα Όρασης. Χρησιμοποιήστε το παράδειγμα έργου Ανίχνευσης Αντικειμένων (Όραση) ως αναφορά κατά τον προγραμματισμό του Αισθητήρα Όρασης (Google Doc / .v5python).
-
Προσθέστε τον Αισθητήρα Όρασης στη διαμόρφωση Clawbot (Σύστημα μετάδοσης κίνησης, 2 κινητήρες, Χωρίς Γυροσκόπιο) και, στη συνέχεια, διαμορφώστε τον Αισθητήρα Όρασης για να ανιχνεύει κόκκινα και μπλε αντικείμενα. Ανατρέξτε στοσχετικά με τη Ρύθμιση του αισθητήρα όρασης.

- Προγραμματίστε το Clawbot να κινηθεί προς το ανιχνευμένο αντικείμενο. Το Clawbot μπορεί ακόμη και να προγραμματιστεί να σηκώνει το χέρι του σαν να επρόκειτο να αλλάξει μια σημαία!
- Κατεβάστε και εκτελέστε το έργο για να παρατηρήσετε εάν ο αισθητήρας όρασης μπορεί να ανιχνεύσει κίτρινα αντικείμενα όπως οι κίτρινες μπάλες στο παιχνίδι VRC Turning Point. Εάν ο αισθητήρας όρασης μπορεί να ανιχνεύσει αντικείμενα, κινείται το ρομπότ με βάση αυτά τα ανιχνευόμενα αντικείμενα; Για βοήθεια σχετικά με τη λήψη και την εκτέλεση ενός έργου,δείτε αυτό το άρθρο.
- Αν ο χρόνος το επιτρέπει, δημιουργήστε ένα γήπεδο παιχνιδιού παρόμοιο με το πεδίο Turning Point. Εξασκηθείτε χρησιμοποιώντας τον Αισθητήρα Όρασης για να επιτρέψετε στο ρομπότ να κινηθεί για να κερδίσει πόντους!
Δείτε το δείγμα λύσης παρακάτω:
# Εισαγωγές βιβλιοθήκης
από vex import *
# Κωδικός έναρξης έργου
check_yellow = Event()
def check_yellow_callback():
brain.screen.set_font(FontType.MONO40)
brain.screen.clear_row(3)
brain.screen.set_cursor(3, 1)
vision_5_objects = vision_5.take_snapshot(vision_5__YELLOWBOX)
if (vision_5_objects):
arm_motor.spin_for(FORWARD, 300, DEGREES)
claw_motor.spin_for(FORWARD, 100, DEGREES)
drivetrain.drive_for(FORWARD, 12, INCHES)
arm_motor.spin_for(REVERSE, 300, DEGREES)
claw_motor.spin_for(REVERSE, 100, ΜΟΙΡΕΣ)
αλλιώς:
brain.screen.print("Χωρίς Κίτρινο Αντικείμενο")
# χειριστές συμβάντων συστήματος
check_yellow(check_yellow_callback)
# μικρή καθυστέρηση για να διασφαλιστεί ότι οι χειριστές συμβάντων είναι έτοιμοι για χρήση
wait(15, MSEC)
# εκτελείται συνεχώς για να ελέγξει για νέα δεδομένα αισθητήρα
ενώ είναι True:
check_blue.broadcast_and_wait()
wait(105, MSEC)