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

Μάθημα 3: Προσθήκη εντολών συστήματος μετάδοσης κίνησης για την επίλυση του λαβυρίνθου του τοίχου

Επίλυση του προβλήματος του λαβυρίνθου του τοίχου

Τώρα που το Ρομπότ Εικονικής Πραγματικότητας (VR) έχει οδηγήσει μέχρι το γράμμα «A» καθώς και μέχρι τον αριθμό «2» στην παιδική χαράμε Maze Wall, πώς θα δημιουργούσατε ένα έργο όπου το Ρομπότ Εικονικής Πραγματικότητας θα οδηγεί σε άλλες τοποθεσίες, όπως μέχρι το γράμμα «B»; Μέχρι στιγμής, έχουμε χρησιμοποιήσει δεδομένα από τον αισθητήρα προφυλακτήρα για να οδηγήσουμε μέχρι έναν τοίχο και στη συνέχεια να στρίψουμε για να μετακινηθούμε στον επόμενο τοίχο. Για να πλοηγηθούμε στο γράμμα «Β», πρέπει να μπορούμε να μετακινήσουμε το ρομπότ εικονικής πραγματικότητας σε ένα σημείο στη μέση της επιφάνειας του λαβυρίνθου, ώστε να μπορέσει να ακολουθήσει διαφορετική πορεία προς τον προορισμό μας.

Εάν ο κώδικας περιείχε μόνο εντολές driveκαι turn_for, το Ρομπότ Εικονικής Πραγματικότητας θα μπορούσε να «κολλήσει» στην ενότητα με τον αριθμό «2» του Λαβύρινθου του Τοίχου, επειδή θα συνέχιζε να στρίβει αριστερά ή δεξιά χωρίς ποτέ να κάνει όπισθεν.Μια κάτοψη της παιδικής χαράς Wall Maze με το ρομπότ εικονικής πραγματικότητας τοποθετημένο πάνω από τον δείκτη 2. Είναι γωνιασμένο προς τα πάνω και αριστερά, περίπου στραμμένο προς τον δείκτη Β.

