Συναντήσεις:
[1] 10 Οκτ 2022 Δευτέρα:
Γνωριμία μελών, πλαίσιο ομίλου, προγραμματισμός ημέρας συνάντησης (κάθε Τετάρτη 14:00-15:30)
Σήμερα ήρθε o 3d εκτυπωτής, (οπότε πέραν μια απλής αναφοράς για το τι θα κάνουμε με τον εκτυπωτή και πως θα σχεδιάσουμε 3Δ αντικείμενα, θα ξεκινήσουμε με τα lego). Παρουσιάστηκαν τα προγράμματα 3d σχεδίασης που θα χρησιμοποιήσουμε: Tinkercad, Sketchup, Fusion360 ή FreeCAD και επεδείχθησαν παραδείγματα από το portfolio μου με sketchup και Inventor.
Εγκαταστάθηκε σε 3 ΗΥ + server, το λογισμικό για το lego spike prime και έγινε update to firmware του brick. Έγινε update στο google Chrome στους ΗΥ και δοκιμάστηκε επιτυχώς και η online έκδοση https://spike.legoeducation.com/. Έγινε ιστορική αναδρομή για τις εκδόσεις του Mindstorm (https://en.wikipedia.org/wiki/Lego_Mindstorms) και έγινε επίδειξη του EV3. Ανοίξαμε τα 3 κιτ lego spike prime, ταξινομήθηκαν τα περιεχόμενα και έγιναν τα 6 εισαγωγικά μικρομαθήματα με οθόνη, κινητήρα, αισθητήρα χρώματος, αισθητήρα αφής, αισθητήρα απόστασης και γυροσκόπιο. Το άνοιγμα και η τακτοποίηση των lego αντικειμένων ενθουσίασε τους μαθητές που θέλουν ξεκάθαρα να φτιάξουν-δημιουργήσουν και όχι να ακούσουν άλλες 2 ώρες θεωρίες.
[3] 26 Οκτ 2022:
α) Παρουσίαση του διαγωνισμού της FLL https://firstlegoleague.gr/
β) Παρουσίαση του διαγωνισμού της WRO αναλυτικά: https://wrohellas.gr/panellinios-diagonismos-stem-and-ekpaideutikis-robotikis/
γ) Spike > Units > Competition ready > Trainning camp1
Εξήγηση της περιστροφής 90 μοιρών με το γυροσκόπιο, και του spin.
To 4o βήμα έπρεπε να συνδυάσει 8 κινήσεις για να κινηθεί το ρομπότ σε τετράγωνο. Αρχικά μπερδεύτηκαν αλλά το βρήκαν και οι 3 ομάδες. Άλλαξαν όλες τις μοίρες γιατί το ρομπότ δεν έστριβε ακριβώς κάθετα. Έγινε επίδειξη πως εκτελείται το πρόγραμμα χωρίς το usb καλώδιο.
[4] 2 Νοεμ 2022:
Unboxing και συναρμολόγηση του 3d printer. Λόγω εκδρομής έμειναν οι 11 από τους 20. Η συναρμολόγηση ολοκληρώθηκε και άναψε ΟΚ ο 3d printer.
[5] 9 Νοεμ 2022:
Ρύθμιση του 3Δ εκτυπωτή και δοκιμαστική εκτύπωση του 2ου αρχείου με το οποίο εκτυπώσαμε τον λαγό! Η εκτύπωση έγινε παράλληλα με τα παρακάτω.
Συζήτηση για την πίστα του διαγωνισμού της WRO και των κανόνων όπως διαμορφώθηκαν στη 2η έκδοση των κανονισμών του Νοεμβρίου. Αναγνώριση των αρχικών προβλημάτων και διαδικασιών που πρέπει να επιλυθούν πάνω στην πίστα. Αναλυτική εξήγηση των εντολών που χρησιμοποιήθηκαν την προηγούμενη φορά στο Trainning camp1 με αναφορά στο https://primelessons.org/en/Lessons.html > Moving Straight. Εξήγηση της χρήσης του γυροσκοπίου για την μετακίνηση του ρομπότ σε τετραγωνική διαδρομή. Εξήγηση της εντολής “set movement motors to… at stop”, για τις εναλλακτικές επιλογές brake, hold position και coast.
Spike > Units > Competition ready > Trainning camp2: Playing with objects. Συναρμολόγηση και δοκιμή χρήσης του απλού βραχίονα και του αισθητήρα απόστασης. Δεν έγινε ανάλυση της κατασκευής και του προγραμματισμού.
[6] 16 Νοεμ 2022:
Μικρή συζήτηση για την Τ.Ν. αφού δουν το άρθρο: Τεχνητή νοημοσύνη: δίνει λύσεις αλλά δημιουργεί κινδύνους; Οι μαθητές ανά ομάδες να γράψουν μια μικρή παράγραφο με την άποψή τους ως σχόλιο στο παραπάνω άρθρο.
Συνέχεια Spike > Units > Competition ready > Trainning camp2: Playing with objects
Εξήγηση εντολών του 4ου βήματος
Παρουσίαση της άσκησης του 5ου βήματος με 2 αντικείμενα για μετακίνηση διαδοχικά και εκατέρωθεν από το σημείο εκκίνησης. Χρήση μέτρηση μοιρών περιστροφής, spin turn με βάση τις παρακάτω αναφορές.
Αναφορά: https://primelessons.org/en/ProgrammingLessons/MovingStraight.pdf
https://primelessons.org/en/ProgrammingLessons/ConfiguringRobotMovement.pdf
https://primelessons.org/en/ProgrammingLessons/GyroTurning.pdf
[7] 23 Νοεμ 2022:
- Ενημέρωση μαθητών για το ανέβασμα των φωτογραφιών του ομίλου στην παρούσα σελίδα με κωδικό.
- Ενημέρωση για τις επιτυχίες της Ελληνικής αποστολής στην Ολυμπιάδα Ρομποτικής στη Γερμανία το προηγούμενο ΣΚ: https://www.youtube.com/watch?v=pvN09aU7zBE
- Συνέχιση άσκηση αρπαγής 2 αντικειμένων και τοποθέτηση στη βάση εκατέρωθεν.
Και ένα βιντεάκι [από την 3η ομάδα που τελείωσε πρώτη τη δοκιμασία]
[8] 30 Νοεμ 2022:
- Επίδειξη το βίντεο από παλιό διαγωνισμό τρίλιζας:
- Συνέχεια Spike > Units > Competition ready > Trainning camp3: React to lines
Το camp3 ολοκληρώθηκε μια χαρά.
Δημιουργήθηκε με κίτρινη μονωτική ταινία μια κλειστή διαδρομή για κάθε ομάδα και τα ρομπότ κατάφεραν να ακολουθήσουν τη διαδρομή αυξάνοντας την ταχύτητα.
- Έγινε εισαγωγή στο P ως error=SetPoint-ReflectedLight από τον PID αλγόριθμό με χρήση του reflected light του color sensor.
- Ωστόσο παρατηρήσαμε ότι δεν μπορούσε καθόλου να ξεχωρίσει τη γκρι επιφάνεια των γραφείων από την κίτρινη μονωτική (έδινε τιμή 99 και στα δύο…!!!). Χρησιμοποιήθηκε μία παλιά πίστα FLL διαγωνισμού. Και εκεί είχαμε πρόβλημα στις 2 από τις 3 ομάδες καθώς ο αισθητήρας δεν διαβάθμιζε καμία από τις μετρήσεις (μαύρο=40, ενδιάμεσο μόνο 55 και άσπρο 99). Κουνώντας τον αισθητήρα στην άκρη της γραμμής ήταν απότομη η εναλλαγή των τιμών….!!! Φυσικά δεν δούλεψε η ακολούθηση γραμμής.
- Μετά το μάθημα και με απλή διερεύνηση το πρόβλημα ίσως να παρουσιάστηκε:
- από κόλλημα του ρομπότ ή του προγράμματος
- γιατί ίσως θέλει upadate το λογισμικό ή το firmware
- οι μαθητές έχουν πιάσει τον φακό του αισθητήρα και τον έχουν λερώσει
- δεν χρησιμοποιήθηκε συντελεστής Kp
- όταν δοκιμάσαμε το πρόγραμμα χωρίς μεταβλητές δούλεψε ?!?
Για διερεύνηση:
- Να χρησιμοποιήσουμε power αντί για speed όπως προτείνεται και στο: https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-3-react-to-lines#coding-tips
- Αντί για το error στην στροφή να βάλουμε (όπως προτείνεται στο https://primelessons.org/en/ProgrammingLessons/ProportionalLineFollower.pdf)
- Ωστόσο ο Builderdude35 δίνει σχεδόν ίδια λύση με αυτή που χρησιμοποιήσαμε και εμείς στην αρχή και δούλεψε μόνο στην 1η ομάδα:
- Τα παραπάνω δεν λύνουν το πρόβλημα για την λάθος ανάγνωση του reflected light των 2 αισθητήρων…
- Σημείωση: τελικά βρέθηκε ότι μάλλον φταίει η απόσταση του αισθητήρα από την πίστα (είναι μικρή) και όχι 16-20χιλιοστά που προτείνεται και εδώ: https://www.reddit.com/r/mindstorms/comments/qbl97w/issues_using_the_lightcolor_sensor_with_spike/ και μερικές ακόμη πληροφορίες για το ίδιο πρόβλημα υπάρχουν εδώ: https://forums.firstinspires.org/forum/general-discussions/first-programs/first-lego-league/the-challenge/programming-ab/95310-line-following-gone-bad-w-spike-prime
[9] 11 Ιαν 2023:
Επιβεβαιώσαμε ότι όταν ο αισθητήρας είναι λίγο ψηλότερα δουλεύει κανονικά.
Τοποθετήσαμε την πίστα του regular διαγωνισμού της WRO με θέμα Τρίλιζα. Οι 3 ομάδες ξεκίνησαν τον προγραμματισμό του Ρομπότ ώστε να ξεκινά από τη βάση, να ακολουθεί γραμμή, να στρίβει κάθετα και να ξανακολουθεί γραμμή μέχρι να φθάσει στον κύβο, το χρώμα του οποίου καθορίζει τη τρίλιζα (οριζόντια, κατακόρυφη και διαγώνια) πρέπει να γίνει. Η 3η ομάδα αναγνώρισε το μπλε χρώμα, και έκανε spin 180 μοίρες για να γυρίσει να πάρει το 1ο κύβο προς τοποθέτηση.
[10] 18 Ιαν 2023: (μετά τη σχολική εκδρομή, οπότε είχαμε και αρκετές απουσίες)
Και οι 3 ομάδες ολοκλήρωσαν την αναγνώριση χρώματος και spin για αρπαγή του 1ου κύβου. Η 3η ομάδα μετακινεί τον κύβο προς την 1η γωνιακή θέση. Οι ομάδες 1 και 2 ανέβασαν τον αισθητήρα ψηλότερα ώστε να κάνει από την ίδια θέση ακολούθηση γραμμής και αναγνώριση χρώματος ενώ η 3η ομάδα συνέχισε να χρησιμοποιεί το 3ο μοτέρ για να ανεβοκατεβάζει τον αισθητήρα χρώματος. Η ομάδα 1 διαφοροποίησε τον σχεδιασμό και θα μεταφέρει τον κύβο χωρίς χρήση του τρίτου μοτέρ, απλά σπρώχνοντάς τον ανάμεσα σε βραχίονες.
Σημείωση για το επόμενο μάθημα:
- Να απλοποιηθεί ο επαναχρησιμοποιήσιμος κώδικας με τη δημιουργία Block (spin 90, spin 180, PidFollowLine, αρπαγή κύβου, απόθεση κύβου)
- Να δημιουργηθούν μεταβλητές για τις αποστάσεις μετακίνησης.
- Να χρησιμοποιηθούν events α) για παράλληλη εκτέλεση εντολών και β) ώστε να μην χρειάζεται στις δοκιμές το ρομπότ να ξεκινά από την αρχή.
[11] 25 Ιαν 2023:
Παρουσίαση του τρόπου δημιουργίας blocks. Μετατροπή του Pid σε block και αντικατάσταση στον προγραμματισμό. Η 1η ομάδα αφαίρεσε τον 3ο κινητήρα και απλά ωθεί τους κύβους στη θέση τους. Εξαιρετική ιδέα καθώς απλοποιεί την κατασκευή…
[12] 1 Φεβ 2023
Όλες οι ομάδες δημιούργησαν blocks και για τις περιστροφές (δεξιά 90, αριστερά 90, αναστροφή) και τα χρησιμοποίησαν για την βελτίωση του κώδικα. Επειδή το πρόγραμμα αρχίζει να μεγαλώνει και η δοκιμή ου από την αρχή του εισάγει καθυστερήσεις στις δοκιμές έγινε επίδειξη για τη χρήση του Broadcast message και του Receive message ώστε “σπάσουν” το πρόγραμμα σε τμήματα και να δοκιμάζουν μόνο το τελευταίο κομμάτι του κώδικα.
Και η 3η ομάδα αποφάσισε να βγάλει τον 3ο κινητήρα και μέχρι τις 16:00 ολοκλήρωσαν (1η φορά από όλες τις ομάδες) την τοποθέτηση των 4 κύβων σε οριζόντια τρίλιζα και επιστροφή του ρομπότ στη βάση.
[13] 8 Φεβ 2023
Επίδειξη μετρήματος απόστασης με το ρομπότ και διευκρινήσεις για τη διαγωνιστική διαδικασία.
Προτροπή για τη δημιουργία μπλοκ για κάθε τρίλιζα.
Οι 1η και 3η ομάδα προχώρησαν στην ολοκλήρωση της 2ης τρίλιζας.
[14] 15 Φεβ 2023
Έγινα οι εξής σημαντικές επισημάνσεις μετά από παρατήρηση των ρομπότ:
1. Όταν ο Pid αλγόριθμος φθάσει σε γωνία ή σε στο γκρίζο τετράγωνο τότε αποκλίνει αρκετά προς την πρώτη αντίθετη πλευρά που θα συναντήσει λευκό (στη γωνία) ή γκρι (στα τετράγωνα τοποθέτησης των κύβων).
ΛΥΣΗ: Σταματάμε τον Pid, λίγο πριν το τέλος της μαύρης γραμμής και μετά επιλέγουμε ευθεία κίνηση για συγκεκριμένη απόσταση.
2. Η σωστή ανίχνευση χρώματος αποτυγχάνει σποραδικά οπότε πρέπει να κάνουμε ένα στατιστικό φιλτράρισμα των χρωμάτων.
ΛΥΣΗ: χρησιμοποιήσαμε τον παρακάτω κώδικα:
και το χρώμα που θα ανιχνευθεί 30 φορές είναι το σωστό, φιλτράροντας λάθος μετρήσεις ιδιαίτερα κατά τη προσέγγιση του χρωματιστού κύβου από το ρομπότ. Η κίνηση του ρομπότ και η ανίχνευση του χρώματος γίνεται παράλληλα με την χρήση της εντολής broadcast η οποία ενεργοποιεί τη παράλληλη εκτέλεση δύο στίβων εντολών.
Η 3η ομάδα ολοκλήρωσε και τις τρεις διαδρομές ανάλογα με τη βελτιστοποιημένη αναγνώριση χρώματος.
[15] 22 Φεβ 2023
[16] 1 3 2023
[17] 15 3 2023
Ολοκληρώθηκαν όλες οι διαδρομές από όλες τις ομάδες.
[18] 22 3 2023
Τελικές δοκιμές, ανασκόπηση κανόνων διαγωνισμού και συζήτηση για τη δοκιμασία έκπληξη.
Εγκατάσταση προγραμμάτων στους φορητούς του σχολείου και δοκιμή λειτουργίας.
Πακετάρισμα και ετοιμασία υλικού για τη μεταφορά στον διαγωνισμό.
[19] 26 3 2023
Διαγωνισμός: Τελικός Regular Αρχαρίων, Κολλέγιο Αθηνών, 26 Μαρτίου 2023
Peir3: 10η θέση
Peir2: 16η θέση
Peir1: 17η θέση