Δωρεάν εργαστήρια γνωριμίας με την Ρομποτική!

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

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

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

Ο στόχος του project, που είναι ένα project σε εξέλιξη, είναι τριπλός, εκπαιδευτικός, λειτουργικός και διαγωνιστικός.

  1. Σε εκπαιδευτικό επίπεδο, θέλαμε να δημιουργήσουμε ένα robot με χρήση ανοικτών τεχνολογιών το οποίο θα μπορεί να χρησιμοποιηθεί από ομάδες παιδιών στα Robotakia, σε πολλαπλά projects. Tο robot αποτελείται από πολλά επί μέρους υποσυστήματα και μπορεί να χρησιμοποιηθεί για πάρα πολλά projects.
  2. Σε λειτουργικό επίπεδο, στοχεύσαμε να δημιουργήσουμε ένα ρομπότ γενικών καθηκόντων. Αντί δηλαδή να επιλέξουμε μία συγκεκριμένη εφαρμογή, επιλέξαμε να ενσωματώσουμε στο robot μας μία σειρά από ικανότητες capabilities, τα οποία με την ανάλογη ενορχήστρωση μπορούν να προσδώσουν στο ρομπότ πολλαπλούς ρόλους. Η ενορχήστρωση αυτή επιτυγχάνεται εύκολα αφού μέρος της παραμετροποίησης του ρομπότ γίνεται μέσα από βάση δεδομένων. Επιπλέον, σε επόμενη έκδοση το ρομπότ θα υποστηρίζει τον προγραμματισμό του ακόμη και σε γλώσσα Scratch, κάτι που εξυπηρετεί την γρήγορη ανάπτυξη νέων ρόλων και παράλληλα τον πρώτο στόχο, τον εκπαιδευτικό.
  3. Σε διαγωνιστικό επίπεδο, τα παιδιά παρουσίασαν το ρομπότ τους σε πανελλήνιο διαγωνισμό ρομποτικής ο οποίος πραγματοποιήθηκε αρχές Οκτωβρίου. Ο διαγωνισμός, ως ενδιάμεσος σταθμός, έδωσε ένα χρονικό πλαίσιο για το πότε θα έπρεπε να είναι η πρώτη λειτουργική έκδοση του ρομπότ έτοιμη, χωρίς να αποτελεί το τέλος του project.

Λειτουργικές προδιαγραφές

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

Κίνηση

Το ρομπότ μας μπορεί να κινεί το κεφάλι του, εστιάζοντας στα πρόσωπα που βλέπει και εποπτεύοντας τον χώρο. Επίσης, μπορεί να κινεί τα χέρια του, για την εκτέλεση διάφορων εργασιών αλλά και για λόγους έκφρασης κατά τη διάρκεια της ομιλίας του. Επιπλέον, μπορεί να κινείται στο χώρο με τους τροχούς του, ανιχνεύοντας παράλληλα εμπόδια που θα βρεθούν στην πορεία του με το LiDAR (LIght Detection And Ranging)

Επικοινωνία

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

Όραση

Το ρομπότ βλέπει μέσα από μία στερεοσκοπική κάμερα. Αναλύει την εικόνα και εντοπίζει πρόσωπα (face detection). Επιπλέον, μπορεί να εκπαιδευτεί ώστε να αναγνωρίζει και την ταυτότητα συγκεκριμένων προσώπων (face recognition). Παράλληλα εντοπίζει στην εικόνα αντικείμενα (έπιπλα, οχήματα, ανθρώπους κτλ) και έννοιες όπως εσωτερικός χώρος, οικογένεια, ψυχαγωγία κ.α

Οπτικές ενδείξεις

Το robotaki  εμφανίζει στην οθόνη του σε pop ups αυτό που ακούει καθώς και αυτό που λέει. Έτσι μπορεί να επικοινωνήσει με ανθρώπους με προβλήματα ακοής. Επιπλέον, εμφανίζει στην οθόνη του τα πρόσωπα που βλέπει και τη θέση τους.

Ειδοποιήσεις