Αντ' αυτού, μπορούμε να εκτιμήσουμε την απόσταση από τον τελευταίο τοίχο που άγγιξε το ρομπότ εικονικής πραγματικότητας μέχρι το σημείο που πρέπει να στρίψει. Στη συνέχεια, μπορούμε να χρησιμοποιήσουμε εντολές Drivetrain, όπωςdrive_forκαιturn_for, με τους βρόχουςwhileκαι τα δεδομένα του αισθητήρα προφυλακτήρα στο έργο μας για να λύσουμε τον λαβύρινθο!

  • Ξεκινήστε τροποποιώντας το προηγούμενο έργο σας, δημιουργήστε ένα νέο έργο ή επιλέξτε "Αντιγραφή" και επικολλήστε αυτόν τον κώδικα στο VEXcode VR ώστε να ταιριάζει με αυτό το βασικό έργο.

    def main():
    	ενώ δεν είναι left_bumper.pressed():
    		drivetrain.drive(ΜΠΡΟΣΤΑ)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
    
    	ενώ δεν είναι left_bumper.pressed():
    		drivetrain.drive(ΜΠΡΟΣΤΑ)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
    
    	ενώ δεν είναι left_bumper.pressed():
    		drivetrain.drive(ΜΠΡΟΣΤΑ)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
    	
    	ενώ δεν είναι left_bumper.pressed():
    		drivetrain.drive(ΜΠΡΟΣΤΑ)
    		wait(5, MSEC)
    		
    	drivetrain.stop()
  • Το παραπάνω έργο αρχίζει να οδηγεί το ρομπότ εικονικής πραγματικότητας (VR) μέχρι το γράμμα «B», ωστόσο, για να το κάνει αυτό, θα πρέπει πρώτα να κάνει όπισθεν και στη συνέχεια να στρίψει αριστερά.Μια κάτοψη της παιδικής χαράς Wall Maze με το ρομπότ VR τοποθετημένο πάνω από τον δείκτη 2. Το ρομπότ VR είναι πιεσμένο και στραμμένο προς τον αριστερό τοίχο, με τα πράσινα βέλη να δείχνουν δεξιά και μετά προς τα κάτω, δείχνοντας τη διαδρομή που θα πρέπει να ακολουθήσει.
  • Επεξεργαστείτε τον κώδικα αφαιρώντας την εντολή stop και αντικαθιστώντας την με τις εντολέςdrive_forκαι turn_for
    • Μπορούμε να εκτιμήσουμε ότι το ρομπότ εικονικής πραγματικότητας (VR) πρέπει να κινηθεί με την όπισθεν για περίπου 300 χιλιοστά (mm). Αρχικά, ορίστε τις παραμέτρους της εντολής drive_for σε «αντίστροφη» για 300 χιλιοστά (mm).
    • Στη συνέχεια, ορίστε τις παραμέτρους της εντολής turn_for σε στροφή αριστερά 90 μοίρες. Το έργο σας θα πρέπει τώρα να μοιάζει με αυτό:

      def main():
      	ενώ δεν είναι left_bumper.pressed():
      		drivetrain.drive(ΜΠΡΟΣΤΑ)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
      
      	ενώ δεν είναι left_bumper.pressed():
      		drivetrain.drive(ΜΠΡΟΣΤΑ)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
      
      	ενώ δεν είναι left_bumper.pressed():
      		drivetrain.drive(ΜΠΡΟΣΤΑ)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
      	
      	ενώ δεν είναι left_bumper.pressed():
      		drivetrain.drive(ΜΠΡΟΣΤΑ)
      		wait(5, MSEC)
      		
      	drivetrain.drive_for(ΠΙΣΩ, 300, MM)
      	μετάδοσης κίνησης.στροφή_για(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
  • Εκκινήστε το Wall Maze Playground εάν δεν είναι ήδη ανοιχτό και εκτελέστε το έργο.
  • Η προσθήκη αυτών των εντολών θα προσανατολίσει το ρομπότ εικονικής πραγματικότητας προς τη σωστή κατεύθυνση, ώστε να οδηγήσει το γράμμα «B».Στα αριστερά, το έργο κώδικα Python που παρουσιάστηκε προηγουμένως, που τελειώνει με το drivetrain.turn_for(LEFT, 90, DEGREES). Στα δεξιά, μια κάτοψη της παιδικής χαράς Wall Maze που δείχνει το ρομπότ εικονικής πραγματικότητας (VR) να έχει μετακινηθεί σύμφωνα με τον νέο κώδικα, να έχει τοποθετηθεί στην αίθουσα ανάμεσα στους δείκτες A και 2 και τώρα να είναι στραμμένο προς τον κάτω τοίχο της παιδικής χαράς.

     

  • Επιλέξτε το κουμπί «Επαναφορά» για να επαναφέρετε την Παιδική Χαρά και να μετακινήσετε το Ρομπότ Εικονικής Πραγματικότητας (VR) πίσω στην αρχική του θέση.
  • Τώρα που το Ρομπότ Εικονικής Πραγματικότητας (VR) είναι προσανατολισμένο προς τη σωστή κατεύθυνση, προσθέστε τις ακόλουθες εντολές κάτω από την τελική εντολή turn_for , για να οδηγήσετε το Ρομπότ Εικονικής Πραγματικότητας (VR) στο γράμμα 'B' στον Λαβύρινθος Τοίχου Παιδική Χαρά. Βεβαιωθείτε ότι οι εντολές έχουν σωστή εσοχή στο έργο σας.

    	ενώ δεν είναι left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    
    	ενώ δεν είναι left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    
    	ενώ δεν είναι left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.stop()
  • Εκκινήστε το Wall Maze Playground εάν δεν είναι ήδη ανοιχτό και εκτελέστε το έργο.
  • Το Ρομπότ Εικονικής Πραγματικότητας θα οδηγεί τώρα προς το γράμμα «B» στον Λαβύρινθος Τοίχου Παιδική Χαρά.

    Μια κάτοψη της παιδικής χαράς Wall Maze με το ρομπότ εικονικής πραγματικότητας τοποθετημένο πάνω από το γράμμα Β, στο κέντρο του αριστερού τοίχου της παιδικής χαράς. Είναι πιεσμένο σε έναν τοίχο, στραμμένο προς την κορυφή της παιδικής χαράς.

Μίνι Πρόκληση

Σε αυτήν την πρόκληση, το Ρομπότ Εικονικής Πραγματικότητας (VR) θα πρέπει να πλοηγηθεί στον αριθμό «3» στον Λαβύρινθο Τοίχου Παιδική Χαρά χρησιμοποιώντας πολλαπλούς βρόχουςwhile, εντολές συστήματος μετάδοσης κίνησης και τον Αισθητήρα Προφυλακτήρα.

Μια κάτοψη της παιδικής χαράς Wall Maze με το ρομπότ εικονικής πραγματικότητας τοποθετημένο πάνω από τον αριθμό 3. Ο αριθμός 3 βρίσκεται στο πάνω αριστερό τεταρτημόριο του λαβυρίνθου, πάνω από το Β και δεξιά, μέσα σε μια γωνία που δημιουργείται από 3 περιβάλλοντες τοίχους. Το ρομπότ εικονικής πραγματικότητας (VR) είναι πιεσμένο στον τοίχο κάτω από τον δείκτη 3, στραμμένο προς το κάτω μέρος της παιδικής χαράς.

Ακολουθήστε αυτά τα βήματα για να ολοκληρώσετε τη μίνι πρόκληση:

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

  • Δημιουργήστε ένα έργο προσθέτοντας ή αφαιρώντας τις απαραίτητες εντολές στο έργο Unit4Lesson3 για να οδηγήσετε το Ρομπότ Εικονικής Πραγματικότητας στον αριθμό '3' στον Λαβύρινθος Τοίχου Παιδική Χαρά.
  • Ξεκινήστε το έργο για να ελέγξετε αν λειτουργεί.
  • Εάν το έργο δεν είναι επιτυχές, επεξεργαστείτε το και προσπαθήστε ξανά. Συνεχίστε αυτήν τη διαδικασία μέχρι να ολοκληρωθεί η πρόκληση.
  • Μόλις το Ρομπότ Εικονικής Πραγματικότητας (VR) φτάσει με επιτυχία στον αριθμό '3' στον Λαβύρινθο Τοίχου Παιδική Χαρά, αποθηκεύστε το έργο.

Συγχαρητήρια! Ολοκληρώσατε με επιτυχία την Πρόκληση του Λαβύρινθου του Τοίχου!

Ερωτήσεις

Επιλέξτε έναν σύνδεσμο παρακάτω για να αποκτήσετε πρόσβαση στο κουίζ του μαθήματος.

Έγγραφο Google / .docx / .pdf