Ρομποτικές κατασκευές - 3ο Μαθητικό Συνέδριο Πληροφορικής

Ρομποτικές κατασκευές - 3ο Μαθητικό Συνέδριο Πληροφορικής

13 Απριλίου 2011

Παρουσίαση στο 3ο Μαθητικό Συνέδριο Πληροφορικής

Στο μάθημα της ρομποτικής δουλέψαμε με τα Lego Mindstorms. Μιλήσαμε για τη χρησιμότητα των ρομπότ και τη χρησιμοποίησή τους στη βιομηχανία και στην καθημερινή μας ζωή. Κατασκευάσαμε το πρώτο μας ρομπότ και του δώσαμε εντολές αντίστοιχες με το microwords pro. Είδαμε τις ομοιότητες και τις διαφορές. Όσο έκπληκτοι μείναμε όταν κινούσαμε τη χελώνα στη Logo άλλο τόσο εντυπωσιαστήκαμε από την κίνηση του τρισδιάστατου πια ρομπότ. Χρησιμοποιήσαμε κοινές εντολές με τη logo όπως μπροστά, πίσω, στρίψε σε μοίρες, επανάλαβε, αλλά και πιο περίπλοκες. Οι αισθητήρες επαφής, ήχου, φωτός, ultrasonic μας βοήθησαν να καταλάβουμε τη λειτουργία συσκευών που χρησιμοποιούμε στην καθημερινότητά μας όπως το συναγερμό, τους αισθητήρες παρκαρίσματος, τα φωτοκύτταρα  κ.ά. Μάθαμε να προγραμματίζουμε και να κατασκευάζουμε σαν τους επιστήμονες. Είναι πολύ ωραίο να βλέπεις το ρομποτάκι να μιλάει, να κινείται και να το έχεις φτιάξει με τη ομάδα σου. Σας παρουσιάζουμε λοιπόν κάποιες από τις ρομποτικές κατασκευές μας.

Λέξεις κλειδιά: ρομποτική, lego mindstorms.

1. Εισαγωγή

Σκοπός της εργασίας μας είναι η εξοικείωσή μας με τα ρομπότ. Μάθαμε για την ιστορία τους, τη χρησιμότητά τους, συγκρίναμε, κατασκευάσαμε, προγραμματίσαμε, διασκεδάσαμε και κατανοήσαμε τη λειτουργία τους. Αφού βρήκαμε πληροφορίες για παλιά και εξελιγμένα ρομπότ, προγραμματίσαμε στο Microwords pro και μάθαμε τη γλώσσα προγραμματισμού LOGO. Μετά δουλέψαμε με τα Lego Mindstorms. Κατασκευάσαμε ρομπότ με κομμάτια Lego, κινητήρες και αισθητήρες. Χρησιμοποιήσαμε κοινές εντολές με τη LOGO όπως μπροστά, πίσω, στρίψε σε μοίρες, επανάλαβε, αλλά και πιο περίπλοκες. Οι αισθητήρες επαφής, ήχου, φωτός, ultrasonic μας βοήθησαν να καταλάβουμε τη λειτουργία συσκευών που χρησιμοποιούμε στην καθημερινότητά μας όπως το συναγερμό, τους αισθητήρες παρκαρίσματος, τα φωτοκύτταρα  κ.ά.. Κατασκευάσαμε διάφορα ρομπότ και τα προγραμματίσαμε χρησιμοποιώντας στην αρχή έναν έναν τους αισθητήρες και μετά με συνδυασμούς. Στο τέλος φτιάξαμε δύο ρομποτάκια και τα φορτώσαμε με προγράμματα που σχεδιάσαμε. Ο συλλογέας αλουμινίου, το ρομπότ που ακολουθεί μια μαύρη γραμμή, το ρομπότ που μετράει αποστάσεις, το ρομπότ που παίζει γκολφ, το ρομπότ που χορεύει είναι κάποιες από τις εφαρμογές μας.

2.Τι είναι τα Ρομπότ

