Successfully reported this slideshow.
Your SlideShare is downloading. ×

Vasilis Remmas

Vasilis Remmas

Download to read offline

Generated data volumes are constantly increasing, dictating the need for more sophisticated algorithms and mathematical models to achieve faster and more accurate processing of this data volume. The execution requirements of these algorithms/models often require increased computational resources which entails increased energy and costs. It is evident that, as data continue to grow, performing such processing algorithms on robotic vehicles that do not have the computational power and the energy autonomy will be impossible.
This diploma thesis focuses on the implementation of a system that aims to offload some robotic vehicle operations into a computer cluster. This way, robots can execute algorithms that, due to computational resource and energy requirements, would be impossible. The proposed system allows developers that do not have robotic programming skills, to treat robotic systems under a software as a service prism.

Generated data volumes are constantly increasing, dictating the need for more sophisticated algorithms and mathematical models to achieve faster and more accurate processing of this data volume. The execution requirements of these algorithms/models often require increased computational resources which entails increased energy and costs. It is evident that, as data continue to grow, performing such processing algorithms on robotic vehicles that do not have the computational power and the energy autonomy will be impossible.
This diploma thesis focuses on the implementation of a system that aims to offload some robotic vehicle operations into a computer cluster. This way, robots can execute algorithms that, due to computational resource and energy requirements, would be impossible. The proposed system allows developers that do not have robotic programming skills, to treat robotic systems under a software as a service prism.

More Related Content