Το Robotaki μπορεί να στείλει SMS και e-mail. Έτσι, μπορεί να μεταφέρει πληροφορία που ο χρήστης θα του ζητήσει προφορικά. Επιπλέον, μπορεί να στείλει ειδοποιήσεις σε περίπτωση κινδύνου, ακόμη και μέσω κρυφών φωνητικών εντολών. Για παράδειγμα, όταν το robotaki ακούσει «Robotaki, παίξε κλασική μουσική, τότε θα παίξει μεν κλασική μουσική αλλά παράλληλα θα στείλει και SMS με τη λέξη SOS σε προκαθορισμένο αριθμό. Ακριβώς όπως με τα SMS, το Robotaki μπορεί να στείλει και e-mail είτε μεταφέροντας πληροφορία που ο χρήστης εκφωνεί, είτε ως μέρος πιο σύνθετων φωνητικών εντολών.

Άλλες δυνατότητες

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

Λίστα λειτουργιών

Συνοπτικά λοιπόν μπορούμε να διακρίνουμε τις παρακάτω λειτουργίες:

Κίνηση

  1. Σύστημα ελέγχου κινητήρων κεφαλιού
  2. Σύστημα ελέγχου ρομποτικών βραχιόνων
  3. Σύστημα ελέγχου τροχών κίνησης
  4. Σύστημα αναγνώρισης εμποδίων με χρήση LiDAR

Τεχνητή νοημοσύνη – προφορική επικοινωνία

  • Αναγνώριση φωνής μέσω διασύνδεσης με google speech to text
  • Σύστημα διαχείρισης φωνητικών εντολών υποστηριζόμενο από cloud βάση δεδομένων MySQL
  • Σύνθεση ομιλίας από κείμενο μέσω διασύνδεσης με google text to speech
  • Διασύνδεση με το cloud σύστημα τεχνητής νοημοσύνης openAI για εύστοχη απάντηση ερωτήσεων γνώσης
  • Λειτουργία chat bot μέσω openAI
  • Αντίληψη και ομιλία δεκάδων γλωσσών μέσω διασύνδεσης με το online σύστημα μετάφρασης της Google

Τεχνητή νοημοσύνη – Μηχανική όραση

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

Οπτικές ενδείξεις

  1. Εμφάνιση υπότιτλων σύνθεσης φωνής στην οθόνη
  2. Εμφάνιση υπότιτλων φωνητικής αναγνώρισης στην οθόνη
  3. Εμφάνιση αποτελέσματος face recognition στην οθόνη

Ειδοποιήσεις

  1. Αποστολή SMS μέσω http διασύνδεσης με SMS provider
  2. Αποστολή e-mail μέσω διασύνδεσης με office 365

Επιπλέον λειτουργίες

  1. Λήψη μετεωρολογικών δεδομένων μέσω διασύνδεσης με open weather
  2. Αναγγελία δελτίου καιρού
  3. MP3 player

Συστήματα και περιφερειακά

Το Robotaki διαθέτει δύο μικροϋπολογιστές, ένα Raspberry Pi 4 και ένα Jetson Nano, τα οποία επικοινωνούν μεταξύ τους μέσω ROS (Robot Operating System). Επιπλέον, διαθέτει κάμερα, οθόνη αφής, ηχεία, μικρόφωνο και σύνδεση με το internet μέσω ασύρματου router. Τέλος, διαθέτει συνολικά 16 κινητήρες, 2 για την κίνηση των τροχών του, 2 για την κίνηση του κεφαλιού του και 12 για την κίνηση των βραχιόνων του. Αναλυτικότερα:

Κάμερα

Ειδικότερα, αποτελείται από μια στερεοσκοπική κάμερα(zed2i) η οποία συνδυάζει την αντίληψη βάθους μεγάλης εμβέλειας με την τεχνητή νοημοσύνη για να αντιληφθεί το περιβάλλον τρισδιάστατα. Διαθέτει αισθητήρες για επίγνωση του χώρου και της θέσης ενώ ταυτόχρονα όντας ανθεκτικό στη σκόνη, το νερό και την υγρασία, είναι σχεδιασμένο για εφαρμογές σε εξωτερικούς χώρους, ιατρικά και βιομηχανικά περιβάλλοντα και πολλά άλλα.

Μοτέρ κεφαλιού

Όπως ο άνθρωπος έτσι και το Robotaki μπορεί να κουνάει το κεφάλι του όχι μόνο αριστερά και δεξιά άλλα και πάνω-κάτω. Στερεωμένο σε δυο κινητήρες(FB5118M) που διαθέτουν αναλογικό encoder και με την βοήθεια της κάμερας, το κεφάλι του robot έχει ιδιότητες που μοιάζουν με αυτές του ανθρώπινου κεφαλιού.