Το ρομπότ είναι μια μηχανική συσκευή η οποία μπορεί να αντικαθιστά  τον άνθρωπο σε διάφορες εργασίες. Ένα ρομπότ μπορεί να δράσει κάτω από τον απ' ευθείας έλεγχο ενός ανθρώπου ή αυτόνομα κάτω από τον έλεγχο ενός προγραμματισμένου υπολογιστή. Τα ROBOT τα έφτιαξε ο άνθρωπος για να τον βοηθάνε στις καθημερινές του δουλειές αλλά και στη βιομηχανία. Σε δουλειές μονότονες, κουραστικές κι επικίνδυνες που δεν μπορεί να κάνει ο άνθρωπος ή που μπορούν να το δημιουργήσουν πρόβλημα στην υγεία του. 
Τα ROBOT  αντικαθιστούν ανθρώπους σε δουλειές με  ακραίες συνθήκες. Για παράδειγμα, σε χώρους με υψηλή ή χαμηλή θερμοκρασία. Αν ένας σωλήνας μεταφοράς βλαβερού αερίου σπάσει και στείλουμε έναν άνθρωπο, μπορεί να χάσει τη ζωή του!! Αν όμως στείλουμε ένα ROBOT δε θα πάθει τίποτα.
Η λέξη Robot προέρχεται από τη σλαβική «robota» που σημαίνει «εργασία-δουλειά» που δηλώνει ακριβώς  την επιθυμία του ανθρώπου για τον προορισμό του ρομπότ. Καθιερώθηκε ως όρος με τη σημερινή του έννοια το 1920 από ένα Ρώσο σκηνοθέτη που σατίριζε την τεχνολογική εξέλιξη.
Τα πλεονεκτήματά τους σε σχέση με τον άνθρωπο: είναι γρηγορότερα, αποτελεσματικότερα, ακριβέστερα, ακούραστα, χωρίς ανάγκη για διάλειμμα, τροφή, ξεκούραση και χωρίς μισθό.
Τα μειονεκτήματά τους: αντικαθιστούν τον άνθρωπο ο οποίος μένει χωρίς δουλειά, δεν έχει αισθήματα, δεν κάνουν κάτι μόνα τους διότι πρέπει να τα προγραμματίσουμε.

3. Ομοιότητες και διαφορές του Lego Mindstorms με το Microwords pro

Αφού δουλέψαμε τα προγράμματα Microwords Pro με τη γλώσσα προγραμματισμού LOGO και το πρόγραμμα Lego Mindstorms Education NXT είδαμε  πως το ένα πρόγραμμα μοιάζει με το άλλο. Και στα δυο δίνουμε εντολές. Εντολές κατεύθυνσης, δεξιά, αριστερά κλπ., την εντολή επανάλαβε (Loop) και τις διαδικασίες (Blocks). H  κυριότερη ομοιότητα είναι ότι και στα δύο έχουμε ένα πλάσμα για να κάνει τις κινήσεις. 
Τα Robot όμως τα κατασκευάζεις, είναι τρισδιάστατα και τα βλέπεις να κινούνται βήμα βήμα, ενώ στο Microwords Pro με ένα κλικ εμφανίζεται η χελωνίτσα και όταν πατάς μια εντολή την κάνει χωρίς να σου δείχνει την κίνηση. Μια άλλη διαφορά είναι ότι τα Robot έχουν αισθητήρες ακοής, αφής, ήχου, φωτός ενώ η χελώνα είναι μέσα στον υπολογιστή και δεν έχει αισθητήρες.

4. Τι είναι τα Lego Mindstorms

Τα Lego Mindstorms είναι ένα προϊόν  της Lego που συνδυάζει τα γνωστά τουβλάκια με ηλεκτρικές μηχανές, αισθητήρες, τουβλάκια Lego και τεχνικά κομμάτια Lego  κατάλληλα για να χτίσει ο χρήστης. Τα Lego Mindstorms μπορούν να χρησιμοποιηθούν για να κατασκευαστεί ένα ρομπότ με ηλεκτρικά μέρη ελεγχόμενα από υπολογιστή.
Το «τουβλάκι» ΝΧΤ, που αποτελεί τον εγκέφαλο του ρομπότ, είναι ένας αυτόνομος μικροεπεξεργαστής ο οποίος μπορεί να προγραμματιστεί μέσω ηλεκτρονικού υπολογιστή. Αφού κατασκευάσει το ρομπότ του, ο χρήστης δημιουργεί ένα δικό του πρόγραμμα χρησιμοποιώντας ένα εύχρηστο αλλά πλούσιο σε χαρακτηριστικά λογισμικό το Lego Mindstorms Education NXT.

 4.1 Απεικόνιση του ΝΧΤ – Ανάλυση των μερών που το αποτελούν

Το NXT είναι ο εγκέφαλος ενός ρομπότ MINDSTORMS®. Είναι ένα ευφυές, ελεγχόμενο από υπολογιστή τούβλο LEGO® που δίνει τη δυνατότητα σε ένα ρομπότ MINDSTORMS να ζωντανέψει και να εκτελέσει διάφορες διαδικασίες.

Το NXT έχει τρεις θύρες παραγωγής για την ένωση των μηχανών - θύρες Α, Β και C θύρες Το NXT έχει τέσσερις εισαγμένες θύρες για την ένωση των αισθητήρων - θύρες 1, 2, 3 και 4.

Για να συνδέσουμε το ρομποτάκι μας με τον Η/Υ και να «φορτώσουμε» προγράμματα χρησιμοποιούμε καλώδιο USB ή ασύρματη σύνδεση Bluetooth.

Οι αισθητήρες που μπορούμε να χρησιμοποιήσουμε είναι:

  •  Αισθητήρας αφής-Touch sensor

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

  • Αισθητήρας ήχου - Sound sensor

