ΠΑΡΟΥΣΙΑΣΗ- ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΚΑΤΑΣΚΕΥΗΣ
Το συγκεκριμένο έργο για τον διαγωνισμό Ρομποτικής Ανοιχτών Τεχνολογιών, δημιουργήθηκε από την ειδικότητα Ηλεκτρονικής του ΕΠΑ.Λ Γρεβενών
Η σκέψη μας ήταν ένα ρομποτικό όχημα που θα έχει τη δυνατότητα να κινείται αυτόνομα στο χώρο αποφεύγοντας εμπόδια, έχοντας επιπλέον τη δυνατότητα ηχητικής και οπτικής ειδοποίησης.
Παράλληλα να μπορούμε εμείς να το κινήσουμε χρησιμοποιώντας το κινητό μας ως τηλεχειριστήριο, μέσω Bluetooth επικοινωνίας. Η android εφαρμογή που θα χρειαστεί να εγκαταστήσουμε, θα υλοποιηθεί επίσης από την ομάδα μας .
Το ρομπότ θα μπορεί επιπλέον να μεταφέρει αντικείμενα με τη βοήθεια ενός βραχίονα.
ΟΙ ΜΑΘΗΤΕΣ ΤΗΣ ΟΜΑΔΑΣ:
Βαγγέλη Σπύρος, Μετόσι Ντόριαν, Μπαρούτας Παναγιώτης, Σάλλα Ρίντι
ΥΛΙΚΑ ΚΑΤΑΣΚΕΥΗΣ:
- Arduino Uno 23€
- Βάση Robot Smart Car 2WD 13€
- Servo micro κινητήρας X 4 (20€)
- Αισθητήρας υπερήχων ΗC-SR04 2,5€
- Θήκη μπαταρίας Χ3 6€
- ΟδηγόςκινητήρωνDual Motor Driver Module L298N 4€
- Buzzer και Led 1€
- BluetoothModule HC05 8€
- Kit Proto Shield UNO for Arduino7,5€
- Καλώδια
ΒΗΜΑΤΑ ΚΑΤΑΣΚΕΥΗΣ:
Το πρώτο βήμα είναι η συναρμολόγηση του ρομπότ, ξεκινώντας από τον σκελετό –σασί. Αποτελείται από μια πλαστική βάση, δύο dc μοτέρ και δύο ρόδες που συνδέονται αντίστοιχα σε αυτά. Ένα μικρό ροδάκι στο πίσω μέρος ισορροπεί την κατασκευή. Χρησιμοποιήθηκε κολλητήρι για τα 2 καλώδια του κάθε μοτέρ.
Ως δεύτερο βήμα, τοποθετήσαμε τον πρώτο servo κινητήρα στο μπροστινό μέρος του ρομπότ. Θα αποτελεί τον λαιμό ο οποίος θα μπορεί να στρέφεται αριστερά και δεξιά. Με απλό κώδικα ελέγξαμε την περιστροφή του servo κατά 180 μοίρες.
Τρίτο βήμα είναι η τοποθέτηση του αισθητήρα απόστασης στη βάση του servo. Αυτός είναι τα μάτια του ρομπότ μας. Ανιχνεύει αποστάσεις εμποδίων στο χώρο, ώστε να μπορέσει το ρομπότ να τα αποφύγει. Με την χρήση κατάλληλου κώδικα έγινε ο έλεγχος της σωστής λειτουργίας του αισθητήρα. Σε αυτό το βήμα έγινε και η εκτύπωση του mount που χρησιμοποιήσαμε ως βάση-πρόσωπο του αισθητήρα απόστασης, από τον 3D εκτυπωτή που διαθέτει το εργαστήριο μας.
Τέταρτο βήμα αποτελεί η τοποθέτηση μπαταριών στη βάση του οχήματος. Χρειαζόμαστε 3 μπαταρίες των 9V: Μια μπαταρία απαιτείται για την τροφοδοσία του Arduino, μία για την τροφοδοσία των DC κινητήρων για την κίνηση του ρομπότ και μία για τους servo κινητήρες. Έτσι κολλήσαμε με σιλικόνη τις 3 θήκες μπαταριών στο κάτω μέρος του σκελετού.
Το πέμπτο βήμα έχει να κάνει με το ηλεκτρονικό κύκλωμα οδήγησης των dc μοτέρ. Για το σκοπό αυτό χρησιμοποιήσαμε το ολοκληρωμένο Η-Bridge L298. H δοκιμή έγινε με τη χρήση απλού κώδικα, ώστε το ρομπότ να κινείται για σύντομο χρονικό διάστημα διαδοχικά προς τις τέσσερις κατευθύνσεις: μπροστά –πίσω-αριστερά-δεξιά.
Στο έκτο βήμα, απλά προσθέσαμε Led και Buzzer ώστε να υπάρχει οπτική και ηχητική ένδειξη αντίστοιχα στο ρομπότ μας.
Έβδομο βήμα αποτελεί η προσθήκη Bluetooth Module. Ένας από τους στόχους της κατασκευής μας είναι η ασύρματη επικοινωνία-χειρισμός του ρομπότ. Έτσι συνδέσαμε το Bluetooth Module και υλοποιήσαμε ένα απλό κύκλωμα με χρήση ενός led, για να το δοκιμάσουμε. Σε αυτή τη φάση υλοποιήσαμε και την πρώτη μας android εφαρμογή , οπότε εξοικειωθήκαμε και με το αντίστοιχο λογισμικό(ΜΙΤ Αpp Inventor).
Όγδοο βήμα είναι να κάνουμε το ρομπότ μας να κινείται αυτόνομα στο χώρο, αποφεύγοντας εμπόδια που μπορεί να συναντήσει (Auto λειτουργία).
Το ρομπότ ξεκινά να κινείται ευθεία. Όταν ανιχνεύσει αντικείμενο σε απόσταση 10cm τότε σταματά, κορνάρει, ανάβει φώτα και κοιτάζει αριστερά και δεξιά ψάχνοντας για τον καλύτερο δρόμο διαφυγής. Έτσι θα βρίσκει διαδρομές, όπου θα προχωρά χωρίς να συγκρούεται με άλλα αντικείμενα.
Το ένατο βήμα είναι ο τηλεχειρισμός του ρομπότ(Manual Λειτουργία). Με τη χρήση του Bluetooth module που αναφέραμε και σε προηγούμενο βήμα και android εφαρμογής που υλοποιήσαμε πάλι με τον App Inventor, χρησιμοποιούμε τέσσερα πλήκτρα για κίνηση μπρος-πίσω-αριστερά-δεξιά, καθώς και άλλα δύο για να ενεργοποιούμε το led και το buzzer αντίστοιχα.
Δέκατο είναι ο συνδυασμός των δύο προηγούμενων. Δηλαδή να προγραμματίσουμε το ρομπότ ώστε να μπορεί να μεταβεί από την Auto στην Manual λειτουργία με το πάτημα ενός κουμπιού στην android. Συνδυάζοντας τους κώδικες των δύο προηγούμενων βημάτων, ο τελικός κώδικας κάνει το ρομπότ μας να έχει Διπλή Λειτουργία: κινείται αυτόνομα στο χώρο αποφεύγοντας εμπόδια αλλά μπορεί και να ελεγχθεί η κίνηση του μέσω ασύρματης επικοινωνίας.
Στο ενδέκατο βήμα θέλοντας να δώσουμε στο ρομπότ μας την ικανότητα της μεταφοράς αντικειμένων, προσθέσαμε έναν βραχίονα. Ο πρώτος βραχίονας που χρησιμοποιήσαμε έχει δύο αρθρώσεις: καρπό και δαγκάνα, ώστε να μπορεί να κρατά ή να αφήνει ένα αντικείμενο και ταυτόχρονα να το ανασηκώνει ή να το αποθέτει κάπου. Οι δύο αρθρώσεις του βραχίονα απαιτούν τη χρήση δύο servo motors αντίστοιχα.
Στο δωδέκατο βήμα αλλάξαμε βραχίονα. Έχοντας στη διάθεση μας 3D εκτυπωτή που επίσης αποτελεί φετινό project της ομάδας μας, σκεφτήκαμε να εκτυπώσουμε εμείς έναν βραχίονα. Εκτυπώσαμε λοιπόν τα διάφορα μέρη του και τον συναρμολογήσαμε. Ο βραχίονας μας έχει επιπλέον την δυνατότητα κίνησης μπροστά- πίσω καθώς και της περιστροφής. Έτσι χρησιμοποιεί 4 servo κινητήρες. Αρχικά έγινε η δοκιμή του μεμονωμένα με χρήση android εφαρμογής που υλοποιήσαμε ειδικά για αυτό τον σκοπό . Στην συνέχεια ως δεκατοτρίτο βήμα, τοποθετήσαμε τον βραχίονα στο ρομπότ και εμπλουτίσαμε τόσο τον κώδικα του Arduino όσο και της android εφαρμογής. Έπειτα αφαιρέσαμε τη βάση του βραχίονα που έδινε τη δυνατότητα περιστροφής. Αυτό έγινε για να ελαφρύνει η κατασκευή αλλά και να μειώσουμε την επιβάρυνση των μπαταριών από τη χρήση πολλών μοτέρ. Εξάλλου η δυνατότητα περιστροφής καλύπτεται από την κίνηση του ίδιου του ρομπότ.
Αυτή είναι και η τελική μορφή του ρομποτικού οχήματος που σας παρουσιάζουμε.
Σημείωση: Για τις απαραίτητες θεωρητικές γνώσεις, τόσο για τον προγραμματισμό του Arduino όσο και για τη σωστή χρήση των αισθητήρων, μοτέρ και των υπόλοιπων εξαρτημάτων που χρησιμοποιούμε, μπορεί να γίνει η χρήση του παρακάτω ηλεκτρονικού βιβλίου που κυκλοφορεί δωρεάν:
http://users.sch.gr/manpoul/docs/arduino/ProgrammingArduino.pdf
Εφαρμογές-Σκέψεις για επέκταση-βελτίωση: η κατασκευή μας με κατάλληλες βελτιώσεις θα μπορούσε να είναι ένα robot for care ώστε να μπορεί να εξυπηρετήσει-φροντίσει ένα ασθενή ή υπερήλικα ή ακόμη και με προβλήματα όρασης που βρίσκεται μόνος του στο σπίτι. Μπορεί να τον βοηθήσει να μετακινηθεί στο χώρο ή να μεταφέρει αντικείμενα για να τον εξυπηρετήσει.
Αν προστεθεί κάμερα, μικρόφωνο και wi-fi επικοινωνία, θα αποτελεί ένα ρομπότ- διασώστη. Το ρομπότ θα παρακολουθείται και θα χειρίζεται από κάποιον τρίτο που βρίσκεται σε απόσταση. Για παράδειγμα σε ένα κτίριο που έχει καταρρεύσει από σεισμό, το ρομπότ εισέρχεται στο χώρο και ανιχνεύει για τυχόν εγκλωβισμένους.
Μπορείτε να δείτε το έργο μας στο GitHub:
https://github.com/epalgreenon/robot-fr-care