Οθόνη

Στο κέντρο του ρομπότ έχει προσαρμοστεί μια οθόνη αφής (Waveshare  13.3 inch Capacitive Touch Screen LCD). Η οθόνη έχει διπλό σκοπό. Αφενός χρησιμοποιείται για την εμφάνιση υποτίτλων και άλλων πληροφοριών προς τον χρήστη, όσο και για την άμεση πρόσβαση στους μικροϋπολογιστές του ρομπότ, χωρίς την ανάγκη χρήσης άλλου υπολογιστή. Η οθόνη είναι συνδεδεμένη τόσο με το raspberry όσο και με το jetson μέσω ασύρματου HDMI switch.

Ρομποτικοί βραχίονες                     

Επιπλέον αποτελείται από δύο ρομποτικούς βραχίονες (Arduino Braccio++) οι οποίοι είναι τα χέρια του robot. Οι ρομποτικοί βραχίονες μπορούν να χρησιμοποιηθούν για διάφορες εργασίας ενώ παράλληλα προσδίδουν στο Robotaki ανθρωπόμορφα χαρακτηριστικά.

  LIDAR

Το Lidar (RPLIDAR A1)  βρίσκει τις αποστάσεις των αντικειμένων γύρω από το robot. Βασίζεται στην εκπομπή παλμικής ακτινοβολίας λέιζερ(360ο) δημιουργώντας έτσι ένα χάρτη του χώρου. Το Robotaki έχοντας στη διάθεσή του κάθε στιγμή το χάρτη, ξέρει εάν υπάρχει κάποιο αντικείμενο μπροστά ή πίσω του. Έτσι, όταν ανακαλύπτει κάποιο εμπόδιο πολύ κοντά του σταματάει ή  αλλάζει πορεία για να το αποφύγει.

Μοτέρ τροχών

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

Μικρόφωνο

Για να μπορέσουμε να εποικοινωνήσουμε εύκολα με το Robotaki σε χώρο με μεγάλο θόρυβο, όπως χώροι υψηλής συνάθροισης κοινού, χρησιμοποιούμε ένα ασύρματο USB μικρόφωνο (ULM300USB) . Το μικρόφωνο έχει ενσωματωμένο κουμπί mute/unmute ώστε το robot να απομονώνει καλύτερα τις εντολές που του δίνουμε από τον περιβάλλοντα θόρυβο.

Ηχεία

To Robotaki έχει τοποθετημένα στη βάση του ηχεία(Creative Pebble 2.0 Speakers USB) για να μιλάει και να παίζει μουσική! Τα ηχεία τροφοδοτούνται μέσω της θύρας USB και οι σχετικά μικρές διαστάσεις τους επιτρέπουν την εύκολη την τοποθέτησή τους.

4G router

Το Robotaki χρειάζεται σύνδεση με το διαδίκτυο. Έτσι, για λόγους αυτονομίας, προσθέσαμε ένα 4G router (AC1200 Wireless Dual Band 4G LTE Router). Παράλληλα, δημιουργεί ενσύρματο τοπικό δίκτυο μεταξύ Raspberry και Jetson για την μεταξύ τους επικοινωνία.

Jetson Nano

Το Jetson Nano είναι ένας μικρός, ισχυρός υπολογιστής που επιτρέπει να εκτελούνται πολλά νευρωνικά δίκτυα παράλληλα στο Robotaki. Είναι μία σχετικά νέα πλατφόρμα που προορίζεται κυρίως για εφαρμογές τεχνητής νοημοσύνης στο πεδίο (edge AI). To Jetson είναι συνδεδεμένο με την στερεοσκοπική κάμερα, τα ηχεία, το router και την οθόνη αφής.

Raspberry Pi 4

Το Raspberry Pi (Raspberry Pi 4 Model B 4GB) είναι ο δεύτερος μικροϋπολογιστής του robot.  Αν και λιγότερο ισχυρός από το jetson, έχει ευρεία υποστήριξη σε επίπεδο λογισμικού και υλικού. Έτσι μπορεί να αναλάβει τις λιγότερο απαιτητικές εφαρμογές από πλευράς υπολογιστικής ισχύς αλλά και να παρέχει διασύνδεση με συσκευές και software που ακόμη δεν συνεργάζονται πλήρως με τη νέα πλατφόρμα jetson nano. Το  Raspberry Pi είναι συνδεδεμένο με το μικρόφωνο, το  AD Hat, το Lidar και την οθόνη αφής.

RP2040 Connect

Για τον έλεγχο των ρομποτικών βραχιόνων χρησιμοποιούνται δύο microcontrollers RP2040 Connect. Οι microcontrollers είναι συνδεμένοι σε ένα Arduino board το οποίο με τη σειρά του συνδέεται μέσω USB με το raspberry pi

Motor driver

Για τον έλεγχο των κινητήρων των τροχών, μέσω PWM, χρησιμοποιήσαμε ένα (2×15A DC Motor Driver). Ο motor driver αυτός είναι κατάλληλος για μοτέρ 12V. Ελέγχει την τροφοδοσία των δύο μοτέρ, με βάση τις εντολές που λαμβάνει από το Raspberry pi για τη φορά και τη δύναμη της περιστροφής.

PWM controller

Για την κίνηση των servo μοτέρ του κεφαλιού επιλέξαμε να χρησιμοποιήσουμε ένα PWM Servo motor driver (PCA9685 16-Channel 12-bit PWM Servo Motor Driver I2C Module). Αν και θα μπορούσαμε να χρησιμοποιήσουμε το GPIO του Raspberry ή του Jetson προτιμήσαμε να τα έχουμε ξεχωριστά για να έχουμε τη δυνατότητα στο μέλλον να προσθέσουμε εάν θέλουμε περισσότερες συσκευές χωρίς να μας περιορίζει το πλήθος των pins.

Analog to digital hut

Για την λήψη των αναλογικών σημάτων από τους encoders των servo μοτέρ του κεφαλιού εγκαταστήσαμε ένα AD hut για το raspberry pi. Το AD hut αυτό θα μας επιτρέπει μελλοντικά να συνδέουμε και αναλογικούς αισθητήρες στο σύστημά μας, ώστε αυτό να αντιλαμβάνεται ακόμη καλύτερα το περιβάλλον του.

Τροφοδοσία

Για να μπορεί να τροφοδοτεί τα παραπάνω το Robotaki, προσαρμόστηκαν δυο επαναφορτιζόμενες μπαταρίες.

 Η πρώτη μπαταρία, χωρητικότητας 8000mAh (Gens Ace 8000mAh 11.1V 100C 3S1P Li-Po) τροφοδοτεί Raspberry pi, Jetson Nano, οθόνη, router καθώς και τα μοτέρ της βάσης.

Η δεύτερη μπαταρία, χωρητικότητας 2700mAh (Gens Soaring 2700Ah 11.1V Li-Po) τροφοδοτεί τα μοτέρ του κεφαλιού, τα braccio και το PWM controller.

Συνδυαστικά οι δύο μπαταρίες μπορούν να δώσουν στο Robotaki αυτονομία άνω των 2.5h ενώ είναι δυνατή η προσθήκη ακόμη μεγαλύτερων ή/και 3ης μπαταρίας για μεγαλύτερη αυτονομία

Για την σύνδεση των επιμέρους συσκευών, όπου κάθε μία έχει διαφορετικά τεχνικά χαρακτηριστικά, συνδέσαμε μία σειρά από regulators.

Xρησιμοποιήσαμε ένα step down (DC-DC Step-Down 5V 5A) για τη σύνδεση του raspberry και του Motor encoder.

Xρησιμοποιήσαμε ένα step down (DC-DC Step-Down 5V 3A – USB) για την τροφοδοσία των ηχείων.

Δύο ρυθμιζόμενα step up – step down (DC-DC 8A Automatic Step Up Step Down Adjustable Power Module) τροφοδοτούν το motor driver των τροχών, την οθόνη και το router. Οι συσκευές αυτές χρειάζονται 12V. Η τάση των μπαταριών ξεκινά από 12.6V μετά από πλήρη φόρτιση και κατεβαίνει μέχρι 10.8V πριν τις αντικαταστήσουμε με άλλες φορτισμένες. Έτσι, χρειάστηκε η εν λόγω συσκευή για να κρατά την τάση σταθερή στα 12V είτε η μπαταρία δίνει λίγο περισσότερο είτε λίγο λιγότερο.

