ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΡΟΜΠΟΤΙΚΗ 2010-2011 ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ ΟΜΑΔΑ: ΑΘΑΝΑΣΙΑΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ (konsatha@mie.uth.gr) ΚΑΛΤΣΑΣ ΑΘΑΝΑΣΙΟΣ ( bingo_than@msn.com ) ΚΙΚΙΔΟΥ ΒΑΣΙΛΙΚΗ ( papaki_vicky@hotmail.com )
Περιεχόμενα 1. Εισαγωγή 2. Στοιχεία ρομπότ Ø Γενικά στοιχεία- Αντικείμενο λειτουργίας Ø Κατασκευαστικά στοιχεία v Σχέδιο v Κινητήρες v Αισθητήρες v Μετατροπές v Λογισμικό 3. Προβλήματα που αντιμετωπίστηκαν 4. Παράρτημα 5. Βιβλιογραφία
1) Εισαγωγή Στα πλαίσια του μαθήματος ρομποτικοί μηχανισμοί και βιομηχανικοί αυτοματισμοί, οι φοιτητές Βίκυ Κικίδου, Θανάσης Καλτσάς και Κων/νος Αθανασιάδης, έστησαν και προγραμμάτισαν ένα αυτόνομο, κινούμενο ρομποτικό μηχανισμό (που θα αναφέρεται εφεξής ως Α.Ρ.Μ. για λόγους συντομίας) χρησιμοποιώντας εκπαιδευτικό πακέτο, της σειράς MINDSTORMS, της LEGO (βλ. Εικόνα 1). Στόχος αυτής της παρούσας τεχνικής έκθεσης είναι να παρουσιάσει και να καταστήσει κατανοητή ακόμα και στον πιο αμύητο αναγνώστη, το σκοπό λειτουργίας και τα κατασκευαστικά στοιχεία του Α.Ρ.Μ.. 2) Στοιχεία Ρομπότ v Γενικά Στοιχεία Αντικείμενο λειτουργίας Έναρξη λειτουργίας με ηχητικό μήνυμα, με αφετηρία κίτρινη γραμμή. Ακολουθεί πορεία κατά μήκος μαύρης γραμμής. Εντοπίζει με τον αισθητήρα χρώματος και συλλέγει με την βοήθεια μαγνητικής αρπάγης χρωματισμένες κίτρινες βίδες. Περιστρέφεται κατά 180 ο γύρω από τον εαυτό του μέχρι να εντοπίσει ξανά την μαύρη γραμμή. Επιστρέφει στο σημείο έναρξης του (κίτρινη γραμμή), οπου και παραμένει για 4 δευτερόλεπτα με σκοπό να παραλάβει ο χειριστής του την βίδα. Περιστρέφεται ξανά κατά 180 ο γύρω από τον εαυτό του μέχρι να εντοπίσει την μαύρη γραμμή και αρχίζει εκ νέου αναζήτηση για βίδες. Σταματάει την λειτουργία του όταν βρει όλες τις βίδες και ανιχνεύσει εμπόδιο μπροστά του, στο τέλος του προδιαγεγραμμένου διαδρόμου κίνησης.
v Κατασκευαστικά στοιχεία Σχέδιο Για τη συναρμολόγηση χρησιμοποιήθηκε κατασκευαστικό σχέδιο προερχόμενο από το εγχειρίδιο συναρμολόγησης που περιέχεται στο πακέτο. Ωστόσο κατά την διάρκεια του προγραμματισμού και των δοκιμών έγιναν κάποιες μετατροπές που βοήθησαν στην χρηστικότητα και στην ομαλή λειτουργία των αισθητήρων που προσαρμόστηκαν. Κινητήρες μαγνήτη) LEGO. Για την μετάδοση κίνησης στους δύο τροχούς και για την κίνηση της μαγνητικής αρπάγης (κανονική αρπάγη που περιέχεται στο πακέτο με τη προσθήκη χρησιμοποιήθηκαν 3 κινητήρες που περιέχονται στο βασικό πακέτο Αισθητήρες Ήχου (περιέχεται στο βασικό πακέτο) Απόστασης (περιέχεται στο βασικό πακέτο) Φωτός (περιέχεται στο βασικό πακέτο) Χρώματος (δεν περιέχεται στο βασικό πακέτο) Μετατροπές Όπως προαναφέραμε παραπάνω πραγματοποιήθηκαν κάποιες μετατροπές που υποδείχθηκαν αναγκαίες κατά τα στάδια της δοκιμής. Οι κυριότερες συνοψίζονται παρακάτω : Λόγω χαμηλής ακρίβειας του αισθητήρα χρώματος, χρησιμοποιήθηκε ο αισθητήρας χρώματος, ο οποίος προσαρμόστηκε επάνω και μπροστά από τον αισθητήρα φωτός (βλέπε Εικόνα 9). Έτσι, ενώ ο τελευταίος φροντίζει ώστε ο ρομποτικός μηχανισμός να διατηρεί πορεία πάνω στη μαύρη γραμμή ο αισθητήρας χρώματος αναζητά αποχρώσεις του κίτρινου ώστε να εκτελέσει τις λειτουργίες που προαναφέραμε.
Για καλύτερη λειτουργία του αισθητήρα φωτός ακολουθήσαμε το εγκατεστημένο πρόγραμμα για το καλιμπράρισμα του αισθητήρα. Αυτό είχε ως αποτέλεσμα την κατακόρυφη αύξηση της ακρίβειας του αισθητήρα. Λογισμικό Χρησιμοποιήθηκε σουίτα προγραμματιστικού πακέτου LEGO MINDSTORMS NXT Software v1.1 για λόγους ευχρηστίας, καθόσον: Είναι πρόγραμμα Visual Based, δηλαδή γραφικό (βλ. Εικόνα 2). Απαιτεί ελάχιστες γνώσεις προγραμματισμού, που καλύπτονται από το προπτυχιακό μάθημα προγραμματισμού, που ήδη υπάρχει στο τμήμα. Ο προγραμματισμός γίνεται με την μορφή Blocks, δηλαδή κουτιών, που έχουν προκαθορισμένη λειτουργία και μπαίνουν στη κατάλληλη σειρά για να συνθέσουν ένα ολοκληρωμένο πρόγραμμα. Δεν χρειάζεται το Α.Ρ.Μ. να είναι συνεχώς συνδεδεμένο με την μονάδα του υπολογιστή. Το παραπάνω λογισμικό κάνει compile αυτόματα τον κώδικα αποθηκεύοντας το εκτελέσιμο αρχείο στη μνήμη του ΝΧΤ Intelligent Brick (βλ. Εικόνα 8) και πλέον μπορεί να εκτελεστεί ανά πάσα στιγμή από το menu στην οθόνη της συσκευής.
3) Προβλήματα που αντιμετωπίστηκαν Κατά την διάρκεια εκπόνησης αυτού του Project αντιμετωπίστηκαν αρκετά προβλήματα μέχρι να φτάσει στην τελική του κατάσταση. Τα κυριότερα ήταν: Πρόβλημα : Υπήρχε απόκλιση από την προδιαγεγραμμένη μαύρη λωρίδα. Λύση: Μείωση της ταχύτητας των δύο κινητήρων που μεταδίδουν την κίνηση στους τροχούς. Πρόβλημα: Λειτουργία του αισθητήρα χρώματος, λόγω μη αναγνώρισης του από το πρόγραμμα. Λύση: Από το δικτυακό χώρο της κατασκευάστριας εταιρείας (Hitechnic) φορτώθηκε το plugin (Block) που ήταν απαραίτητο για την λειτουργία του αισθητήρα στη προγραμματιστική σουίτα. Πρόβλημα: Παράλληλη λειτουργία όλων των αισθητήρων φωτός, χρώματος και απόστασης. Λύση: Μετά από πολλές δοκιμές και αναζήτηση στο διαδίκτυο ο κώδικας τελικά τρέχει σε 2 παράλληλες διακλαδώσεις (sequence beams), η μία εκ των οποίων φροντίζει για τον έλεγχο των εμποδίων και την κίνηση πάνω στη μαύρη γραμμή, και η άλλη για τον εντοπισμό των βιδών.
4) Παράρτημα (ενδεικτικά). Εικόνα 1: Φωτογραφία του πακέτου Mindstorms που χρησιμοποιήθηκε Εικόνα 2: H προγραμματιστική σουίτα LEGO MINDSTORMS NXT Software v1.1(κομμάτι κώδικα κατά το οποίο το ρομπότ ακολουθεί την μαύρη γραμμή).
Εικόνα 3:Αισθητήρας ήχου Εικόνα 4: Αισθητήρας Απόστασης
Εικόνα 5: Αισθητήρας φωτός. Εικόνα 6: Αισθητήρας χρώματος.
Εικόνα 7: Κινητήρας Εικόνα 8: NXT Intelligent Brick
Μαγνητική Αρπάγη Κινητήρας αρπάγης NXT Intelligent Brick Αισθητήρας Ήχου Αισθητήρας Χρώματος Κινητήρας Τροχων Αισθητήρας Φωτός Εικόνα 9: To A.Ρ.Μ με όλους τα δομικά του στοιχεία 5) Βιβλιογραφία Wikipedia: http://en.wikipedia.org/wiki/lego_mindstorms_nxt Lego Official Site: http://mindstorms.lego.com/en- us/default.aspx Hitechnic Official Site: http://www.hitechnic.com/downloadnew.php?category=13