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

AI στο ρομπότ LEGO EV3 Maze-Driving: 13 βήματα
AI στο ρομπότ LEGO EV3 Maze-Driving: 13 βήματα

Βίντεο: AI στο ρομπότ LEGO EV3 Maze-Driving: 13 βήματα

Βίντεο: AI στο ρομπότ LEGO EV3 Maze-Driving: 13 βήματα
Βίντεο: LEGO MINDSTORMS Robot Inventor 5in1 | Designer Video | FIVE new LEGO Robots 2020 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. Χαλύβδινο χάρακα για να βοηθήσει τη διαδικασία κοπής.

ΛΟΓΙΣΜΙΚΟ

Το πρόγραμμα είναι εδώ:

Βήμα 1: Πώς λύνεται ένας λαβύρινθος

ΜΕΘΟΔΟΣ ΟΔΗΓΗΣΗΣ ΜΑΖΙ

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

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

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

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

ΛΥΣΗ ΤΟΥ ΛΑΒΙΔΑ ΓΙΑ ΝΑ ΒΡΕΙ ΑΜΕΣΗ ΜΟΝΟΔΟΜΗ

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

Οι πιθανές στροφές είναι: Αριστερά, Δεξιά, Πίσω (σε αδιέξοδο) και Ευθεία (που είναι διασταύρωση).

Οι συνδυασμοί αντικαθίστανται ως εξής:

  • Το "Αριστερά, Πίσω, Αριστερά" γίνεται "Ευθεία".
  • Το "Αριστερά, Πίσω, Δεξιά" γίνεται "Πίσω".
  • Το "Αριστερά, Πίσω, Ευθεία" γίνεται "Δεξιά".
  • Το "Δεξιά, Πίσω, Αριστερά" γίνεται "Πίσω".
  • Το "Ευθεία, Πίσω, Αριστερά" γίνεται "Δεξιά".
  • Το "Ευθεία, Πίσω, Ευθεία" γίνεται "Πίσω".

ΠΩΣ ΤΟ ΡΟΜΠΟΤ ΧΕΙΡΙΖΕΙ ΤΟ ΛΑΒΙΔΑ ΜΟΥ

  1. Όταν το ρομπότ αρχίσει να οδηγεί, βλέπει ένα χώρο στα δεξιά και αποθηκεύει το Straight στη λίστα του πίνακα.
  2. Στη συνέχεια, στρίβει αριστερά και προσθέτει αριστερά στη λίστα. Η λίστα περιέχει τώρα: Ευθεία, Αριστερά.
  3. Με αδιέξοδο, γυρίζει και προσθέτει Επιστροφή στη λίστα. Η λίστα περιέχει τώρα: Ευθεία, Αριστερά, Πίσω.
  4. Περνώντας τη λωρίδα που χρησιμοποίησε από την είσοδο, προσθέτει το Straight στη λίστα. Η λίστα περιέχει τώρα: Ευθεία, Αριστερά, Πίσω, Ευθεία. Αναγνωρίζει έναν συνδυασμό και αλλάζει Αριστερά, Πίσω, Ευθεία σε Δεξιά. Η λίστα περιέχει τώρα Ευθεία, Δεξιά.
  5. Με αδιέξοδο, γυρίζει και προσθέτει Επιστροφή στη λίστα. Η λίστα περιέχει τώρα: Ευθεία, Δεξιά, Πίσω.
  6. Μετά την αριστερή στροφή η λίστα περιέχει Ευθεία, Δεξιά, Πίσω, Αριστερά. Αναγνωρίζει έναν συνδυασμό και αλλάζει Δεξιά, Πίσω, Αριστερά σε Πίσω. Η λίστα περιέχει τώρα Ευθεία, Πίσω.
  7. Μετά την επόμενη αριστερή στροφή, η λίστα περιέχει Ευθεία, Πίσω, Αριστερά. Αλλάζει αυτόν τον συνδυασμό σε Δεξιά. Η λίστα περιέχει τώρα μόνο Δεξιά.
  8. Περνάει ένα διάστημα και προσθέτει το Straight στη λίστα. Η λίστα περιέχει τώρα Δεξιά, Ευθεία.
  9. Μετά τη δεξιά στροφή η λίστα περιέχει Δεξιά, Ευθεία, Δεξιά που είναι η απευθείας διαδρομή.

Βήμα 2: Σκέψεις κατά τον προγραμματισμό του ρομπότ

ΣΚΕΕΙΣ ΓΙΑ ΟΠΟΙΟΔΗΠΟΤΕ ΜΙΚΡΟ ΕΛΕΓΧΟ

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

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

ΣΧΕΤΙΚΑ ΜΕ ΤΟ LEGO MINDSTORMS EV3

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

Αλλά ο αισθητήρας χρώματος έχει ένα πολύ μικρό εύρος, περίπου 5 ίντσες, το οποίο οδηγεί σε μερικές ειδικές εκτιμήσεις όπως περιγράφονται παρακάτω:

  1. Όταν ο αισθητήρας χρώματος ανιχνεύσει έναν τοίχο μπροστά και το ρομπότ αποφασίσει να στρίψει δεξιά ή να γυρίσει, θα πρέπει πρώτα να κάνει πίσω για να δώσει αρκετό χώρο για να γυρίσει χωρίς να χτυπήσει στον τοίχο.
  2. Ένα περίπλοκο ζήτημα παρουσιάζεται με ορισμένες "Ευθείες" διασταυρώσεις. Λόγω της μικρής εμβέλειας του αισθητήρα χρώματος, το ρομπότ δεν μπορεί να καθορίσει εάν αισθάνεται μια σωστή διασταύρωση "Ευθεία" ή την προώθηση προς μια δεξιά στροφή. Προσπάθησα να διορθώσω αυτό το ζήτημα ρυθμίζοντας το πρόγραμμα να αποθηκεύει ένα "Ευθύ" στη λίστα κάθε φορά που το ρομπότ αντιλαμβάνεται ένα και στη συνέχεια να εξαλείφει περισσότερα από ένα "Ευθεία" στη σειρά στη λίστα. Αυτό διορθώνει την κατάσταση όπου μια δεξιά στροφή ακολουθεί μια "Ευθεία" στο λαβύρινθο, αλλά όχι την κατάσταση όπου υπάρχει μια δεξιά στροφή χωρίς μια "Ευθεία" πριν από αυτήν. Προσπάθησα επίσης να ρυθμίσω το πρόγραμμα για να εξαλείψω ένα "Ευθεία" αν είναι λίγο πριν από ένα "Δεξί", αλλά αυτό δεν λειτουργεί εάν μια δεξιά στροφή ακολουθήσει ένα "Ευθεία". Δεν μπόρεσα να βρω μια λύση που να ταιριάζει σε όλες τις περιπτώσεις, αλλά υποθέτω ότι θα ήταν δυνατό για το ρομπότ να κοιτάξει την απόσταση που διανύθηκε (διαβάζοντας τους αισθητήρες περιστροφής κινητήρα) και να αποφασίσει αν είναι "Ευθεία" ή σωστή στροφή. Δεν πίστευα ότι αυτή η επιπλοκή άξιζε να γίνει για τους σκοπούς της επίδειξης της έννοιας της τεχνητής νοημοσύνης σε αυτό το έργο.
  3. Ένα πλεονέκτημα του αισθητήρα χρώματος είναι ότι κάνει διάκριση μεταξύ του καφέ ενός τοίχου και του κόκκινου του φράγματος που χρησιμοποίησα στην έξοδο και παρέχει έναν εύκολο τρόπο στο ρομπότ να αποφασίσει πότε έχει τελειώσει τον λαβύρινθο.

Βήμα 3: Το κύριο πρόγραμμα

Το Κύριο Πρόγραμμα
Το Κύριο Πρόγραμμα

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

Το πρόγραμμα αποτελείται από ένα κύριο πρόγραμμα και πολλά "My Blocks" που είναι υπορουτίνα. Το μεταφορτωμένο αρχείο περιέχει ολόκληρο το πρόγραμμα, το οποίο είναι εδώ:

Τα βήματα στο κύριο πρόγραμμα είναι τα εξής:

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

Το στιγμιότυπο οθόνης δείχνει αυτό το κύριο πρόγραμμα.

Βήμα 4: The My Blocks (Υπορουτίνες)

The My Blocks (Υπορουτίνες)
The My Blocks (Υπορουτίνες)

Εμφανίζεται το Navigate My Block, το οποίο ελέγχει τον τρόπο που το ρομπότ κινείται μέσω του λαβύρινθου. Η εκτύπωση είναι πολύ μικρή και μπορεί να μην είναι ευανάγνωστη. Αλλά είναι ένα καλό παράδειγμα για το πόσο ευέλικτες και ισχυρές είναι οι δηλώσεις if (που ονομάζονται διακόπτες στο σύστημα LEGO EV3).

  1. Το βέλος #1 δείχνει έναν διακόπτη που ελέγχει εάν ο αισθητήρας υπερύθρων βλέπει ένα αντικείμενο σε απόσταση μεγαλύτερη από μια συγκεκριμένη απόσταση. Αν ναι, εκτελείται η κορυφαία σειρά μπλοκ. Εάν όχι, τότε ο έλεγχος περνά στη μεγάλη, κάτω σειρά μπλοκ, όπου βρίσκεται το βέλος #2.
  2. Το βέλος #2 δείχνει έναν διακόπτη που ελέγχει τι χρώμα βλέπει ο αισθητήρας χρώματος. Υπάρχουν 3 περιπτώσεις: χωρίς χρώμα στην κορυφή, κόκκινο στη μέση και καφέ στο κάτω μέρος.
  3. Δύο βέλη #3 δείχνουν τους διακόπτες που ελέγχουν εάν ο αισθητήρας υπερήχων βλέπει ένα αντικείμενο σε απόσταση μεγαλύτερη από μια συγκεκριμένη απόσταση. Αν ναι, εκτελείται η κορυφαία σειρά μπλοκ. Εάν όχι, τότε ο έλεγχος περνά στην κάτω σειρά μπλοκ.

Τα My Blocks για τη συντόμευση της διαδρομής και για την οδήγηση του άμεσου μονοπατιού είναι πιο περίπλοκα και θα ήταν εντελώς δυσανάγνωστα, και έτσι δεν περιλαμβάνονται σε αυτό το έγγραφο.

Βήμα 5: Έναρξη κατασκευής του ρομπότ: η βάση

Έναρξη κατασκευής του ρομπότ: η βάση
Έναρξη κατασκευής του ρομπότ: η βάση
Έναρξη κατασκευής του ρομπότ: η βάση
Έναρξη κατασκευής του ρομπότ: η βάση

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

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

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

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

Κορυφή της βάσης, 1
Κορυφή της βάσης, 1
Κορυφή της βάσης, 1
Κορυφή της βάσης, 1

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

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

Κορυφή της βάσης, 2
Κορυφή της βάσης, 2
Κορυφή της βάσης, 2
Κορυφή της βάσης, 2

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

Κορυφή της βάσης, 3
Κορυφή της βάσης, 3
Κορυφή της βάσης, 3
Κορυφή της βάσης, 3

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

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

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

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

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

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

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

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

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

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

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

Βήμα 12: Δημιουργήστε ένα λαβύρινθο

Φτιάξτε ένα λαβύρινθο
Φτιάξτε ένα λαβύρινθο
Φτιάξτε ένα λαβύρινθο
Φτιάξτε ένα λαβύρινθο

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

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

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

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

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

Βήμα 13: Ο λαβύρινθος

Ο λαβύρινθος
Ο λαβύρινθος

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

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

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

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

Συνιστάται: