Successfully reported this slideshow.
Your SlideShare is downloading. ×

Giorgos Tsamis

Giorgos Tsamis

Download to read offline

Automatic code generation for robotic applications based on structured text input

Automatic code generation for robotic applications based on structured text input

More Related Content

More from ISSEL

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Giorgos Tsamis

  1. 1. ΑΥΤΟΜΑΤΗ ΔΗΜΙΟΥΡΓΙΑ ΚΩΔΙΚΑ ΡΟΜΠΟΤΙΚΗΣ ΕΦΑΡΜΟΓΗΣ ΑΠΟ ΔΟΜΗΜΕΝΗ ΛΕΚΤΙΚΗ ΠΕΡΙΓΡΑΦΗ issel ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ Τσάμης Γεώργιος – 7997 Αναπληρωτής Καθηγητής κ. Συμεωνίδης Ανδρέας Διδάκτορας κ. Τσαρδούλιας Εμμανουήλ
  2. 2. Εισαγωγή • Αυξανόμενη διείσδυση των ρομπότ στην καθημερινή ζωή • Ανάγκη ευκολίας χρήσης από απλούς χρήστες • Η γλώσσα ένα από τα πιο απλά μέσα για την παροχή οδηγιών 26/02/2019 Τσάμης Γεώργιος 2
  3. 3. Σκοπός της διπλωματικής εργασίας • Ανάπτυξη ενός συστήματος για την ανάθεση εργασιών στο ρομπότ NAO • Αυτόματη παραγωγή κώδικα για το ρομπότ με βάση την περιγραφή των επιθυμητών ενεργειών σε δομημένη μορφή κειμένου • Ορισμός της χρονικής αλληλουχίας των εντολών 26/02/2019 Τσάμης Γεώργιος 3
  4. 4. Εργαλεία 26/02/2019 Τσάμης Γεώργιος 4
  5. 5. Γραφική γλώσσα R4A-NAO • Δημιουργία ρομποτικών εφαρμογών μέσω μέσω “drag and drop” γραφικών συμβόλων • Παραγωγή κώδικα Python για το ρομπότ NAO 26/02/2019 Τσάμης Γεώργιος 5
  6. 6. Ρομπότ NAO • Ενέργειες κίνησης (π.χ. Head Motion, Body Motion) • Αλληλεπίδραση μεχρήστη (π.χ. Detect Touch, Listen) • Λοιπές ενέργειες (π.χ. Talk,Turn Led On) 26/02/2019 Τσάμης Γεώργιος 6
  7. 7. Τρόποι σύνδεσης ενεργειών • Σειριακή εκτέλεση • Ταυτόχρονη εκτέλεση • Μετάβαση υπό συνθήκη • Τυχαία μετάβαση • Διακοπή εκτέλεσης • Επανάληψη εκτέλεσης 26/02/2019 Τσάμης Γεώργιος 7
  8. 8. Υλοποίηση 26/02/2019 Τσάμης Γεώργιος 8
  9. 9. Επισκόπηση υλοποίησης Είσοδος εντολών σε κείμενο Δημιουργία αντικειμένων ενεργειών Ορισμός αλληλουχίας Δημιουργία γράφου Παραγωγή κώδικα 26/02/2019 Τσάμης Γεώργιος 9
  10. 10. Είσοδος εντολών σε κείμενο • Συνδυασμός φυσικής γλώσσας μεπροκαθορισμένες δομές • Περιγραφή του είδους της ενέργειας & του τρόπου μετάβασης από εντολή σε εντολή 26/02/2019 Τσάμης Γεώργιος 10 διευκρινιστική φράση (modifier phrase) φράση εντολής (command phrase)
  11. 11. Διευκρινιστική φράση • Αφορά τον τρόπο χρονικής σύνδεσης των ενεργειών • Αναζήτηση συγκεκριμένων φράσεων μεκανονικές εκφράσεις • Διάκριση των κατηγοριών: Serial Parallel Conditional Preemption Loop Random 26/02/2019 Τσάμης Γεώργιος 11
  12. 12. Φράση εντολής • Αποτελείται από ένα κομμάτι που περιγράφει το είδος της ενέργειας και κείμενο σε φυσική γλώσσα • Στην ετικέτα βρίσκονται πληροφορίες που είναι απαραίτητες • Στη φυσική γλώσσα αναζητούνται παράμετροι που δε δίνονται στην ετικέτα 26/02/2019 Τσάμης Γεώργιος 12 <Talk sentence=“Hello”, volume=“80”> Say “Hello”.
  13. 13. Ταξινόμηση ενεργειών • Δημιουργία ομάδων εντολών • Σύνδεση εντολών για ταυτόχρονη εκτέλεση και εκτέλεση υπό συνθήκη • Σύνδεση των σειριακών ενεργειών • Αντιμετώπιση των βρόχων επανάληψης • Προσθήκη των διακοπών εκτέλεσης 26/02/2019 Τσάμης Γεώργιος 13
  14. 14. Δημιουργία γράφου 26/02/2019 Τσάμης Γεώργιος 14
  15. 15. Παραγωγή κώδικα • Δημιουργία μοντέλου από την ταξινομημένη λίστα με αντικείμενα με βάση το μέτα-μοντέλο του R4A-NAO • Εκτέλεση configuration τουeclipse για την παραγωγή του κώδικα Python μέσω script 26/02/2019 Τσάμης Γεώργιος 15 Python list μοντέλο .highlevelnaoapp εφαρμογή αpp.py
  16. 16. Επίδειξη χρήσης συστήματος με GUI 26/02/2019 Τσάμης Γεώργιος 16
  17. 17. Επίδειξη χρήσης συστήματος με GUI 26/02/2019 Τσάμης Γεώργιος 17
  18. 18. Αξιολόγηση & Συμπεράσματα 26/02/2019 Τσάμης Γεώργιος 18
  19. 19. Αξιολόγηση I. Έλεγχος αποτελεσματικότητας συστήματος στην αντιμετώπιση όλων των τρόπων σύνδεσης II. Έλεγχος αποτελεσματικότητας περιγραφής σεναρίων χρηστών από τη δομή εισόδου 26/02/2019 Τσάμης Γεώργιος 19
  20. 20. Σενάρια χρηστών 26/02/2019 Τσάμης Γεώργιος 20
  21. 21. Συμπεράσματα • Η δομή εισόδου modifier phrase + command phrase κρίνεται ικανοποιητικά αποτελεσματική • Η παραγωγή κώδικα για το NAO μεαυτόν τον τρόπο απλοποιείται αρκετά 26/02/2019 Τσάμης Γεώργιος 21
  22. 22. Μελλοντική εργασία • Χρήση εργαλείων NLP για την απλούστευση της δομής εισόδου • Χρήση συστήματος αναγνώρισης φωνής για την είσοδο των εντολών 26/02/2019 Τσάμης Γεώργιος 22
  23. 23. Ευχαριστίες Θα ήθελα να ευχαριστήσω τους επιβλέποντες της διπλωματικής μου εργασίας, τον Αναπληρωτή Καθηγητή κ. Συμεωνίδη Ανδρέα και το Διδάκτορα κ.Τσαρδούλια Εμμανουήλ για την εμπιστοσύνη που μου έδειξαν, τη βοήθειά τους και την καθοδήγηση που μου παρείχαν. 26/02/2019 Τσάμης Γεώργιος 23
  24. 24. Ευχαριστώ για την προσοχή σας 26/02/2019 Τσάμης Γεώργιος 24

