ΕΝΤΟΠΙΣΜΟΣ ΘΕΣΗΣ ΚΑΙ ΧΑΡΤΗΓΡΑΦΗΣΗ Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 139
Ρομποτικός Εντοπισμός Θέσης Δεδομένα Χάρτης του περιβάλλοντος Ακολουθία παρατηρήσεων Ζητούμενο Εκτίμηση της θέσης του ρομπότ Εκτίμηση της θέσης κάποιου αντικειμένου Προβλήματα εντοπισμού Παρακολούθηση θέσης (position tracking) Καθολικός εντοπισμός (global localization) Πρόβλημα της απαγωγής (robot kidnapping) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 140
Θέση / Κατάσταση Συντεταγμένες κέντρου x, y και προσανατολισμός θ Κατάσταση = <x, y, θ> Πιο σύνθετη κατάσταση για υποβρύχια και εναέρια ρομπότ Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 141
Τοπικός / Καθολικός Εντοπισμός Τοπικός εντοπισμός γνωστή αρχική θέση φραγμένη αβεβαιότητα αντιμετώπιση του θορύβου μονοτροπική εκτίμηση Καθολικός εντοπισμός άγνωστη αρχική θέση αβεβαιότητα χωρίς φράγμα αντιμετώπιση της άγνοιας πολυτροπική εκτίμηση Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 142
Στατικά / Δυναμικά Περιβάλλοντα Στατικά περιβάλλοντα Καμία μεταβολή στο περιβάλλον Μόνο η θέση του ρομπότ ως κατάσταση Βολικές μαθηματικές ιδιότητες Δυναμικά περιβάλλοντα Μεταβολές στο περιβάλλον π.χ. ανοικτές/κλειστές πόρτες, άνθρωποι, άλλα ρομπότ,... Μακροπρόθεσμη επιρροή στην αντίληψη του ρομπότ Δυναμικά στοιχεία μέρος της κατάστασης Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 143
Παθητικός / Ενεργός Εντοπισμός Παθητικός εντοπισμός Έλεγχος του ρομπότ ανεξάρτητος από εντοπισμό Παθητική λήψη αντιλήψεων Ενεργός εντοπισμός Έλεγχος του ρομπότ προς διευκόλυνση του εντοπισμού Ενεργός αναζήτηση κρίσιμων αντιλήψεων Αποσαφήνιση διφορούμενων εκτιμήσεων Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 144
Προκλήσεις του Εντοπισμού Θέσης Γνωρίζοντας την απόλυτη θέση (π.χ. με το GPS) δεν είναι επαρκής Σκεφτείτε τον εντοπισμό θέσης που κάνει ο άνθρωπος σε σχέση με το περιβάλλον του. Ο σχεδιασμός δράσης (cognition) απαιτεί περισσότερο από μόνο την θέση στο χώρο. Η αντίληψη και η κίνηση διαδραματίζουν σημαντικό ρόλο. Αυτά που συμβάλουν στην αντίληψη και στην κίνηση είναι: Ο θορύβου των αισθητήρων (παράσιτα) Η ομαλοποίηση των αισθητήρων Ο θόρυβος των τελεστών Η εκτίμηση θέσης με οδομετρία Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 145
Ο Θόρυβος των Αισθητήρων Ο θόρυβος των αισθητήρων επηρεάζεται: Κυρίως από το περιβάλλον π.χ. επιφάνεια, φωτισμό Από την ίδια την μέτρηση π.χ. παρεμβολές μεταξύ αισθητήρων υπερήχων Ο θόρυβος των αισθητήρων μειώνει δραστικά τις χρήσιμες πληροφορίες που παρέχουν. Η λύση είναι: Να λάβει πολλαπλές μετρήσεις υπόψη Συγκερασμός πολλών αισθητήρων (multisensor fusion ) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 146
Θόρυβος Τελεστών: Οδομετρία, Dead Reckoning Οδομετρία και dead reckoning Ο εντοπισμός θέσης γίνεται με αισθητήρες εσωτερικής κατάστασης (proprioceptive sensors) Οδομετρία: μόνο με αισθητήρες τροχών (π.χ. Encoders τροχών) Dead reckoning: με αισθητήρες τροχών και αισθητήρες κατεύθυνσης (π.χ. πυξίδα) Στον εντοπισμό θέσης προσθέτονται και η μετρήσεις οδομετρίας ή/και dead reckoning. Πλεονεκτήματα: Απλή και εύκολη λύση Μειονεκτήματα: Πολλά λάθη από την οδομετρία σε βάθος χρόνου Λύση: Χρησιμοποιώντας επιπλέων αισθητήρες κατεύθυνσης (π.χ. γυροσκόπια) μπορεί να μειώσει τα λάθη. Αλλά όχι πάντοτε. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 147
Λάθη Οδομετρίας Τα συστημικά λάθη μπορούν να μηδενιστούν με σωστή ρύθμιση του συστήματος Τα μη-συστημικά λάθη πρέπει να «μοντελοποιηθούν» αλλά πάντα θα δίνουν απρόβλεπτα λάθη. Κύριοι λόγοι λαθών: Περιορισμένη ανάλυση αισθητήρων Κακή ευθυγράμμιση των τροχών (συστημικό λάθος) Άνισοι διάμετροι τροχών (συστημικό λάθος) Διακύμανση του σημείου επαφής του τροχού με το έδαφος Μη επίπεδο δάπεδο Και πολλά άλλα Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 148
Οδομετρία: Διαφορική ανάρτηση (1) Θέση του ρομπότ: p x = y θ Νέα θέση ρομπότ: x p = p + y θ Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 149
Οδομετρία - Αύξηση της Αβεβαιότητας για Ευθεία Κίνηση Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 150
Οδομετρία - Αύξηση της Αβεβαιότητας για Κυκλική Κίνηση Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 151
Πρέπει να γίνει εντοπισμός θέσης ή όχι; Πώς να κινηθεί το ρομπότ από το σημείο Α στο σημείο Β Χωρίς να κτυπήσει σε εμπόδια Εντοπισμός σημείου τερματισμού) Για παράδειγμα: Μπορεί να κινηθεί από το σημείο Α στο σημείο Β επακολουθώντας τον αριστερό τοίχο Πως θα εντοπίσει ότι έχει φτάσει στο τέρμα; Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 152
Πλοήγηση βάση Συμπεριφοράς (Behavior Based Navigation) Δεν κάνει εντοπισμό θέσης και δεν δημιουργεί χάρτη του περιβάλλοντος Καλή μέθοδος για δομημένα περιβάλλοντα (στατικά περιβάλλοντα). Ο αλγόριθμος πλοήγησης βασίζεται στο περιβάλλον. Πρέπει να ξαναγραφτεί ο αλγόριθμος εάν το ρομπότ μετακινηθεί σε νέο περιβάλλον. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 153
Πλοήγηση βάση Μοντέλου Περιλαμβάνει: Εντοπισμό θέσης και Σχεδιασμό δράσης (cognition) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 154
Χαρτογράφηση: Πώς Πρέπει να Δημιουργηθεί ο Χάρτης 1. Με το χέρι 12 3.5 2. Αυτόματα Το ρομπότ μαθαίνει το περιβάλλον του Κίνητρα: Με το χέρι: δύσκολο και χρονοβόρο Περιβάλλοντα που αλλάζουν δυναμικά (αδύνατο να γίνει χαρτογράφηση με το χέρι) 3. Βασικές Απαιτήσεις Χαρτογράφησης Να υπάρχει τρόπος να προσθέσει νέα χαρακτηριστικά σε υφιστάμενο χάρτη Πληροφορίες για εντοπισμό θέσης του ρομπότ Πληροφορίες για δημιουργία μονοπατιού κίνησης και αποφυγή εμποδίων Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 155
Χαρτογράφηση: Προβλήματα 1. Συντήρηση Χάρτη: Παρακολούθηση των αλλαγών στο περιβάλλον? 2. Εκπροσώπηση και μείωση της αβεβαιότητας 3. Εντοπισμός θέσης του ρομπότ Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 156
Γενική Μέθοδος Χαρτογράφησης Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 157
Χαρτογράφηση του Περιβάλλοντος Εκπροσώπηση Περιβάλλοντος Συνεχόμενο Μετρικό Τοπολογικό Μοντελοποίηση Περιβάλλοντος. Χρειάζονται: Απεργασμένες πληροφορίες αισθητήρων (π.χ. πληροφορίες από λέιζερ εικόνες από σύστημα όρασης) Μεγάλος όγκος πληροφοριών Πληροφορίες για μικρές λεπτομέρειες (π.χ. χαρακτηριστικά γραμμών) Μέτριος όγκος πληροφοριών Φιλτράρισμα των χρήσιμων πληροφοριών Πληροφορίες για μεγάλα αντικείμενα (π.χ. πόρτες, αυτοκίνητο, ο πύργος του Άιφελ) Μικρός αριθμός πληροφοριών Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 158
Συνεχόμενη Χαρτογράφηση Αρχιτεκτονικός χάρτης Αντιπροσώπευση με άπυρες γραμμές Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 159
Χαρτογράφηση: Decomposition (1) Exact cell decomposition Υπάρχουν μεγάλοι διάδρομοι και οι αποστάσεις από κελί σε κελί δεν είναι όμοιες. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 160
Χαρτογράφηση: Decomposition (2) Fixed cell decomposition Οι μικροί διάδρομοι εξαφανίζονται Οι αποστάσεις είναι όμοιες από ένα κελί στο επόμενο Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 161
Χαρτογράφηση: Decomposition (3) Adaptive cell decomposition Κράμα των δύο προηγούμενων μεθόδων Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 162
Χαρτογράφηση: Decomposition (4) Παράδειγμα του Fixed Cell Decomposition με πολύ μικρά κελιά. Courtesy of S. Thrun Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 163
Χαρτογράφηση: Decomposition (5) Topological Decomposition Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 164
Προκλήσεις της Χαρτογράφησης Τα περιβάλλοντα είναι δυναμικά Η αντίληψη είναι ακόμη ένα σημαντικό πρόβλημα Πολλά λάθη Η εξαγωγή χρήσιμων πληροφοριών είναι δύσκολη Διάσχιση του ανοιχτού χώρου δημιουργεί προβλήματα εντοπισμού θέσης Πώς να δημιουργηθούν χάρτες με κόμβους Συγκερασμός αισθητήρων (sensor fusion) κλπ. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 165
Εντοπισμός Θέσης Βασιζόμενος σε Τεχνητά Σημεία Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 166
Εντοπισμός Θέσης Βασιζόμενος σε Τεχνητά Σημεία (2) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 167
Εντοπισμός Θέσης Βασιζόμενος σε Τεχνητά Σημεία (3) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 168
Τριγονοποίηση Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 169
Τριγονοποίηση (2) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 170
Τριγονοποίηση (3) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 171
Bar-Code Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 172
Σημεία Αναφοράς (Φάροι) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 173
Αυτόνομη Χαρτογράφηση Ξεκινώντας από ένα αυθαίρετο αρχικό σημείο, ένα κινητό ρομπότ θα πρέπει να είναι σε θέση να εξερευνήσει αυτόνομα το περιβάλλον με αισθητήρες, να αποκτήσει γνώσεις σχετικά με αυτό, να ερμηνεύσει τη σκηνή, να χτίσει ένα κατάλληλο χάρτη και να εντοπίσει την θέση σου σε αυτό το χάρτη. SLAM The Simultaneous Localization And Mapping Problem Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 174
ΣΧΕΔΙΑΣΜΟΣ ΠΟΡΕΙΑΣ ΠΛΟΗΓΗΣΗ Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 175
Σχεδιασμός Κίνησης: Το βασικό πρόβλημα Πρόβλημα: Αρχική θέση (διάταξη) C 0 Τελική θέση C f Σχεδιασμός δρόμου: εύρεση «βέλτιστης» ακολουθίας ενδιάμεσων θέσεων C i Σχεδιασμός τροχιάς: υπολογισμός «ομαλής» τροχιάς. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 176
Πλοήγηση Σχεδιασμός Δράσης / Συλλογισμός Είναι η δυνατότητα να αποφασίσει ποιες ενέργειες απαιτούνται για να επιτευχθεί ο συγκεκριμένος στόχος κάτω από μια δεδομένη κατάσταση Οι αποφάσεις του κυμαίνονται από ποιο μονοπάτι να πάρει σε ποιες πληροφορίες από το περιβάλλον να χρησιμοποιήσει. Τα ρομπότ εργοστασίων μπορούν να δουλέψουν χωρίς σχεδιασμό δράσης, αφού τα περιβάλλοντα τους είναι στατικά. Στα κινητά ρομπότ, ο σχεδιασμός δράσης και ο συλλογισμός είναι απαραίτητα. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 177
Πλοήγηση (2) Ωστόσο, στον τομέα των κινητών ρομποτική η γνώσεις για το περιβάλλον και η κατάσταση του ρομπότ είναι συνήθως μόνο εν μέρει γνωστές και είναι αβέβαιες. Κάνει το έργο της πλοήγησης πολύ πιο δύσκολο Απαιτεί να τρέχουν πολλαπλές εργασίες παράλληλα Ο έλεγχος του ρομπότ συνήθως είναι χωρισμένος σε διάφορες συμπεριφορές ή λειτουργίες π.χ. επακολούθηση τοίχου, εντοπισμός θέσης, σχεδιασμός μονοπατιού, πλοήγηση, αποφυγή εμποδίων. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 178
Global Σχεδιασμός Δρόμου Υπόθεση: υπάρχει ένας αρκετά καλός χάρτη του περιβάλλοντος για την πλοήγηση. Πρώτο βήμα: Εκπροσώπηση του περιβάλλοντος με μια μέθοδο που αναλύσαμε στην προηγολυμενη ενότητα Π.χ. Cell decomposition Examples: Visibility Graph Voronoi Diagram Cell Decomposition -> Connectivity Graph Potential Field Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 179
Σχεδιασμός Πορείας: Visibility Graph Ενώστε όλες τις γωνιές των εμποδίων: Από κάθε γωνιά τραβήξετε γραμμές (δρόμους) προς όλες τις άλλες γωνιές που φαίνονται από αυτή. Συμπεριλαμβανομένων τόσο του αρχικού και του τελικού σημείου Οι γραμμές αυτές συμβολίζουν τη συντομότερη διαδρομή μεταξύ των γωνιών. Το έργο του σχεδιαστή διαδρομής είναι να βρει τη συντομότερη διαδρομή από τη θέση εκκίνησης (start) στο σημείο τερματισμού (goal), με βάση αυτές τις γραμμές. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 180
Σχεδιασμός Πορείας: Voronoi Diagram Για κάθε σημείο στον ελεύθερο χώρο, υπολογίζει την απόσταση από το πλησιέστερο εμπόδιο. Σχεδιάστε την απόσταση ως το ύψος που προέρχονται έξω από τη σελίδα. Το ύψος αυξάνει καθώς κινείστε μακριά από ένα εμπόδιο. Το διάγραμμα Voronoi αποτελείται από τις ακμές που σχηματίζονται από τις αιχμηρές κορυφογραμμές που σχηματίζονται από τα σημεία που ισαπέχουν από δύο ή περισσότερα εμπόδια. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 181
Σχεδιασμός Πορείας: Cell Decomposition Βήματα: Χωρίστε το χώρο σε απλές, συνδεδεμένες περιοχές που ονομάζονται κελιά. Υπολογίστε ποια κελιά είναι διπλανά και σχεδιάστε ένα δέντρο συνδέσεων (connectivity graph). Ψάξετε το connectivity graph για τον συντομότερο δρόμο από το αρχικό σημείο στο τελικό σημείο. Αυτή η μέθοδος δεν είναι πολύ δημοφιλής. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 182
Σχεδιασμός Πορείας: Παράδειγμα Cell Decomposition Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 183
Σχεδιασμός Πορείας: Approximate Cell Decomposition Πολύ δημοφιλής μέθοδος! Εμπόδια Approximate Cell Decomposition με τα Εμπόδια Η NF1 (grassfire) είναι ένας εύκολος αλγόριθμος για εντοπισμό του συντομότερου δρόμου για αυτή την μέθοδο. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 184
Σχεδιασμός Πορείας: Adaptive Cell Decomposition Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 185
Σχεδιασμός Δρόμου: Αλγόριθμοι Σχεδιασμού Δρόμου Wavefront Expansion NF1 (χρησιμοποιείται και για την αποφυγή εμποδίων) Breadth-First Search Depth-First Search Greedy search and A* Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 186
Αποφυγή Εμποδίων (Local Path Planning) Ο στόχος του ρομπότ είναι να αποφύγει συγκρούσεις με εμπόδια. Βασίζεται στον τοπικό χάρτη (local map). Συνήθως γίνεται σαν ξεχωριστή εργασία από το ρομπότ. Example: Alice Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 187
Αποφυγή Εμποδίων: Bug1 Το ρομπότ ακολουθεί την περίμετρο του εμποδίου για να το αποφύγει. Για κάθε εμπόδιο, ο αλγόριθμος κινεί το ρομπότ μια φορά γύρω από το εμπόδιο που προτού το ρομπότ πάρει τον δρόμο από το σημείο που είναι πλησιέστερο στο τελικό (goal) σημείο. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 188
Αποφυγή Εμποδίων: Bug2 Το ρομπότ ακολουθεί την περίμετρο του εμποδίου είτε προς τα αριστερά είτε προς τα δεξιά. Όταν φτάσει σε σημείο που είναι πιο κοντά στο τελικό (goal) σημείο, τότε προχωρεί προς το τελικό σημείο. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 189
Αποφυγή Εμποδίων: Wavefront Expansion NF1 Βάλετε σε κάθε ελεύθερο κελί την απόσταση του από το τελικό (goal) κελί Το ρομπότ κινείται στο διπλανό κελί με τον μικρότερο αριθμό μέχρι που να φτάσει στο τελικό (goal) σημείο. Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 190
Αποφυγή Εμποδίων: Πίνακας Διάφορων Μεθόδων Acrobat Document Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 191
Αποφυγή Εμποδίων: Πίνακας Διάφορων Μεθόδων (2) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 192
Αποφυγή Εμποδίων: Πίνακας Διάφορων Μεθόδων (3) Δρ Γιώργος Α. Δημητρίου Ευφυή Κινούμενα Ρομπότ 193