2. Εισαγωγή
• Αυξανόμενη διείσδυση των ρομπότ στην καθημερινή ζωή
• Ανάγκη ευκολίας χρήσης από απλούς χρήστες
• Η γλώσσα ένα από τα πιο απλά μέσα για την παροχή οδηγιών
26/02/2019 Τσάμης Γεώργιος 2
3. Σκοπός της διπλωματικής εργασίας
• Ανάπτυξη ενός συστήματος για την ανάθεση εργασιών στο ρομπότ
NAO
• Αυτόματη παραγωγή κώδικα για το ρομπότ με βάση την
περιγραφή των επιθυμητών ενεργειών σε δομημένη μορφή
κειμένου
• Ορισμός της χρονικής αλληλουχίας των εντολών
26/02/2019 Τσάμης Γεώργιος 3
5. Γραφική γλώσσα R4A-NAO
• Δημιουργία ρομποτικών
εφαρμογών μέσω μέσω “drag and
drop” γραφικών συμβόλων
• Παραγωγή κώδικα Python για το
ρομπότ NAO
26/02/2019 Τσάμης Γεώργιος 5
6. Ρομπότ NAO
• Ενέργειες κίνησης (π.χ. Head Motion, Body Motion)
• Αλληλεπίδραση μεχρήστη (π.χ. Detect Touch, Listen)
• Λοιπές ενέργειες (π.χ. Talk,Turn Led On)
26/02/2019 Τσάμης Γεώργιος 6
10. Είσοδος εντολών σε κείμενο
• Συνδυασμός φυσικής γλώσσας μεπροκαθορισμένες δομές
• Περιγραφή του είδους της ενέργειας & του τρόπου μετάβασης από
εντολή σε εντολή
26/02/2019 Τσάμης Γεώργιος 10
διευκρινιστική φράση
(modifier phrase)
φράση εντολής
(command phrase)
11. Διευκρινιστική φράση
• Αφορά τον τρόπο χρονικής σύνδεσης των ενεργειών
• Αναζήτηση συγκεκριμένων φράσεων μεκανονικές εκφράσεις
• Διάκριση των κατηγοριών:
Serial Parallel Conditional
Preemption Loop Random
26/02/2019 Τσάμης Γεώργιος 11
12. Φράση εντολής
• Αποτελείται από ένα κομμάτι που περιγράφει το είδος της
ενέργειας και κείμενο σε φυσική γλώσσα
• Στην ετικέτα βρίσκονται πληροφορίες που είναι απαραίτητες
• Στη φυσική γλώσσα αναζητούνται παράμετροι που δε δίνονται
στην ετικέτα
26/02/2019 Τσάμης Γεώργιος 12
<Talk sentence=“Hello”, volume=“80”> Say “Hello”.
13. Ταξινόμηση ενεργειών
• Δημιουργία ομάδων εντολών
• Σύνδεση εντολών για ταυτόχρονη εκτέλεση και εκτέλεση υπό
συνθήκη
• Σύνδεση των σειριακών ενεργειών
• Αντιμετώπιση των βρόχων επανάληψης
• Προσθήκη των διακοπών εκτέλεσης
26/02/2019 Τσάμης Γεώργιος 13
15. Παραγωγή κώδικα
• Δημιουργία μοντέλου από την ταξινομημένη λίστα με αντικείμενα
με βάση το μέτα-μοντέλο του R4A-NAO
• Εκτέλεση configuration τουeclipse για την παραγωγή του κώδικα Python
μέσω script
26/02/2019 Τσάμης Γεώργιος 15
Python list
μοντέλο
.highlevelnaoapp
εφαρμογή
αpp.py
19. Αξιολόγηση
I. Έλεγχος αποτελεσματικότητας συστήματος στην αντιμετώπιση
όλων των τρόπων σύνδεσης
II. Έλεγχος αποτελεσματικότητας περιγραφής σεναρίων χρηστών
από τη δομή εισόδου
26/02/2019 Τσάμης Γεώργιος 19
21. Συμπεράσματα
• Η δομή εισόδου modifier phrase + command phrase κρίνεται ικανοποιητικά
αποτελεσματική
• Η παραγωγή κώδικα για το NAO μεαυτόν τον τρόπο απλοποιείται
αρκετά
26/02/2019 Τσάμης Γεώργιος 21
22. Μελλοντική εργασία
• Χρήση εργαλείων NLP για την απλούστευση της δομής εισόδου
• Χρήση συστήματος αναγνώρισης φωνής για την είσοδο των
εντολών
26/02/2019 Τσάμης Γεώργιος 22
23. Ευχαριστίες
Θα ήθελα να ευχαριστήσω τους επιβλέποντες της διπλωματικής μου
εργασίας, τον Αναπληρωτή Καθηγητή κ. Συμεωνίδη Ανδρέα και το
Διδάκτορα κ.Τσαρδούλια Εμμανουήλ για την εμπιστοσύνη που μου
έδειξαν, τη βοήθειά τους και την καθοδήγηση που μου παρείχαν.
26/02/2019 Τσάμης Γεώργιος 23
Για τον έλεγχο του ρομπότ NAO στα πλαίσια αυτής της εργασίας χρησιμοποιήθηκε η γραφική γλώσσα R4A-NAO και το σχετικό μέτα-μοντέλο. Το εργαλείο αυτό αναπτύχθηκε από την ομάδα Robotics 4 All, με στόχο τη διευκόλυνση της ανάπτυξης ρομποτικών εφαρμογών, χωρίς σφάλματα, με τη χρήση ενός απλού γραφικού περιβάλλοντος μέσα από το ολοκληρωμένο περιβάλλον eclipse. Βασίζεται σε μοντελοστραφείς τεχνικές ανάπτυξης λογισμικού και παράγει τον κατάλληλο κώδικα Python για το λειτουργικό σύστημα NAOqi με βάση το γράφο που δημιουργεί ο χρήστης. Κάθε κόμβος αναπαριστά μία συμπεριφορά του ρομπότ, οι οποίες συνδέονται μεταξύ τους με τις σωστές μεταβάσεις.
Διαθέτει 25 βαθμούς ελευθερίας, πράγμα που του επιτρέπει να κινείται στο χώρο, διατηρώντας την ισορροπία του, να αλλάζει τη στάση του σώματός του (πχ. να κάθεται ή να σηκώνεται) και να διαδρά με το περιβάλλον γύρω του. Επιπλέον, διαθέτει αισθητήρες αφής σε κεφάλι, χέρια και πόδια, αισθητήρες απόστασης καθώς και δύο κάμερες που του δίνουν τη δυνατότητα να αντιλαμβάνεται το χώρο και να αναγνωρίζει αντικείμενα και πρόσωπα. Σε ό,τι αφορά την επικοινωνία του με ανθρώπους αυτή επιτυγχάνεται με τη χρήση των τεσσάρων μικροφώνων και των δύο ηχείων. Τέλος, διαθέτει Bluetooth, Wi-Fi και ethernet για τη διασύνδεσή του. Το λειτουργικό του σύστημα είναι το NAOqi, το οποίο βασίζεται στο Linux.
Stand
Wave + ”Hi there”
Sit
22, αρχεία κειμένου που περιγράφουν αρχικά απλές περιπτώσεις εισόδου και σταδιακά περιγράφουν όλο και πιο σύνθετες δομές