Αυτονομοι Πράκτορες Εργασία: Monte Carlo Localization Simulator Κάργας Νικόλαος
Σκοπός Προσωμοίωση του αλγορίθμου monte carlo για εντοπισμό της θέσης ενός ρομπότ Εκτίμηση της θέσης κινούμενου ρομπότ κάθε χρονική στιγμή Γνωστός χάρτης ο οποίος περιέχει διακριτά ορόσημα(landmarks) Γνωστή αρχική θέση Αισθητήρες περιμετρικά του ρομπότ Θόρυβος στην κίνηση και στους αισθητήρες Αλγόριθμος monte carlo Εντοπισμός με χρήση φλτραρίσματος σωματιδίων (particle filters) Αναπαράσταση κατανομής P(xk/ Zk)
Χάρτης Αρχική θέση (200,200) Γωνία 0 rads 200 particles 4 landmarks
Αλγόριθμος monte carlo Ο αλγόριθμος χωρίζεται σε δύο φάσεις (1) Φάση της πρόβλεψης - διάδοση των σωματιδίων με δειγματοληψία (2) Φάση της ενημέρωσης - ανάθεση βαρών (Δεν πραγματοποιείται πάντα resampling) Εκτίμηση Θέσης: Weighted Mean EstPosition =Σ( Posxi*wi ) Τα βάρη αθροίζουν στην μονάδα Particle Filter Tutorial for Mobile Robots, Technical Report TR-CIM-04-02
Μοντέλο κίνησης Η κατάσταση του ρομπότ περιγράφεται από Θέση x,y Γωνία Θ σε rads (κατεύθυνση) Velocity Motion Model Ταχύτητα V Γωνιακή ταχύτητα W Αρχικά Drive Commands (30,0.02) Up Arrow : V=V+1 Down Arrow : V=V-1 Left Arrow : W=W-0.01 Right Arrow W=W+0.01 Esc : Start/Pause
Εξισώσεις κίνησης χωρίς προσθήκη θορύβου x = x+( -V/W *sin(θ) + V/W * sin(θ+W*Δt) ) y = y+( V/W *cos(θ) - V/W * cos(θ+W*Δt) ) θ = θ +W * Δt Αν δεν υπήρχε θόρυβος το ρομπότ πάντα θα γνώριζε την θέση του. Στην πραγματικότητα πάντα έχουμε εμφάνιση θορύβου
Εξισώσεις κίνησης με προσθήκη θορύβου Η αναπαράσταση του θoρύβου πραγματοποιήθηκε ορίζοντας έξι πραμέτρους a1...a6 οι οποίες επιρεάζουν τις τιμές των ταχυτήτων και την κατεύθυνση του ρομπότ κάθε χρονική στιγμή. π.χ Μεταβολή του v για διάφορες χρονικές στιγμές [Vreal=30] V to = 30, V t1 = 29,7, V t2 = 30,2 V noise =V+ ε b1, ε b1 τυχαία μεταβλητή N ( 0, a1*|V|+a2*|W| ) W noise =W+ ε b2, ε b2 τυχαία μεταβλητή N ( 0, a3*|V|+a4*|W| ) γ= ε b3, ε b3 τυχαία μεταβλητή N ( 0, a5*|V|+a6*|W| ) Στην πραγματικότητα δεν μπορούμε να γνωρίζουμε με ακρίβεια το σφάλμα του ρομπότ. Αντίστοιχες παράμετροι ορίζονται και για τα particles
Στιγμιότυπο εκτέλεσης μετά την προσθήκη θορύβου
Αισθητήρες Περιοδικός έλεγχος για τον εντοπισμό landmark η εμποδίου. Εντοπισμός landmark (δεντρο) Υπολογισμός απόστασης και προσθήκη θορύβου. Υπόθεση : το ρομπότ γνωρίζει την γωνία με την οποία κοιτάζει κάποιο landmark. Προστίθεται και σε αυτή την περίπτωση θόρυβος. Αμεσος εντοπισμός της θέσης του. Δημιουργούνται νέα σωματίδια τα οποία έχουν το ίδιο βάρος, 1/αριθμός σωματιδίων Εντοπισμός εμποδίου Ανανέωση βαρών των σωματιδίων υπολογίζοντας την πιθανότητα να βρίσκονται κοντά στην πραγματική θέση. Θέση-Πλησιέστερο εμπόδιο particles με μικρό βάρος έχουν μικρή επιρροή στην εκτίμηση της θέσης του ρομπότ
Στιγμιότυπο εκτέλεσης Σωματίδια που απέχουν αρκετά από τα όρια του χάρτη έχουν μικρό βάρος και συνεισφέρουν ελάχιστα στην εκτίμηση της θέσης. Resampling. Επιλέχθηκε η μέθοδος επιλογή με αντικατάσταση
Επιλογή με αντικατάσταση Κύρια ιδέα : particles με μεγάλο βάρος μπορούν να επιλεγούν περισσότερες από μία φορές. Particles με μικρό βάρος διαγράγονται. Πως επιλέγουμε αν θα κάνουμε δειγματοληψία; Coefficient of variation cv^2=1/M * Σ (M*wi -1 )^2 > Threshold T Particle Filter Tutorial for Mobile Robots, Technical Report TR- CIM-04-02, McGill University, Canada, 2002
Επιλογή με αντικατάσταση 1
Επιλογή με αντικατάσταση 2
Video
Βιβλιογραφία Σημειώσεις μαθήματος Αυτόνομοι Πράκτορες I. Rekleitis, Particle Filter Tutorial for Mobile Robots, Technical Report TR-CIM-04-02, McGill University, Canada, Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series) Monte Carlo Localization for Mobile Robots Frank Dellaerty Dieter Foxy Wolfram Burgardz Sebastian Thruny Computer Science Department, Carnegie Mellon University, Pittsburgh PA Institute of Computer Science III, University of Bonn, D Bonn
Ευχαριστώ :)