Για την τροφοδοσία των ρομποτικών βραχιόνων χρησιμοποιήθηκαν επίσης δύο ρυθμιζόμενες μονάδες (12A 200W Adjustable Buck Module Board Power Supply AC-DC)  στα 7.4V

Τέλος, έχουμε ενσωματώσει δύο (adjustable cc/cv display step down module). Το πρώτο είναι ρυθμισμένο στα 5V και τροφοδοτεί το Jetson Nano. Tο δεύτερο είναι ρυθμισμένο στα 7.4V και τροφοδοτεί τα μοτέρ που χρησιμοποιούμε για τον έλεγχο του κεφαλιού μέσω τoυ PWM controller.

 

Ο σκελετός του ρομπότ

Για την κατασκευή του robot χρησιμοποιήσαμε ξύλο, αλουμίνιο και πλαστικό. Τα πλαστικά μέρη είναι όλα δικής μας σχεδίασης και εκτύπωσης. Χρησιμοποιήσαμε έναν εκτυπωτή Creality CR 10 Max με nozzle 0.4mm και πλαστικό PETG και PLA. Τα μόνα πλαστικά τμήματα που δεν εκτυπώσαμε, βρίσκονται στον ρομποτικό βραχίονα, τον οποίο προμηθευτήκαμε έτοιμο. Στους βραχίονες, αρχικά χρειάστηκε να αντικαταστήσουμε μόνο ορισμένα εξαρτήματα για τη διασύνδεση με το ρομπότ μας και αργότερα λόγω φθοράς.

Το λάστιχο από τι ρόδες είναι επίσης εκτυπωμένο με το υλικό flex.

 

Τροφοδοσία

Καταγραφή καλωδίων εντός σωλήνα σκελετού

IDPropertyPositionLengthAmpsTypeColor
1Left Battery PowerLeft Pipe1,75PowerRB
2Right Battery PowerRight Pipe1,7510PowerRB
3Left Motor PowerLeft Pipe1,7510PowerRB
4Right Motor PowerRight Pipe1,75PowerRB
5Encoder PowerLeft Pipe1,75PowerGreen/Yellow > RB
6Left Motor ENCLeft Pipe1,75Data(Dual)Blue/Purple
7Right Motor ENCRight Pipe1,75Data(Dual)Blue/Purple
8LidarLeft Pipe1,75USBBlack
9Speaker PowerRight Pipe1,75USBBlack
10Speaker AudioRight Pipe1,75AudioBlack
11BackupLeft Pipe1,75RB
12BackupRight Pipe1,75RB

Διάγραμμα τροφοδοσίας

Επισκόπηση κώδικα

Ο κώδικας που εκτελείται στο robotaki είναι οργανωμένος σε μικρότερα προγράμματα, που ονομάζονται nodes, κατά την ορολογία του ROS. Τα nodes επικοινωνούν μεταξύ τους με μηνύματα, ακόμη και όταν εκτελούνται σε διαφορετικούς μικροϋπολογιστές του ρομπότ.

Τα nodes που έχουν υλοποιηθεί είναι τα παρακάτω:

Braccio node

Ο κάθε ρομποτικός βραχίονας ελέγχεται μέσω του braccio node.

Το node χρησιμοποιεί την βιβλιοθήκη Braccio για να επικοινωνεί σειριακά με τους μικροελεγκτές που διαχειρίζονται την κίνηση των μοτέρ τύπου hobby servo στέλνοντας τους μηνύματα με την θέση που πρέπει να κινηθούν.

Head node

To head node είναι υπεύθυνο για την περιστροφική κίνηση του κεφαλιού.

Δέχεται μηνύματα για την κίνηση των μοτέρ τύπου hobby servo με βάση την τελική θέση που θα πρέπει να έχουν οι κινητήρες.

Χρησιμοποιεί την βιβλιοθήκη Adafruit_servokit για την επικοινωνία με τα μοτέρ καθώς και την analog    για να μπορούν να αξιοποιηθούν οι αισθητήρες ανάδρασης περιστροφικής θέσης / encoders των μοτέρ.

Hearing controller node  

Το hearing controller node είναι υπεύθυνο να διαχειριστεί το μήνυμα του speech to text node δηλαδή την εντολή που άκουσε φωνητικά από τον χρήστη. Μέσω επικοινωνίας με μια βάση δεδομένων βρίσκει την ενέργεια που πρέπει να εκτελέσει και στέλνει το μήνυμα που χρειάζεται στο αντίστοιχο node.

Χρησιμοποιεί βιβλιοθήκες όπως η pymysql για να συνδεθεί στην βάση δεδομένων, και την βιβλιοθήκη  google.cloud για να μεταφράσει το κείμενο που άκουσε, ώστε να εκτελέσει την αναζήτηση στη βάση με τις φωνητικές εντολές, αφού το μετατρέψει στα Ελληνικά, που είναι η γλώσσα της παραμετροποίησής του.  

Mail node

Το ρομπότ είναι σε θέση να στείλει μηνύματα ηλεκτρονικού ταχυδρομείου σε μια προκαθορισμένη διεύθυνση με το περιεχόμενο που του ορίζει ο χρήστης.

Αυτή η ικανότητα  επιτυγχάνεται από το mail node μέσω των βιβλιοθηκών smtplib, email.mine.multipart και email.mine.text

Music Node

Το ρομπότ μπορεί  να παίξει μουσική ώστε να διασκεδάσει τον χρήστη.

Η λειτουργία αυτή επιτυγχάνεται από το music node το οποίο χρησιμοποιεί την βιβλιοθήκη pygame ώστε να αναπαράγει τα αρχεία ήχου.  Δέχεται ως μήνυμα τον τίτλο του τραγουδιού.

SMS node

Το ρομπότ μπορεί να στείλει sms σε χρήστες ώστε να τους ειδοποιήσει για γεγονότα.

Η λειτουργία αυτή δίνεται από το sms node και μέσω ενός cloud API επιτυγχάνεται η αποστολή.

Speech to Text node

Το ρομπότ καταλαβαίνει τι θέλει να του πει ο χρήστης μέσω του STT node.

Το node χρησιμοποιεί την βιβλιοθήκη google.cloud και πρακτικά επικοινωνεί με τους servers της google στέλνοντας τον ήχο του μικροφώνου και λαμβάνει ως απάντηση το παραχθέν κείμενο από την αναγνώριση φωνής. Στην συνέχεια στέλνει την πληροφορία στα αντίστοιχα nodes.

STT Caption node

Το STT Caption node χρησιμοποιώντας την βιβλιοθήκη tkinter, κάθε φορά που υπάρχει παραχθέν κείμενο από το node αναγνώρισης ομιλίας εμφανίζει στην οθόνη το κείμενο αυτό.

TTS node

Το ρομπότ για να επικοινωνήσει με τον χρήστη χρησιμοποιεί το TTS node για να παράγει δυναμικά ομιλία βάση κειμένου μέσω της βιβλιοθήκης της Google, gTTS.

Το node επικοινωνεί με τους server της Google στέλνοντας τους το κείμενο που χρίζει εκφώνησης από τα ηχεία. Στην συνέχεια αποστέλλεται πίσω ένα αρχείο ήχου που αποθηκεύεται στον τοπικό δίσκο και αναπαράγεται μέσω της βιβλιοθήκης pygame.

TTS Caption node

Το TTS Caption node χρησιμοποιώντας την βιβλιοθήκη tkinter, κάθε φορά που στέλνεται πληροφορία προς το node παραγωγής ομιλίας από κείμενο (TTS node) εμφανίζει στην οθόνη το κείμενο αυτό.

Face detection node

Το ρομπότ μπορεί να αναγνωρίζει την ύπαρξη προσώπων από το face recognition node.

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

Object detection node

To object detection node χρησιμοποιεί το API clarifai για να αναγνωρίσει αντικείμενα. Το node στέλνει στιγμιότυπα (φωτογραφίες) από την κάμερα του ρομπότ και στην συνέχεια δέχεται ως απάντηση μια λίστα με τα αντικείμενα που αναγνώρισε ότι υπήρχαν στην φωτογραφία και στέλνει την πληροφορία που αποκόμισε στο αντίστοιχο topic.

Vision Controller node

Το vision controller node εκμεταλλεύεται την πληροφορία από τα nodes της αναγνώρισης προσώπων και της αναγνώρισης αντικειμένων και ανάλογα με την ενέργεια που θα δεχτεί από άλλο node ανακοινώνει τα αναγνωρισμένα αντικείμενα ή πρόσωπα. Μέσω της βιβλιοθήκης google.cloud μεταφράζει το κείμενο στην γλώσσα που του μίλησε ο χρήστης ώστε να απαντήσει στην ίδια.

Weather node

Το node αυτό ζητάει από το API του open weather πληροφορίες για τον καιρό αυτή την στιγμή με βάση την πόλη που θα ζητηθεί και στέλνει την πληροφορία.

Weather announcement node

Το weather announcement node δέχεται την πληροφορία του καιρού από το αντίστοιχο node, χτίζει το μήνυμα και στο τέλος το στέλνει σαν πληροφορία για να ανακοινωθεί στον χρήστη από τα ηχεία μέσω του αντίστοιχου node

Zed ROS wrapper node

Το πακέτο αυτό είναι ένα έτοιμο πακέτο που παρέχει η εταιρία Stereo Labs για την διασύνδεση της κάμερας με το ROS. Παρέχει μηνύματα στα ενδιαφερόμενα nodes όπως η ροή της δυσδιάστατης κάμερας ή το σύννεφο σημείων (point cloud) που δίδει την τρισδιάστατη πληροφορία βάση της οπτικής της κάμερας.

OpenAI node

Αυτό το node χρησιμοποιεί την δύναμη της τεχνητής νοημοσύνης για την επικοινωνία του ρομπότ με τον χρήστη μέσω της βιβλιοθήκης OpenAI. Όταν το ρομπότ ερωτηθεί κάτι που δεν είναι προγραμματισμένο να απαντήσει θα αναλάβει η βιβλιοθήκη να απαντήσει με βάση το μοντέλο που έχει εκπαιδευτεί είτε γενικά είτε με συγκεκριμένες πληροφορίες.

Driving Base node

Το node αυτό χρησιμοποιεί μια βιβλιοθήκη για τους κινητήρες καθώς και τους αισθητήρες ανάδρασης περιστροφικής θέσης (encoders) που διαθέτουν οι κινητήρες και δίνει στο ρομπότ την δυνατότητα να κινηθεί στον χώρο για συγκεκριμένη ταχύτητα, συγκεκριμένη απόσταση κτλ.

Follow Face node

To follow face node χρησιμοποιείται για να ακολουθεί το «κεφάλι» του ρομπότ το πρόσωπο του ανθρώπου που έχει εντοπίσει. Αξιοποιεί την πληροφορία από το face recognition node και επικοινωνεί με το head node ώστε να κουνήσει το κεφάλι του το ρομπότ με βάση την απόκλιση του κεφαλιού από το κέντρο της εικόνας.

Arduino Code

Εκτός από τα παραπάνω nodes, εκτελείται κώδικας και στον ρομποτικό βραχίονα, ο οποίος είναι γραμμένος σε C for Arduino. Ο κώδικας αυτός περιμένει να ακούσει εντολές από την σειριακή και τις εκτελεί με τη βοήθεια της έτοιμης βιβλιοθήκης που παρέχει η Arduino για το Braccio++. Οι εντολές αυτές αφορούν κυρίως στην τοποθέτηση των αρθρώσεων του βραχίονα σε συγκεκριμένες γωνίες, και στην λήψη της τρέχουσας θέσης των αρθρώσεων.

Διάγραμμα Ροής Μηνυμάτων

Η ομάδα μας

Αριστοτέλης Νέλλας

Ο Αριστοτέλης γεννήθηκε στην Αθήνα το 2006. Ασχολείται με τη ρομποτική από πρώτη δημοτικού.

Ξεκίνησε τη ρομποτική στο σχολείο του (Εκπαιδευτήρια Παλλάδιο Βάρης) και στην τρίτη δημοτικού κατέβηκε στον πρώτο του διαγωνισμό ρομποτικής του WRO με θέμα «Η δική μου πόλη». Το 2016, στον δεύτερο του διαγωνισμό WRO πήρε την πρώτη θέση στην Ελλάδα με την ομάδα από τα Robotakia. Το 2017 συμμετείχε και πάλι στον πανελλήνιο διαγωνισμό του WRO, με θέμα «Οχήματα και μεταφορές του μέλλοντος». Επιπλέον, συμμετείχε ως ομιλητής με την ομάδα Robotakia, στο TEDx  Kids Illissos, μιλώντας για την εμπειρία τους το 2016. Το 2018, συμμετείχε στον διαγωνισμό WeDo ποδόσφαιρο του WRO φτάνοντας τον πανελλήνιο τελικό. Την ίδια χρονιά συμμετείχε στην κατηγορία Open δημοτικού με την ομάδα Robotakia i-aquaponics, κατακτώντας την πρώτη θέση. Έτσι, με την ομάδα του, εκπροσώπησε την χώρα του στην Ολυμπιάδα του WRO στην Ταϊλάνδη. Παράλληλα συμμετείχε σε διαγωνισμού φυσικής λαμβάνοντας διακρίσεις.