Ο αισθητήρας ήχου μπορεί να ανιχνεύσει τα decibels [DB] και έτσι έχουμε τη δυνατότητα να ρυθμίσουμε το ρομπότ να κάνει κάτι ανάλογα με την ένταση του ήχου. 

  • Αισθητήρας φωτός - Light sensor

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

  • Αισθητήρας υπέρηχων – Ultrasonic sensor

Ο αισθητήρας υπέρηχων είναι ένας από τους δύο αισθητήρες που δίνουν όραση στο ρομπότ σας (ο αισθητήρας φωτός είναι άλλος). Ο αισθητήρας υπέρηχων μετράει αποστάσεις σε εκατοστά και ίντσες. Ο υπερηχητικός αισθητήρας χρησιμοποιεί την ίδια επιστημονική αρχή με τις νυχτερίδες: μετρά την απόσταση με τον υπολογισμό του χρόνου που παίρνει ένα κύμα για να χτυπήσει ένα αντικείμενο και να επιστρέψει - ακριβώς όπως μια ηχώ.

Κινητήρες

Οι τρεις κινητήρες δίνουν στα ρομπότ τη δυνατότητα να κινηθούν ή να κινήσουν κάποιο βραχίονα.

5.  Προγραμματισμός του Lego Mindstorms

Το λογισμικό είναι ένα γραφικό προγραμματιστικό περιβάλλον εύκολο στη χρήση με δυνατότητα «σύρε και άφησε» (drag and drop). Οι εντολές δίνονται σε μορφή block. Ένα πρόγραμμα δημιουργείται με συνδυασμό διαφορετικών blocks.

Τα διαθέσιμα εικονίδια-blocks περιλαμβάνουν μεταξύ άλλων block κίνησης-move (κάνουν τα ρομπότ να κινούνται), block αναμονής (κάνουν το ρομπότ να περιμένει για την ενεργοποίηση των αισθητήρων του ή για τη λήξη ενός οριζόμενου χρονικού διαστήματος), block επανάληψης (Loop) (το ρομπότ επαναλαμβάνει την ίδια συμπεριφορά όσες φορές ορίσουμε ή μέχρι να ενεργοποιηθεί κάποιος αισθητήρας), block επιλογής (Switch block) (επιτρέπουν στο ρομπότ να παίρνει τις δικές του αποφάσεις). Η πλήρης παλέτα εικονιδίων περιλαμβάνει blocks δράσης που επιτρέπουν τον έλεγχο διάφορων εξωτερικών συσκευών (διαδραστικού κινητήρα, ήχων, λαμπτήρων κ.ά.).

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

Τέλος το πρόγραμμα προσφέρει «Τα δικά μου blocks» (My Blocks) με τα οποία μπορούμε να αποθηκεύσουμε ένα δικό μας πρόγραμμα ως ένα μοναδικό block, που μπορεί να το ξαναχρησιμοποιήσουμε σε άλλο πρόγραμμα.

6.  Οι ρομποτικές εφαρμογές μας

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

6.1 Το ρομποτάκι που χορεύει

Με τη βοήθεια του αισθητήρα ήχου το ρομποτάκι μας προχωράει και όταν ακούσει θόρυβο γυρίζει γύρω γύρω(χορεύει). Όταν ξανακούσει θόρυβο συνεχίζει να πηγαίνει ίσια μέχρι να ξανακούσει θόρυβο και να αρχίσει  ξανά να χορεύει.

6.2 Το ρομποτάκι ξεφεύγει από τα εμπόδια

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

6.3 Το ρομποτάκι πηγαίνει προς τα πίσω όταν το πλησιάζουμε

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

6.4 Το ρομπότ μας παίζει γκολφ μόνο με κόκκινη μπάλα.

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

6.5 Το ρομπότ ακολουθεί τη γραμμή.

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

6.6 Ο συλλογέας αλουμινίου

Ο συλλογέας αλουμινίου ξεκινάει όταν δει κάτι σε απόσταση 40 εκατοστών, προχωράει ίσια μέχρι να βρει κάποιο εμπόδιο (κουτί αλουμινίου). Τότε σταματάει. Όταν του φωνάξουμε «πιάστο» αμέσως κλείνει τις δύο δαγκάνες, στρίβει 180ο μοίρες και κινείται σε άσπρη επιφάνεια. Όταν φτάσει στην άκρη του τραπεζιού, τότε ρίχνει το κουτί μέσα στον κάδο ανακύκλωσης και σταματάει.

7. Εντυπώσεις-Συμπεράσματα

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

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

Βιβλιογραφία
1. http://www.why.gr  Διερευνητική μάθηση.
2. http://mindstorms.lego.com ο επίσημος δικτυακός τόπος της Lego για τα Lego Mindstorms
3. http://el.wikipedia.org/ Η ελεύθερη εγκυκλοπαίδεια Βικιπαίδεια.