Η ενασχόλησή μας με τους αισθητήρες του Thymio και τις ποικίλες εφαρμογές τους στην «Εκπαιδευτική Ρομποτική» θα γίνει, εφόσον, πρώτα εργαστούμε και κατανοήσουμε μέσα από πειραματισμό τη διασύνδεση των δύο «κόσμων» (που αναφέρονται στον τίτλο):
του κινητού-ρομπότ Thymio το οποίο κινείται εκτελώντας ένα πρόγραμμα μέσα σ’ ένα περιβάλλον με πραγματικά αντικείμενα (τραπέζι, δάπεδο, κεκλιμένο επίπεδο, επιφάνεια σφαίρας ή κυλίνδρου, μαύρες ή χρωματιστές πλαστικές λωρίδες κ.λ.π.). Από το ρομπότ μπορούμε να ζητάμε και να παίρνουμε πληροφορίες αναφορικά με την κατεύθυνσή του, την ταχύτητα των τροχών του καθώς και άλλων μεταβλητών που οι ίδιοι ορίζουμε. Επίσης, μπορούμε να παίρνουμε τιμές που αναφέρονται άμεσα στους αισθητήρες κ.α. όπως θα δούμε αναλυτικά παρακάτω.
του sprite που «ζει» στην οθόνη του υπολογιστή μας και αναπαριστάνει το ρομποτάκι Thymio καθώς και τις όποιες κινήσεις του. Επιπλέον, μπορούμε να ζητάμε και να παίρνουμε πληροφορίες αναφορικά με τη θέση του, την ταχύτητα του καθώς και άλλων μεταβλητών που οι ίδιοι ορίζουμε. Ο πλούτος των projects που είναι αναρτημένα στο Scratch website μπορεί να μας δώσει ιδέες και για την «Εκπαιδευτική Ρομποτική».
Με το «ενισχυμένο» περιβάλλον του «Scratch για το Thymio» εμπλουτίζεται κυρίως η επικοινωνία των χρηστών με το ρομποτάκι, συγκριτικά πάντα, με τα αυτόνομα περιβάλλοντα «Οπτικού Προγραμματισμού» και BLOCKLY. Τώρα, θα μπορούμε να χρησιμοποιούμε το ρομποτάκι για να στέλνουμε μηνύματα και εντολές στο sprite της οθόνης. Επίσης, θα αξιοποιούμε όλο το οπλοστάσιο του περιβάλλοντος του Scratch (το χρονόμετρο – timer, τις λίστες, τα blocks, το βίντεο, τις εντολές και λειτουργίες μαθηματικών, μηνυμάτων κ.λ.π.).
Τώρα, ας δούμε τη διαδικασία που αναφέρεται στο sprite της οθόνης και συνδέει προγραμματιστικά το Thymio με το Scratch είτε με τη χρήση καλωδίου USB είτε ασύρματα με τη χρήση ενός USB adapter. Ας την ονομάσουμε «διαδικασία σύνδεσης Scratch+Thymio».
Από τον κώδικα αυτής της διαδικασίας (με επιλογή τα Ελληνικά) παρατηρούμε ότι το sprite τοποθετείται σε μια οποιαδήποτε θέση ως προς το «αόρατο» Καρτεσιανό σύστημα της οθόνης (εδώ, για παράδειγμα είναι (0,0)) και έχει κατεύθυνση προς τα πάνω δηλαδή έχει κατεύθυνση μηδέν.
Αμέσως, το sprite «μεταβιβάζει» στο ρομποτάκι Thymio τόσο την αρχική κατεύθυνση (direction) όσο και τις συντεταγμένες αρχικής θέσης του (0,0).
Στη συνέχεια το ρομποτάκι στέλνει τη κατεύθυνση και τη θέση του στο sprite οπότε ανανεώνονται συνεχώς.
Τελικά, στην οθόνη του υπολογιστή μας, παρατηρούμε συνεχώς αυτά που κάνει το ρομποτάκι-Thymioστον πραγματικό κόσμο. Με άλλα λόγια, βλέπουμε συνεχώς το spriteνα «μιμείται» με, σχετική πάντα, ακρίβεια τη συμπεριφορά του ρομπότ-εδάφους.
(Ας σημειωθεί ότι χρειαστήκαμε μια εντολή και τρεις απλές λειτουργίες από τα blocks του «εμπλουτισμένου» Scratch)
Θέτω το sprite της οθόνης στη θέση (0,0) με κατεύθυνση προς τα πάνω ενώ το ρομποτάκι τοποθετείται σε όποια θέση και κατεύθυνση επιθυμώ σε οριζόντιο τραπέζι ή στο πάτωμα. Το «χωρικό σύστημα αναφοράς» του ρομπότ είναι οι κάθετοι άξονες που διέρχονται από το κέντρο του με και με τον άξονα-y να έχει την κατεύθυνση του κινητού Thymio.
Σημείωση: Όταν ασχολούμαι με ένα πείραμα ρομποτικής που απαιτεί και τη ενεργητική χρήση του ρομπότ-αντικειμένου (sprite) στην οθόνη, η παραπάνω διαδικασία διασύνδεσης Scratch+Thymio είναι τελείως απαραίτητη.
Σημείωση:Στον προγραμματισμό παίρνουμε υπόψη ότι οι τιμές ταχυτήτων των δύο κινητήρων βρίσκονται στην περιοχή (-200, 200) mm/s.
Στο ξεκίνημα του παραδείγματος σκέφτηκα να πειραματιστώ πραγματοποιώντας μόνο το πρώτο μέρος, σύμφωνα με την εκφώνηση, δηλαδή την κίνηση του ρομπότ με ταχύτητα 120 mm / s για ένα δευτερόλεπτο. Κι αυτό είναι πολύ απλό:
Τοποθέτησα το ρομποτάκι σε μια θέση πάνω στο τραπέζι και προς μια κατεύθυνση. Από την πρώτη κιόλας δοκιμασία είδα το Thymio να κινείται ευθύγραμμα και το sprite στην οθόνη να μετακινείται προς τα πάνω μια απόσταση. Μόνο η παρακολούθηση δεν με ικανοποιούσε διόλου μια και μου δημιουργήθηκαν πολλά και … μικρά ερωτήματα ενός αρχάριου στη χρήση του Scratch με το Thymio.
Άραγε κατά πόσο είναι ευθύγραμμη η κίνηση του κινητού-ρομπότ;
Κατά πόσο είναι σταθερή η ταχύτητά του;
Πόση απόσταση σε εκατοστά κάλυψε το ρομποτάκι στο τραπέζι;
Πόσα pixels διάνυσε το sprite με όνομα Thymio-II στην οθόνη και ποια είναι η κατεύθυνση του;
Αυτά τα πρώτα ερωτήματα με οδήγησαν στον εμπλουτισμό του παραδείγματος με τα δύο ερωτήματα β) και γ).
Τώρα, σκέφτηκα ότι χρειάζομαι δύο λίστες στην οθόνη με ονόματα {κινητήρας 1} και {κινητήρας 2} που να αποθηκεύονται οι τιμές της ταχύτητας κάθε κινητήρα-τροχού του Thymio. Προφανώς θα πρέπει να φροντίζω ώστε οι λίστες να είναι κενές με το πάτημα του πλήκτρου space και στη συνέχεια να ανανεώνονται συνεχώς με νέες τιμές στη διάρκεια του ενός δευτερολέπτου κίνησης.
Επιπλέον χρειάζομαι τις λειτουργίες του Scratch οι οποίες μου δίνουν τις τιμές θέσης και προσανατολισμού του sprite της οθόνης (από την κατηγορία εντολών [κινήσεις]):
Τελικά, κατέληξα στον παρακάτω κώδικα του προγράμματος που συμπληρώνει την «διαδικασία διασύνδεσης «scratch+Thymio»:
Βασιζόμενος στα παραπάνω κατέληξα στο μικρό πρόγραμμα (project Scratch+Thymio) «εκπαιδευτικής ρομποτικής με το Thymio” (αρχείο 15_odometer_ex1.sb2).
Ένα στιγμιότυπο από μια σελίδα οθόνης του project:
Διαπιστώνουμε ότι το sprite στην οθόνη κινείται ευθύγραμμα για χρόνο 1 sec και φτάνει στη θέση (0, 26). Επομένως, η ταχύτητα του είναι 26 pixels /1 s
άρα v = 26 pixels / s.
Επίσης, διαπιστώνουμε ότι το ρομποτάκι Thymio κινείται πάνω στο τραπέζι μου ευθύγραμμα με ταχύτητα που εύκολα υπολογίζεται: v = 125 mm / 1 s οπότε v= 12.5 cm/s περίπου.
Με βάση τα προηγούμενα έφτιαξα ένα δεύτερο παράδειγμα με σκοπό να πειραματιστώ τόσο με τις εντολές των κινητήρων-τροχών του Thymio που κινείται στο επίπεδο, όσο και τις λειτουργίες θέσης και κατεύθυνσης. Τα αποτελέσματα ήταν ενθαρρυντικά…. Παρακάτω δίνεται η σελίδα οθόνης που δείχνει καθαρά τη διαδρομή του sprite στην οθόνη. Εννοείται ότι παρόμοια τροχιά κίνησης ακολουθεί και το κινητό-ρομποτάκι.
Τέλος, δίνουμε τον κώδικα του προγράμματος και μπορείτε να πειραματιστείτε οι ίδιοι.
Συνεχίζεται…………….Πολύ σύντομα και η επόμενη, 16η Δραστηριότητα, με τίτλο:
«Ας πειραματιστούμε με τους εννέα αισθητήρες του Thymio χρησιμοποιώντας τις βασικές εντολές angle – distance – touching στο περιβάλλον «διασύνδεσης Thymio + Scratch»
Για περισσότερα…..
Piaget’s Constructivism, Papert’s Constructionism: What’s the difference?. https://www.researchgate.net/publication/238495459_Piaget’s_Constructivism_Papert’s_Constructionism_What’s_the_difference
www.thymio.org Το επίσημο siteαφιερωμένο στο κινητό – ρομποτάκι Thymio.
https://www.eduportal.gr/el/ Εδώ δημοσιεύτηκαν οι πρώτες 14 δραστηριότητες γνωριμίας με το κινητό – ρομποτάκι Thymio.
https://scratch.mit.edu/scratch2download/ Από εδώ κατεβάζεται την τελευταία έκδοση offline του Scratch (Αγγλικά)
Χρησιμοποιούμε cookie για την εξατομίκευση περιεχομένου και διαφημίσεων, την παροχή λειτουργιών κοινωνικών μέσων και την ανάλυση της επισκεψιμότητάς μας. Αποδέχεστε το cookie; ΑποδοχήΠερισσότερα
Ιδιωτικότητα & Cookies
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
wpDiscuz
0
0
Θα θέλαμε να γνωρίζουμε την άποψή σας, παρακαλούμε αφήστε ένα σχόλιο!x
Μάι 20 2017
Η διασύνδεση του ρομπότ Thymio με το αντίστοιχο sprite του στην οθόνη του υπολογιστή, ευκαιρία για πειραματισμούς (15η Δραστηριότητα)
Του Νίκου Δαπόντε,
Η ενασχόλησή μας με τους αισθητήρες του Thymio και τις ποικίλες εφαρμογές τους στην «Εκπαιδευτική Ρομποτική» θα γίνει, εφόσον, πρώτα εργαστούμε και κατανοήσουμε μέσα από πειραματισμό τη διασύνδεση των δύο «κόσμων» (που αναφέρονται στον τίτλο):
Με το «ενισχυμένο» περιβάλλον του «Scratch για το Thymio» εμπλουτίζεται κυρίως η επικοινωνία των χρηστών με το ρομποτάκι, συγκριτικά πάντα, με τα αυτόνομα περιβάλλοντα «Οπτικού Προγραμματισμού» και BLOCKLY. Τώρα, θα μπορούμε να χρησιμοποιούμε το ρομποτάκι για να στέλνουμε μηνύματα και εντολές στο sprite της οθόνης. Επίσης, θα αξιοποιούμε όλο το οπλοστάσιο του περιβάλλοντος του Scratch (το χρονόμετρο – timer, τις λίστες, τα blocks, το βίντεο, τις εντολές και λειτουργίες μαθηματικών, μηνυμάτων κ.λ.π.).
Τώρα, ας δούμε τη διαδικασία που αναφέρεται στο sprite της οθόνης και συνδέει προγραμματιστικά το Thymio με το Scratch είτε με τη χρήση καλωδίου USB είτε ασύρματα με τη χρήση ενός USB adapter. Ας την ονομάσουμε «διαδικασία σύνδεσης Scratch+Thymio».
Από τον κώδικα αυτής της διαδικασίας (με επιλογή τα Ελληνικά) παρατηρούμε ότι το sprite τοποθετείται σε μια οποιαδήποτε θέση ως προς το «αόρατο» Καρτεσιανό σύστημα της οθόνης (εδώ, για παράδειγμα είναι (0,0)) και έχει κατεύθυνση προς τα πάνω δηλαδή έχει κατεύθυνση μηδέν.
Αμέσως, το sprite «μεταβιβάζει» στο ρομποτάκι Thymio τόσο την αρχική κατεύθυνση (direction) όσο και τις συντεταγμένες αρχικής θέσης του (0,0).
Στη συνέχεια το ρομποτάκι στέλνει τη κατεύθυνση και τη θέση του στο sprite οπότε ανανεώνονται συνεχώς.
Τελικά, στην οθόνη του υπολογιστή μας, παρατηρούμε συνεχώς αυτά που κάνει το ρομποτάκι-Thymio στον πραγματικό κόσμο. Με άλλα λόγια, βλέπουμε συνεχώς το sprite να «μιμείται» με, σχετική πάντα, ακρίβεια τη συμπεριφορά του ρομπότ-εδάφους.
(Ας σημειωθεί ότι χρειαστήκαμε μια εντολή και τρεις απλές λειτουργίες από τα blocks του «εμπλουτισμένου» Scratch)
Θέτω το sprite της οθόνης στη θέση (0,0) με κατεύθυνση προς τα πάνω ενώ το ρομποτάκι τοποθετείται σε όποια θέση και κατεύθυνση επιθυμώ σε οριζόντιο τραπέζι ή στο πάτωμα. Το «χωρικό σύστημα αναφοράς» του ρομπότ είναι οι κάθετοι άξονες που διέρχονται από το κέντρο του με και με τον άξονα-y να έχει την κατεύθυνση του κινητού Thymio.
Σημείωση: Όταν ασχολούμαι με ένα πείραμα ρομποτικής που απαιτεί και τη ενεργητική χρήση του ρομπότ-αντικειμένου (sprite) στην οθόνη, η παραπάνω διαδικασία διασύνδεσης Scratch+Thymio είναι τελείως απαραίτητη.
Σημείωση: Στον προγραμματισμό παίρνουμε υπόψη ότι οι τιμές ταχυτήτων των δύο κινητήρων βρίσκονται στην περιοχή (-200, 200) mm/s.
Στο ξεκίνημα του παραδείγματος σκέφτηκα να πειραματιστώ πραγματοποιώντας μόνο το πρώτο μέρος, σύμφωνα με την εκφώνηση, δηλαδή την κίνηση του ρομπότ με ταχύτητα 120 mm / s για ένα δευτερόλεπτο. Κι αυτό είναι πολύ απλό:
Τοποθέτησα το ρομποτάκι σε μια θέση πάνω στο τραπέζι και προς μια κατεύθυνση. Από την πρώτη κιόλας δοκιμασία είδα το Thymio να κινείται ευθύγραμμα και το sprite στην οθόνη να μετακινείται προς τα πάνω μια απόσταση. Μόνο η παρακολούθηση δεν με ικανοποιούσε διόλου μια και μου δημιουργήθηκαν πολλά και … μικρά ερωτήματα ενός αρχάριου στη χρήση του Scratch με το Thymio.
Αυτά τα πρώτα ερωτήματα με οδήγησαν στον εμπλουτισμό του παραδείγματος με τα δύο ερωτήματα β) και γ).
Τώρα, σκέφτηκα ότι χρειάζομαι δύο λίστες στην οθόνη με ονόματα {κινητήρας 1} και {κινητήρας 2} που να αποθηκεύονται οι τιμές της ταχύτητας κάθε κινητήρα-τροχού του Thymio. Προφανώς θα πρέπει να φροντίζω ώστε οι λίστες να είναι κενές με το πάτημα του πλήκτρου space και στη συνέχεια να ανανεώνονται συνεχώς με νέες τιμές στη διάρκεια του ενός δευτερολέπτου κίνησης.
Επιπλέον χρειάζομαι τις λειτουργίες του Scratch οι οποίες μου δίνουν τις τιμές θέσης και προσανατολισμού του sprite της οθόνης (από την κατηγορία εντολών [κινήσεις]):
Τελικά, κατέληξα στον παρακάτω κώδικα του προγράμματος που συμπληρώνει την «διαδικασία διασύνδεσης «scratch+Thymio»:
Βασιζόμενος στα παραπάνω κατέληξα στο μικρό πρόγραμμα (project Scratch+Thymio) «εκπαιδευτικής ρομποτικής με το Thymio” (αρχείο 15_odometer_ex1.sb2).
Ένα στιγμιότυπο από μια σελίδα οθόνης του project:
Διαπιστώνουμε ότι το sprite στην οθόνη κινείται ευθύγραμμα για χρόνο 1 sec και φτάνει στη θέση (0, 26). Επομένως, η ταχύτητα του είναι 26 pixels /1 s
άρα v = 26 pixels / s.
Επίσης, διαπιστώνουμε ότι το ρομποτάκι Thymio κινείται πάνω στο τραπέζι μου ευθύγραμμα με ταχύτητα που εύκολα υπολογίζεται: v = 125 mm / 1 s οπότε v = 12.5 cm/s περίπου.
Με βάση τα προηγούμενα έφτιαξα ένα δεύτερο παράδειγμα με σκοπό να πειραματιστώ τόσο με τις εντολές των κινητήρων-τροχών του Thymio που κινείται στο επίπεδο, όσο και τις λειτουργίες θέσης και κατεύθυνσης. Τα αποτελέσματα ήταν ενθαρρυντικά…. Παρακάτω δίνεται η σελίδα οθόνης που δείχνει καθαρά τη διαδρομή του sprite στην οθόνη. Εννοείται ότι παρόμοια τροχιά κίνησης ακολουθεί και το κινητό-ρομποτάκι.
Τέλος, δίνουμε τον κώδικα του προγράμματος και μπορείτε να πειραματιστείτε οι ίδιοι.
Συνεχίζεται…………….Πολύ σύντομα και η επόμενη, 16η Δραστηριότητα, με τίτλο:
«Ας πειραματιστούμε με τους εννέα αισθητήρες του Thymio χρησιμοποιώντας τις βασικές εντολές angle – distance – touching στο περιβάλλον «διασύνδεσης Thymio + Scratch»
Για περισσότερα…..
Κοινοποιήστε:
Σχετικά
By eduportal • Εκπαιδευτικό Λογισμικό • 0 • Tags: Scratch, thymio, εκπαιδευτική ρομποτική, Νίκος Δαπόντες