Home - GauravMall/Customer-Assistant GitHub Wiki

Πρόλογος

Customer-Assistant είναι ένα ρομπότ που βοηθάει τους πελάτες να βρουν τα προϊόντα που επιθυμούν να αγοράσουν και τους πληροφορεί που βρίσκεται και τη τιμή τους. Συνήθως, όπως ξέρουμε, όταν πάμε σε μεγάλα καταστήματα για να αγοράσουμε ένα προϊόν, που δεν ξέρουμε που βρίσκεται ούτε ξέρουμε τη τιμή του, υπάρχουν δύο τρόποι να το βρούμε:

  1. Να ψάχνουμε το προϊόν για ώρες μέχρι να το βρούμε ή
  2. Να ρωτήσουμε κάποιον/-α που εργάζεται εκεί.

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

Γενικά ξέρουμε πως τα ρομπότ κατασκευάζονται για να λύνουν προβλήματα που αντιμετωπίζει ο άνθρωπος στην καθημερινή του ζωή, που ποικίλουν από μεγάλα μέχρι κι πολύ μικρά. Έτσι, σ' αυτό το συγκεκριμένο πρόβλημα(που αναφερθήκαμε) προσπαθεί να δώσει λύση και το Customer-Assistant. Ένα ρομπότ που οδηγείται αυτόματα προς την τοποθεσία του προϊόντος που αναζητείτε, αφού φυσικά του πείτε ποιο προϊόν. Έτσι, δεν ξοδεύεται χρόνο κι βρίσκεται το προϊόν σας πολύ πιο γρήγορα και ευχάριστα.

Κατασκευή

Σημείωση: Μετά την διαδικασία κατασκευής αρκετά πράγματα άλλαξαν, αλλά η γενική περιγραφή είναι ίδια [27-4-2019].

Η δική μου κατασκευή θα είναι ένα μέτριου μεγέθους ρομπότ με μια οθόνη TFT/LCD που συνδέεται με ένα Arduino MEGA. Η Οθόνη θα λειτουργεί σαν τα "μάτια του ρομπότ". Φυσικά, το ρομπότ δε θα μπορεί να βλέπει από εκεί, όμως χρησιμοποιώντας γραφικά της Adafruit θα μπορώ να δημιουργώ κύκλους ή και άλλα σχήματα ώστε να δημιουργήσω την εικόνα των ματιών. Επιπλέον, όταν το ρομπότ θα κινείται θα μπορώ να δείχνω και τον χάρτη(τον δρόμο) που ακολουθεί το ρομπότ πάνω στην οθόνη. Το ρομπότ θα είναι κατασκευασμένο από ελαφριά υλικά(πλάκες αλουμινίου, χαρτόνι κ.α.) ώστε: 1) να μπορώ να παραμορφώσω και να χρησιμοποιήσω τα υλικά με ευκολία, και 2) οι κινητήρες(μοτέρ) που θα χρησιμοποιήσω να μην φορτώνονται πάρα πολύ. Πάνω σε αυτές τις πλάκες (οποιοδήποτε υλικού από αυτά που ανέφερα) θα υπάρχουν αισθητήρες Ultrasonic(Ultrasonic Sensors). Χρησιμοποιώντας ένα πρόγραμμα, το Customer Assistant Map Creator(το οποίο έφτιαξα ειδικά για αυτή τη κατασκευή), που παράγει έναν χάρτη μπορούμε να δώσουμε οδηγίες στο ρομπότ ώστε να οδηγεί. Σε συνδυασμό με αυτό, οι αισθητήρες θα μπορούν να δίνουν επιπλέον οδηγίες στο ρομπότ ώστε να αποφεύγει αντικείμενα ή ανθρώπους που κινούνται μπροστά από το ρομπότ. Επιπλέον, 2 ηχεία και 4-5 μικρόφωνα θα είναι τα μέσα εποικινωνίας με το ρομπότ. Αν και τα ηχεία ή τα μικρόφωνα αυτά δε θα είναι άριστης ποιότητας, διότι θα χρησιμοποιήσω κάποια που έχω ήδη, όμως ελπίζω να λειτουργούν κανονικά.

Robot_Blueprint