Editor's Notes

  • Για τον έλεγχο του ρομπότ NAO στα πλαίσια αυτής της εργασίας χρησιμοποιήθηκε η γραφική γλώσσα R4A-NAO και το σχετικό μέτα-μοντέλο. Το εργαλείο αυτό αναπτύχθηκε από την ομάδα Robotics 4 All, με στόχο τη διευκόλυνση της ανάπτυξης ρομποτικών εφαρμογών, χωρίς σφάλματα, με τη χρήση ενός απλού γραφικού περιβάλλοντος μέσα από το ολοκληρωμένο περιβάλλον eclipse. Βασίζεται σε μοντελοστραφείς τεχνικές ανάπτυξης λογισμικού και παράγει τον κατάλληλο κώδικα Python για το λειτουργικό σύστημα NAOqi με βάση το γράφο που δημιουργεί ο χρήστης. Κάθε κόμβος αναπαριστά μία συμπεριφορά του ρομπότ, οι οποίες συνδέονται μεταξύ τους με τις σωστές μεταβάσεις.
  • Διαθέτει 25 βαθμούς ελευθερίας, πράγμα που του επιτρέπει να κινείται στο χώρο, διατηρώντας την ισορροπία του, να αλλάζει τη στάση του σώματός του (πχ. να κάθεται ή να σηκώνεται) και να διαδρά με το περιβάλλον γύρω του. Επιπλέον, διαθέτει αισθητήρες αφής σε κεφάλι, χέρια και πόδια, αισθητήρες απόστασης καθώς και δύο κάμερες που του δίνουν τη δυνατότητα να αντιλαμβάνεται το χώρο και να αναγνωρίζει αντικείμενα και πρόσωπα. Σε ό,τι αφορά την επικοινωνία του με ανθρώπους αυτή επιτυγχάνεται με τη χρήση των τεσσάρων μικροφώνων και των δύο ηχείων. Τέλος, διαθέτει Bluetooth, Wi-Fi και ethernet για τη διασύνδεσή του. Το λειτουργικό του σύστημα είναι το NAOqi, το οποίο βασίζεται στο Linux.
  • Stand
    Wave + ”Hi there”
    Sit
  • 22, αρχεία κειμένου που περιγράφουν αρχικά απλές περιπτώσεις εισόδου και σταδιακά περιγράφουν όλο και πιο σύνθετες δομές
  • Υποβλήθηκαν συνολικά 23 σενάρια.

×