Εναλλακτικές Τεχνικές Εντοπισμού Θέσης Στρίγκος Θεόδωρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο el01222@mail.ntua.gr Σκοπός της διπλωματικής εργασίας είναι η ανάπτυξη τεχνικών εντοπισμού θέσης, που δεν απαιτούν την ύπαρξη συσκευής GPS (Global Positioning System Παγκόσμιο Σύστημα Εντοπισμού Θέσης), αλλά βασίζονται στο κυψελοειδές σύστημα της κινητής τηλεφωνίας. Ανάμεσα στις τρέχουσες τεχνολογίες προσδιορισμού θέσης, η κυριότερη είναι το GPS, το οποίο ελέγχεται από την κυβέρνηση των ΗΠΑ. Το GPS βασίζεται σε 24 βασικούς και 3 εφεδρικούς δορυφόρους, οι οποίοι ολοκληρώνουν μία πλήρη περιστροφή της γης κάθε 12 ώρες. Ανά πάσα στιγμή, οπουδήποτε, είναι ορατοί τουλάχιστον 4 δορυφόροι. Μία συσκευή GPS λαμβάνει το σήμα που εκπέμπουν οι ορατοί δορυφόροι και από την καθυστέρηση διάδοσης υπολογίζει την απόσταση της από τους δορυφόρους. Γνωρίζοντας και την θέση τους, είναι δυνατός ο προσδιορισμός της θέσης της συσκευής με ακρίβεια 10 m, την οποία η αμερικάνικη κυβέρνηση μπορεί να μειώσει στα 100 m. Εξάλλου, το 2010 θα ενεργοποιηθεί πλήρως το σινοευρωπαϊκό Galileo Positioning System, το οποίο με 27 κύριους και 3 εφεδρικούς δορυφόρους, θα προσφέρει ακρίβεια 8m για όλους και 1m για τους συνδρομητές. Για τη βελτίωση της ακρίβειας του GPS, μπορούν να χρησιμοποιηθούν επίγειοι σταθμοί, των οποίων η θέση είναι ήδη γνωστή. Οι σταθμοί υπολογίζουν το σφάλμα του GPS το οποίο εκπέμπουν, ώστε να διορθώσουν τους υπολογισμούς τους, συμβατές συσκευές GPS. Αυτή η τεχνική είναι γνωστή ως Διαφορικό GPS (Differential GPS). Μία άλλη μέθοδος που χρησιμοποιείται για τη βελτίωση του χρόνου ψυχρής εκκίνησης, καθώς και όταν το λαμβανόμενο σήμα είναι ασθενές, είναι το Υποβοηθούμενο GPS (Assisted GPS). Με το AGPS, η συσκευή GPS ενημερώνεται από το δίκτυο της κινητής τηλεφωνίας για τη θέση της κυψέλης και με βάση το δορυφορικό σήμα προσδιορίζει ακριβέστερα την θέση της. 1
Αντίθετα με τις λύσεις που βασίζονται σε δορυφορικά συστήματα, υπάρχουν τεχνικές που βασίζονται στο δίκτυο της κινητής τηλεφωνίας, είτε από την μεριά του παρόχου, είτε από την μεριά του κινητού τηλεφώνου. Το σύστημα κινητής τηλεφωνίας αποτελείται από μια πληθώρα κυψελών, κάθε μία από τις οποίες μπορεί να καλύψει περιοχή αρκετών χιλιομέτρων. Οι πάροχοι των τηλεπικοινωνιακών υπηρεσιών συνήθως μειώνουν το μέγεθος των κυψελών από 10 km (μακροκυψέλες σε αραιοκατοικημένες περιοχές) σε μερικές εκατοντάδες μέτρα (μικροκυψέλες σε πυκνοκατοικημένες πόλεις), κυρίως για να εξυπηρετήσουν το τηλεπικοινωνιακό φόρτο, με αναχρησιμοποίηση συχνότητας. Το κινητό τηλέφωνο, όσο είναι σε κατάσταση αναμονής, συνδέεται με τον σταθμό βάσης από τον οποίο λαμβάνει το ισχυρότερο σήμα. Κάθε φορά που μειώνεται η λαμβανόμενη ισχύς από τη συνδεδεμένη κυψέλη, το κινητό πραγματοποιεί διαπομπή προς την κυψέλη με τη μέγιστη ισχύ. Ο πάροχος μπορεί να υπολογίσει την θέση των κινητών τηλεφώνων είτε υπολογίζοντας την γωνία άφιξης του σήματος σε δύο τουλάχιστον κυψέλες, είτε με βάση τον χρόνο άφιξης σε τρεις τουλάχιστον κυψέλες, είτε με συνδυασμό και των δύο, για μεγαλύτερη ακρίβεια. Και οι δύο μέθοδοι όμως παρουσιάζουν αρκετά μειονεκτήματα που καθιστούν την χρήση τους σχεδόν απαγορευτική. Το κυριότερο είναι ότι απαιτείται αναβάθμιση σχεδόν του συνόλου της υποδομής του παρόχου, με εξαιρετικά μεγάλο κόστος. Επιπλέον, το δίκτυο πρέπει να αιτηθεί τη μεταφορά δεδομένων από το φορητό τερματικό, για να ληφθεί κάποιο σήμα από τις κεραίες, ώστε να γίνει ο εντοπισμός. Εξάλλου, η δυνατότητα του παρόχου να υπολογίζει τη θέση των χρηστών, χωρίς να είναι απαραίτητη η συγκατάθεση τους, εγείρει πολλά προβλήματα νομικής φύσεως για την πρόσβαση σε αυτά τα δεδομένα. Τέλος, η έλλειψη οπτικής επαφής με τον πομπό, καθώς και το φαινόμενο της πολυδιαδρομικής λήψης 2
(multipath propagation) υποβαθμίζουν την ποιότητα των μετρήσεων, φαινόμενο που παρατηρείται σε όλους τους τρόπους εντοπισμού θέσης που βασίζονται σε επίγειο δίκτυο, και όχι σε αστερισμό δορυφόρων. Σε αντίθεση με τις προαναφερόμενες μεθόδους που εφαρμόζει ο πάροχος, ο προσδιορισμός της θέσης μπορεί να γίνει από το ίδιο το φορητό τερματικό, με βάση τον κωδικό της συνδεδεμένης κυψέλης και την ισχύ του σήματος, κάτι που αποτελεί το αντικείμενο αυτής της διπλωματικής. Η τεχνική αυτή βασίζεται στην υπόθεση πως έχει ήδη καταγραφεί η ισχύς του σήματος των κυψελών σε τακτά χωρικά διαστήματα, πριν γίνει κάποιο ερώτημα εντοπισμού θέσης. Στη συνέχεια, είναι δυνατός ο υπολογισμός της θέσης του κινητού τηλεφώνου, με βάση την ένταση του σήματος που λαμβάνει το κινητό τηλέφωνο. Πλεονέκτημα αυτής της μεθόδου, σε σχέση με τις προηγούμενες, είναι ότι απαιτείται η ρητή συγκατάθεση του χρήστη, καθώς και το γεγονός ότι δεν απαιτεί αλλαγές στην υποδομή του δικτύου. Εξακολουθούν όμως να υποβαθμίζουν τις μετρήσεις τα φαινόμενα της πολυδιαδρομικής λήψης. Επιπλέον, το σφάλμα εξαρτάται άμεσα από το μέγεθος της κυψέλης, αφού όσο μικρότερη είναι η κυψέλη, τόσο μικρότερο είναι το μέγιστο δυνατό λάθος. Βασική προϋπόθεση, όπως προαναφέρθηκε, είναι να αποτυπώσουμε την ισχύ του σήματος που εκπέμπουν οι σταθμοί βάσης σε μία περιοχή. Για αυτόν το σκοπό αναπτύχθηκε ένα MIDlet (εφαρμογή Java 2 Micro Edition J2ME), το οποίo συνδέεται μέσω του 127.0.0.1 βρόχου επιστροφής με έναν native C++ server που επίσης είναι εγκατεστημένος στο κινητό τηλέφωνο (για λειτουργικά συστήματα Symbian). Ο native server, σε αντίθεση με τα MIDlets που δεν έχουν τέτοια δυνατότητα, είναι σε θέση να γνωρίζει το παγκόσμιο αναγνωριστικό της κυψέλης (CGI - Cell Global Identifier), καθώς και την ισχύ του σήματος που λαμβάνει το κινητό από αυτήν, οπότε μέσω του 127.0.0.1 loopback ενημερώνει το Java MIDlet. Ο native server έχει αναπτυχθεί από το placelab για τις ανάγκες αντίστοιχων εφαρμογών και είναι δημόσια διαθέσιμος στο internet (www.placelab.org). Το MIDlet συνδέεται ταυτόχρονα, μέσω Bluetooth, με συσκευή GPS, ώστε να γνωρίζει τις ακριβείς συντεταγμένες του χρήστη. Έτσι ο χρήστης μπορεί να παρακολουθεί στην οθόνη του κινητού του, τη θέση του στο χώρο, το σήμα που λαμβάνει το κινητό, καθώς και να ζητήσει την καταγραφή των μετρήσεων σε αρχείο για περαιτέρω επεξεργασία. 3
Στη συνέχεια, οι μετρήσεις αποθηκεύονται σε μία σχεσιακή Βάση Δεδομένων. Πλέον, αφού η βάση περιέχει δεδομένα από μια περιοχή, είναι δυνατή η αντίστροφη εργασία: Με βάση τον κωδικό της κυψέλης και την ισχύ, να υπολογιστεί η θέση του κινητού τηλεφώνου. Το κινητό τηλέφωνο συνδέεται μέσω GPRS (General Packet Radio Service) με έναν server στο internet, και του αποστέλλει την μέτρηση εκείνης της στιγμής. Ο server, αφού δεχτεί το αίτημα εντοπισμού, έχοντας ήδη την κατανομή της ισχύος, επεξεργάζεται τα δεδομένα που έστειλε το κινητό και αποστέλλει πίσω την υπολογιζόμενη θέση του. Ο χρήστης του κινητού, έχει τη δυνατότητα, με βάση αυτήν την πρόβλεψη, να ζητήσει την προβολή ενός μικρού χάρτη στην οθόνη της συσκευής του. Ο αλγόριθμος υπολογισμού της θέσης του κινητού, που αποτελεί το κύριο μέρος της διπλωματικής εργασίας, έχει χωριστεί σε επίπεδα αυξανόμενης ακρίβειας και πολυπλοκότητας. Όσο μεγαλύτερο επίπεδο πρόβλεψης ζητήσουμε να ενεργοποιηθεί, τόσο ακριβέστερα είναι τα αποτελέσματα που παράγονται. Προφανώς παράλληλα με την αυξημένη ακρίβεια, αυξάνεται και η πολυπλοκότητα των ερωτημάτων που υποβάλλονται στην βάση, καθώς και ο χρόνος σύγκλισης. Τα επίπεδα του αλγορίθμου είναι τα ακόλουθα: 1. Επίπεδο 0: Σε αυτό το επίπεδο δεν γίνεται απολύτως καμία πρόβλεψη. Απλούστατα ως θέση του κινητού θεωρείται ο γεωγραφικός μέσος όρων των σημείων της κυψέλης με παρόμοια ισχύ. Είναι προφανώς ο απλούστερος δυνατός αλγόριθμος, με την ταχύτερη δυνατή σύγκλιση. Συνέπεια των ανωτέρω είναι και η περιορισμένη ακρίβειά του. Κατά μέσο όρο τα σφάλματα σε αυτοκινητόδρομο είναι 400 m, ενώ σε πόλη είναι 190 m. 4
2. Επίπεδο 1: Αυτό το επίπεδο ενεργοποιείται αφού γίνει η πρώτη αλλαγή κυψέλης. Βασίζεται στο γεγονός ότι η αλλαγή κυψέλης συνεπάγεται ότι η νέα θέση θα είναι κοντά στα σύνορα των δύο κυψελών. Έτσι επικεντρώνει την αναζήτηση κοντά στα σύνορα των δύο κυψελών. Στην συνέχεια όλες οι αναζητήσεις γίνονται κοντά στις προηγούμενες προβλέψεις αντίστοιχα. Επειδή κάτι τέτοιο προκαλεί σωρευτικά σφάλματα με την πάροδο του χρόνου, εφαρμόζεται σύστημα βαθμολόγησης των προβλέψεων. Μετά από αρκετές επαναλήψεις, χωρίς να συμβεί αλλαγή κυψέλης, το επίπεδο αυτό απενεργοποιείται, καθώς η αξιοπιστία των υπολογισμών μειώνεται. Αν εν τω μεταξύ συμβεί αλλαγή κυψέλης, τότε η αξιοπιστία της πρόβλεψης αυξάνεται. Κατά μέσο όρο τα σφάλματα σε αυτοκινητόδρομο είναι 300 m, ενώ σε πόλη είναι 130 m. 3. Επίπεδο 2: Σε αυτό το επίπεδο επιχειρούμε να λάβουμε υπ όψιν το ιστορικό των τελευταίων μετρήσεων, όχι μόνο της τελευταίας. Ως νέα πρόβλεψη δεν παίρνουμε απλώς ένα σημείο που είναι κοντά στο προηγούμενο, αλλά η απόσταση και η κατεύθυνσή του θα πρέπει να είναι κοντά στον αντίστοιχο μέσο όρο της απόστασης και της κατεύθυνσης των προηγούμενων σημείων. Παρατηρήθηκε ότι, αν και τα αποτελέσματα βελτιώθηκαν κατά 10% περίπου σε σχέση με το προηγούμενο επίπεδο, η αύξηση στον χρόνο απόκρισης είναι δυσανάλογα μεγαλύτερη. Έτσι αποφασίστηκε η μη χρήση αυτού του επιπέδου στην συνέχεια. Κατά μέσο όρο τα σφάλματα σε αυτοκινητόδρομο είναι 265 m, ενώ σε πόλη είναι 120 m. Διαπιστώθηκε επίσης ότι η συχνότητα δειγματοληψίας επηρεάζει την ποιότητα των αποτελεσμάτων. Αυτό προκύπτει κυρίως λόγω του επιπέδου 1: πολύ αραιή δειγματοληψία προκαλεί λάθη κυρίως λόγω της υπόθεσης ότι η αλλαγή κυψέλης γίνεται κοντά στα σύνορα των κυψελών, αφού αν η δειγματοληψία γίνεται πολύ σπάνια κάτι τέτοιο δεν ισχύει απαραίτητα. Από την άλλη πολύ συχνή δειγματοληψία αυξάνει τα σωρευτικά σφάλματα του αλγορίθμου. Για την εκτέλεση των πειραμάτων υλοποιήθηκε μία εφαρμογή Java, η οποία διαβάζει τα αρχεία καταγραφής και καλεί την ίδια κλάση πρόβλεψης που καλεί και ο Apache Tomcat Server. Στην συνέχεια η εφαρμογή συγκρίνει την υπολογιζόμενη θέση με την πραγματική μέτρηση για να διαπιστώσει την ποιότητα των αποτελεσμάτων. 5
Τέλος, έχει αναπτυχθεί και ένα site στο internet, ώστε να μπορούν οι χρήστες να εγγράφονται και να κατεβάζουν την εφαρμογή. Μέσα από το site, είναι δυνατή η προβολή, σε χάρτη, της θέσης ενός κινητού τηλεφώνου ή/και της κίνησής του τις τελευταίες ώρες, εφόσον ο κάτοχός του έχει δώσει τέτοια εξουσιοδότηση. Μελλοντικά, δύναται να ελεγχθεί πως η αλλαγή διαφόρων παραγόντων επηρεάζει τα αποτελέσματα. Για παράδειγμα: Να ελεγχθεί κατά πόσον η ισχύς του σήματος που εκπέμπουν οι εταιρείες κινητής τηλεφωνίας τροποποιείται, ειδικότερα μεταξύ πρωινές και βραδινές ώρες. Αυτό θα σήμαινε πως θα πρέπει, κατά την ανάκληση των μετρήσεων από την βάση δεδομένων, να προτιμώνται δεδομένα που λήφθηκαν την ίδια χρονική ζώνη με το ερώτημα. Να ερευνηθεί το ενδεχόμενο να υπάρχουν σοβαρές διαφοροποιήσεις αν αποφασισθεί ο διαχωρισμός των δεδομένων που λήφθηκαν από πεζό χρήστη και από κινούμενο. Πιθανώς, η χαρτογράφηση που έγινε από πεζό να δίνει καλύτερα αποτελέσματα σε ερωτήματα από ανθρώπους που κινούνται πεζοί. Έτσι θα είναι δυνατόν να παρέχονται καλύτερης ποιότητας αποτελέσματα σε άνθρωπο που μας ενημερώνει αν χρησιμοποιεί κινούμενο όχημα ή όχι. Να ελεγχθεί εάν είναι δυνατόν σε κάποιες συσκευές να αντλήσουμε όχι μόνο τον μοναδικό κωδικό της κυψέλης που είναι συνδεδεμένο το τηλέφωνο, αλλά τους κωδικούς όλων των ορατών κυψελών. Προφανώς, εάν κάτι τέτοιο είναι δυνατόν στο μέλλον, τα αποτελέσματα μπορούν να βελτιωθούν αρκετά, αφού θα είναι δυνατός ο υπολογισμός της απόστασης από πολλά σημεία αναφοράς, όχι μόνο από ένα όπως γίνεται τώρα. Τέλος, να ερευνηθεί η πιθανότητα γνώσης ποιοτικότερων μετρήσεων, που θα μας τις παρέχει ο πάροχος. Κάτι τέτοιο μπορεί να γίνει κατασκευάζοντας εικονικές μετρήσεις με βάση τα θεωρητικά μοντέλα εκπομπής των κεραιών και στην συνέχεια να υπολογίσουμε πως ο πραγματικός κόσμος αλλοιώνει τόσο τις εικονικές μετρήσεις, όσο και τα αποτελέσματα. 6