Πίνακας περιεχομένων:

Το ρομπότ LEGO οδηγεί μέσω ενός λαβύρινθου: 9 βήματα
Το ρομπότ LEGO οδηγεί μέσω ενός λαβύρινθου: 9 βήματα

Βίντεο: Το ρομπότ LEGO οδηγεί μέσω ενός λαβύρινθου: 9 βήματα

Βίντεο: Το ρομπότ LEGO οδηγεί μέσω ενός λαβύρινθου: 9 βήματα
Βίντεο: Webinar με θέμα: “Η Ρομποτική στην Εκπαίδευση” 2024, Ιούλιος
Anonim
Image
Image
Βάση του ρομπότ
Βάση του ρομπότ

Αυτό είναι ένα απλό, αυτόνομο ρομπότ σχεδιασμένο να οδηγεί μέσω ενός λαβύρινθου σε μια έξοδο. Είναι χτισμένο χρησιμοποιώντας το LEGO Mindstorms EV3. Το λογισμικό EV3 τρέχει σε υπολογιστή και δημιουργεί ένα πρόγραμμα, το οποίο στη συνέχεια μεταφορτώνεται σε έναν μικροελεγκτή που ονομάζεται EV3 Brick. Η μέθοδος προγραμματισμού βασίζεται σε εικονίδια και είναι υψηλού επιπέδου. Είναι πολύ εύκολο και ευέλικτο.

ΜΕΡΗ

  1. Σετ LEGO Mindstorms EV3
  2. Αισθητήρας υπερήχων LEGO Mindstorms EV3. Δεν περιλαμβάνεται στο σετ EV3.
  3. Κυματοειδές χαρτόνι για το λαβύρινθο. Δύο κουτιά πρέπει να είναι αρκετά.
  4. Ένα μικρό κομμάτι λεπτό χαρτόνι που βοηθά στη σταθεροποίηση ορισμένων γωνιών και τοίχων.
  5. Κόλλα και ταινία για να συνδέσετε κομμάτια από χαρτόνι μεταξύ τους.
  6. Ένας κόκκινος φάκελος ευχετήριων καρτών για τον προσδιορισμό της εξόδου του λαβύρινθου.

ΕΡΓΑΛΕΙΑ

  1. Βοηθητικό μαχαίρι για να κόψετε το χαρτόνι.
  2. Χαλύβδινο χάρακα για να βοηθήσει τη διαδικασία κοπής.

ΜΕΘΟΔΟΣ ΛΥΣΗΣ ΜΑΖΙ

Υπάρχουν διάφορες μέθοδοι πλοήγησης σε έναν λαβύρινθο. Αν ενδιαφέρεστε να τις μελετήσετε, περιγράφονται πολύ καλά στο ακόλουθο άρθρο της Wikipedia:

Επέλεξα τον κανόνα του αριστερού τοίχου. Η ιδέα είναι ότι το ρομπότ θα κρατήσει έναν τοίχο στην αριστερή του πλευρά παίρνοντας τις ακόλουθες αποφάσεις καθώς περνά μέσα από τον λαβύρινθο:

  1. Εάν είναι δυνατόν να στρίψετε αριστερά, κάντε το.
  2. Διαφορετικά, πηγαίνετε ευθεία αν είναι δυνατόν.
  3. Εάν δεν μπορεί να πάει αριστερά ή ευθεία, στρίψτε δεξιά, αν είναι δυνατόν.
  4. Εάν τίποτα από τα παραπάνω δεν είναι δυνατό, αυτό πρέπει να είναι αδιέξοδο. Γυρίστε.

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

ΒΗΜΑΤΑ ΚΤΙΡΙΗΣΗΣ ΤΟΥ ΡΟΜΠΟΤ

Παρόλο που το LEGO Mindstorms EV3 είναι πολύ ευπροσάρμοστο, δεν επιτρέπει περισσότερους από έναν από κάθε τύπο αισθητήρα συνδεδεμένου σε ένα τούβλο. Δύο ή περισσότερα Τούβλα θα μπορούσαν να είναι αλυσοδεμένα, αλλά δεν ήθελα να αγοράσω άλλο Τούβλο και έτσι χρησιμοποίησα τους ακόλουθους αισθητήρες (αντί για τρεις υπερηχητικούς αισθητήρες): υπέρυθρο αισθητήρα, αισθητήρα χρώματος και αισθητήρα υπερήχων. Αυτό λειτούργησε καλά. Τα παρακάτω ζεύγη φωτογραφιών δείχνουν πώς να φτιάξετε το ρομπότ. Η πρώτη φωτογραφία κάθε ζεύγους δείχνει τα απαραίτητα μέρη και η δεύτερη φωτογραφία τα ίδια μέρη που συνδέονται μεταξύ τους.

Βήμα 1: Βάση του ρομπότ

Βάση του ρομπότ
Βάση του ρομπότ

Το πρώτο βήμα είναι η κατασκευή της βάσης του ρομπότ, χρησιμοποιώντας τα μέρη που φαίνονται. Η βάση του ρομπότ εμφανίζεται ανάποδα. Το μικρό τμήμα σχήματος L στο πίσω μέρος του ρομπότ είναι ένα στήριγμα για την πλάτη. Γλιστράει καθώς το ρομπότ κινείται. Αυτό λειτουργεί εντάξει. Το κιτ EV3 δεν έχει μέρος τύπου κυλιόμενης μπάλας.

Βήμα 2: Κορυφή της βάσης

Κορυφή της Βάσης
Κορυφή της Βάσης
Κορυφή της Βάσης
Κορυφή της Βάσης
Κορυφή της Βάσης
Κορυφή της Βάσης

Τα επόμενα 3 βήματα αφορούν την κορυφή της βάσης του ρομπότ, τον αισθητήρα χρώματος και τα καλώδια, τα οποία είναι όλα καλώδια 10 ιντσών (26 εκατοστά)

Βήμα 3: Αισθητήρες υπερύθρων και υπερήχων

Αισθητήρες υπερύθρων και υπερήχων
Αισθητήρες υπερύθρων και υπερήχων
Αισθητήρες υπερύθρων και υπερήχων
Αισθητήρες υπερύθρων και υπερήχων

Στη συνέχεια, είναι ο αισθητήρας υπερύθρων (στην αριστερή πλευρά του ρομπότ) και ο αισθητήρας υπερήχων (στα δεξιά). Επίσης, οι 4 ακίδες για την τοποθέτηση του Τούβλου στην κορυφή.

Οι αισθητήρες υπερύθρων και υπερήχων βρίσκονται κάθετα αντί για τον κανονικό οριζόντιο. Αυτό παρέχει καλύτερη αναγνώριση των γωνιών ή των άκρων των τοίχων.

Βήμα 4: Καλώδια

Καλώδια
Καλώδια

Συνδέστε το τούβλο και συνδέστε τα καλώδια ως εξής:

  • Θύρα Β: αριστερός μεγάλος κινητήρας.
  • Θύρα C: δεξιός μεγάλος κινητήρας.
  • Θύρα 2: αισθητήρας υπερήχων.
  • Θύρα 3: αισθητήρας χρώματος.
  • Θύρα 4: αισθητήρας υπερύθρων.

Βήμα 5: Τελικό βήμα στην κατασκευή του ρομπότ: Διακόσμηση

Τελικό βήμα στην κατασκευή του ρομπότ: Διακόσμηση
Τελικό βήμα στην κατασκευή του ρομπότ: Διακόσμηση
Τελικό βήμα στην κατασκευή του ρομπότ: Διακόσμηση
Τελικό βήμα στην κατασκευή του ρομπότ: Διακόσμηση
Τελικό βήμα στην κατασκευή του ρομπότ: Διακόσμηση
Τελικό βήμα στην κατασκευή του ρομπότ: Διακόσμηση

Τα φτερά και τα πτερύγια είναι μόνο για διακόσμηση.

Βήμα 6: Pseευδοκώδικας για το Πρόγραμμα

  1. Περιμένετε 3 δευτερόλεπτα και πείτε "Πήγαινε".
  2. Ξεκινήστε το ρομπότ να κινείται ευθεία μπροστά.
  3. Εάν είναι δυνατόν να στρίψετε αριστερά (δηλαδή, εάν ο αισθητήρας υπερύθρων δεν αισθάνεται ένα αντικείμενο κοντά), πείτε "Αριστερά" και πηγαίνετε αριστερά.
  4. Προχωρήστε μπροστά περίπου 15 ίντσες για να αποφύγετε μια λανθασμένη στροφή προς τα αριστερά. Ο λόγος είναι ότι μετά τη στροφή του ρομπότ, ο αισθητήρας θα έβλεπε τον μεγάλο χώρο από τον οποίο είχε μόλις προέλθει και το ρομπότ θα πίστευε ότι θα έπρεπε να στρίψει αριστερά, κάτι που δεν είναι το σωστό. Επιστρέψτε στο βήμα 2.
  5. Εάν δεν μπορείτε να στρίψετε αριστερά, ελέγξτε τι βλέπει ο αισθητήρας χρώματος μπροστά από το ρομπότ.
  6. Εάν δεν υπάρχει χρώμα (δηλαδή κανένα αντικείμενο), επιστρέψτε στο βήμα 2.
  7. Εάν το χρώμα είναι κόκκινο, αυτή είναι η έξοδος. Σταματήστε το ρομπότ, παίξτε μια φανφάρα και σταματήστε το πρόγραμμα.
  8. Εάν το χρώμα είναι καφέ (δηλαδή, καφέ χαρτόνι μπροστά), τότε σταματήστε το ρομπότ.

    1. Εάν είναι δυνατόν να στρίψετε δεξιά (δηλαδή, εάν ο αισθητήρας υπερήχων δεν αισθάνεται ένα αντικείμενο κοντά), πείτε "Δεξιά" και πηγαίνετε δεξιά. Επιστρέψτε στο βήμα 2.
    2. Εάν δεν είναι δυνατό να στρίψετε δεξιά, πείτε "Uh-oh", κάντε πλάτη 12,5 cm περίπου και γυρίστε. Επιστρέψτε στο βήμα 2.

Βήμα 7: Πρόγραμμα

Πρόγραμμα
Πρόγραμμα

Το LEGO Mindstorms EV3 διαθέτει μια πολύ βολική μέθοδο προγραμματισμού που βασίζεται σε εικονίδια. Τα μπλοκ εμφανίζονται στο κάτω μέρος της οθόνης οθόνης στον υπολογιστή και μπορούν να μεταφερθούν και να μεταφερθούν στο παράθυρο προγραμματισμού για τη δημιουργία ενός προγράμματος. Το στιγμιότυπο οθόνης δείχνει το πρόγραμμα για αυτό το έργο. Τα μπλοκ περιγράφονται στο επόμενο βήμα.

Δεν μπορούσα να καταλάβω πώς να ρυθμίσετε τη λήψη του προγράμματος σε εσάς, και έτσι τα μπλοκ περιγράφονται στο επόμενο βήμα. Κάθε μπλοκ έχει επιλογές και παραμέτρους. Είναι πολύ εύκολο και ευέλικτο. Δεν θα χρειαστεί πολύς χρόνος για να αναπτύξετε το πρόγραμμα ή/και να το αλλάξετε ανάλογα με τις ανάγκες σας. Όπως πάντα, είναι καλή ιδέα να αποθηκεύετε το πρόγραμμα περιοδικά κατά την ανάπτυξη του.

Το τούβλο EV3 μπορεί να συνδεθεί στον υπολογιστή είτε με καλώδιο USB, Wi-Fi ή Bluetooth. Όταν είναι συνδεδεμένο και ενεργοποιημένο, αυτό υποδεικνύεται σε ένα μικρό παράθυρο στην κάτω δεξιά γωνία του παραθύρου EV3 στον υπολογιστή. Το "EV3" στη δεξιά πλευρά γίνεται κόκκινο. Όταν αυτή η οθόνη έχει οριστεί σε Θέα θύρας, εμφανίζει σε πραγματικό χρόνο, τι ανιχνεύει κάθε αισθητήρας. Αυτό είναι χρήσιμο για πειραματισμούς.

Κατά τη δημιουργία αυτού του προγράμματος, θα πρότεινα να εργαστείτε από αριστερά προς τα δεξιά και από πάνω προς τα κάτω και να μεγεθύνετε τα Loop και Switch Blocks πριν σύρετε άλλα Blocks μέσα. Αντιμετώπισα ακατάστατα προβλήματα προσπαθώντας να εισαγάγω επιπλέον Blocks μέσα πριν μεγαλώσω.

