Όπως το Διαδίκτυο άλλαξε τον τρόπο που οι άνθρωποι αλληλεπιδρούν με την πληροφορία, έτσι και τα κυβερνοφυσικά συστήματα αλλάζουν τον τρόπο που οι άνθρωποι αλληλεπιδρούν με τα υπολογιστικά συστήματα. Τα κυβερνοφυσικά συστήματα ενσωματώνουν αισθητήρες, υπολογιστικές δυνατότητες, έλεγχο και δικτύωση σε φυσικά αντικείμενα, συνδέοντάς τα στο Διαδίκτυο, αλλά και μεταξύ τους. Ενδεικτικό παράδειγμα τέτοιων συστημάτων είναι τα ρομποτικά συστήματα, καθώς συνδυάζουν αλληλεπίδραση με το περιβάλλον και υπολογιστικές ικανότητες. Παρόλο που η ρομποτική είναι παραδοσιακά συνυφασμένη με τη βιομηχανία, τα τελευταία χρόνια έχει επεκταθεί και σε άλλους κλάδους, όπως στην ιατρική, στην αυτόνομη εξερεύνηση αλλά και σε τομείς της καθημερινής ζωής, όπως για οικιακή χρήση και ψυχαγωγία. Παράλληλα, ραγδαία αύξηση παρουσιάζει και το Διαδίκτυο των Πραγμάτων (Internet of Things – IoT), όπου πλέον αντικείμενα της καθημερινότητας είναι εξοπλισμένα με αισθητήρες για τη συλλογή δεδομένων από το περιβάλλον και συνδέονται στο Διαδίκτυο για να μοιραστούν αυτά τα δεδομένα. Λόγω της κινητικότητας που προσφέρουν τα ρομποτικά συστήματα, η ενσωμάτωση τους στον IoT κόσμο θα επιτρέπει την καλύτερη επίδραση στο περιβάλλον, ενώ παράλληλα τα ρομπότ θα λαμβάνουν αποφάσεις βάσει δεδομένων άλλων συσκευών. Για να καταστεί αυτό δυνατό, πρέπει να ξεπεραστούν ορισμένοι περιορισμοί. Αφ’ ενός, είναι ιδιαίτερα σημαντικό να υπάρχει η δυνατότητα του απομακρυσμένου ελέγχου και παρακολούθησης ενός ρομπότ. Δυστυχώς, το Robot Operating System (ROS), το πιο διαδεδομένο μεσολειτουργικό σύστημα για ανάπτυξη ρομποτικών εφαρμογών, περιορίζει τη διαχείριση του ρομπότ σε τοπικό δίκτυο. Παράλληλα, είναι επιθυμητό, χρήστες χωρίς ιδιαίτερες γνώσεις ρομποτικής και προγραμματισμού να έχουν τη δυνατότητα να δημιουργήσουν τις εφαρμογές τους. Η παρούσα διπλωματική εργασία εστιάζει στην ανάπτυξη ενός συστήματος που θα αντιμετωπίζει τους παραπάνω περιορισμούς. Για την επικοινωνία μεταξύ του ρομπότ και του απομακρυσμένου υπολογιστή, χρησιμοποιείται ο μεσολαβητής μηνυμάτων RabbitMQ. Ταυτόχρονα, η ανάπτυξη των εφαρμογών και η ενσωμάτωση του ρομπότ στον IoT κόσμο πραγματοποιείται μέσω του Node-RED, ενός εργαλείου που επιτρέπει τη δημιουργία εφαρμογών για IoT συστήματα μέσω γραφικής διεπαφής, γεγονός που απλοποιεί σημαντικά τη δυσκολία της διαδικασίας του προγραμματισμού. Επιπλέον, υλοποιήθηκαν διάφορα σενάρια χρήσης που αναδεικνύουν τις δυνατότητες του συστήματος για την ανάπτυξη ρομποτικών εφαρμογών στα πλαίσια του IoT.
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών συστημάτων
1. Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για
απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Τμήμα Ηλεκτρολόγων Μηχανικών &
Μηχανικών Υπολογιστών
Τομέας Ηλεκτρονικής και Υπολογιστών
Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών
Επίβλεψη:
Ανδρέας Λ. Συμεωνίδης, Αναπληρωτής Καθηγητής
Εμμανουήλ Τσαρδούλιας, Μεταδιδακτορικός Ερευνητής
Κωνσταντίνος Παναγιώτου, Υποψήφιος Διδάκτορας
Θεσσαλονίκη, 13 Ιουλίου 2021
Εκπόνηση:
Γιόκοτος Κωνσταντίνος
ΑΕΜ: 8791
2. Κίνητρο
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
2
• Ραγδαία αύξηση των κυβερνοφυσικών συστημάτων, και του Διαδικτύου των Πραγμάτων
• Οι δυνατότητες από το συνδυασμό αυτών των δύο τεχνολογιών.
3. Σκοπός της διπλωματικής εργασίας
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
3
Ενσωμάτωση ενός ρομποτικού συστήματος στον IoT κόσμο.
Προβλήματα:
• Απομακρυσμένος έλεγχος του ρομπότ μέσω Διαδικτύου.
• Απλοποίηση της διαδικασίας προγραμματισμού ενός ρομπότ.
4. Προβλήματα
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
4
1) Το ρομπότ επικοινωνεί μέσω του Robot
Operating System (ROS):
• Παροχή υπηρεσιών και συμβάσεων, αλλά
και πολλών έτοιμων βιβλιοθηκών.
• Δυσκολία διαχείρισης του ρομπότ μέσω
δικτυακών πρωτοκόλλων, ενώ οι συσκευές
ROS επικοινωνούν μόνο μεταξύ τους.
2) Δυσκολίες στη δημιουργία ρομποτικών
εφαρμογών:
• Η ρομποτική συνδυάζει διάφορες επιστήμες.
• Απαιτούνται τόσο γνώσεις ρομποτικής όσο και
προγραμματισμού.
5. Τεχνολογίες
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
5
• Διαδίκτυο των Πραγμάτων
Πρωτόκολλα επικοινωνίας: MQTT και AMQP
• Ρομποτική
Συνδυασμός ρομποτικής και IoT.
• Γραφικός Προγραμματισμός
Απλοποίηση διαδικασίας ανάπτυξης εφαρμογών.
6. Υλοποίηση
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
6
Προσέγγιση:
1. Απομακρυσμένος έλεγχος του ρομπότ μέσω του
RabbitMQ.
2. Απλοποίηση της ανάπτυξης των εφαρμογών και
ενσωμάτωση του ρομπότ στον IoT κόσμο μέσω
του Node-RED.
7. Προδιαγραφές
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
7
• Απομακρυσμένος έλεγχος του ρομπότ.
• Χαρτογράφηση χώρου.
• Εντοπισμός θέσης του ρομπότ.
• Πλοήγηση στο χώρο.
• Τηλεχειρισμός του ρομπότ.
• Υποστήριξη πολλαπλών ρομπότ.
8. Αρχιτεκτονική
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
8
Μοντέλο client – server τριών επιπέδων.
Τρία τμήματα:
• Τοπικό τμήμα.
• Απομακρυσμένο τμήμα.
• Μεσολαβητής μηνυμάτων.
9. Τοπικό τμήμα
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
9
Αποτελείται από:
• Τα πακέτα του ROS.
• Το handler.
• Τη διασύνδεση του ROS με το RabbitMQ.
10. Πακέτα ROS
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
10
1. Λειτουργία ενός ρομπότ:
• Simultaneous Localization and Mapping (SLAM)
• Localization
• Navigation
2. Λειτουργία πολλαπλών ρομπότ:
• Localization
• Navigation
11. Διαχείριση λειτουργιών
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
11
• Αρχικοποίηση και τερματισμός των
λειτουργιών.
• Λήψη των εντολών του χρήστη μέσω του
RabbitMQ.
• Επιλογή αποθήκευσης του χάρτη που
προέκυψε από το SLAM.
12. Επικοινωνία με το RabbitMQ
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
12
Διαφορετικά πρωτόκολλα
μεταξύ ROS και RabbitMQ.
Γεφύρωση της μεταξύ τους
επικοινωνίας.
Χρήση του ros2broker.
13. Μεσολαβητής μηνυμάτων
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
13
Μεταφορά δεδομένων μεταξύ του ρομπότ και του απομακρυσμένου υπολογιστή.
Διαφορετικά πρωτόκολλα επικοινωνίας σε κάθε μεριά:
• Στη μεριά του ρομπότ χρησιμοποείται το πρωτόκολλο AMQP.
• Στη μεριά του απομακρυσμένου υπολογιστή χρησιμοποιείται το πρωτόκολλο MQTT.
14. Απομακρυσμένο τμήμα
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
14
Ανάπτυξη IoT εφαρμογών μέσω του Node-RED.
Σύνθετες συμπεριφορές από το συνδυασμό απλών κόμβων.
15. Node-RED Dashboard
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
15
Οπτικοποίηση και διευκόλυνση του χρήστη μέσω του Node-RED Dashboard.
Άμεση επικοινωνία με το Node-RED για την απεικόνιση και τον έλεγχο του συστήματος.
16. Καρτέλα Launchers
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
16
Αρχικοποίηση και τερματισμός των λειτουργιών.
Επιλογή χάρτη πριν την αρχικοποίηση.
17. Καρτέλα Robot Control
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
17
Απεικόνιση του ρομπότ στο χάρτη.
Χειρισμός του ρομπότ.
19. Σενάριο χρήσης #1
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
19
Το ρομπότ λειτουργεί ως σερβιτόρος σε μία καφετέρια.
20. Σενάριο χρήσης #2
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
20
Το ρομπότ περιπολεί το σπίτι του χρήστη.
21. Σενάριο χρήσης #3
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
21
Τα ρομπότ λειτουργούν ως ξεναγοί σε μία γκαλερί.
22. Συμπεράσματα
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
22
• Πολλές δυνατότητες από το συνδυασμό της ρομποτικής και του ΙοΤ.
• Επιτεύχθηκε η απομακρυσμένη διαχείριση του ρομπότ.
• Απλοποίηθηκε η διαδικασία ανάπτυξης εφαρμογών.
• Το ρομπότ μπορεί να επικοινωνεί με άλλες συσκευές IoT.
• Το σύστημα είναι κλιμακούμενο.
• Πολλές πιθανές εφαρμογές με χρήση του συστήματος.
23. Μελλοντική Εργασία
Ιούλιος
2021
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσιο κυβερνοφυσικών
συστημάτων
23
• Βελτίωση του τρόπου επιλογής επιθυμητών στόχων θέσης.
• Απεικόνιση των εικόνων της κάμερας του ρομπότ.
• Υλοποιήση πακέτου Node-RED για χρήση του πρωτοκόλλου AMQP.