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

Πρόκληση Package Dash - Python

Δείγμα διάταξης για την πρόκληση στο ταμπλό δεμάτων που δείχνει την αποβάθρα φόρτωσης στην κάτω αριστερή γωνία, τρεις περιοχές για την τοποθέτηση κονσερβών και την περιοχή εκκίνησης στην επάνω δεξιά γωνία με ένα Clawbot μέσα σε αυτήν.
Η Πρόκληση της Μεταφοράς Πακέτων (όχι σε κλίμακα)

Πρόκληση Dash Package

Σε αυτήν την πρόκληση, θα προγραμματίσετε το ρομπότ σας να παραλαμβάνει πακέτα και να τα φέρνει σε μια αποβάθρα φόρτωσης το συντομότερο δυνατό!

Κανόνες πρόκλησης:

  • Το ρομπότ πρέπει να ξεκινήσει την πρόκληση στη Ζώνη Έναρξης.
  • Τα πακέτα (κουτάκια αλουμινίου) μπορούν να έρθουν σε επαφή μόνο με τα βιβλία, το νύχι του Clawbot και την Αποβάθρα Φόρτωσης.
    • Εάν ένα πακέτο πέσει στο έδαφος της αποθήκης, πρέπει να επαναφέρετε το πεδίο και να ξεκινήσετε από την αρχή.
  • Ο χρόνος για κάθε διαδρομή ξεκινά μόλις το ρομπότ κινηθεί.
  • Ο χρόνος σταματά μόλις πέσει το τελευταίο πακέτο στην Αποβάθρα Φόρτωσης.
  • Κατά την επαναφορά του πεδίου, όλα θα πρέπει να επιστρέφονται στην ακριβή θέση από την οποία ξεκίνησαν.
  • Καλή διασκέδαση!
     

Εικονίδιο Συμβουλών Δασκάλου Συμβουλές για τους Δασκάλους

  • Αυξήστε την αλληλεπίδραση δημιουργώντας ένα ιστορικό ή έναν σκοπό για την αποθήκη! Τι είδους αποθήκη είναι; Τι είδους συσκευασίες υπάρχουν στην αποθήκη; Ποιος είναι ο ιδιοκτήτης της αποθήκης;
  • Επιτρέψτε στους μαθητές να δημιουργήσουν διαφορετικές διαδρομές ή στρατηγικές που θα τους επιτρέψουν να μεταφέρουν τα κουτιά πιο αποτελεσματικά.
  • Συγκρίνετε όχι μόνο τους χρόνους ολοκλήρωσης για να αποφασίσετε τον νικητή αυτής της πρόκλησης (αν την οργανώνετε με ανταγωνιστικό τρόπο), αλλά και τις τεχνικές πλοήγησης που χρησιμοποιούνται, ώστε οι μαθητές να μπορούν να εξετάσουν τις λύσεις άλλων ομάδων.

Εικονίδιο Εργαλειοθήκης Εκπαιδευτικού Εργαλειοθήκη Δασκάλου - Λύση

Μια ρουμπρίκα προγραμματισμού για την αξιολόγηση των μαθητών μπορεί να βρεθεί εδώ.

Η ακόλουθη είναι μια πιθανή λύση στην πρόκληση. Οι λύσεις μπορεί να διαφέρουν ανάλογα με την αρχική θέση του ρομπότ και την επιλεγμένη διαδρομή. Υπάρχουν πολλές διαδρομές που μπορούν να οδηγήσουν στη μετακίνηση όλων των πακέτων.

# Κωδικός έναρξης έργου

# Ασφαλής λειτουργία του κινητήρα Claw και παραλαβή του πρώτου πακέτου
claw_motor.set_timeout(2, δευτερόλεπτα)
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
arm_motor.spin_for(FORWARD, 315, DEGREES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.drive_for(FORWARD, 215, MM)
claw_motor.spin_for(FORWARD, 120, DEGREES)

# Οδηγήστε μέχρι την αποβάθρα φόρτωσης για να αφήσετε το πρώτο πακέτο
drivetrain.drive_for(REVERSE, 110, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 920, MM)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 2300, MM)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 750, MM)
arm_motor.spin_for(ΠΙΣΩ, 315, ΜΟΙΡΕΣ)
claw_motor.spin_for(ΠΙΣΩ, 120, ΜΟΙΡΕΣ)

# Παραλάβετε το δεύτερο πακέτο
drivetrain.drive_for(ΠΙΣΩ, 200, MM)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 170, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 900, MM)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 2300, ΜΟΙΡΕΣ)
arm_motor.spin_for(ΜΠΡΟΣΤΑ, 315, ΜΟΙΡΕΣ)
claw_motor.spin_for(ΜΠΡΟΣΤΑ, 120, ΜΟΙΡΕΣ)

# Οδηγήστε μέχρι την Αποβάθρα Φόρτωσης για να αφήσετε το δεύτερο πακέτο
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 900, ΜΟΙΡΕΣ)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 960, ΜΟΙΡΕΣ)
arm_motor.spin_for(ΠΙΣΩ, 315, ΜΟΙΡΕΣ)
claw_motor.spin_for(ΠΙΣΩ, 120, ΜΟΙΡΕΣ)

# Παραλάβετε το τρίτο πακέτο
drivetrain.drive_for(REVERSE, 150, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 490, MM)
arm_motor.spin_for(FORWARD, 315, DEGREES)
claw_motor.spin_for(FORWARD, 120, DEGREES)

# Οδηγήστε μέχρι την Αποβάθρα Φόρτωσης για να αφήσετε το τρίτο πακέτο
drivetrain.drive_for(REVERSE, 490, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 150, MM)
arm_motor.spin_for(REVERSE, 315, DEGREES)
claw_motor.spin_for(REVERSE, 120, ΒΑΘΜΟΙ)