Βήμα 8: Αποκλεισμός προγράμματος

  1. Ξεκινώντας από την αριστερή πλευρά του προγράμματος, το Start Block υπάρχει αυτόματα όταν αναπτύσσεται ένα πρόγραμμα.
  2. Ακολουθεί ένα Wait Block, για να μας δώσει 3 δευτερόλεπτα για να τοποθετήσουμε το ρομπότ στην είσοδο του λαβύρινθου, μετά την εκκίνηση του προγράμματος.
  3. Ένα Sound Block κάνει το ρομπότ να πει "Go".
  4. Ένα μπλοκ βρόχου περιέχει το μεγαλύτερο μέρος του προγράμματος. Η οθόνη θα πρέπει να σμικρύνει 4 ή 5 φορές και αυτό το Loop Block θα πρέπει να μεγεθυνθεί σχεδόν στη δεξιά άκρη του καμβά προγραμματισμού πριν ξεκινήσετε την εισαγωγή Blocks. Μπορεί να γίνει μικρότερο στη συνέχεια.
  5. Το πρώτο Block μέσα στο Loop είναι ένα Move Steering Block με το τιμόνι στο μηδέν και το Power σε 20. Αυτό ξεκινά τους κινητήρες να λειτουργούν ευθεία μπροστά σε χαμηλή ταχύτητα. Μια ταχύτερη ταχύτητα θα έκανε το ρομπότ να προχωρήσει πολύ όταν συνεχίσει μπροστά ενώ μιλάει στα επόμενα βήματα.
  6. Ένα μπλοκ διακόπτη στη λειτουργία εγγύτητας υπέρυθρων αισθητήρων ελέγχει εάν υπάρχει αντικείμενο μακρύτερο από την τιμή 30. Αυτό ισοδυναμεί με περίπου 23 ίντσες (23 εκατοστά) για καφέ χαρτόνι. Εάν η τιμή είναι μεγαλύτερη από 30, τότε εκτελούνται τα μπλοκ 7, 8 και 9, διαφορετικά το πρόγραμμα πηγαίνει στο μπλοκ 10 παρακάτω.
  7. Ένα Sound Block κάνει το ρομπότ να λέει "Αριστερά".
  8. A Move Steering Block με το σύστημα διεύθυνσης σε -45, Power σε 20, Rotations σε 1,26 και Brake at End ρυθμισμένο σε True. Αυτό κάνει το ρομπότ να στρίψει αριστερά.
  9. A Move Steering Block με το σύστημα διεύθυνσης στο μηδέν, ισχύ σε 20, περιστροφές σε 1,2 και Brake at End ρυθμισμένο σε True. Αυτό κάνει το ρομπότ να πηγαίνει μπροστά περίπου 15 ίντσες για να αποφύγει μια λανθασμένη στροφή προς τα αριστερά.
  10. Ένα Switch Block στο Color Sensor Measure Color Mode ελέγχει τι χρώμα είναι μπροστά από το ρομπότ. Εάν δεν υπάρχει χρώμα (δηλαδή κανένα αντικείμενο), τότε το πρόγραμμα πηγαίνει στο τέλος του βρόχου. Εάν το χρώμα είναι κόκκινο, τότε εκτελούνται τα μπλοκ 11, 12 και 13. Εάν το χρώμα είναι καφέ, το πρόγραμμα πηγαίνει στο μπλοκ 14 παρακάτω.
  11. A Move Steering Block in Off Mode (Λειτουργία απενεργοποίησης) για να σταματήσετε τους κινητήρες.
  12. Το A Sound Block παίζει φανφάρ.
  13. Ένα μπλοκ διακοπής βρόχου βγαίνει από το βρόχο.
  14. A Move Steering Block in Off Mode (Λειτουργία απενεργοποίησης) για να σταματήσετε τους κινητήρες.
  15. Ένα μπλοκ διακόπτη στη λειτουργία υπερήχων αισθητήρα σύγκρισης απόστασης ίντσες ελέγχει εάν υπάρχει κάποιο αντικείμενο σε απόσταση μεγαλύτερη από 20 ίντσες (20 εκατοστά). Εάν είναι πάνω από 8 ίντσες, τότε τα Blocks16 και 17 εκτελούνται, διαφορετικά το πρόγραμμα πηγαίνει στο Block 18 παρακάτω.
  16. Ένα Sound Block κάνει το ρομπότ να πει "Δεξιά".
  17. Ένα Move Steering Block με το σύστημα διεύθυνσης σε -55, Power σε -20, Rotations σε 1,1 και Brake at End ρυθμισμένο σε True. Αυτό κάνει το ρομπότ να στρίψει δεξιά.
  18. Ένα Sound Block κάνει το ρομπότ να πει "Ω-ω".
  19. Ένα μπλοκ κινούμενων δεξαμενών με ισχύ αριστερά ρυθμισμένο σε -20, Power Right σε -20, περιστροφές σε 1 και φρένο στο τέλος σε True. Αυτό κάνει το ρομπότ να κάνει πλάτη 12 ίντσες (12,5 εκατοστά) για να κάνει χώρο να γυρίσει.
  20. Ένα Move Tank Block με ισχύ αριστερά ρυθμισμένο σε -20, Power Right σε 20, Περιστροφές σε 1,14 και Brake at End ρυθμισμένο σε True. Αυτό κάνει το ρομπότ να γυρίσει.
  21. Στην έξοδο του βρόχου υπάρχει ένα μπλοκ προγράμματος διακοπής.

