Στοιχεία ομάδας έργου
- Αναστάσης Πουλπούλουγλου
- Εμμέλεια Παπαπούλια
- Άγγελος Χαλβατζής
- Ορφέας Αλεξιάδης
- Θανάσης Μουντούσης
Υπεύθυνος Εκπαιδευτικός: Γιάννης Αρβανιτάκης, Όμιλος Ρομποτικής Μικχροί Χάκερ – Πειραματικό Δημοτικό Σχολείο Φλώρινας.
Δυστυχώς το έργο μας δεν είναι ολοκληρωμένο. Δεν προλάβαμε να προχωρήσουμε όσο θέλαμε. Στην σελίδα θα βρείτε την μέχρι τώρα πορεία μας, την έρευνα, τον σχεδιασμό, τις εκτυπώσεις και τις δοκιμές με τα ηλεκτρονικά εξαρτήματα.
Βασική περιγραφή ιδέας
Τα τελευταία χρόνια υπάρχουν πολλές προσπάθειες από ομάδες ρομποτικής να βοηθήσουν τους συνανθρώπους μας με προβλήματα όρασης δημιουργώντας μπαστούνια τα οποία ενσωματώνουν αισθητήρες και νέες τεχνολογίες για να διευκολύνουν την ζωή και την καθημερινότητα τους.
Το μπαστούνι που έχουμε σχεδιάσει, εκτός από τον έλεγχο για την απόσταση από τα εμπόδια που υπάρχουν μπροστά του (αισθητήρας υπερήχων), μπορεί να αναγνωρίσει αντικείμενα (πχ αυτοκίνητα, διαβάσεις, παγκάκια κλπ) καθώς και πρόσωπα (πχ τους φίλους και γνωστούς μας) με την χρήση της κάμερας τεχνητής νοημοσύνης που περιλαμβάνει. Επίσης μπορεί να αναγνωρίσει την ένταση του φωτός τις βραδινές ώρες και με αυτόν τον τρόπο να ενημερώσει τον άνθρωπο που το χρησιμοποιεί αν είναι σε φωτισμένο δρόμο ή όχι. Χρησιμοποιώντας τον αισθητήρα – πυξίδα του microbit μπορεί να πληροφορεί τον άνθρωπο για την κατεύθυνση προς την οποία κινείται. Οι πληροφορίες μπορεί να μεταφέρονται με ηχητικά σήματα απευθείας στον άνθρωπο από το microbit με handsfree, ενώ ιδανικά μπορεί να γίνει σύνδεση με το κινητό τηλέφωνο μέσω bluetooth και η εφαρμογή που θα κατασκευάσουμε στο AppInventor να αξιοποιεί δυνατότητες text to speech για να “μιλάει” στον άνθρωπο με κανονικές εκφράσεις.
Έρευνα
Για την επιλογή του συγκεκριμένου θέματος αφιερώσαμε τρεις συναντήσεις στις οποίες διεξάχθηκαν συνεδρίες σχεδιαστικής σκέψεις και αξιοποιήσαμε τεχνικές, μεθοδολογίες και card-based εργαλεία Design Thinking τα οποία αναπτύχθηκαν για τον όμιλο ρομποτικής του σχολείου μας.
Επίσης αξιοποιήσαμε άλλες 3 συναντήσεις για να δημιουργήσουμε μια εικονική μαθητική επιχείρηση η οποία θα σχεδίαζε και θα υλοποιούσε τα συστήματα μας, μοιράζοντας ρόλους στους μαθητές και τις μαθήτριες μας. Επειδή εκείνο το διάστημα τα σχολεία ήταν κλειστά λόγω της πανδημίας covid-19 εργαζόμασταν διαδικτυακά μέσω της πλατφόρμας Mural και εκεί έχουμε συγκεντρώσει όλο το αποτέλεσμα της έρευνάς μας.
Παρόμοια συστήματα
- wewalk.io – Ένα έξυπνο μπαστούνι το οποίο συνδέεται με το κινητό μας τηλέφωνο.
- Απλά ιατρικά Βοηθήματα Στήριξης
- Το «έξυπνο» μπαστούνι για τυφλούς
- «Έξυπνο» λευκό μπαστούνι για τους τυφλούς
Κόστος παραγωγής
- Microbit V2 – κόστος: 18,90 ευρώ
- HuskyLens AI Camera for Microbit – κόστος: 74 ευρώ
- Edge Breakout for BBC micro:bit – κόστος: 10,90 ευρώ
- Αισθητήρας απόστασης υπερήχων – κόστος: 1,80 ευρώ
- Μπαταριοθήκη 2xAAA – με JST PH no Cover – κόστος: 1,90 ευρώ
- Μπαστούνι – κόστος: 4,58 ευρώ
Συνολικό κόστος: 112,08 ευρώ
Ποια είναι τα θετικά στοιχεία της ιδέας μας
- Έχει τεχνητή νοημοσύνη και μπορεί να αναγνωρίζει εμπόδια και ανθρώπους πολύ καλύτερα από έναν αισθητήρα.
- Μια που έχει Τεχνητή Νοημοσύνη μπορεί να βοηθάει τον χρήστη να βρίσκει την έξοδο σε περίπτωση φωτιάς.
- Θα επιλέξουμε μπαστούνι που θα είναι από ανακυκλωμένα υλικά.
- Θα είναι αδιάβροχο.
- Θα έχει μεγάλο χρόνο ζωής.
- Θα μπορούσε να έχει αποθηκευμένα και τραγούδια τα οποία να παίζει.
- Θα μπορούσαμε να βάλουμε και GPS για να ξέρει ακριβώς την τοποθεσία του ανθρώπου.
- Το λογισμικό θα είναι σε αρκετές γλώσσες.
Σχεδιασμός και 3D εκτύπωση
Χρησιμοποιήσαμε ένα απλό μπαστούνι πεζοπορίας στο οποίο έχουμε προσαρμόσει το σύστημα μας. Τα βασικά ηλεκτρονικά μέρη του συστήματος (Microbit, κάμερα AI), περιλαμβάνονται σε ένα κουτί το οποίο τοποθετείται στο μπαστούνι με κατάλληλα clips. Ο σχεδιασμός του κουτιού και των clips έγινε στο TinkerCAD. Από τα μέλη της ομάδας μας. Υπάρχουν κατάλληλα ανοίγματα για την οθόνη του microbit, την κάμερα και τα 2 πλήκτρα.
Η εκτύπωση του κουτιού και των clips έγινε στους 3D εκτυπωτές του σχολείου μας με την χρήση διαφορετικών χρωμάτων υλικού PLA.
Ρύθμιση AI κάμερας
Η κάμερα HuskyLens που χρησιμοποιούμε στο σύστημα μας έχει αρκετά αναλυτικές οδηγίες στα Αγγλικά για την χρήση της. Έχει δυνατότητες ανανγώρισης προσώπων, αντικειμένων, χρωμάτων, γραμμών και QR κωδικών, ενώ παράλληλα μπορεί να επικοινωνεί με το Microbit που είναι η καρδιά του συστήματος μας και να ανταλλάσει μαζί του πληροφορίες.
Για να ρυθμίσουμε την κάμερα χρησιμοποιούμε το πλήκτρο λειτουργιών που είναι ταυτόχρονα και ρόδα επιλογής (Function button), καθώς και το πλήκτρο μάθησης (Learning button).
Ρύθμιση αναγνώρισης προσώπων
Αρχικά θα πρέπει να ρυθμίσουμε την κάμερα ώστε να μπορεί να μαθαίνει και να αποθηκεύει πολλά πρόσωπα:
- Γυρνάμε την ρόδα επιλογής μέχρι να εμφανιστεί στην οθόνη η λειτουργία Face Recognition
- Πατάμε το πλήκτρο επιλογής πατημένο μέχρι να εμφανιστεί στο κάτω μέρος της οθόνης οι παράμετροι για την λειτουργία Face Recognition
- Γυρνάμε τον δίσκο επιλογής μέχρι να βρούμε το Learn Multiple και πατάμε μια φορά το πλήκτρο επιλογής
- Εμφανίζεται ένας διακόπτης τον οποίο τον ενεργοποιούμε (γίνεται μπλε)
- Γυρνάμε τον διακόπτη μέχρι να βρούμε την επιλογή save and return και πατάμε το πλήκτρο επιλογής. Στην ερώτηση Do you want to save data, πατάμε yes.
Τώρα μπορούμε να μάθουμε στην κάμερα τα πρόσωπα που θέλουμε να θυμάται:
- Ενώ είμαστε ακόμα στην κατάσταση Face recognition πατάμε μια φορά το πλήκτρο μάθησης για να ξεχάσει η κάμερα τα παλιά πρόσωπα. Στην οθόνη θα μας βγάλει το μήνυμα Click again to forget στο οποίο θα πρέπει να πατήσουμε άλλη μια φορά το πλήκτρο μάθησης πριν τελειώσει ο σύντομος χρόνος.
- Τώρα μπορούμε να ξεκινήσουμε να μαθαίνουμε στην κάμερα πρόσωπα. Στοχεύουμε στο πρώτο πρόσωπο και πατάμε το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και μας βγάζει ένα μήνυμα Click again to continue! Click other button to finish. Αν θέλουμε να συνεχίσουμε με νέο πρόσωπο πατάμε μέσα σε 3 δευτερόλεπτα ξανά το πλήκτρο μάθησης.
- Στοχεύουμε στο νέο πρόσωπο που θέλουμε να μάθει και πατάμε πάλι το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και πάλι μας βγάζει το ίδιο μήνυμα με πριν. Αν θέλουμε να συνεχίσουμε πατάμε πάλι το πλήκτρο μάθησης μέσα σε 3 δευτερόλεπτα, αλλιώς αν έχουμε τελειώσει με όλα τα πρόσωπα αφήνουμε να τελειώσει ο χρόνος.
- Τώρα πλέον η κάμερα μας έχει μάθει τα πρόσωπα που θέλουμε και τους έχει δώσει ένα ID στο καθένα. Κάθε φορά που αναγνωρίζει ένα πρόσωπο βγάζει γύρω του ένα τετράγωνο στην οθόνη και αν αυτό το πρόσωπο ανήκει στα γνωστά, τότε εμφανίζει δίπλα του και το ID που έχει πάρει.
Ρύθμιση αναγνώρισης αντικειμένων
Η HuskyLens μπορεί να αναγνωρίσει 20 διαφορετικά είδη αντικειμένων όπως: αεροπλάνο, ποδήλατο, πουλί, βάρκα, μπουκάλι, λεωφορείο, αυτοκίνητο, γάτα, καρκέκλα, αγελάδα, τραπέζι, σκύλος, άλογο, μηχανή, άνθρωπος, τρένο κλπ. Για την δική μας περίπτωση ειδικά τα αυτοκίνητα, λεωφορεία και ποδήλατα που κινούνται στους δρόμους με ταχύτητα είναι ιδιάιτερα χρήσιμα να αναγνωρίζονται από το μπαστούνι μας.
Αρχικά θα ρυθμίσουμε την κάμερα να μπορεί να αποθηκεύει πολλά αντικείμενα:
- Γυρνάμε την ρόδα επιλογής μέχρι να εμφανιστεί στην οθόνη η λειτουργία Object Recognition
- Πατάμε το πλήκτρο επιλογής πατημένο μέχρι να εμφανιστεί στο κάτω μέρος της οθόνης οι παράμετροι για την λειτουργία Object Recognition
- Γυρνάμε τον δίσκο επιλογής μέχρι να βρούμε το Learn Multiple και πατάμε μια φορά το πλήκτρο επιλογής
- Εμφανίζεται ένας διακόπτης τον οποίο τον ενεργοποιούμε (γίνεται μπλε)Γυρνάμε τον διακόπτη μέχρι να βρούμε την επιλογή save and return και πατάμε το πλήκτρο επιλογής. Στην ερώτηση Do you want to save data, πατάμε yes.
Τώρα πάμε να του μάθουμε τα αντικείμενα:
- Τώρα μπορούμε να ξεκινήσουμε να μαθαίνουμε στην κάμερα αντικείμενα. Στοχεύουμε στο πρώτο αντικείμενο (πχ ένα αυτοκίνητο) και πατάμε το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και μας βγάζει ένα μήνυμα Click again to continue! Click other button to finish. Αν θέλουμε να συνεχίσουμε με νέο αντικείμενο πατάμε μέσα σε 3 δευτερόλεπτα ξανά το πλήκτρο μάθησης.
- Στοχεύουμε στο νέο αντικείμενο που θέλουμε να μάθει και πατάμε πάλι το πλήκτρο μάθησης. Η κάμερα το μαθαίνει και πάλι μας βγάζει το ίδιο μήνυμα με πριν. Αν θέλουμε να συνεχίσουμε πατάμε πάλι το πλήκτρο μάθησης μέσα σε 3 δευτερόλεπτα, αλλιώς αν έχουμε τελειώσει με όλα τα αντικείμενα αφήνουμε να τελειώσει ο χρόνος.
- Τώρα πλέον η κάμερα μας έχει μάθει τα αντικείμενα που θέλουμε και τους έχει δώσει ένα ID στο καθένα. Κάθε φορά που αναγνωρίζει ένα αντικείμενο βγάζει γύρω του ένα τετράγωνο στην οθόνη, τον τύπο του αντικειμένου και αν αυτό ανήκει στα γνωστά, τότε εμφανίζει δίπλα του και το ID που έχει πάρει.
Σύνδεση μονάδων
Για την επικοινωνία του Microbit με την κάμερα AI και τους αισθητήρες υπερήχων θα χρησιμοποιήσουμε την μονάδα Edge Breakout for BBC micro:bit στην οποία συνδέουμε το Microbit συρταρωτά όπως φαίνεται στην παρακάτω εικόνα.
Για την σύνδεση της HuskyLens με το Microbit μέσω της μονάδας Edge Breakout θα χρησιμοποιήσουμε το πρωτόκολο I2C το οποίο απαιτεί 4 καλώδια:
- Το μαύρο καλώδιο είναι η γείωση (GND)
- Το κόκκινο καλώδιο είναι το θετικό (3.3V)
- Το μπλε καλώδιο είναι το SCL (clock) – θέση 19
- Το πράσινο καλώδιο είναι το SDA (data) – θέση 20
Προγραμματισμός Microbit
Από την στιγμή που το μπαστούνι μας απευθύνεται σε ανθρώπους με σοβαρά προβλήματα όρασης η βασική επικοινωνία μαζί τους θα πρέπει να γίνεται με ήχους. Έτσι η κάμερα θα αναγνωρίζει πρόσωπα και αντικείμενα και το Microbit θα εκπέμπει ένα ξεχωριστό ηχητικό σήμα για το καθένα.
Προετοιμασία
Αρχικά θα ετοιμάσουμε το περιβάλλον προγραμματισμού μας. Ανοίγουμε την σελίδα https://makecode.microbit.org και ξεκινάμε ένα νέο πρόγραμμα. Εκεί θα πρέπει να προσθέσουμε την επέκταση για την κάμερα HuskyLens.
Αλγόριθμος
Το πρόγραμμα μας θα λειτουργεί ως εξής:
- Θα μπορεί να αλλάζει μεταξύ των δυο καταστάσεων (αναγνώριση προσώπου και αναγνώριση αντικειμένων) με τα πλήκτρα Α και Β.
- Θα διαβάζει τα δεδομένα από την κάμερα και ανάλογα με την κατάσταση στην οποία είναι ρυθμισμένο θα ελέγχει το ID που στέλνει η κάμερα.
- Για κάθε πρόσωπο και για κάθε αντικείμενο που θα αναγνωρίζει θα παίζει μια διαφορετική μελωδία.
Μελλοντικά σχέδια
Δυστυχώς δεν έχουμε καταφέρει ακόμα να ολοκληρώσουμε το έργο μας κυρίως όσον αφορά τον προγραμματισμό του. Τα σχέδια μας περιλβαμβάνουν τα εξής:
- Δημιουργία εφαρμογής στο AppInventor η οποία θα επικοινωνεί με bluetooth με το Microbit και θα μπορεί να στέλνει δεδομένα αμφίδρομα.
- Αξιοποίηση του αισθητήρα φωτός του Microbit για να καταλαβαίνουμε αν είναι βράδυ ή μέρα, καθώς και της πυξίδας για τον προσανατολισμό.
Τα σενάρια: https://makecode.microbit.org/_cfRitJ4z2VL9