Τα ενδιαφέροντα του καλύπτουν πολλούς τομείς της τεχνολογίας όπως ρομποτική, 3D Printing, ηλεκτρονικά κυκλώματα και προγραμματισμό. Επίσης έχει πάθος με την αεροπορία και πετάει σε προσομοιωτές αλλά και στην πραγματικότητα, έχοντας ήδη πάνω από 10 ώρες πραγματικής πτήσης ως εκπαιδευόμενος χειριστής.

Σινανίδης Ερρίκος

Ο Ερρίκος γεννήθηκε στην Αθήνα το 2006.  Ξεκίνησε να ασχολείται με την ρομποτική από την Τρίτη δημοτικού στο σχολείου του (Εκπαιδευτήρια Παλλάδιο Βάρης).

Συμμετείχε στον πρώτο του διαγωνισμό ρομποτικής WRO το 2016 όπου και με την ομάδα του κατάφεραν να πάρουν την πρώτη θέση. Το 2017 συμμετείχε ως ομιλητής με την ομάδα Robotakia, στο TEDx  Kids Illissos, μιλώντας για την εμπειρία τους το 2016. Το 2018, συμμετείχε στον διαγωνισμό WeDo ποδόσφαιρο του WRO φτάνοντας τον πανελλήνιο τελικό. Την ίδια χρονιά συμμετείχε στην κατηγορία Open δημοτικού με την ομάδα Robotakia i-aquaponics, κατακτώντας την πρώτη θέση. Έτσι, με την ομάδα του, εκπροσώπησε την χώρα του στην Ολυμπιάδα του WRO στην Ταϊλάνδη.

Το 2019 συμμετείχε στον Εθνικό Τελικό της Ολυμπιάδα Εκπαιδευτικής Ρομποτικής WRO 2019, κατακτώντας την 9Η θέση.

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

Ευτυχία Φραγκάκη (Φαίη)

Η Φαίη γεννήθηκε στην Αθήνα το 2004. Είναι πρωτοετής φοιτήτρια του Τμήματος Μηχανικών Η/Υ και Πληροφορικής του Πανεπιστήμιου Πατρών, μετά την επιτυχημένη εισαγωγή της με την  μέθοδο των Πανελληνίων Εξετάσεων κατά το σχολικό έτος 2021-2022. Ασχολείται με την Ρομποτική από τα 9 της χρόνια, αξιοποιώντας την έντονη επιθυμία της να ασχολείται με την ψηφιακή τεχνολογία αλλά και να δημιουργεί.

Στην Ε’ Δημοτικού συμμετείχε σε Μαθηματικό Διαγωνισμό του  «Μικρού Ευκλείδη» και κερδίζει την 3η θέση.  Το 2015, στην ΣΤ’ Δημοτικού, κέρδισε το πρώτο βραβείο  στον διαγωνισμό “Story Writing Contest Award”, ανάμεσα σε όλα τα παιδιά των Δημοτικών Σχολείων του Δήμου Βάρης-Βούλας-Βουλιαγμένης. Είναι κάτοχος πτυχίου Proficiency στα Αγγλικά και του πτυχίου Β1 στα Γαλλικά. Το 2018 συμμετείχε στην Ολυμπιάδα Εκπαιδευτικής Ρομποτικής WRO 2018 (Regular Γυμνασίου). Το 2019 συμμετείχε στον Εθνικό Τελικό της Ολυμπιάδα Εκπαιδευτικής Ρομποτικής WRO 2019, κατακτώντας την 9η θέση. 

Ασχολείται από 6 ετών με το ποδόσφαιρο και τα θαλάσσια σπορ.

Εργαστήρια ρομποτικής

οι εγγραφές ξεκίνησαν

Εξ'
αποστάσεως