Βήμα 9: Χτίστε έναν λαβύρινθο

Χτίστε έναν λαβύρινθο
Χτίστε έναν λαβύρινθο
Χτίστε έναν λαβύρινθο
Χτίστε έναν λαβύρινθο
Χτίστε έναν λαβύρινθο
Χτίστε έναν λαβύρινθο

Δύο κουτιά από κυματοειδές χαρτόνι πρέπει να είναι επαρκή για τον λαβύρινθο. Έφτιαξα τους τοίχους του λαβυρίνθου ύψους 12 ίντσες (12,5 εκατοστά), αλλά οι 4 ίντσες (10 εκατοστά) πρέπει να λειτουργούν εξίσου καλά εάν σας λείπει το κυματοειδές χαρτόνι.

Αρχικά, έκοψα γύρω από τα τοιχώματα των χαρτοκιβωτίων, 25 ίντσες (25 εκατοστά) από το κάτω μέρος. Στη συνέχεια έκοψα γύρω από τους τοίχους 5 ίντσες από το κάτω μέρος. Αυτό παρέχει αρκετούς τοίχους 5 ιντσών. Επίσης, έκοψα γύρω από το κάτω μέρος των χαρτοκιβωτίων, αφήνοντας περίπου 1 ίντσα (2,5 εκατοστά) προσαρτημένο στους τοίχους για σταθερότητα.

Τα διάφορα κομμάτια μπορούν να κοπούν και να κολληθούν ή να κολληθούν όπου χρειάζεται για να σχηματίσουν τον λαβύρινθο. Θα πρέπει να υπάρχει ένας χώρος 30 ιντσών (30 εκατοστών) μεταξύ των τοίχων σε οποιοδήποτε μονοπάτι με αδιέξοδο. Αυτή η απόσταση χρειάζεται για να γυρίσει το ρομπότ.

Μερικές από τις γωνίες του λαβύρινθου μπορεί να χρειαστεί να ενισχυθούν. Επίσης, ορισμένοι ίσιοι τοίχοι πρέπει να αποφεύγονται να λυγίζουν εάν περιλαμβάνουν μια ευθυγραμμισμένη γωνία χαρτοκιβωτίου. Μικρά κομμάτια λεπτού χαρτονιού πρέπει να κολληθούν στο κάτω μέρος σε αυτά τα σημεία, όπως φαίνεται.

Η έξοδος έχει ένα κόκκινο φράγμα που αποτελείται από μισό κόκκινο φάκελο ευχετήριων καρτών και μια βάση από 2 κομμάτια λεπτού χαρτονιού, όπως φαίνεται.

Μια προσοχή είναι ότι ο λαβύρινθος δεν πρέπει να είναι μεγάλος. Εάν οι στροφές του ρομπότ είναι σε μικρή γωνία από τη σωστή, οι αποκλίσεις προστίθενται μετά από μερικές στροφές. Για παράδειγμα, εάν μια αριστερή στροφή είναι 3 μοίρες μακριά, τότε μετά από 5 αριστερές στροφές το ρομπότ σβήνει 15 μοίρες. Ένας μεγάλος λαβύρινθος θα είχε περισσότερες στροφές και μεγαλύτερη διαδρομή από μια μικρή, και το ρομπότ θα μπορούσε να πέσει στους τοίχους. Αναγκάστηκα να βιδώσω αρκετές φορές με τις ρυθμίσεις Περιστροφών των στροφών για να πετύχω μια επιτυχημένη οδήγηση ακόμα και από τον μικρό λαβύρινθο που έκανα.

ΜΕΛΛΟΝΤΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

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

Αυτό είναι πολύ πιο περίπλοκο από το τρέχον έργο. Το ρομπότ πρέπει να θυμάται την πορεία που έχει διανύσει, να αφαιρεί αδιέξοδα, να αποθηκεύει τη νέα διαδρομή και στη συνέχεια να ακολουθεί τη νέα διαδρομή. Σχεδιάζω να εργαστώ σε αυτό το έργο στο εγγύς μέλλον. Περιμένω ότι είναι δυνατό να επιτευχθεί με το LEGO Mindstorms EV3 χρησιμοποιώντας μπλοκ λειτουργιών συστοιχίας και μερικά μπλοκ που σχετίζονται με μαθηματικά.

ΤΕΛΙΚΗ ΠΑΡΑΤΗΡΗΣΗ

Αυτό ήταν ένα διασκεδαστικό έργο. Ελπίζω να σας φαίνεται επίσης ενδιαφέρον.

Συνιστάται: