Χαρτογράφηση και εντοπισμός θέσης με την χρήση RGB-D κάμερας
Πτυχιακή εργασία
Συγγραφέας
Μποτσάϊ, Ενκελέντα
Παντελής, Δημήτριος
Ημερομηνία
2016-03-15Επιβλέπων
Νικολάου, ΓρηγόριοςΘεματική επικεφαλίδα
TPSH::Τεχνολογία::Αυτόματος Έλεγχος::ΡομποτικήΛέξεις κλειδιά
Χαρτογράφηση ; SLAM ; 3D SLAM ; Ρομποτική ; Robot Operating System ; Kinect ; Φίλτρο Kalman ; Particle FilterΠερίληψη
Η ραγδαία και συνεχής ανάπτυξη των υπολογιστών έκανε πρόσφορο το έδαφος για την περαιτέρω ανάπτυξη της ρομποτικής. Μεγάλο ενδιαφέρον υπήρχε, εδώ και δεκαετίες, για κινούμενα ρομποτικά συστήματα, όπως αυτά έχουν παρουσιαστεί στην λογοτεχνία [0-1] και στον κινηματογράφο [0-2]. Αλλά για να είναι πραγματικά αυτόνομο ένα ρομπότ πρέπει να μπορεί να κινείται μόνο του χωρίς προηγουμένως να γνωρίζει για το χώρο και την διαδρομή. Εδώ είναι που εμφανίζεται το SLAM (Simultaneous Localization And Mapping).
Ενώ το SLAM σαν θέμα έρευνας υπάρχει εδώ και κάποιες δεκαετίες [1.2-3, 1.2-4], η χρήση του σε μη ελεγχόμενους χώρους ήταν πολύ περιορισμένη. Αυτό οφείλεται σε τρία, κυρίως, προβλήματα: στην έλλειψη μικρο-υπολογιστών μεγάλων επεξεργαστικών δυνατοτήτων, στην έλλειψη αποτελεσματικών αλγορίθμων και στην έλλειψη αισθητήρων μεγάλης ακρίβειας και προσιτού κόστους. Τα τελευταία χρόνια όμως, έχουν γίνει μεγάλα βήματα σε αυτούς τους τομείς και αυτό είχε ως αποτέλεσμα να έχει γίνει σημαντική έρευνα σε αυτόν τον τομέα.
Στην παρούσα πτυχιακή εργασία σχεδιάσαμε ένα SLAM σύστημα που κάνει χρήση του FastSLAM [1.4-1] αλγορίθμου σε 3D χώρο. Μέχρι σήμερα, η μοναδική δουλειά σχετική με το 3D FastSLAM είναι το [1.4-2]. Αντίθετα, όμως, με το [1.4-2] η δική μας περίπτωση περιλαμβάνει features-based SLAM.
Ο FastSLAM κάνει χρήση Particle Filter για τον εντοπισμό της θέσης και Extended Kalman Filter για την διατήρηση της θέσης των landmarks. Όλο το σύστημα μας έχει χτιστεί πειραματικά πάνω στο Robotics Operating System (ROS). Τα διάφορα μέρη του συστήματος έχουν γραφτεί σε C++ και Python. Επιπροσθέτως, η υλοποίηση του FastSLAM έχει γίνει με τη χρήση ενός αισθητήρα Kinect. Η εφαρμογή είναι σχεδιασμένη για χρήση σε εσωτερικό χώρο, χωρίς την ύπαρξη κινούμενων αντικειμένων μέσα σε αυτόν. Ο αλγόριθμος θεωρεί ότι κάνουμε χρήση differential drive αν και μπορεί εύκολα να προσαρμοστεί σε άλλο μοντέλο κίνησης.
Ως αποτελέσματα θα παρουσιάσουμε τις ακριβείς μετρήσεις που κάνει το Kinect και την διαδικασία επεξεργασίας τους στον αλγόριθμο μας. Επίσης θα αξιολογήσουμε πόσο καλά εντοπίζει την θέση του οχήματος σε διάφορες συνθήκες.
Περίληψη
The rapid and continues development of computer opened the door for further growth of robotics. There has been a huge interest, for many decades, for mobile robotic systems, similarly to those presented in literature [0-1] and movies [0-2]. But for a robot to be truly autonomous it needs to have the ability to move independent of any prior knowledge of its surrounding map and location. This is the problem SLAM (simultaneous localization and mapping) came to solve.
While SLAM has been in the scope of researchers for a few decades [1.2-3, 1.2-4], its use, in a non-controlled area, was limited. There were mainly 3 reasons that we can attribute this to: microcontrollers with low computational power, non-existence of effective algorithms and expensive sensors or sensors with low precision. In recent years however, there has been remarkable progress in these fields.
In this thesis we designed a SLAM system that uses the FastSLAM [1.4-1] algorithm in 3D space. Until now the only work concerning 3D space FastSLAM is [1.4-2], but in our system we are going to make it be feature-based. The FastSLAM uses a Particle Filter to detect its own position and an Extended Kalman Filter to keep track of the landmarks’ position. Our whole system will be built on the Robotics Operating System (ROS). Our software components will we written in C++ and Python. Also, the FastSLAM implementation will be done using the Kinect Sensor. Our application is designed for in-door use, with no moving objects in the environment. The algorithm assumes that we are using the differential drive motion model although it can be easily adapted to any other.
As results we will present the exact measurements that the Kinect makes and how they are processed in the algorithm. Also, we will evaluate how well it can detect the true position of the robot under different conditions.
Αριθμός σελίδων
114 σελ.Σχολή
Σχολή Τεχνολογικών ΕφαρμογώνΑκαδημαϊκό Τμήμα
Τμήμα Μηχανικών Αυτοματισμού Τ.Ε.Γλώσσα
ΕλληνικάΟι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: