1. Παροχή ρομποτικών
διαδικτυακών υπηρεσιών μέσω
κόμβου υλικού και διασύνδεση με
πλατφόρμες ΙοΤ
Παναγιώτης Δοξόπουλος
Υπό την επίβλεψη του κ. Ανδρέα Συμεωνίδη
Επίκουρου καθηγητή τουΤΗΜΜΥ ΑΠΘ
Και του κ. ΕμμανουήλΤσαρδούλια
Μεταδιδακτορικού ερευνητή τουΤΗΜΜΥ ΑΠΘ
Θεσσαλονίκη, 2017
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝΥΠΟΛΟΓΙΣΤΩΝ
3. Εισαγωγή
• Ραγδαία ανάπτυξη ρομποτικής και διαδικτύου
• 4η Βιομηχανική επανάσταση
• 50 δισεκατομμύρια έξυπνες συσκευές συνδεδεμένες στο διαδίκτυο μέχρι
το 2020
4. Σκοπός της διπλωματικής
• Σύνδεση ρομποτικής με το ΙοΤ
• Υλοποίηση ενός συστήματος που:
• Θα επιτρέπει την αλληλεπίδραση ανθρώπων, ρομπότ και έξυπνων αντικειμένων.
• Θα διευρύνει τις δυνατότητες των ρομπότ παρέχοντάς τους διαδικτυακές υπηρεσίες.
5. Θεωρητικό υπόβαθρο
• Το διαδίκτυο των πραγμάτων (IoT) είναι ένα δίκτυο έξυπνων
αντικειμένων που επικοινωνούν μεταξύ τους με σκοπό τη συλλογή και
την ανταλλαγή δεδομένων.
• To REST (Representational StateTransfer) ορίζει ένα σύνολο κανόνων και
περιορισμών για τη σχεδίαση υπηρεσιών διαδικτύου.
• Το WAMP (Web Application Messaging Protocol) αποτελεί ένα
υποπρωτόκολλο τουWebsocket και υποστηρίζει RPC (Remote Procedure
Calls) και PubSub (Publish & Subscribe) μηχανισμούς.
8. Ανάλυση Συστήματος
• Crossbar.io: Η πιο διαδεδομένη πλατφόρμα για ΙοΤ.ΥποστηρίζειWAMP και
REST.
• NAO:Έχει υλοποιημένο server μέσω του οποίου επιτρέπονται κλήσεις
προς τις υπηρεσίες του (R4A Group).
• Remedes: Σύστημα μέτρησης αντανακλαστικών κατάλληλο για ιατρικές
και αθλητικές εφαρμογές.Έχει υλοποιημένο server (R4A Group).
• Ένα Arduino UNO με αισθητήρα θερμοκρασίας και υγρασίας (DHT11), το
οποίο μέσω του processing IDE δημοσιεύει (publish) τα αποτελέσματα.
9. Κόμβος παροχής ρομποτικών διαδικτυακών
υπηρεσιών
• Υλοποίηση server στο Raspberry Pi 3
• Στόχος είναι η διεύρυνση των δυνατοτήτων των ρομπότ, χωρίς να δεσμεύουν
μνήμη.
• Εγκατάσταση υπηρεσιών
• Xρήση OpenAPI Specification και εργαλείων του Swagger (Swagger Codegen)
11. ΔιαδικτυακέςΥπηρεσίες
Χρήση υπηρεσιών των: Algorithmia, Angus, Mashape, RAPP και
βιβλιοθηκών όπως: OpenCV, zbar, tesseract
• Επεξεργασία εικόνων (π.χ. εντοπισμός προσώπου, αναγνώριση
αντικειμένων)
• Επεξεργασία ήχου (π.χ. μετατροπή ήχου σε κείμενο)
• Επεξεργασία κειμένου (π.χ. μετατροπή κειμένου σε ήχο, μετάφραση
κειμένου)
• Παροχή καιρικών συνθηκών και ειδήσεων
12. Πειράματα – Σύγκριση με threads
RPi workers – PC
threads
Συνολικός
Χρόνος
(sec)
Μέση
τιμή (sec)
Ελάχιστ
ο (sec)
Μέγιστ
ο (sec)
1 worker - 1 thread 1100,06 2,7501 2,6514 4,6674
1 worker - 2 threads 1058,44 5,2856 2,7960 6,8876
1 worker - 4 threads 1066,68 10,6272 2,8866 11,7432
2 workers - 2 threads 633,46 3,1607 2,9428 4,5223
2 workers - 4 threads 619,54 6,1654 3,1326 8,7690
4 workers - 4 threads 449,25 4,4767 3,3725 6,3346
RPi workers – PC
threads
Συνολικός
Χρόνος
(sec)
Μέση
τιμή (sec)
Ελάχιστ
ο (sec)
Μέγιστ
ο (sec)
1 worker - 1 thread 633,25 1,5831 1,3206 2,5590
1 worker - 2 threads 485,11 2,4226 1,7475 3,6423
1 worker - 4 threads 483,01 4,8472 2,4913 6,0696
2 workers - 2 threads 306,67 1,5301 0,5993 2,3731
2 workers - 4 threads 254,22 2,5221 1,2392 3,7254
2 workers - 8 threads 255,20 5,0249 1,4036 5,9396
4 workers - 4 threads 191,34 1,8769 0,6303 1,2508
4 workers - 8 threads 155,36 3,0630 1,2508 6,7051
POST /tesseract/OCR POST /openCV/faceDetection
Η αύξηση του αριθμού των RPi workers βελτιώνει την απόδοση του συστήματος όταν
εκτελούνται παράλληλα αιτήματα.
13. Πειράματα – Σύγκριση local-proxy
POST /openCV/faceDetection POST /Rapp/qrDetection
Οι απομακρυσμένες υπηρεσίες παρουσιάζουν μεγάλη αστάθεια και είναι πιο
αργές από τις τοπικά εγκατεστημένες.
14. Πειράματα – Σύγκριση REST/WAMP μέσω router
RPi –
PC
RPi – RPi RPi – PC –
RPi
RPi – PC –
RPi (WAMP)
Συνολικός Χρόνος
(sec)
1100,06 1087,20 1158,06 1242,79
Μέση τιμή (sec) 2,7501 2,7180 2,8951 3,1070
Ελάχιστη τιμή
(sec)
2,6514 2,6585 2,7474 2,8415
Μέγιστη τιμή (sec) 4,6674 4,1891 4,2134 4,6420
Τυπική απόκλιση
(sec)
0,2168 0,1161 0,1598 0,2875
POST /tesseract/OCR
Ελάχιστη αύξηση του συνολικού χρόνου όταν η κλήση δρομολογείται μέσω του router.
15. Πειράματα – Σύγκριση REST/WAMP
REST WAMP
Συνολικός Χρόνος (sec) 3739,16 1808,58
Μέση τιμή (sec) 3,7391 1,8085
Ελάχιστη τιμή (sec) 1,3189 1,2832
Μέγιστη τιμή (sec) 12,7808 5,3007
Τυπική απόκλιση (sec) 1,5316 0,8053
GET /Mashape/WeatherAPI
Οι κλήσεις WAMP μέσω REST bridging είναι ταχύτερες από τις κλήσεις REST μέσω της
υπηρεσίας Reverse Proxy Service.
19. Μελλοντική Εργασία
• Σύνδεση έξυπνων κινητών τηλεφώνων (smartphones) στο σύστημα.
• Σύνδεση επιπλέον συσκευών, όπως αισθητήρες, ZigBee, έξυπνα ρολόγια,
οικιακές ή ιατρικές συσκευές, ακόμη και αυτοκίνητα.
• Εμπλουτισμός του κόμβου παροχής ρομποτικών υπηρεσιών με
επιπρόσθετες υπηρεσίες.
• Υλοποίηση πρόσθετων χρήσιμων εφαρμογών με χρήση υπηρεσιών όπως
20. Ευχαριστίες
• Θα ήθελα να ευχαριστήσω τους επιβλέποντες της διπλωματικής μου
εργασίας, κ. Ανδρέα Συμεωνίδη και κ. ΕμμανουήλΤσαρδούλια, καθώς
επίσης και τον κ. Κωνσταντίνο Παναγιώτου για τη συνεχή βοήθεια και
καθοδήγησή τους.