ROBOT –ΑΥΤΟΚΙΝΗΤΑΚΙ ΠΟΥ ΑΠΟΦΕΥΓΕΙ ΕΜΠΟΔΙΑ ΜΕΣΩ ΤΕΧΝΗΤΗΣ ΝΟΗΜΟΣΥΝΗΣ-ARTIFICIAL INTELLIGENCE PROJECT
Σύμφωνα με το OER CANVAS ΕΔΩ.
ΠΕΡΙΓΡΑΦΗ ΠΡΟΤΕΙΝΟΜΕΝΗΣ ΛΥΣΗΣ—->VIDEO LINK ΕΞΗΓΗΣΗΣ
Φωτογραφίες απο μαθήματα-εργαστήριο-κατασκευές STEM στο λύκειο Βάμου –>link
Περιγραφή προβλήματος
Η πρόκληση για μένα ως εκπαιδευτή αλλά και για την εκπαίδευση STEM γενικότερα , είναι να εισάγει τους μαθητές στην Τεχνητή Νοημοσύνη. Τεχνολογία η οποία θα επικρατήσει στο μέλλον .Οι χειριστές της καλούνται να την διαχειριστούν προς όφελος της ανθρωπότητας . Επίσης εισάγω την επίκαιρη συζήτηση στους μαθητές μας “δικλείδες ασφαλείας στην εξέλιξη της Τ.Ν. ώστε να λειτουργεί ανθρωπιστικά και δημοκρατικά”-link.
Όχημα αποφυγής εμποδίων με λογισμικό neural network – AI (Artificial Intelligence)
Artificial Intelligence Eyes .
Το πρόγραμμα-code.ino που χρησιμοποιούμε σε αυτό το ρομπότ είναι μια απλοποιημένη μορφή neural network που μπορεί να αποτελέσει την βάση για μελλοντικές εφαρμογές STEM-neural network διαφορετικές απο την δική μας.Αποτελεί μια απλή δομή neural network που εντούτοις δουλεύει και δείχνει πως….
Γενική παρουσίαση του προγράμματος και της δομής του.
Σε ένα τεχνητό ή βασισμένο σε λογισμικό νευρωνικό δίκτυο, δημιουργείται ένα μαθηματικό μοντέλο όλων των νευρώνων και των συνδέσεών τους. Στη συνέχεια, μια είσοδος τροφοδοτείται στο δίκτυο και οι νευρώνες συστηματικά προσθέτουν τις εισόδους τους και παράγουν μια έξοδο στο επόμενο επίπεδο νευρώνων έως ότου επιτευχθεί μια έξοδος.
Μία από τις βασικές αρχές σε ένα τεχνητό νευρωνικό δίκτυο είναι ότι το δίκτυο πρέπει να εκπαιδευτεί. Όταν ρυθμίζεται το δίκτυο, εφαρμόζονται τυχαία βάρη σε κάθε μία από τις συνδέσεις. Αυτά τα βάρη παρέχουν ένα σημείο εκκίνησης για το δίκτυο, αλλά σχεδόν πάντα θα παρέχουν «σκουπίδια» εξόδους. Ένα σύνολο δειγμάτων δεδομένων εισάγεται στο δίκτυο και τα αποτελέσματα συγκρίνονται με τα αναμενόμενα αποτελέσματα. Στη συνέχεια, τα βάρη προσαρμόζονται και ο κύκλος εισόδου/εξόδου επαναλαμβάνεται. Αυτός ο κύκλος εκπαίδευσης επαναλαμβάνεται έως ότου τα δεδομένα εξόδου από το δίκτυο ταιριάζουν με τα αναμενόμενα δεδομένα εξόδου σε ένα ορισμένο επίπεδο ακρίβειας. Αυτό συνήθως απαιτεί μερικές δεκάδες χιλιάδες κύκλους εκπαίδευσης ανάλογα με την πολυπλοκότητα των δεδομένων και του δικτύου.
Σε αυτό το παράδειγμα, πρόκειται να χτίσουμε ένα δίκτυο τροφοδοσίας τριών επιπέδων, εκ των οποίων τα τρία είναι: το επίπεδο εισόδου, το κρυφό επίπεδο και το επίπεδο εξόδου, όπως φαίνεται παρακάτω.
ΠΕΡΙΓΡΑΦΗ ΠΡΟΤΕΙΝΟΜΕΝΗΣ ΛΥΣΗΣ—->VIDEO LINK ΕΞΗΓΗΣΗΣ
Ένα ρομπότ αποφυγής εμποδίων που χρησιμοποιεί δύο υπερηχητικές μονάδες HSR-04 συνδεδεμένες σε ένα ESP32 (μικροελεγκτής) που τρέχει νευρωνικό δίκτυο για να ελέγξει τις κινήσεις του .Το νευρωνικό δίκτυο έχει δύο κόμβους εισόδου από τις υπερηχητικές μονάδες και πέντε κόμβους εξόδου, στρίψτε αριστερά, στρίψτε δεξιά, ελαφριά αριστερά, ελαφριά δεξιά και ευθεία.
Ο στόχος μας είναι να χρειάζονται ένα ή δύο λεπτά για να εκπαιδευτεί το νευρωνικό δίκτυο στο σύνολο δεδομένων κατά την ενεργοποίηση .Παρόμοιο αποτέλεσμα “Όχημα αποφυγής εμποδίων” θα μπορούσε να επιτευχθεί με άλλα συμβατικά προγράμματα που κυκλοφορούν στο διαδίκτυο όμως αυτή η προσέγγιση που θα προσπαθήσουμε να υλοποιήσουμε δίνει μια παρουσίαση του Artificial Intelligence (με λογική τέτοια για υλοποίηση και σε άλλα project ).Το εκπληκτικό εδώ είναι ότι το ρομπότ “αποφασίζει” μόνο του τι θα κάνει προκειμένου να αποφύγει εμπόδια και όχι να ακολουθήσει ένα συγκεκριμένο μοτίβο όπως τα συνηθισμένα ρομπότ .Θα χρησιμοποιήσουμε το esp32 . Γιατί το esp32 με λίγο μεγαλύτερη υπολογιστική ισχύ θα αποτελέσει την φθηνή εναλλακτική μας (τα κλασικά mcu όπως arduino uno, mega etc αποκλείονται λόγω χώρου-ισχύος του προγράμματος που απαιτείται).
Στον κώδικα έχει προβλεφθεί να μπουν led neo pixel όπου θα δείχνουν σε ποιό στάδιο βρίσκεται ο κώδικας: είσοδος,ενεργοποίηση κρυμμένου επιπέδου και έξοδος( 27=3χ9 leds neo pixel).Εφόσον δεν έγινε στην 1η κατασκευή θα προστεθεί σύντομα ώστε κατα την επίδειξη να φαίνεται σε ποιο στάδιο βρίσκεται ο κώδικας (σύμφωνα με το παραπάνω σχήμα).
ΚΟΙΝΩΝΙΚΟΣ ΑΝΤΙΚΤΥΠΟΣ
Αυτή η καινούργια για τον πολύ κόσμο τεχνολογία Τ.Ν. ή AI (Artificial Intelligence) διεγείρει τον τοπικό ενδιαφέρον και την κουβέντα “μα πως κατάφεραν κάτι τέτοιο τα παιδιά;” Προς το παρόν αυτή η εφαρμογή είναι στα όρια των σχολικών δυνατοτήτων. Όμως το μέλλον προμηνύει ότι την εισχώρηση του στο προπανεπιστημιακό STEM και είναι χρέος μας ως καθηγητές να προχωρήσουμε και να εξελιχθούμε, δείχνοντας στους μαθητές μας τον δρόμο.
Η ακαδημαϊκή κοινότητα και η ΕΛΛΑΚ προτείνει την εισαγωγή της Τ.Ν. στην δευτεροβάθμια εκπαίδευση και σε αυτό το κάλεσμα ανταποκριθήκαμε.
Περιγραφή ομάδας μαθητών, ανάθεση ρόλων.
Οι αδερφές Ελένη και Χαρίκλεια εργάστηκαν με επιμέλεια και υπομονή -κώδικες και κύκλωμα- για την υλοποίηση του έργου.
Διεύθυνση αποθετηρίου στο Github: https://github.com/nektarios25ma/Artificial-Intelligence-Eyes-
ΚΑΤΑΣΚΕΥΗ
ΚΥΚΛΩΜΑ ΘΑ ΤΟ ΔΕΙΤΕ ΜΕ ΚΑΛΥΤΕΡΗ ΑΝΑΛΥΣΗ ΕΔΩ
Προσθήκη πλακέτας esp32 στο arduino ide
Δείτε τι πρέπει να κάνετε για να εγκαταστήσετε τις πλακέτες ESP32 στο Arduino IDE:
Ανοίξτε το Arduino IDE. Βεβαιωθείτε ότι βρίσκεστε στην έκδοση 1.8 ή νεότερη, αν όχι, ενημερώστε το IDE με την πιο πρόσφατη έκδοση.
Κάντε κλικ στο μενού Αρχείο στην επάνω γραμμή μενού.
Κάντε κλικ στο στοιχείο μενού Προτιμήσεις. Αυτό θα ανοίξει ένα παράθυρο διαλόγου Προτιμήσεις.
Αναζητήστε το πλαίσιο κειμένου με την ένδειξη “Επιπλέον URLs διαχειριστή πλακετών”.
Εάν υπάρχει ήδη κείμενο σε αυτό το πλαίσιο, προσθέστε κώμα στο τέλος του και, στη συνέχεια, ακολουθήστε το επόμενο βήμα.
Επικολλήστε τον παρακάτω σύνδεσμο στο πλαίσιο κειμένου-https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Κάντε κλικ στο κουμπί OK για να αποθηκεύσετε τη ρύθμιση.
Ανοίξτε-πατήστε την επιλογή εργαλεία απο την πάνω μπάρα του arduino ide (αφού πρώτα ανοίξετε το πρόγραμμα)
Επιλέξτε πλακέτα και μετά διαχειριστής πλακετών.
Γράφετε esp32 και επιλέγετε Esp32 (by espresif).Έπειτα εγκατάσταση.
3ο βήμα:
Ανεβάστε το πρόγραμμα-ino στην πλακέτα: αφού κατεβάσετε όλο το φάκελο https://github.com/nektarios25ma/Artificial-Intelligence-Eyes-/tree/main/AI_es32TEST2 απο τον παραπάνω σύνδεσμο και ανοίξετε το AI_es32TEST2.ino.
Υ.Γ. Απο τα εργαλεία στο arduino ide διαλέξτε πλακέτα :NodeMCU-32S
Ο κώδικας εδώ.
ΠΗΓΕΣ
WIKIPEDIA NEURAL NETWORKS LINK: https://el.wikipedia.org/wiki/%CE%9D%CE%B5%CF%85%CF%81%CF%89%CE%BD%CE%B9%CE%BA%CF%8C_%CE%B4%CE%AF%CE%BA%CF%84%CF%85%CE%BF
ΕΙΣΑΓΩΓΗ ΣΤΟ ESP32 : https://dronebotworkshop.com/esp32-intro/
NEURAL NETWORK ΕΙΣΑΓΩΓΗ ΜΕ ΑΠΛΟ ΠΑΡΑΔΕΙΓΜΑ ΣΕ ARDUINO UNO: https://www.the-diy-life.com/running-an-artificial-neural-network-on-an-arduino-uno/