Αναλυτικότερα, η κατασκευή μου θα έχει:

  1. Μια οθόνη TFT/LCD που συνδέεται με το Arduino MEGA. Επειδή δυστυχώς η οθόνη που παρήγγειλα δεν ήταν οθόνη TFT/LCD Touch Screen, αλλά μόνο οθόνη TFT/LCD που μπορούσε να δείχνει εικόνες ή σχήματα. Όμως, εξαιτίας του λίγου χρόνου που διέθετα αποφάσισα να χρησιμοποιήσω την οθόνη για αισθητικούς σκοπούς. Άρα, η οθόνη θα έχει δύο "μάτια", δηλαδή δύο κύκλους με άλλα παραπάνω εφέ. Επίσης, όταν το ρομπότ θα οδηγεί μπορώ να δείχνω τον χάρτη πάνω στην οθόνη και την τοποθεσία του ρομπότ πάνω σε αυτόν τον χάρτη.

  2. Ένα Arduino Mega που θα είναι το μυαλό του ρομπότ και θα κάνει όλες τις "σκέψεις". Μέσω προγραμματισμού θα μπορεί να ελέγχει τις ρόδες και να ξέρει αν βρίσκεται κάτι μπροστά ή πίσω του για να μπορεί να οδηγείται αυτόματα. Το Arduino θα είναι εκείνο που χρησιμοποιεί τον χάρτη και θα οδηγεί το ρομπότ ανάλογα με το προϊόν που ο πελάτης θα διαλέξει. Επιπλέον, θα είναι εκείνο που θα ακούει και θα ερμηνεύει τα λόγια του πελάτη, ώστε να κάνει το κατάλληλο πράγμα (να κινηθεί, να πει πως δε μπορεί να βοηθήσει κ.α.)

  3. Αισθητήρες Ultrasonic: Με αυτούς τους αισθητήρες το ρομπότ θα ξέρει αν κάτι βρίσκεται μακριά ή κοντά του και του δίνει τη δυνατότητα να οδηγείται χωρίς να συγκρούεται με τα γύρω του αντικείμενα. Μια σειρά από αυτούς τους αισθητήρες (13, για ακρίβεια) θα δηµιουργεί ένα χάρτη που το ρομπότ θα χρησιμοποιεί για να οδηγείται αυτόματα και να αποφεύγει άλλα αντικείμενα (π.χ. Άνθρωποι κ.τ.λ). Αυτός ο χάρτης αισθητηρών σε συνδυασμό με τον χάρτη οδηγίας θα δίνει ουσιαστικά τη δυνατότητα στο ρομπότ να κινείται στο περιβάλλον γύρω του χωρίς να συγκρούεται και να "τραυματίζει τον σκελετό" του.

  4. Motor(Αριθμός: 3-4): Θα χρησιμεύσουν στη μετατόπιση του ρομπότ. Το Motor θα γυρνάει δύο ρόδες και θα προχωράει το ρομπότ μπροστά ή πίσω. Τα άλλο μοτέρ που θα περισσέψει θα το χρησιμοποιήσω σαν το τιμόνι του αυτοκινήτου ενσωματόνωντας ένα σύστημα που υπάρχει στα μικρά αυτοκινητάκια, διότι τα servo που έχω είναι ικανά να κουβαλάνε μόνο 2kg-4kg μάζας, ενώ το ρομπότ μου θα είναι κάπου στα 8kg-10kg. Άρα, χρησιμοποιώντας αυτό το μοτέρ θα μπορώ να στρίβω το ρομπότ με την ίδια ακρίβεια, αλλά και με αυτοπεποίθηση, γιατί δε θα υπάρχει πιθανότητα να σπάσει λόγου μάζας.

  5. Ηχεία: Τα ηχεία απλώς θα λένα κάποια λόγια, όπως: "Καλώς ήρθατε, πως μπορώ να σας βοηθήσω", ή "Βρήκα το προϊόν που επιθυμείτε να αγοράσετε" κ.α. Άρα, δηλαδή θα λειτουργεί ως ένα μέσο επικοινωνίας με τους πελάτες. Θα υπάρχουν δύο ηχεία ώστε να υπάρχει το "stereo effect" και επίσης για να δυναμώσουμε τη φωνή του ρομπότ.

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

Ο χάρτης που θα δημιουργείται από τους αισθητήρες Ultrasonic θα δουλεύει µέσω προγραμματισμού. Κάτι παρόμοιο θα συμβαίνει και με τον χάρτη οδηγίας που θα δημιουργηθεί από ένα ειδικό πρόγραμμα που έφτιαξα για αυτό το ρομπότ. Οι πληροφορίες για αυτό το πρόγραμμα μπορούν να βρεθούν εδώ: [Το Github-Link θα είναι εδώ σύντομα]. Ο προγραμματισμός θα γίνει με τη γλώσσα C/C++ Arduino Version µε τη χρήση του Eclipse IDE αντί του Arduino IDE, απλώς επειδή το Eclipse IDE έχει περισσότερα features και μου αρέσει περισσότερο. Τον προγραμματισμό θα το βρείτε στο Customer-Assistant Repository.

Υπολογισμός/Εκτίμηση Κόστους

Μέρη του ρομπότ:

  1. Arduino MEGA = 40.00€
  2. Πλάκες Αλουμινίου και (Σκληρό)Χαρτόνι = 45.00€
  3. Συγκόλληση = 30.00€
  4. TFT/LCD Screen(Οθόνη) = 18.50€
  5. Torque Motor = 30.00€
  6. Ultrasonic Sensor(Αισθητήρας) x 15 = 60.00€
  7. Καλώδια = 15.00€
  8. Ηχείο = 18.00€
  9. Βαταρία = 15.00€
  10. Μικρόφωνα = 12.00€

Εκτίμηση Κόστους:

40.00€ + 45.00€ + 30.00€ + 18.50€ + 30.00€ + 60.00€ + 15.00€ + 18.00€ + 15.00€ + 12.00€ = 283.50€

Ένα κόστος, που φαίνεται πολύ μεγάλο, αλλά είναι μικρό αν δούμε ότι είναι μεγάλη κατασκευή με ευρείες χρήσεις.