Μετάτρεψε το Maqueen σε αυτοοδηγούμενο όχημα

Εκμεταλλεύσου τις δυνατότητες της HuskyLens και προγραμμάτισε το Maqueen να ανταποκρίνεται στα σήματα που συναντά στο δρόμο του.

Στο δρόμο προς την αυτόνομη μετακίνηση

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

Όταν οδηγούμε ένα αυτοκίνητο, βλέπουμε τα σήματα κυκλοφορίας, τα φανάρια και άλλα οχήματα. Έτσι αποφασίζουμε πότε να σταματήσουμε, πότε να στρίψουμε και πότε να προχωρήσουμε. Τα αυτοοδηγούμενα οχήματα κάνουν το ίδιο πράγμα, αλλά αντί για μάτια, διαθέτουν κάμερες, αισθητήρες και ειδικά συστήματα υπολογιστών για να “βλέπουν” τον δρόμο!

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

Με τη συσκευή HuskyLens προσαρμοσμένη πάνω του, το Maqueen είναι και αυτό σε θέση να αναγνωρίσει αντικείμενα, σήματα, χρώματα, πρόσωπα, ετικέτες κ.ά. Για όλες αυτές τις προκαθορισμένες λειτουργίες που διαθέτει δεν χρειάζεται να γράψεις καθόλου κώδικα για τη δημιουργία των μοντέλων, παρά μόνο να τα αξιοποιήσεις.

Εκπαιδεύοντας τη HuskyLens

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

Για την υλοποίηση του project μπορείς να εκμεταλλευτείς διάφορες λειτουργίες της HuskyLens όπως “Object Classification”, “Color Recognition”, “Tag Recognition” κ.ά. Καθώς το ρομποτάκι περιηγείται στην πίστα και “βλέπει” διάφορα χρώματα και σχήματα που υπάρχουν στον χώρο, ενδέχεται να τα μπερδεύει με αυτά που “εκπαιδεύτηκε” να αναγνωρίζει. Στις οδηγίες που ακολουθούν χρησιμοποιείται η λειτουργία Tag Recognition, καθώς οι προβλέψεις του αλγόριθμου παρουσιάζουν τη μεγαλύτερη αξιοπιστία, αλλά τo πρόγραμμα του Maqueen και η διαδικασία εκμάθησης και απόδοσης ID με τη HuskyLens, είναι ίδια και για τις άλλες λειτουργίες.

Οι ετικέτες (tags) της λειτουργίας “Tag Recognition” είναι τα AprilTags που είναι δημιουργία του εργαστηρίου April Robotics του Πανεπιστημίου του Μίσιγκαν. Μπορούν να χρησιμοποιηθούν για τον εντοπισμό περιοχών, αντικειμένων ή ενεργειών και να χρησιμεύσουν ως στόχοι βαθμονόμησης για τα ρομπότ.

Για τον χειρισμό της HuskyLens χρησιμοποιούνται μόλις δύο κουμπιά:

  • Κουμπί λειτουργιών (Functional button): μικρή περιστροφή αριστερά/δεξιά ή απλό πάτημα.
  • Κουμπί εκμάθησης (Learning button): απλό πάτημα.

Για να ενεργοποιήσεις τη λειτουργία “Tag Recognition” αρχικά χρησιμοποίησε το κουμπί λειτουργιών για να κάνεις κάποιες ρυθμίσεις. Στρέψε το κουμπί προς τα αριστερά ή δεξιά μέχρι να εμφανιστεί η ένδειξη “Tag Recognition” στην κορυφή της οθόνης. Ακολούθως, πάτησε παρατεταμένα το κουμπί για να εισέλθεις στις ρυθμίσεις παραμέτρων της λειτουργίας “Tag Recognition”. Έπειτα στρέψε το κουμπί προς τα δεξιά για να επιλέξεις “Learn Multiple”, κάνε ένα σύντομο πάτημα και στη συνέχεια στρέψε και πάλι το κουμπί προς τα δεξιά για να ενεργοποιήσεις το “Learn Multiple ”, δηλαδή το τετράγωνο εικονίδιο στη γραμμή προόδου να μετακινηθεί προς τα δεξιά. Τέλος, πάτησε σύντομα ακόμα μία φορά το κουμπί λειτουργιών για να επιβεβαιώσεις αυτήν την παράμετρο. Για να ολοκληρωθούν οι ρυθμίσεις στρέψε το κουμπί λειτουργιών προς τα αριστερά για να επιλέξεις “Save & Return” και κάνε ένα σύντομο πάτημα για να αποθηκεύσεις τις παραμέτρους των ρυθμίσεων.

Στη συνέχεια θα πρέπει να “εκπαιδεύσεις” τη HuskyLens να αναγνωρίζει τα tag που επιθυμείς χρησιμοποιώντας το κουμπί εκμάθησης. Στρέψε τη HuskyLens προς κάποιο tag και θα εμφανιστεί αυτόματα στην οθόνη ένα λευκό πλαίσιο γύρω από το tag. Τοποθέτησε τον σταυρό της οθόνης στο πρώτο tag και πάτησε το κουμπί εκμάθησης. Όσο κρατάς πατημένο το κουμπί, ένα κίτρινο πλαίσιο με την ένδειξη “Tag:ID1” θα εμφανίζεται υποδεικνύοντας ότι η HuskyLens μαθαίνει την ετικέτα. Όταν αφήσεις το κουμπί θα εμφανιστεί το μήνυμα Click again to continue! Click other button to finish. Για να εκπαιδεύσεις τη HuskyLens να αναγνωρίζει και άλλα tag, πάτησε σύντομα το κουμπί εκμάθησης πριν ολοκληρωθεί η αντίστροφη μέτρηση και ακολούθησε την ίδια διαδικασία.

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

Στο τέλος του οδηγού μπορείς να βρεις και να κατεβάσεις όλα τα αρχεία που ίσως χρειαστείς: tag, σήματα, πίστα, 3d printed βάσεις και βέβαια τα τελικά προγράμματα.

Τι θα χρειαστείς

Ηλεκτρονικά μέρη

  • Κινητήρες
  • Μπροστινά LED
  • AI Camera – Vision Sensor

Έννοιες προγραμματισμού

  • Τελεστές σύγκρισης
  • Αριθμητικοί τελεστές
  • Μεταβλητές
  • Εντολές επανάληψης
  • Εντολές επιλογής
  • Συναρτήσεις

Προγραμματισμός με MakeCode

Ο παρών οδηγός αποτελεί συνέχεια του οδηγού που θα βρεις εδώ. Το πρόγραμμα του “line following” με PID έλεγχο θα τροποποιηθεί και θα εμπλουτιστεί, με σκοπό το Maqueen να αντιδρά στα σήματα που “διαβάζει” με τη βοήθεια της HuskyLens. Η συνάρτηση “PIDControl” θα παραμείνει όπως ήταν, όμως θα χρειαστεί να γίνουν αρκετές αλλαγές στις εντολές που περιλαμβάνονται στις δομές “κατά την έναρξη” και “για πάντα”.

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

Locked Buy Maqueen

Φτιάξτε θήκη μπαταριών για το BBC micro:bit σας

Φωτάκι νυκτός με το BBC micro:bit!

Παίξε ποδόσφαιρο με το Maqueen

Gravity, η δύναμη του γρήγορου prototyping στα χέρια σας!