SoccerBots AI – Η τεχνητή νοημοσύνη παίζει ποδόσφαιρο

SoccerBots AI – Η τεχνητή νοημοσύνη παίζει ποδόσφαιρο

Όνομα Ομάδας SoccerBots AI

Διοργανωτής Πόλος Εκπαιδευτικής Καινοτομίας Τεχνολογίας Πληροφορίας και Επικοινωνιών Γρεβενών (Π.Ε.Κ.Τ.Π.Ε. Γρεβενών)

Εκπαιδευτικοί Λιάμπα Θεοδούλα (ΠΕ86 Πληροφορικής) Μωϋσιάδης Βασίλης (ΠΕ86 Πληροφορικής)

Μαθητές Γυμνασίου

  • Γιαννούλα Άννα-Μαρία
  • Γιαννούλας Γεώργιος
  • Γιαννούλας Κωνσταντίνος
  • Καράγαλης Κωνσταντίνος
  • Μπαρλαγιάννης Αναστάσιος
  • Νασιάδης Ανδρέας
  • Παναγιωτίδης Κυριάκος
  • Ποράβα Βασιλική
  • Σαρηπαπαζίδης Ιωάννης
  • Τζόλια Βασιλική

Βίντεο με παρουσίαση της κατασκευής:

 

Διεύθυνση αποθετηρίου στο Github:

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

https://github.com/pektpegre/SoccerBots-AI

 

Αναλυτική περιγραφή έργου

Στόχος του έργου μας ήταν ο σχεδιασμός και η κατασκευή δύο αυτόνομων κατασκευών (ποδοσφαιρικών παικτών), ώστε να παίζουν ως αντίπαλοι έναν αγώνα ποδοσφαίρου. Οι δύο “ποδοσφαιρικοί παίκτες” διαθέτουν την κάμερα HuskyLens με δυνατότητες τεχνητής νοημοσύνης, η οποία δίνει τη δυνατότητα στο κάθε όχημα να αναγνωρίζει και να αντιλαμβάνεται, τόσο την μπάλα του αγώνα όσο και τον χώρο – γήπεδο και να κινείται αναλόγως. Σκοπός του κάθε παίκτη είναι να βάλει γκολ στο τέρμα του γηπέδου.

Το κάθε αυτοκίνητο καθοδηγείται και ενεργεί, αναλόγως με τα χρώματα που εντοπίζει. Για την μπάλα του αγώνα έχει επιλεγεί το χρώμα κόκκινο και έχει εκτυπωθεί κατάλληλο σε σχήμα αντικείμενο (κωνικό) στον 3D εκτυπωτή. Για τα δοκάρια του τέρματος έχει επιλεγεί το χρώμα μπλε, ενώ για τα όρια του γηπέδου το ροζ και το θαλασσί. Τα χρώματα αυτών των αντικειμένων αναγνωρίζονται από την κάμερα και έτσι το όχημα κινείται στα όρια του γηπέδου ώστε να κατευθείνει την μπάλα προς το τέρμα. Η κάμερα HuskyLens έχει προηγουμένως εκπαιδευτεί ώστε να αναγνωρίζει τα χρώματα.

Η κατασκευή βασίζεται στον μικροελεγκτή micro:bit. Παρόλο που ο αρχικός σχεδιασμός της κατασκευής αφορούσε τη χρήση Αrduino UNO, τελικά επιλέχθηκε το micro:bit, αφενός γιατί οι εντολές σε μορφή block του περιβάλλοντος προγραμματισμού (Makecode) ήταν πιο οικείες για τους μαθητές, αφετέρου γιατί το περιβάλλον προγραμματισμού επιτρέπει την εύκολη σύνδεση και επικοινωνία της AI κάμερας HuskyLens με το micro:bit με ένα πλήθος εντολών και χωρίς δυσλειτουργίες. Επίσης, κάθε αυτοκίνητο διαθέτει μία κατάλληλη πλακέτα επέκτασης για τους δυο κινητήρες, αλλά και μπαταρία για να είναι αυτόνομο και να κινείται ελεύθερα στον χώρο. Οι ρόδες και το πλαίσιο των οχημάτων σχεδιάστηκαν στο TinkerCAD εκτυπώθηκαν σε 3D εκτυπωτή.

Τα υλικά που απαιτούνται για την κατασκευή είναι τα εξής :

Συνολικό κόστος : 390 ευρώ

Βίντεο με παρουσίαση της κατασκευής.

Στάδια Κατασκευής και προγραμματισμού

