Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dimitrios Rakantas

87 views

Published on

Implementation of a robotic application platform using a robotic web simulator

Published in: Education
  • Be the first to comment

  • Be the first to like this

Dimitrios Rakantas

  1. 1. Δημιουργία πλατφόρμας κατασκευής ρομποτικών εφαρμογών με χρήση διαδικτυακού ρομποτικού προσομοιωτή Δημήτριος Ρακαντάς, ΑΕΜ 7764 Υπό την επίβλεψη του επίκουρου καθηγητή Ανδρέα Συμεωνίδη και του υποψήφιου διδάκτορα Κωνσταντίνου Παναγιώτου Θεσσαλονίκη, Ιούλιος 2018 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών (ΕΠΥ) issel
  2. 2. Περιεχόμενα Σκοπός Διπλωματικής Εμπλεκόμενες Τεχνολογίες Ανάλυση Συστήματος Σενάριο Xρήσης Μελλοντικές Eπεκτάσεις
  3. 3. Σκοπός διπλωματικής Υλοποίηση ενός συστήματος που επιτρέπει: oΕκτέλεση προσομοιώσεων στο νέφος oΠροβολή προσομοίωσης σε διαδικτυακό περιηγητή oΔιασύνδεση προσομοίωσης με το σύστημα του χρήστη Δυνατότητα εκτέλεσης ρομποτικής εφαρμογής στο περιβάλλον του χρήστη με δεδομένα από την προσομοίωση.
  4. 4. Εμπλεκόμενες Τεχνολογίες (1/2)  ROS(Robotic Operating System) Μετα-λογισμικό εκτέλεσης ρομποτικών εφαρμογών  Rosbridge Πρωτόκολλο επικοινωνίας ROS <-->Json  Gazebo Ρομποτικός Προσομοιωτής  Gzweb Διαδικτυακή προβολή περιβάλλοντος προσομοίωσης Gazebo
  5. 5. Εμπλεκόμενες Τεχνολογίες (2/2)  Docker • Εκτέλεση εφαρμογών σε απομονωμένο περιβάλλον  Kubernetes • Εκτέλεση και ενορχήστρωση συστήματος στο νέφος  Flask • Διαδικτυακός εξυπηρετητής  MongoDB • Δομή αποθήκευσης
  6. 6. Ανάλυση Συστήματος (1/6)
  7. 7. Ανάλυση Συστήματος (2/6) Docker Image o Flask server o MongoDB o Simulation Environment  ROS  Gazebo  Gzweb  Rosbridge
  8. 8. Ανάλυση Συστήματος (3/6) Kubernetes  Ενορχήστρωση Docker Containers για την λειτουργία του συστήματος  Διάθεση υπηρεσιών στο διαδίκτυο o UI o Gzweb o Rosbridge
  9. 9. Ανάλυση Συστήματος (4/6) Roscloudbridge  Διασύνδεση περιβάλλοντος προσομοίωσης στο νέφος με το ROS περιβάλλον του χρήστη  Λήψη και αποστολή δεδομένων μέσω Rosbridge  Μετατροπή αυτών σε ROS δημιουργώντας τα αντίστοιχα ROS Topics και Services στο ROS του χρήστη.
  10. 10. Ανάλυση Συστήματος (5/6) Roscloudbridge ip port secret tf sub_topics pub_topics remote_services remote_actions
  11. 11. User’s PC Roscloudbridge “Local” ROS Ανάλυση Συστήματος (Roscloudbridge) “Cloud” ROS "Cloud” ROS Topics Subscribe to “cloud” ROS Topics
  12. 12. User’s PC Roscloudbridge “Local” ROS “Cloud” ROS Topics’ data to “Local” ROS Topics Ανάλυση Συστήματος (Roscloudbridge) “Cloud” ROS "Cloud” ROS Topics Rosbridge Subscribe to “cloud” ROS Topics
  13. 13. User’s PC Roscloudbridge “Local” ROS “Cloud” ROS Topics’ data to “Local” ROS Topics Ανάλυση Συστήματος (Roscloudbridge) “Cloud” ROS "Cloud” ROS Topics Rosbridge Subscribe to “cloud” ROS Topics “Cloud” ROS Topics
  14. 14. User’s PC Roscloudbridge “Local” ROS “Cloud” ROS Topics’ data to “Local” ROS Topics Ανάλυση Συστήματος (Roscloudbridge) “Cloud” ROS "Cloud” ROS Topics Rosbridge “Cloud” ROS Topics “Local” ROS Topics
  15. 15. User’s PC Roscloudbridge “Local” ROS “Cloud” ROS Topics’ data to “Local” ROS Topics Ανάλυση Συστήματος (Roscloudbridge) “Cloud” ROS "Cloud” ROS Topics “Local” ROS Topics Rosbridge “Cloud” ROS Topics Publish “local” ROS Topics “Local” ROS Topics’ data to “Cloud” ROS Topics “Local” ROS Topics
  16. 16. Ανάλυση Συστήματος (6/6) Διασύνδεση μέσω Command-Line-Interface  $ skele tf --ip=<ip:port> --secret=<secret> o Σύνδεση της tf στο περιβάλλον του χρήστη  $ skele sub --ip=<ip:port> --secret=<secret> --remote=<remote> o Δημιουργία του αντίστοιχου ROS Topic για λήψη δεδομένων  $ skele pub --ip=<ip:port> --secret=<secret> --remote=<remote> o Δημιουργία του αντίστοιχου ROS Topic για αποστολή δεδομένων  $ skele srv --ip=<ip:port> --secret=<secret> --remote=<remote> o Δημιουργία του αντίστοιχου ROS Service για λήψη δεδομένων  $ skele action --ip=<ip:port> --secret=<secret> --remote=<remote> o Δημιουργία του αντίστοιχου ROS Action για αποστολή και λήψη δεδομένων
  17. 17. Σενάριο Χρήσης Εκτέλεση προσομοίωσης στο νέφος με 2 Turtlebots 1) Ένα Turtlebot με Lidar Hokuyo και Kinect Sensor 2) Ένα Turtlebot με Lidar Hokuyo Διασύνδεση προσομοίωσης για την εκτέλεση αλγορίθμων από τον χρήστη 1) Τυχαία κίνηση στο χώρο και αποφυγή εμποδίων 1) Λήψη δεδομένων από /robot1/scan 2) Αποστολή δεδομένων σε /robot1/mobile_base/commands/velocity 2) Μετακίνηση σε ένα διαθέσιμο σημείο του map 1) Λήψη δεδομένων από /robot2/map 2) Αποστολή δεδομένων σε /robot2/move_base/goal
  18. 18. Επισκόπηση συστήματος
  19. 19. Μελλοντικές Eπεκτάσεις Προσθήκη περισσοτέρων μοντέλων ρομπότ, αισθητήρων και περιβαλλόντων(maps) Επιλογή έκδοσης ROS του περιβάλλοντος προσομοίωσης Υποστήριξη Rosbags Εκτέλεση αλγορίθμων στο νέφος και διασύνδεση τους με το περιβάλλον προσομοίωσης
  20. 20. Ερωτήσεις

×