Ρομποτική Τρίλιζα – Ομάδα: “Robotri” – 7ο Γυμνάσιο Χαϊδαρίου

Ρομποτική Τρίλιζα – Ομάδα: “Robotri” – 7ο Γυμνάσιο Χαϊδαρίου

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

Στο φετινό μάθημα της πληροφορικής, μερικοί εθελοντές από την Γ’ τάξη αποφασίσαμε να αξιοποιήσουμε το ρομποτικό βραχίονα που διαθέτουμε, κάνοντάς τον να παίζει το γνωστό επιτραπέζιο παιχνίδι Τρίλιζα, αλλά με χρωματιστά πούλια, αντί για «Χ» και «Ο». 

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

Οι μαθητές, αφού είχαμε συναρμολογήσει το ρομποτικό βραχίονα, αρχικά το στερεώσαμε σε μια τετράγωνη ξύλινη βάση 60×60 cm από MDF. Στην συνέχεια, πάνω σε αυτήν, κατασκευάσαμε και στερεώσαμε πλευρικά (δεξιά και αριστερά) του ρομποτικού βραχίονα δύο αυτοσχέδιες τσουλήθρες. Αυτές τις στηρίξαμε σε τέσσερα τρίγωνα διαστάσεων 16 x 13 cm με κλίση 60 μοιρών, από μακετόχαρτο. Πάνω σε αυτά τα στηρίγματα, κατασκευάσαμε δύο ορθογώνιες γλίστρες 6 x 12 cm, βάλαμε πάνω δοκιμαστικά ένα πούλι και κόψαμε το μακετόχαρτο που περίσσευε στα πλάγια. Ύστερα, κολλήσαμε τα πλευρικά της τσουλήθρας με κόλλα σιλικόνης ώστε να γίνει πιο άκαμπτη και να μην φεύγουν τα πούλια από την πορεία τους. Μετέπειτα, φτιάξαμε δυο τέρματα για τις τσουλήθρες ώστε να καταλήγει το κάθε πούλι σε συγκεκριμένη οριζόντια θέση, για να μπορεί εύκολα να το αρπάζει ο ρομποτικός βραχίονας από κει. Στην κορυφή των τσουληθρών, κόψαμε και στερεώσαμε δυο τρίγωνους συλλέκτες και αυτούς από μακετόχαρτο. Αφού τελειώσαμε με τις τσουλήθρες βάλαμε εννιά διαφορετικού χρώματος πούλια στην κάθε μια.

Τέλος, μπροστά από τον ρομποτικό βραχίονα, πάνω στην ξύλινη βάση, φτιάξαμε μια χάρτινη πίστα, στην οποία σχεδιάσαμε με μαρκαδόρο δυο οριζόντιες και δυο κάθετες γραμμές. Γενικά, ο προγραμματισμός του ρομποτικού βραχίονα ήταν το πιο δύσκολο κομμάτι από όλα γιατί απαιτούσε μεγάλη ακρίβεια. Ο προγραμματισμός έγινε σε υπολογιστή PC, χρησιμοποιώντας το προγραμματιστικό περιβάλλον «Arduino web editor», στην ιστοσελίδα της εταιρείας του ρομποτικού βραχίονα και σε γλώσσα προγραμματισμού C++.

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

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

Όταν ξεπεράστηκαν όλα τα προβλήματα, το προγραμματίσαμε να κάνει ένα χαιρετισμό έναρξης, να δείχνει την νικήτρια τρίλιζα και τέλος να κάνει διαφορετικές κινήσεις για όταν νικούσε ή έχανε ή το παιχνίδι ερχόταν σε ισοπαλία.

Ο άνθρωπος-παίκτης, αντίπαλος του ρομπότ, εισάγει τις κινήσεις του σε ένα πληκτρολόγιο μεμβράνης και βλέπει πότε είναι η σειρά του να παίξει, από μια οθόνη με 8 x 8 λαμπάκια LED. Και τα δυο συνδέονται σε πινάκια του μικροελεγκτή με χρωματιστά καλώδια.

Συμπληρωματικά, συνδέσαμε παράλληλα δυο μπαταριοθήκες με έξι επαναφορτιζόμενες μπαταρίες τύπου 18650 που βγάλαμε από πεταμένο λάπτοπ και φορτίσαμε σε εξωτερικό φορτιστή. Ο σκοπός μας ήταν να μη χρειάζεται να συνδέσουμε το ρομπότ σε πρίζα για ρεύμα. Ενδιάμεσα βάλαμε και ένα κύκλωμα σταθερoποίησης της τάσης των μπαταριών από 5-8,4V σε 5V που θέλει το ρομπότ.

Για το μέλλον, φτιάξαμε  μια σχετικά ψηλή βάση για τη χρήση παλιάς κάμερας usb, που θα καταγράφει την πίστα, δηλαδή θα εντοπίζει τα πούλια πάνω στην τρίλιζα, ώστε το ρομπότ να ξέρει που υπάρχει κάθε πούλι του ανθρώπου, χωρίς να το πληκτρολογεί ο παίκτης τη θέση του. Για τη βάση πήραμε δύο κομμάτια μακετόχαρτου 42 x 7 και τα βάλαμε σε σχήμα Λ και μετά κολλήσαμε στην κορυφή ένα οριζόντιο μακετόχαρτο μήκους 28 x 12. Πάνω σε αυτό, κόβοντας τρύπες, στερεώσαμε την κάμερα και το καλώδιό της. Η στερέωση της κάμερας ήταν η κατασκευή που μας δυσκόλεψε αρκετά, όχι τόσο στο να τη φτιάξουμε, αλλά στο να βρούμε το σημείο που θα βλέπει σωστά, χωρίς να εμποδίζει τον βραχίονα.

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

Οι μαθητές δημιουργήσαμε την Ρομποτική Τρίλιζα, μια ιδέα αρκετά πρωτότυπη για μας. Πάνω σε αυτή έχουμε ρίξει αρκετές ώρες δουλειάς τόσο στην κατασκευή όσο και στον προγραμματισμό του ρομποτικό βραχίονα. Αρκετές φορές κάναμε λάθη, άλλες οδηγηθήκαμε σε αδιέξοδο, αλλά τελικά τα καταφέραμε, όπως θα δείτε στις εικόνες, τα σχέδια και τα βίντεο που δημιουργήσαμε στο github.

Κείμενα: Νικολακόπουλος, Παπαδόπουλος, Πετρουλάκης, Φελέσκουρας, Ψαρράς, Χριστοπούλου, Κούτα (επιμέλεια)

Ομάδα Robotri:  Ιωσήφ Πετρουλάκης, Αριστείδης Φελέσκουρας, Γιώργος Παπαδόπουλος, Γιάννης Νικολακόπουλος, Δημήτρης Ανατόλας, Ελένη Χριστοπούλου, Γιώργος Ψαρράς, Διονύσης Περγαντής, Τάσος Μαχαιρίδης