Λειτουργικό σύστημα ROS ΜΕ εφαρμογή στο NAO
Abstract
Ο εξαιρετικά ενδιαφέρον και αναπτυσσόμενος τομέας της ρομποτικής έχει τις δικές του προκλήσεις και δυσκολίες. Το ROS είναι ένα εγχείρημα για τη διευκόλυνση της ανάπτυξης ρομποτικών εφαρμογών που έχει ιδιαίτερη επιτυχία. Στην παρούσα εργασία εξετάστηκε αυτό το σύστημα και αναπτύχθηκε μια εφαρμογή γραφικής διεπαφής χρήστη (GUI), για την επικοινωνία του χρήστη με το NAO, εξερευνώντας και χρησιμοποιώντας τις δυνατότητες του ROS.
Στο πρώτο κεφάλαιο πραγματοποιείται μια πρώτη γνωριμία με το NAO και εξηγείται η συμβολή του στον τομέα της ρομποτικής. Στη συνέχεια, στο δεύτερο κεφάλαιο αναλύεται το ROS και πιο συγκεκριμένα τα μοντέλα επικοινωνίας του και το σύστημα αρχείων του. Στο τρίτο κεφάλαιο παρουσιάζεται το ανθρωποειδές ρομπότ NAO και ο τρόπος με τον οποίο αυτό μπορεί να προγραμματιστεί. Στο τέταρτο κεφάλαιο παρουσιάζεται ο τρόπος ανάπτυξης της εφαρμογής, η οποία περιλαμβάνει την αποστολή εντολών στο ρομπότ από το χρήστη, αλλά και την οπτικοποίηση δεδομένων που προέρχεται από το NAO. Τέλος, στο πέμπτο κεφάλαιο παρουσιάζονται τα συμπεράσματα από την ενασχόληση με το ROS και οι μελλοντικές επεκτάσεις της εφαρμογής.
Robotics is an extremely interesting and growing subject. Developers though, are facing many problems and challenges. ROS aims to ease the development of robotic applications and it is actually a very successful project, with a growing community using it.
In this thesis, on the one hand we investigate the way ROS works and the capabilities it offers to the user, while on the other hand we develop an application. It is a GUI for the facilitation of the communication between the user and the humanoid robot NAO.
In the first chapter, we introduce the idea of ROS and we answer the question “why should I use it”. In the second chapter, we get deeper into this platform, analyzing its communication models and its filesystem. In the third chapter, we present the basics of NAO and how it can be programmed. In the fourth chapter, we explain how the application was developed. Finally, we present our conclusions, after using ROS and propose future enhancements for the application.