Αρχικά οι μαθητές έπρεπε να κατανοήσουν τι είναι η τεχνητή νοημοσύνη. Παρουσιάσεις, βίντεο, διαδικτυακές εφαρμογές (Chat GPT, Copilot, GenCraft, Microsoft Designer κλπ) χρησιμοποιήθηκαν στην εκπαιδευτική διαδικασία προκειμένου να κατανοήσουν την έννοια αλλά και τη χρήση της. Χρησιμοποιήθηκε επίσης και το Teachable Machine προκειμένου να δημιουργήσουν οι μαθητές τα δικά τους μοντέλα μηχανικης μάθησης και να προβληματιστούν εποικοδομητικά ως προς πλήθος και το είδος των δεδομένων που εισάγονται στο μοντέλο, αξιολογώντας τον αντίκτυπο που έχουν αυτοί οι δύο παράγοντες στο αποτέλεσμα της πρόβλεψης.

Χρησιμοποιήσαμε την AI κάμερα HuskyLens, η οποία είναι μια εύκολη στη χρήση με δυνατότητες τεχνητής νοημοσύνης κατάλληλη για την ηλικιακή κατηγορία των μαθητών. Είναι εξοπλισμένη με πολλές λειτουργίες, όπως αναγνώριση προσώπου, παρακολούθηση αντικειμένων, αναγνώριση αντικειμένων, παρακολούθηση γραμμής, αναγνώριση χρώματος και αναγνώριση ετικέτας. Οι ρυθμίσεις που απαιτούνται για την εκμάθηση είναι μία σχετικά απλή διαδικασία μέσω του μενού που διαθέτει. Έχει την δυνατότητα να αναγνωρίζει πρόσωπα και αντικείμενα και να μπορεί να μαθαίνει συνεχώς νέα πράγματα ακόμα και από διαφορετικές οπτικές γωνίες. Δεν χρειάζεται η χρήση υπολογιστή για τη ρύθμιση των παραμέτρων, ενώ έχει τη δυνατότητα να συνδεθεί με δημοφιλείς πλακέτες ελέγχου όπως Arduino, micro:bit, Raspberry Pi και LattePanda, βοηθώντας έτσι ώστε να αναπτυχθούν πολύ δημιουργικά έργα χωρίς την ανάπτυξη πολύπλοκων αλγορίθμων.
Μερικά από τα επιπλέον χαρακτηριστικά που διαθέτει είναι :\

  • Οθόνη IPS 2,0 ιντσών και
  • Ενσωματομένα LED
  • Πλήκτρα ελέγχου
  • Σύνδεση I2C, UART

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

Στο επόμενο στάδιο έπρεπε η κάμερα να συνδεθεί με το micro:bit και να εξοικειωθούν οι μαθητές με τις εντολές για τον προγραμματισμό της για την χρήση της μέσω του μικροελεγκτή. Ιδιαίτερα απαιτητική για τους μαθητές ήταν η σύνδεση των κινητήρων και της μπαταρίας, δεδομένου ότι το πλήθος των καλωδίων αυξήθηκε και οι συνδεσμολογίες τους δυσχέραιναν τη διαχείριση της όλης κατασκευής. Οι μαθητές ξεκίνησαν να δοκιμάζουν κώδικα και να πειραματίζονται με τον τρόπο επικοινωνίας, ελέγχου και προγραμματισμού της κατασκευής, ιδιαίτερα των κινητήρων. Αν και αρχικά δοκιμάστηκαν κινητήρες servo, στην τελική κατασκευή χρησιμοποιήθηκαν οι κινητήρες DC. Η συνδεσμολογία για την κάμερα και τους κινητήρες με με την πλακέτα επέκτασης του micro:bit υπάρχουν αναλυτικά στον φάκελο hardware.

Αφού ολοκληρώθηκε η συνδεσμολογία και ο προγραμματισμός των κινητήρων, η κατασκευή έπρεπε να μετατραπεί σε όχημα για να δοκιμαστεί και η κίνηση του στο γήπεδο. Σχεδιάστηκε ένα τρισδιάστατο μοντέλο αυτοκινήτου στο πρόγραμμα σχεδίασης TinkerCAD. Φυσικά χρειάστηκαν αρκετές δοκιμές και εκτυπώσεις προκειμένου να μπορέσουν να τοποθετηθούν όλα τα μηχανικά μέρη του (micro:bit, AI κάμερα, πλακέτα επέκτασης κινητήρων, κινητήρες, ρόδες, μπαταρία, σασί, καλώδια) στις σωστές λειτουργικές θέσεις και να κινείται σωστά το όχημα. Οι μαθητές συναρμολογησαν όλα τα μέρη του οχήματος βιδώνοντας, όπου χρειαζόταν, κατάλληλες βίδες για να επιτευχθεί η στατικότητα και ταυτόχρονα η ευελιξία της κατασκευής. Το τελικό τρισδιάστατο σχέδιο του οχήματος βρίσκεται στον φάκελο 3D-model. Η

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

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

 

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

Στο μέλλον θέλουμε να βελτιώσουμε ακόμα περισσότερο την λειτουργία των “παικτών” έτσι ώστε να παίζουν μεταξύ τους έναν πιο ρεαλιστικό αγώνα ποδοσφαίρου.