Successfully reported this slideshow.
Your SlideShare is downloading. ×

A graphical application development methodology for remote robots in the context of cyber-physical systems

A graphical application development methodology for remote robots in the context of cyber-physical systems

Download to read offline

Just as the Internet has transformed the way people interact with information, cyber-physical systems are transforming the way people interact with computational systems. Cyber-physical systems integrate sensing, computation, control and networking into physical objects, connecting them to the Internet and to each other. A typical example of such systems are robotic systems, as they combine interaction with the environment and computational abilities. Even though robotics is closely tied to the manufacturing industry, in recent years it has branched out to other fields, such as medicine and autonomous exploration, and even in aspects of our daily life, such as for domestic use. A growth of similar scale can be seen in the Internet of Things (IoT) domain, where everyday objects are equipped with sensors to collect data from the environment and are able to connect to the Internet to share this data. We envision that, due to the mobility offered by robotic systems, their integration with IoT would enable better interaction with the environment, and simultaneously allow robots to make decisions based on data from other devices. To make this possible, there are certain limitations that must be overcome. On one hand, it is especially important to have the ability to control and monitor the robot remotely. Unfortunately, the Robot Operating System (ROS), the most widespread middleware for robotics development, restricts the management of the robot to the local network. On the other hand, it is desirable for users to have the ability to create their applications without having extensive robotics and programming knowledge. This thesis focuses on developing a system to address the aforementioned limitations. To establish the communication between the robot and the remote computer, the RabbitMQ message broker is used. At the same time, application development and the integration of the robot with the IoT world are accomplished through Node-RED, a tool for building applications for IoT systems through a graphical interface, thus simplifying the programming procedure. Furthermore, various use cases are presented, which showcase the capabilities of the system for developing robotic applications as part of the IoT.

Just as the Internet has transformed the way people interact with information, cyber-physical systems are transforming the way people interact with computational systems. Cyber-physical systems integrate sensing, computation, control and networking into physical objects, connecting them to the Internet and to each other. A typical example of such systems are robotic systems, as they combine interaction with the environment and computational abilities. Even though robotics is closely tied to the manufacturing industry, in recent years it has branched out to other fields, such as medicine and autonomous exploration, and even in aspects of our daily life, such as for domestic use. A growth of similar scale can be seen in the Internet of Things (IoT) domain, where everyday objects are equipped with sensors to collect data from the environment and are able to connect to the Internet to share this data. We envision that, due to the mobility offered by robotic systems, their integration with IoT would enable better interaction with the environment, and simultaneously allow robots to make decisions based on data from other devices. To make this possible, there are certain limitations that must be overcome. On one hand, it is especially important to have the ability to control and monitor the robot remotely. Unfortunately, the Robot Operating System (ROS), the most widespread middleware for robotics development, restricts the management of the robot to the local network. On the other hand, it is desirable for users to have the ability to create their applications without having extensive robotics and programming knowledge. This thesis focuses on developing a system to address the aforementioned limitations. To establish the communication between the robot and the remote computer, the RabbitMQ message broker is used. At the same time, application development and the integration of the robot with the IoT world are accomplished through Node-RED, a tool for building applications for IoT systems through a graphical interface, thus simplifying the programming procedure. Furthermore, various use cases are presented, which showcase the capabilities of the system for developing robotic applications as part of the IoT.

More Related Content

More from ISSEL

Related Books

Free with a 30 day trial from Scribd

See all

A graphical application development methodology for remote robots in the context of cyber-physical systems

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

×