More from ISSEL

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Vasilis Remmas

  1. 1. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ Αυτοματοποιημένη δημιουργία εκτελέσιμων και εκτέλεση ρομποτικών υπηρεσιών στο Νέφος Υπό την επίβλεψη του Επίκουρου Καθηγητή κ. Συμεωνίδη Ανδρέα και του Δρ. Εμμανουήλ Τσαρδούλια Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  2. 2. Το πρόβλημα  Μπορούν τα ρομπότ να εκτελούν αλγορίθμους που απαιτούν μεγάλη υπολογιστική ισχύ;  Τι κόστος έχει αυτό;  Θα μπορούν να εκτελέσουν παρόμοιους αλγορίθμους στο μέλλον, όσο τα δεδομένα θα συνεχίζουν να αυξάνονται; Κατηγορίες ρομπότ:  Φθηνά ρομπότ  Περιορισμένη υπολογιστική ισχύς και προκαθορισμένες λειτουργίες  Απευθύνονται στο ευρύτερο κοινό  Ακριβά ρομπότ  Μεγαλύτερη υπολογιστική ισχύ από τα φθηνά  Απευθύνονται κυρίως σε βιομηχανίες Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  3. 3. Το πρόβλημα – Αλγόριθμοι Κάποια είδη αλγορίθμων:  Αναγνώριση προσώπου, φωνής και αντικειμένων  Αναγνώριση τοποθεσίας και χαρτογράφηση  Σχεδιασμού μονοπατιού Προβλήματα εκτέλεσης τους στα ρομπότ:  Μεγάλη ανάγκη σε υπολογιστική ισχύ  Κατανάλωση ενέργειας Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  4. 4. Το πρόβλημα – Αλγόριθμοι Κάποια είδη αλγορίθμων:  Αναγνώριση προσώπου, φωνής και αντικειμένων  Αναγνώριση τοποθεσίας και χαρτογράφηση  Σχεδιασμού μονοπατιού Προβλήματα εκτέλεσης τους στα ρομπότ:  Μεγάλη ανάγκη σε υπολογιστική ισχύ  Κατανάλωση ενέργειας Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 Πιθανή λύση
  5. 5. Το πρόβλημα – Αλγόριθμοι Κάποια είδη αλγορίθμων:  Αναγνώριση προσώπου, φωνής και αντικειμένων  Αναγνώριση τοποθεσίας και χαρτογράφηση  Σχεδιασμού μονοπατιού Προβλήματα εκτέλεσης τους στα ρομπότ:  Μεγάλη ανάγκη σε υπολογιστική ισχύ  Κατανάλωση ενέργειας Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 Πιθανή λύση
  6. 6. Το πρόβλημα – Αλγόριθμοι Κάποια είδη αλγορίθμων:  Αναγνώριση προσώπου, φωνής και αντικειμένων  Αναγνώριση τοποθεσίας και χαρτογράφηση  Σχεδιασμού μονοπατιού Προβλήματα εκτέλεσης τους στα ρομπότ:  Μεγάλη ανάγκη σε υπολογιστική ισχύ  Κατανάλωση ενέργειας Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 Πιθανή λύση  «άφθονη» υπολογιστική ισχύ  γρήγορες ταχύτητες  είναι σχετικά φθηνό  ο καθένας μπορεί να έχει πρόσβαση σε αυτό
  7. 7. Στόχος της διπλωματικής Στόχος της διπλωματικής εργασίας είναι η δημιουργία ενός συστήματος στο οποίο ο καθένας θα μπορεί να καταθέσει και να εκτελέσει απομακρυσμένες ρομποτικές υπηρεσίες, υλοποιώντας αλγορίθμους οι οποίοι αυτή την στιγμή εκτελούνται σε ρομπότ, παρέχοντας μεγαλύτερη ταχύτητα και άρση περιορισμών σε υπολογιστική ισχύ και ενέργεια. Περαιτέρω στόχοι:  Εξοικονόμηση ενέργειας του ρομπότ  Επίτευξη μεγαλύτερης ταχύτητας εκτέλεσης αλγορίθμων (υπό συνθήκη)  Εύκολος διαμοιρασμός ρομποτικών υπηρεσιών στους κατόχους ρομποτικών συσκευών  Χρήση ρομποτικών υπηρεσιών από ανθρώπους που δεν έχουν τεχνικές γνώσεις  Δυνατότητα δημιουργίας ρομποτικών εφαρμογών από προγραμματιστές χρησιμοποιώντας υπηρεσίες οι οποίες εκτελούνται στο Νέφος Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  8. 8. Προτεινόμενο σύστημα SRCA – Scalable Robotic Cloud Agents Το SRCA χρησιμοποιεί:  Το Νέφος για να εκτελεί τις ρομποτικές υπηρεσίες των χρηστών  Εργαλεία τα οποία δίνουν την δυνατότητα:  Πλήρης διαχείρισης του συστήματος  Εμφάνισης προβλημάτων κατά την δημιουργία εκτελέσιμων (build) ή την εκτέλεση ενός πακέτου στον χρήστη (deploy)  Απομόνωσης του κάθε πακέτου υπηρεσιών από τα άλλα πακέτα  Κλιμάκωσης (scaling) ενός πακέτου υπηρεσιών με εύκολο τρόπο  Καταγραφής όλων των ενεργειών που έγιναν στο σύστημα Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  9. 9. SRCA – Κύρια εργαλεία Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  10. 10. SRCA – Αρχιτεκτονική Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  11. 11. SRCA – Διαδικασία (1/4) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  12. 12. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  13. 13. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  14. 14. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  15. 15. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  16. 16. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  17. 17. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  18. 18. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  19. 19. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  20. 20. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  21. 21. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  22. 22. SRCA – Διαδικασία (2/4) Η μορφή του requirements.yaml είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 name: test version: v1 environment: ROS files: - file_name: client.py functions: - name: add_two_ints arguments: params: a: integer b: integer http-method: post returns: string - file_name: testfiles.py functions: - name: sendmyfile arguments: files: fa: params: a: integer http-method: post returns: file packages: apt-get: net-tools vim pip: numpy npm: underscore command: roslaunch test launch.launch
  23. 23. SRCA – Διαδικασία (3/4) Η μορφή των αρχείων Python είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 #!/usr/bin/env python import sys import rospy from test.srv import * def add_two_ints(x, y): rospy.wait_for_service('add_two_ints_srv') try: add_two_ints_srv = rospy.ServiceProxy('add_two_ints_srv', AddTwoInts) resp1 = add_two_ints_srv(x, y) return resp1.sum except rospy.ServiceException, e: print "Service call failed: %s"%e
  24. 24. SRCA – Διαδικασία (3/4) Η μορφή των αρχείων Python είναι η παρακάτω: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 #!/usr/bin/env python import sys import rospy from test.srv import * def add_two_ints(x, y): rospy.wait_for_service('add_two_ints_srv') try: add_two_ints_srv = rospy.ServiceProxy('add_two_ints_srv', AddTwoInts) resp1 = add_two_ints_srv(x, y) return resp1.sum except rospy.ServiceException, e: print "Service call failed: %s"%e
  25. 25. SRCA – Διαδικασία (4/4) Αφού ο χρήστης αποστείλει το συμπιεσμένο αρχείο, ακολουθείται η παρακάτω διαδικασία: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  26. 26. SRCA – Διαδικασία (4/4) Αφού ο χρήστης αποστείλει το συμπιεσμένο αρχείο, ακολουθείται η παρακάτω διαδικασία: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017  OpenAPI specifications  Δημιουργία ειδικής συνάρτησης εξαίρεσης (Exception)
  27. 27. SRCA – Διαδικασία (4/4) Αφού ο χρήστης αποστείλει το συμπιεσμένο αρχείο, ακολουθείται η παρακάτω διαδικασία: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017  OpenAPI specifications  Χτίσιμο των πακέτων σε Kubernetes Pods  Δημιουργία ειδικής συνάρτησης εξαίρεσης (Exception)
  28. 28. SRCA – Διαδικασία (4/4) Αφού ο χρήστης αποστείλει το συμπιεσμένο αρχείο, ακολουθείται η παρακάτω διαδικασία: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017  OpenAPI specifications  Χτίσιμο των πακέτων σε Kubernetes Pods  Δημιουργία ειδικής συνάρτησης εξαίρεσης (Exception)  Δημιουργία συστήματος επαναφοράς των υπηρεσιών σε περίπτωση βλάβης του SRCA
  29. 29. SRCA – Γραφικό περιβάλλον (1/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  30. 30. SRCA – Γραφικό περιβάλλον (2/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  31. 31. SRCA – Γραφικό περιβάλλον (3/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  32. 32. SRCA – Γραφικό περιβάλλον (3/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  33. 33. SRCA – Γραφικό περιβάλλον (3/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  34. 34. SRCA – Γραφικό περιβάλλον (3/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  35. 35. SRCA – Γραφικό περιβάλλον (3/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  36. 36. SRCA – Γραφικό περιβάλλον (4/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  37. 37. SRCA – Γραφικό περιβάλλον (4/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  38. 38. SRCA – Γραφικό περιβάλλον (5/5) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  39. 39. Πειραματικά αποτελέσματα (1/2)  Χρησιμοποιήθηκαν 3 εικονικοί υπολογιστές με τις παρακάτω προδιαγραφές:  4GB RAM  40GB HDD  1 CPU Core  Για 500 παράλληλα αιτήματα προς το SRCA προκύπτουν οι παρακάτω χρόνοι σε δευτερόλεπτα: Βασίλης Ρέμμας 8330 - Οκτώβριος 2017 2.88665 2.65352 2.02840 1.72741 2.59609 1.95146 1.43738 1.58541 0.80597
  40. 40. Πειραματικά αποτελέσματα (2/2) Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  41. 41. Συμπέρασμα  Το σύστημα δημιουργήθηκε και είναι σε θέση να λύσει το πρόβλημα που περιγράφηκε  Το σύστημα εξυπηρετεί σε σχετικά μικρό χρόνο πολλαπλά αιτήματα  Η χρήση των Container διευκολύνει την κλιμάκωση κάθε πακέτου  Το Kubernetes:  αποτελεί ένα πολύ δυνατό εργαλείο για την διαχείριση των Container,  καθιστά εύκολη την επέκταση της συστοιχίας υπολογιστών,  μπορεί να κλιμακώσει σε πολύ μικρό χρόνο ένα πακέτο Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  42. 42. Επέκταση  Δυνατότητα χρήσης ροής δεδομένων (Streaming)  Αξιοποίηση των υπαρχόντων Docker εικόνων  Αποσύνδεση του γραφικού περιβάλλοντος από το κύριο πρόγραμμα  Δημιουργία ενός εργαλείου διαχείρισης της βάσης δεδομένων  Δημιουργία δικτύων από Kubernetes Pods που θα διέπουν τις υπηρεσίες ενός ρομποτικού πακέτου Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  43. 43. Ευχαριστίες Θα ήθελα να ευχαριστήσω τον κ. Συμεωνίδη Ανδρέα καθώς και τους Εμμανουήλ Τσαρδούλια και Κωνσταντίνο Παναγιώτου για την καθοδήγηση, τις διορθώσεις και τις ιδέες τους. Ευχαριστώ για την προσοχή σας… Βασίλης Ρέμμας 8330 - Οκτώβριος 2017
  44. 44. Ερωτήσεις; Βασίλης Ρέμμας 8330 - Οκτώβριος 2017

Editor's Notes

  • Δεδομενα αυξανονται συνεχως
    Επεξεργασια τους -> Αλγοριθμοι / μαθηματικα μοντελα
    Αυτοι καλουνται να τρέξουν στα ρομποτ, τα οποια έχουν μικρότερη υπολογιστική ισχύ σε σχέση με τους υπολογιστές που έχουμε στο γραφείο μας, πόσο μάλλον σε σχέση με μια συστοιχία υπολογιστών.
    Αυτην την στιγμή ένα μεγάλο μέρος αυτών των αλγορίθμων μπορεί να τρέξει στα ρομπότ
    Πιθανόν να μην μπορούν να τρέξουν στο μέλλον Φθηνά ρομπότ: αυτόματη ηλεκτρική σκούπα Ακριβά ρομπότ: βραχίονας που προσθέτει το κέλυφος σε ένα αυτοκίνητο
  • Docker: Υπεύθυνο για την δημιουργία Container τα οποία περιέχουν τα πακέτα που ανεβάζει κάποιος χρήστης
    Kubernetes: Υπεύθυνο για την ενορχήστρωση των παραπάνω Container, για την κλιμάκωση τους και για την καταγραφή πληροφοριών που προκύπτουν κατά την εκτέλεση τους.
    MongoDB: NoSQL βάση δεδομένων στην οποία καταγράφονται σημαντικά στοιχεία για την ομαλή λειτουργία του συστήματος.
    Docker Registry: Σύστημα αποθήκευσης των εικόνων Docker που προκύπτουν κατά την λειτουργία του συστήματος
    NodeJS server: Διακομιστής υπεύθυνος για την ενορχήστρωση όλων των παραπάνω υποσυστημάτων. Επίσης παρέχει γραφικό περιβάλλον για τους χρήστες και έναν reverse proxy server, για να μπορεί ο χρήστης να καλεί τις υπηρεσίες.
  • Αρχείο παραμετροποίησης φάκελος που περιέχει συναρτήσεις python
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Files
    Packages μόνο τι κάνει ( διαχειριστης πακέτων )
    Command μόνο τι κάνει
  • Github or local
  • zip
  • Services clickable εμφανίζει τα service του πακέτου
  • Services clickable εμφανίζει τα service του πακέτου
  • Worker -> Δημιουργούνται από το Gunicorn server που υπάρχει σε κάθε container. Βοηθούν στην παράλληλη εξυπηρέτηση πολλαπλών αιτημάτων
  • Όπως video streaming
    Για την ελαχιστοποίηση του χρόνου χτισίματος των πακέτων που ανεβάζουν οι χρήστες χρησιμοποιώντας πακέτα άλλων χρηστών
    Ταχύτητα και δυνατότητα κλιμάκωσης του καθένα ξεχωριστά
    Για τον διαχειριστή του συστήματος για να δίνει διαφορετικές δυνατότητες σε κάθε χρήστη. Αυτήν την στιγμή γίνεται κάνοντας σύνδεση στην βάση μέσω τρίτων προγραμμάτων
    Δυνατότητα κλιμάκωσης του ROS Node που χρησιμοποιείται περισσότερο, ξεχωριστά από τα άλλα

×