LOCALIZZAZIONE DI RISORSE MOBILI IN AMBIENTI INDOOR
Transcript
LOCALIZZAZIONE DI RISORSE MOBILI IN AMBIENTI INDOOR
UNIVERSITÀ DEGLI STUDI DI FERRARA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica e dell'Automazione LOCALIZZAZIONE DI RISORSE MOBILI IN AMBIENTI INDOOR Tesi di Laurea di Arianna Franceschetti Relatore Ing. Gianluca Mazzini ANNO ACCADEMICO 2008 - 2009 In primo luogo vorrei ringraziare il mio relatore, il Prof. Ing. Gianluca Mazzini per avermi permesso di affrontare un argomento di tesi così interessante e utile, per la sua disponibilità e specialmente pazienza. Assieme a lui ringrazio la Dott.ssa Chiara Taddia per avermi dato la possibilità di confrontare il mio progetto con il loro. Il mio più grande ringraziamento và ai miei genitori Chetti e Graziano per avermi sostenuto ancora una volta in questi due anni, per aver ascoltato tutte le mie lamentele e sfuriate, ma soprattutto per volermi così bene come io ne voglio a loro e per essere sempre e continuamente un porto sicuro nella mia vita. Altro ringraziamento importante và a mia zia Maria Luisa per trattarmi e volermi sempre bene come fossi una figlia e perché continua dopo tanto tempo ad ascoltare i miei problemi. Un ringraziamento particolare và alla mia migliore amica Silvia e alla mia compagna d’avventura Lorenza per avermi sopportato in questi anni e per avermi fatto sfogare ad aquagym, avventura che non avrei mai immaginato di affrontare. Ringrazio mia nonna e tutti i miei parenti per il loro affetto. Ringrazio tutti coloro che non ho menzionato poiché la lista sarebbe troppo lunga. Infine ringrazio la mia fede in Dio che mi ha aiutato ad affrontare tutti i periodi neri della mia vita e che continuerà ad essere un punto fermo nella mia vita come i miei genitori. ii Indice Introduzione…………………………………………………7 1. Reti di sensori Wireless…………………………………..9 1.1 Cosa sono e a cosa servono le reti WI-FI……………………..9 1.2 WI-FI IEEE 802.11…………………………………………..11 1.2.1 Standard 802.11…………………………………………………12 1.2.2 Interfacce dello standard IEEE 802.11……………...…………..14 1.2.3 Livello fisico dello standard IEEE 802.11…………………..…..15 1.3 Applicazioni delle reti di sensori WI-FI……………………...16 1.3.1 Militare………………..…………………………………………17 1.3.2 Industriale……………………………………………………….17 1.3.3 Ambientale……………………………………………………….18 1.3.4 Mediche…………………………………………………………..19 1.3.5 Home and Building automation………….………………………20 1.4 Sistema di Comunicazione Mobile………………………….21 1.4.1 Meccanismi di propagazione……………………………………21 1.4.2 Propagazione Indoor…………………………………………….22 2. Localizzazione Risorse Mobili……………………….…25 2.1 Localizzazione outdoor – Sistema GPS……………………..25 2.1.1 Principio di funzionamento del GPS……..…………………….26 2.1.1.1 Satelliti del sistema GPS…………………………………………27 2.1.1.2 Tipo di modulazione e frequenze…………………………………28 2.1.1.3 Grado di precisione del rilievo…………………………………….29 2.1.2 Il ricevitore GPS………………………………………………..29 2.1.2.1 Principio di funzionamento del ricevitore GPS……………………30 2.2 Localizzazione indoor………………………………………31 2.2.1 Fase 1 : Metodologie di Ranging………...……………………..31 2.2.1.1 RSS………………………………………………………………...32 2.2.1.2 TOA e TDOA..………………………………………………….….33 2.2.1.3 AOA………………………………………………………………..35 2.2.2 Fase 2 : Tecniche di Combinazione…………………………….36 2.2.2.1 Trilaterazione Iperbolica………………………………………..….36 2.2.2.2 Triangolazione……………………………………………………..37 2.2.2.3 Massima Verosimiglianza…………………………………………38 2.2.3 Sistemi esistenti…………………………………………………38 2.2.3.1 Sistema RADAR………………………………………..…………39 2.2.3.2 Sistema NIBBLES………………………………………………....40 iii 3. Localizzazione di un oggetto mobile indoor…………...43 3.1 Descrizione progetto………………………………………...43 3.1.1 Fase ON-LINE……………..…….…….……………………..44 3.1.2 Fase OFF-LINE……………..………………………………..44 3.2 Descrizione dell’ambiente…………………………………..44 3.2.1 Condizioni ideali – senza rumore………………..…………….46 3.3 Metodi utilizzati per il calcolo della distanza……………….47 3.3.1 Metodo esistente : distanza Euclidea………………………….48 3.3.2 Metodo creato : distanza Manhattan………………………….48 3.3.3 Metodo creato : distanza Chebyshev………………………….49 3.4 Differenze basilari tra i due algoritmi utilizzati…....….……50 3.4.1 Creazione mappa……………………………………………...50 3.4.2 Localizzazione…………………………………………………52 3.5 Confronto e analisi dei risultati in ambiente ideale..….……53 3.5.1 Conclusioni sui risultati ottenuti in ambiente ideale .…….….56 3.6 Problematiche nella fase OFF-LINE...……………….......…57 3.7 Introduzione del rumore nell’ambiente ideale……….…..…59 3.7.1 Rapporto segnale/rumore…………………………..………….60 3.7.2 Rumore Gaussiano…………………………..………………...61 3.8 Confronto e analisi dei risultati in ambiente non ideale……62 3.8.1 Conclusioni sui risultati ottenuti in ambiente non ideale….…..64 4. Localizzazione di più oggetti mobili indoor……………67 4.1 Descrizione progetto……………….…………..…………...67 4.1.1 Fase OFF-LINE………………..……………………………...67 4.1.2 Fase ON-LINE………..……………………………………….68 4.2 Metodologia adottata......……………………………………68 4.2.1 Fase 1 : Assegnazione dei beacon ai carrelli…….………......69 4.2.2 Fase 2 : Metodo delle circonferenze....………………..……...72 4.2.2.1 Criticità del metodo delle circonferenze………..……………...75 4.2.3 Fase 3 : Scelta della posizione del carrello….………..……...77 4.2.4 Localizzazione carrelli senza errore……………………….…77 4.2.5 Localizzazione carrelli con errore……………………………80 4.2.6 Conclusioni sui risultati ottenuti…………………………....…82 iv 5. Confronto tra gli algoritmi……………………………..83 5.1 Algoritmo Mazzini/Taddia………………………………...83 5.1.1 Descrizione della metodologia utilizzata……………..…….83 5.1.2 Conclusioni sull’algoritmo preso da riferimento……..…….84 5.2 Differenze basilari tra i due algoritmi utilizzati…....……..84 5.2.1 Creazione mappa e inserimento carrelli……………..….….84 5.2.2 Associazione beacon ai carrelli senza collisioni……..…….85 5.2.3 Localizzazione carrelli mobili……………..……………….87 5.3 Confronto e analisi dei risultati……..……………………..89 5.3.1 Errore di localizzazione…………………………………….89 5.3.2 Numero di carrelli localizzati………………………………92 5.4 Conclusioni sul confronto………..………………………..94 6. Conclusioni e Sviluppi futuri……………………...……95 7. Elenco delle figure……………………………………….87 8. Bibliografia e Sitografia……………………………...…99 v vi Introduzione L'obiettivo del progetto è la realizzazione di un sistema di localizzazione di oggetti mobili in un ambiente indoor attraverso l'uso di sensori posti a griglia. In particolare si è studiato la localizzazione di carrelli della spesa equipaggiati da un trasmettitore di potenza in un supermercato nel cui soffitto sono posti i nostri sensori che fungono da ricevitori radio. L’esigenza di localizzare un oggetto o un utente mobile nasce, storicamente, soprattutto da motivi legati alla sicurezza ad esempio per il monitoraggio di grandi ambienti quali parcheggi, autogrill o tunnel autostradali. Nel nostro caso ad esempio si otterrebbe l'ottimizzazione dei processi logistici e di marketing per la localizzazione e l’analisi degli spostamenti dei carrelli di un supermercato. Lo scenario proposto prevede la localizzazione di carrelli per la spesa all’interno di un supermercato. Uno degli scopi potrebbe essere quello di analizzare il comportamento degli acquirenti per identificare i comportamenti tipici e ottimizzare quindi le strategie di marketing. Poiché questo sistema ha come obiettivo l’installazione in ambienti aperti al pubblico in cui i terminali mobili sono a contatto diretto con le persone, devono essere rispettati alcuni vincoli: • Gli apparati non devono interferire con le persone e l’intero sistema deve essere poco invasivo per non avere un impatto estetico che possa disturbare gli acquirenti ; • I terminali mobili devono avere una buona autonomia ed essendo installati sui carrelli della spesa devono possedere anche caratteristiche di robustezza e sicurezza al fine di evitarne il danneggiamento . Lo scopo principale di questo progetto è creare un sistema di localizzazione che sia semplice, efficiente e specialmente economico. L'idea principale è quella di creare una griglia di sensori che chiameremo “beacons” applicabile al soffitto della stanza in cui vogliamo effettuare la localizzazione. Questi beacons sono ad una stessa distanza in metri l'uno dall'altro. Questo può servire per utilizzare già strutture esistenti e quindi abbassare i costi architetturali. In particolare ogni beacon è un ricevitore radio in grado di calcolare la potenza ricevuta da ogni trasmettitore posto su ogni carrello della spesa. L'informazione data dalla potenza ricevuta ci dà la possibilità di stimare la distanza di un carrello da ogni beacons e quindi di calcolarne la posizione a scapito di un piccolo errore di localizzazione. 7 Si può suddividere il sistema progettato in 2 fasi: • FASE OFF-LINE : si crea una mappatura radio che contiene tutte le potenze dei beacons attivi. Le potenze vengono memorizzate in una struttura vettoriale e vengono calcolate tramite un trasmettitore che passa per tutti i beacon e questi ne memorizzano di volta in volta la potenza. Per ogni beacons vengono memorizzate più potenze individuate dalla distanza tra il beacon e tutti i punti che compongono la griglia. La distanza calcolata è quella euclidea per l’algoritmo Mazzini/Taddia e la distanza Manhattan e di Chebyshev per il mio algoritmo. • FASE ON-LINE : una volta ricevuta la potenza dell'oggetto sconosciuto, cioè del carrello della spesa, la si confronta con quelle memorizzate e si trova quella più similare per la localizzazione per l’algoritmo Mazzini/ Taddia, mentre per il mio tramite due beacon associati ai carrelli si utilizza il metodo delle circonferenze e si fa la localizzazione. La metodologia descritta a grandi linee verrà discussa nei capitoli successivi in maniera più approfondita inserendo anche eventuali errori di metratura. La tesi viene quindi suddivisa nei seguenti capitoli: 1. Descrizione generale sulle reti di sensori wireless, sue applicazioni, sullo standard utilizzato e sul canale radio. 2. Descrizione generale sulla localizzazione di risorse mobili in ambienti outdoor e indoor, vedendo in dettaglio le varie metodologie esistenti. 3. Confronto tra la metodologia creata dai professori Mazzini e Taddia (distanza di Euclide) per il calcolo della distanza tra sensore e trasmettitore e le metodologie usate da me (distanza di Manhattan e distanza di Chebyshev). 4. Confronto tra l’algoritmo per la localizzazione di più carrelli utilizzato dai professori Mazzini e Taddia (tecnica della massima verosimiglianza) con l’algoritmo da me creato (metodo delle circonferenze). 5. Confronto dei risultati ottenuti tra i due algoritmi. 6. Conclusioni e sviluppi futuri. 7. Elenco figure. 8. Bibliografia e Sitografia. 8 Capitolo 1 Reti di Sensori Wireless Per capire meglio la localizzazione bisogna ricondursi a qualche definizione e a qualche concetto. In particolare verrà illustrato il concetto di rete di sensori wireless per comprendere meglio cosa serve e come avviene la comunicazione fra i vari dispositivi. 1.1 Cosa sono e a cosa servono le reti WI-FI L’utilizzo di cavi consente l’impiego di dispositivi che non hanno limitazioni di potenza poiché laddove saremo in grado di portare una connessione cablata per i dati sarà in generale possibile prevedere anche una o più linee di alimentazione, inoltre le soluzioni cablate consentono dei buoni livelli di sicurezza visto che bisogna avere accesso fisico diretto al cavo per poter prelevare informazioni dalla rete. Al contempo però soffrono di gravi limitazioni: • in primo luogo l’impossibilità o le difficoltà d’installazione in ambienti inospitali per l’uomo • problema di costi visto che l’installazione di ciascun dispositivo richiederà manodopera e materiali per le operazioni di cablatura • una struttura cablata è essenzialmente rigida cioè risulta difficile aggiungere nuovi nodi alla rete o modificare la posizione di sensori preesistenti senza riconsiderare l’intera struttura della rete. Le soluzioni Wireless sembrano essere la soluzione ideale a questo tipo di problemi, ma esse comportano al contempo una serie di svantaggi in termini di problemi di propagazione del segnale, interferenze, sicurezza, requisiti di potenza, norme legislative ed altro ancora. Per molti di questi problemi esistono soluzioni efficaci, ma per ogni soluzione adottata dovremo sempre prendere in considerazione l’aumento della complessità progettuale e il relativo aumento dei costi di realizzazione. Wi-Fi è un'abbreviazione di Wireless Fidelity. Il Wi-Fi è un’infrastruttura relativamente economica e di veloce attivazione, che permette di realizzare sistemi flessibili per la trasmissione di dati usando frequenze radio, estendendo o collegando reti esistenti ovvero creandone di nuove. I Sistemi Wi-Fi sono 9 originariamente stati progettati per la creazione di piccole reti locali, all’interno di edifici o in ambiente campus. Il grosso vantaggio delle reti Wi-Fi deriva dall’ormai universale supporto tecnologico e dal basso costo e ha enormi vantaggi • tutti i computer portatili e i palmari vengono venduti con la scheda radio e l’antenna integrata e gli stessi apparati che servono a collegare la rete senza fili alla rete cablata tradizionale, access point, costano poche decine di euro. • la frequenza radio utilizzata 2.45 GHz, è di uso ormai completamente libero e non prevede quindi né costi di licenza né il possesso di particolare licenze amministrative per l’uso privato. Figura 1.1 : Esempio di rete WI-FI su WEB Accanto agli innegabili vantaggi esistono però anche alcuni svantaggi: • la frequenza è libera quindi chiunque la può utilizzare e ciò può essere fonte di interferenze • la potenza trasmissiva degli apparati è limitata per legge a 100 mW e ciò ne limita grandemente la portata (da qualche decina di metri a qualche chilometro, a seconda dell’antenna usata) • lo stesso mezzo trasmissivo utilizzato (le onde radio), in assenza di adeguati sistemi di protezione, può essere facilmente oggetto di intrusione. 10 Figura 1.2 : Esempio di intrusione in un rete wireless Ciò nonostante i sistemi Wi-Fi possono costituire un valido mezzo per superare il problema del cosiddetto ultimo miglio, e quindi la distribuzione capillare della banda larga nei centri abitati, senza dover ricorrere alla più costosa infrastruttura in rame (i doppini telefonici). In sostanza i sistemi Wi-Fi sono più adatti a collegamenti del tipo punto-multipunto (distribuzione del segnale da un punto verso gli utenti finali) che punto-punto (ripetizione del segnale da un punto all’altro). Anche in Italia sono ormai presenti in molte città i cosiddetti hot spot, dove gli utenti abilitati possono, tramite i loro apparati mobili, collegarsi alle reti Wi-Fi e così usufruire dei servizi internet. 1.2 WI-FI IEEE 802.11 Il protocollo Ethernet dalla sua nascita ad oggi si è trasformato da singolo protocollo in una complessa famiglia di protocolli, definiti dall’IEEE (Institute of Electrical and Electronic Engineers) . La velocità di trasferimento dati è passata da 10 Mbps a 100 Mbps e poi a 1 Gbps, utilizzando tutti i tipi di cablaggio: cavo coassiale, cavo telefonico e fibra ottica. Il 26 giugno 1997 è stato finalmente approvato il primo standard IEEE 802.11. Inizialmente l’interesse verso questa tecnologia e stato limitato dai costi elevati e dalle basse prestazioni raggiungibili sul canale radio, ma oggi questi prodotti sono economicamente vantaggiosi e i progressi nelle tecniche radio consentono di raggiungere velocià di trasmissione fino a 54 Mbps, per questi motivi il mercato delle WLAN è in fase di crescita. Una rete locale wireless (WLAN) è un sistema flessibile per la comunicazione di dati, realizzato come estensione o come 11 alternativa ad una rete locale wired (cablata). Usando una tecnologia a radio frequenza (RF) la WLAN trasmette e riceve dati minimizzando l’utilizzo di cavi. Le WLAN combinano le proprietà di mobilità con la possibilità di accedere alla rete da un qualsiasi punto che sta sotto la copertura della cella. Con le wireless LAN gli utenti possono accedere ad informazioni condivise senza cercare un punto a cui collegarsi. Questo tipo di rete offre una migliore produttività, convenienza e risparmio economico rispetto ad una rete cablata tradizionale. La copertura di una cella radio varia da 20 metri a oltre 300 metri, in relazione alla tipologia degli ambienti, con una possibilità di collegamento da 10 a 250 utenze per Ap (Access Point), in funzione del modello e della tecnologia impiegata. Gli standard di comunicazione usati consentono ad un WT di inviare via radio all’Ap i dati che poi instraderà , verso un'eventuale sottorete cablata o ad un’altro WT. Figura 1.3 : Copertura di una cella a Radio Frequenza Oggi le WLAN sono riconosciute come uno strumento per ottenere connettività per una gran parte di utenti in svariati campi di impiego, e sempre di più si stanno diffondendo prodotti basati su diverse implementazioni dello standard IEEE 802.11. A seconda del metodo di trasmissione i prodotti offrono una banda che va da 1 Mbit/s fino a 54 Mbit/s. 1.2.1 Standard 802.11 Nei primi anni '90 lo standard IEEE 802.11 indicava le specifiche fisiche per lo sviluppo di di una rete LAN wireless, ovvero una rete informatica a onde radio. 12 Tale standard consentiva velocità fino a 2 Mbps usufruendo della tecnologia basata su onde radio a 2.4 GHz di frequenza o direttamente su raggi infrarossi. Proprio la limitata velocità e la scarsissima diffusione di apparecchi mobili (non era ancora in atto il boom della telefonia mobile) bloccarono sul nascere lo sviluppo e la diffusione di questo stardard. Nel 1999 le principali aziende del settore fondarono il WECA (Wireless Ethernet Compatibility Alliance) al fine di ottenere una serie di standard comuni a tutti i dispositivi, permettendo cosi la massima interoperabilità dei sistemi wireless. Il protocollo IEEE 802.11b consente : • efficace adattamento della velocità di trasmissione con un range da 5.5 a 11 Mbps a seconda del canale utilizzato • una velocità di trasferimento fino a 11 Mbps • automatismo nella assegnazione della banda da occupare e dell'access point di ingresso a seconda del traffico La rete a onde radio viene gestita attraverso alcune dispositivi denominati access point e Wireless terminal. L'access point è in sostanza il gateway di connessione, ovvero il punto di accesso alla rete wireless. Entro il suo raggio di azione gli utenti possono quindi collegarsi a tutti gli apparecchi collegati nella stessa rete in una sorta di P2P a onde radio, salvo limitazioni di accesso decide a livello software oppure collegarsi ad unità centrali come in una normale rete Ethernet. Figura 1.4 : WLAN a Radio Frequenza (RF) 13 1.2.2 Interfacce dello standard IEEE 802.11 Lo standard IEEE 802.11 consente due possibili interfacce: • FHSS (Frequency Hopping Spread Spectrum ), dipsersione di spettro a salto di frequenza; • DSSS (Direct Sequence Spread Spectrum) dispersione di spettro in banda base. Nel sistema FHSS il segnale ad una data frequenza viene fatto "saltare" da una canale all'altro, distribuendosi su una banda di frequenze. Il vantaggio di tale sistema, quando il rapporto fra la larghezza di banda originale del segnale e la larghezza di banda del segnale di diffusione è molto grande, è di offrire una grande immunità all' interferenza. La tecnologia consente a più utenti di condividere lo stesso insieme di frequenze cambiando automaticamente la frequenza di trasmissione fino a 1600 volte al secondo, al fine di una maggiore stabilità di connessione e di una riduzione delle interferenze tra canali di trasmissione. Lo spectrum spreading consiste in una continua variazione di frequenza utilizzando una modulazione di frequency hopping. Gli hops corrispondono ai salti di frequenza all'interno della gamma assegnata (2,402 Ghz -2,480 Ghz salti di 1 Mhz, complessivamente 79 hops set) Viene impiegata una modulazione gaussiana di tipo Fsk o Gfsk. Nello specifico sono previste due tipologie di modulazione Gfsk: • Gfsk a 2 livelli con data rate 1 Mbps • Gfsk a 4 livelli con data rate 2 Mbps Il sistema FHSS risulta molto sicuro contro interferenza e l'intercettazione in quanto risulta statisticamente impossibile poter ostruire tutte le frequenze che possono essere usate e l'implementazione di sistemi di filtri selettivi su frequenze diverse dalla frequenza del segnale, eccedenza 50dB. Figura 1.5 : Esempio di interfaccia FHSS 14 Il sistema DSSS è una tecnologia di trasmissione a "frequenza diretta" a banda larga, ogni bit viene trasmesso come una sequenza ridondante di bit, detta chip. Tale metodo è indicato per la trasmissione e ricezione di segnali deboli. Consente l'interoperabilità con le reti wireless attuali a 54 Mbps (802.11g) con le precedenti a 1-2 Mbps.L'interfaccia DSSS utilizza un sistema con dispersione in banda base utilizzando un chipping code ( codice di dispersione) modulando il dato prima di trasmetterlo, ogni bit trasmesso viene disperso su una sequenza a 11 bit (sequenza Barker). Il segnale trasmesso consumerà una maggior larghezza di banda consentendo la ricezione di segnali deboli. I vantaggi che l'interfaccia DSSS assicura contro l'interferenza è piuttosto scarso. Questa limitazione insidia significativamente il valore di DSSS come metodo per resistere all'interferenza nelle applicazioni reali delle WLAN. Figura 1.6 : Esempio di interfaccia DSSS 1.2.3 Livello fisico dello standard IEEE 802.11 Le specifiche IEEE 802 sono concentrate sui due strati più bassi del modello OSI perchè esso include sia il livello fisico che quello accesso dati. Tutte le reti basate su 802 hanno un livello fisico (PHY) e un protocollo di accesso al mezzo (MAC). MAC è un insieme di regole che determinano come accedere al mezzo trasmissivo ed inviare dati, ma i dettagli di trasmissione e ricezione dati sono affidati al livello fisico. 15 F Figura 1.77 : Livello fisico f del modello OSI O con loo standardd IEEE 80 02 1.3 Applica A azioni deelle retii di senssori WII-FI mplementaate utilizzaando una vvasta tipollogia di Le retii di sensorri possonoo essere im sensorii come seensori sism mici, magnnetici, term mici, infraarossi, acuustici, rad dar, che sono inn grado di d monitorrare una ampia a claasse di condizioni aambientali fra le quali possiamo p r ricordare: • Tem mperatura; • Um midità; • Moovimenti di d veicoli; • Conndizioni di d illuminaazione; • Pressione; more; • Livvelli di rum • Presenza o asssenza di determina d ati tipi di oggetti; o • Streess meccaanici; • Vellocità, direezione e dimensione d e di oggettti. Ciascuun nodo sensore pootrà inoltrre essere utilizzato u in diversse modalittà, sarà possibiile interroogare periiodicamennte un sensore perr avere unna inform mazione continuua, utilizzzarli solo per verificare il raggiungimento di una partticolare condizzione, o modalità m ne controollata periiodicamen nte una ibride in cui vien grandeezza, ma se questaa supera una deteerminata soglia il sensore avverte direttam mente il controllore c e (es: Conntrollo di processi p e lavoraziooni dell’in ndustria chimicca). Alcunee delle priincipali appplicazionni delle retti di sensoori wirelesss possono o essere classifi ficate in cinque macro gruppi: g applicazion a ni militaari, applicazioni 16 industriali, controllo ambientale, applicazioni mediche, home and building automation. 1.3.1 Militare Le reti di sensori wireless possono diventare parte integrante delle più comuni attività militari come il comando, il controllo dei campi di battaglia, la rilevazione degli spostamenti delle truppe nemiche, la sorveglianza e le operazioni di localizzazione dei bersagli. Questo perché le WSN sono caratterizzate da un elevato numero di nodi dal costo contenuto che possono essere impiegati in grandi quantità anche in ambienti inospitali quale può essere un campo di battaglia. L’eventuale distruzione infatti di uno o più nodi non influenza l’efficienza della rete, cosa che invece potrebbe accadere utilizzando reti cablate. Alcune delle applicazioni del campo militare possono essere il controllo ed il rilevamento dello stato degli equipaggiamenti, la sorveglianza del campo di battaglia per monitorare le attività delle fazioni nemiche, o ancora per rilevare i danni conseguenti ad una battaglia, o il riconoscimento di agenti chimico fisici nell’ambito di battaglie chimico biologiche. In quest’ultimo contesto è possibile individuare anche il concetto di misura distribuita che una rete di sensori wireless può consentire, cioè nel caso della rilevazione di agenti chimici non è di primaria importanza conoscere la concentrazione di sostanze rilevata da ciascun nodo sensore, ma è più rilevante sapere quali zone sono state interessate dall’attacco chimico, i diversi sensori allora possono implementare degli algoritmi di cooperazione che permettono di avere una informazione di misura appunto “distribuita” su di una determinata regione e non localizzata in punti precisi. 1.3.2 Industriale L’utilizzo delle LR-WPAN nel settore industriale s’inserisce nella continua ricerca della diminuzione dei costi per implementare sistemi di controllo per i processi produttivi. Le prime applicazioni si hanno laddove non vengano richiesti elevati data rate, utilizzati in applicazioni non critiche, dove gli intervalli di campionamento non risultano essere un problema. Al contrario l’attenzione viene posta sui costi di implementazione e di manutenzione, ciò comporta la necessità di dispositivi che non richiedano manutenzione, dove per manutenzione intendiamo primariamente la necessità di sostituire e/o ricaricare le batterie. Altre tipiche applicazioni industriali possono essere la realizzazione 17 di bridge wireless verso altre reti già esistenti come DeviceNet o FieldBus creando un’interfaccia che possa consentire il monitoraggio remoto e la modifica dei parametri di funzionamento di dispositivi connessi alle reti preesistenti impiegando PDA o altri sistemi. 1.3.3 Ambientale Alcune delle applicazioni delle WSN in questo ambito possono essere i sistemi di prevenzione degli incendi, le statistiche relative alla fauna protetta, agricoltura di precisione, ricerche meteorologiche e geofisiche, controllo dell’inquinamento. Consideriamo ad esempio l’impiego di una rete di sensori wireless nella lotta agli incendi, un numero elevato di sensori possono essere posizionati in zone strategiche in modo casuale all’interno di una vasta area boschiva, questi nodi ovviamente devono essere dotati di opportuni meccanismi di power scavenging, come celle solari, poiché i sensori possono essere abbandonati nel territorio per lunghi periodi. L’utilizzo di sensori wireless permette di superare gli ostacoli tipici degli ambienti boschivi quali le rocce, gli alberi e la vegetazione in genere, che non consentirebbe l’installazione delle corrispettive versioni cablate, a meno di considerare interventi radicali molto costosi e distruttivi. Un campo di sviluppo molto recente che prevede l’utilizzo delle LR-WPAN è l’agricoltura di precisione, che prevede l’utilizzo di sensori distribuiti che possono monitorare alcuni parametri fondamentali per le coltivazioni come le concentrazioni di nitrati, la temperatura del suolo, la composizione del terreno, la quantità di acqua piovana, l’umidità relativa delle coltivazioni ed altro ancora. In questo modo è possibile studiare dei sistemi di controllo che consentano di migliorare l’agricoltura sia in termini di qualità del prodotto finale sia per quanto concerne la quantità, consentendo quindi un notevole vantaggio economico per il fattore. Affinché questo tipo di sistema di controllo applicato all’agricoltura possa essere efficace è necessario che l’informazione di ogni sensore sia correlata alla sua posizione affinché l’utente sia informato sulle zone precise in cui intervenire. L’agricoltura di precisione, come del resto i sistemi di prevenzione degli incendi descritti precedentemente, giacciono nella parte più bassa dello spettro delle applicazioni delle LR-WPAN, poiché richiedono la trasmissione di pochi bit di dati al giorno per ogni dispositivo impiegato, i flussi di informazione inoltre sono tipicamente asincroni in natura, consentendo quindi di sviluppare algoritmi di risparmio energetico che ben si applicano al paradigma delle LR-WPAN. 18 Le difficoltà che si possono incontrare nel progetto di questo tipo di rete sono le particolari topologie necessarie, poiché per coprire vaste aree avremo bisogno di reti mesh che consentano cioè ad alcuni nodi di funzionare come ripetitori del segnale inviato da altri, consentendo al messaggio di giungere fino al corretto destinatario, tutto questo però sempre adottando politiche di risparmio energetico, visto che è improponibile il controllo e l’eventuale sostituzione di batterie per reti di sensori implementate su vaste aree geografiche. Infine queste reti devono consentire meccanismi di autoconfigurazione poiché attività di setup manuale per un così elevato numero di nodi risultano economicamente improponibili. 1.3.4 Mediche Alcuni esempi in questo campo possono essere la trasmissione dei parametri fisiologici dei pazienti all’interno degli ospedali, attività diagnostiche, somministrazione di medicinali, personal healthcare ed altro. L’utilizzo di WPAN consente all’interno delle strutture ospedaliere di poter monitorare i parametri fisiologici dei pazienti come temperatura, pressione sanguigna, pulsazioni cardiache in modo non invasivo per il paziente e consentendo l’intervento tempestivo dei medici in caso di bisogno. Applicazioni simili possono essere individuate anche nel personal healthcare, basti pensare ad una serie di sensori dotati di interfaccia wireless integrati per esempio all’interno di un orologio da polso che consenta la misurazione dei battiti cardiaci, o in una bilancia per monitorare il peso; in questo modo con una trasmissione giornaliera verso un PDA o un personal computer è possibile costituire un archivio personale in cui vengono memorizzate le informazioni salienti del nostro stato di salute. Altra applicazione interessante è il controllo remoto di persone anziane per prevenire situazioni di pericolo quali per esempio una caduta o uno sbalzo improvviso delle pulsazioni cardiache. Infine, nominiamo solamente la possibilità di controllore la somministrazione di medicinali all’interno degli ospedali, supponiamo infatti di dotare ogni confezione di un apposito smart transducer che ne consenta l’identificazione ed ogni paziente sia dotato di un dispositivo che memorizzi le eventuali allergie o le prescrizioni effettuate dal medico curante, in questo modo si potrebbe ridurre drasticamente il rischio di errata somministrazione. 19 1.3.5 Home and Building automation Con l’evoluzione tecnologica ci aspettiamo di trovare degli smart transducer in ogni apparato elettronico all’interno della casa come televisori, VCR, forni a microonde, frigoriferi e quant’altro, in modo che tutti questi dispositivi siano in grado di interagire fra loro e verso il mondo esterno attraverso altre infrastrutture di rete come comunicazioni via satellite o più diffusamente internet. Il progetto di una casa intelligente di questo tipo può prevedere due diversi approcci progettuali, un sistema human centered che prevede che la tecnologia sia in grado di rispondere alle esigenze dell’utente finale in termini di interazione input/output o technology centered che vuole creare un cosiddetto smart environment, in cui ogni dispositivo della casa integra uno smart device in grado di comunicare con un server di stanza, il quale a sua volta è in grado di comunicare con i server delle stanze adiacenti in modo da creare un sistema integrato autoconfigurante, ed auto organizzato. Oltre ai componenti di elettronica di consumo possiamo includere nella categoria delle innovazioni che possono portare le LR-WPAN all’interno delle case il controllo dei sistemi HVAC (Heating, ventilation and air contidioning), sistemi cioè in grado di regolare la temperatura di ogni stanza sulla base di diversi sensori disposti per esempio in corrispondenza delle finestre per verificare se queste sono aperte o chiuse, in corrispondenza delle superfici vetrate in modo da poter valutare l’effetto della radiazione solare sulla temperatura della stanza. Altre applicazioni che abbiamo già ricordato nei paragrafi introduttivi sono la realizzazione di sistemi di controllo ed antifurto ed il controllo dell’illuminazione. Concludiamo questa breve panoramica delle applicazioni possibili delle LRWPAN all’interno delle case ricordando l’utilizzo di queste tecnologie nell’industria ludica dei giocattoli sia per quanto riguarda i giocattoli classici come bambole o peluche che dotati di opportuni sensori wireless possono essere in grado di riconoscere il bambino con cui stanno interagendo o per quanto riguarda i giochi più moderni come i videogiochi elettronici, le LR-WPAN possono essere impiegate per “tagliare il cavo” dei controlli remoti come Joystick o pistole, ma anche per permettere a diverse console di interagire tra loro comunicando per esempio i record raggiunti o i migliori tempi. Stesso discorso ovviamente vale per le periferiche connesse ai calcolatori che per loro natura richiedono bassi data rate come mouse o tastiere; con l’impiego delle LR-WPAN possono avvantaggiarsi rispetto alle tecnologie wireless già disponibili come il Bluetooth, con migliori sistemi di gestione dei consumi 20 consentendo la sostituzione delle batterie ad intervalli molto ampi nell’ordine di alcuni anni. 1.4 Sistema di Comunicazione Mobile Il percorso di trasmissione tra trasmettitore e ricevitore può variare dal semplice percorso diretto ad uno che è molto ostruito da palazzi, muri e montagne. A differenza del canale wired (cablato) che risulta stazionario e prevedibile, il canale radio risulta estremamente casuale e quindi l'analisi risulta molto difficoltosa. I tre meccanismi di propagazione in un sistema di comunicazione mobile sono riflessione, diffrazione e diffusione 1.4.1 Meccanismi di propagazione • Riflessione: Il segnale incidente su una superficie, può essere riflesso, assorbito, o essere una combinazione di entrambi. Questa reazione dipende dalle proprietà fisiche della superficie e dalle caratteristiche del segnale. Le proprietà fisiche sono la geometria della superficie, la struttura e il materiale che la compone. Le caratteristiche del segnale sono l'angolo d' incidenza, l'inclinazione e la lunghezza d'onda. I conduttori perfetti riflettono completamente l'onda incidente, mentre altri materiali ne riflettono solo una parte. Le quantità esatte di onda riflessa e trasmessa dipendono dall'angolo di incidenza, dallo spessore e dalle proprietà dielettriche del materiale. Ulteriori contributi alla riflessione sono dovuti a mobili, pavimenti e soffitti, superficie terrestre, palazzi e muri. Figura 1.8 : Meccanismo di Riflessione 21 • Diffrazione: L'onda diffratta si presenta quando nel percorso tra trasmettitore e ricevitore vi sono oggetti con bordi netti. La diffrazione si ha quando gli ostacoli sono impenetrabili dall'onda propagata. Basandosi sul principio di Huygens, le onde secondarie si formano dietro il corpo che ostruisce e nello spazio circostante, creando un nuovo fronte d'onda nella direzione di propagazione. Gli ambienti indoor contengono molte di queste superfici, orientate sia verticali che orizzontali. Così il segnale diffratto risultante dipende dalla geometria degli spigoli, dalle proprietà spaziali, così come dipende dalle caratteristiche del segnale incidente (ampiezza, fase, polarizzazione e frequenza). Figura 1.9 : Meccanismo di Diffrazione • Diffusione: se vi sono molti oggetti nel percorso dell'onda con dimensione paragonabile alla lunghezza d'onda, il fronte d'onda si propagherà separata mente in varie direzioni. I segnali risultanti si disperderanno in tutte le direzioni formando interferenza costruttiva o distruttiva. 1.4.2 Propagazione Indoor Il canale radio indoor differisce dal tradizionale canale radio mobile in due aspetti: le distanze coperte sono molto piccole e la variabilità dell'ambiente risulta molto più elevata per un più piccolo range di distanze dal trasmettitore. Da misure sperimentali risulta che la propagazione negli ambienti indoor è fortemente influenzata da caratteristiche specifiche come la struttura degli edifici, i materiali utilizzati e la tipologia di edificio. I meccanismi di propagazione in ambito indoor sono gli stessi presenti nel canale radio mobile: riflessione, diffusione e diffrazione. Tuttavia la variabilità 22 dell'ambiente risulta molto più elevata: ad esempio il livello di potenza del segnale risulta dipendente dal fatto che una porta sia aperta o chiusa. 23 24 Capitolo 2 Localizzazione Risorse Mobili Lo sviluppo della tecnologia porta alla creazione di dispositivi variegati con un comune denominatore : la mobilità. L’utente mobile deve poter interagire con l’ambiente che lo circonda, è quindi richiesta la localizzazione dell’utente mobile. 2.1 Localizzazione Outdoor – Sistema GPS Il sistema GPS. (GLOBAL POSITIONING SYSTEM) avviato dagli USA a partire dagli anni ‘70, e completato nel 1993, è stato realizzato per motivi principalmente militari, per rispondere all’esigenza del Ministero della difesa degli Stati Uniti di seguire il percorso di mezzi militari sulla terraferma ed in mare in modo da localizzarne la posizione in ogni momento e consentirne eventuali operazioni di supporto e di salvataggio. Il GPS è un sistema di individuazione della posizione che utilizza 24 satelliti artificiali, divisi in gruppi di quattro (6 x 4 = 24) che ruotano attorno alla terra alla quota di circa 20.200 Km in orbite distanti fra loro di un angolo di 60° (6 x 60°=360°) e formanti un angolo di 55° rispetto al piano equatoriale. Di questi satelliti, 21 sono attivi, mentre tre sono di scorta, cioè sono in attesa di entrare in funzione quando qualcuno dei 21 cesserà di essere attivo. Figura 2.1 : Satelliti artificiali 25 I satelliti artificiali, infatti, hanno una vita media che per quelli di questa serie è di circa dieci anni. È previsto anche un piano di espansione futura che prevede il lancio di altri satelliti per sostituire quelli che man mano esauriranno le loro capacità ed andranno fuori servizio. 2.1.1 Principio di funzionamento del GPS Il sistema GPS è nato in realtà come versione satellitare e quale perfezionamento del già esistente sistema LORAN nato negli USA. negli anni ’40 e che consente la determinazione della propria posizione lungo le rotte di grande traffico navale ed aereo ed utilizza un gran numero di stazioni terrestri MASTER e SLAVE. La comprensione del principio di funzionamento del GPS è, infatti, molto facilitata per chi già conosce a fondo il sistema LORAN. Il sistema GPS. consente di determinare la propria posizione sulla superficie terrestre, ed anche la quota se si è in aereo, ed è attivo oggi in qualunque punto della terra, dall’equatore ai poli ed in qualunque punto sperduto dei deserti o delle grandi città. È necessario disporre con se di un ricevitore GPS il quale intercetta a terra il segnale a microonde generato dai satelliti in orbita che, a turno, passano sopra di noi. Figura 2.2 : Satelliti orbitanti attorno alla Terra Infatti, visto il numero, l’orbita ed il periodo di rotazione dei satelliti, di cui si è già parlato, risulta che in ogni istante sono sopra di noi in media da cinque ad otto satelliti che si alternano in quota. 26 2.1.1.1 Satelliti del GPS Le funzioni dei satelliti possono essere così sintetizzate: • trasmettere informazioni agli utilizzatori mediante un segnale radio piuttosto complesso; • mantenere un riferimento di tempo accurato, grazie agli orologi di bordo; • ricevere e memorizzare informazioni dal segmento di controllo; • eseguire manovre e correzioni d'orbita. Possiamo dire che ogni satellite GPS conosce e trasmette costantemente la propria posizione orbitale (Almanac), l'orario sincronizzato per l'intera costellazione e il suo codice identificativo. I satelliti sono stati lanciati in varie epoche e appartengono a diversi blocchi: • satelliti blocco I: sono i primi satelliti lanciati, con la primitiva organizzazione delle orbite che comprendeva 3 piani orbitali inclinati di 63° sul piano equatoriale. Sono stati lanciati nel periodo 1978 1995 • satelliti blocco II: sono organizzati su 6 piani orbitali inclinati di 55° sul piano equatoriale. A differenza di quelli del blocco I il cui segnale era completamente disponibile per usi civili, in questi nuovi satelliti compaiono alcune restrizioni sul segnale. Sono prodotti da Rockwell International e sono lanciati dal 1989 • satelliti blocco IIA ("Advanced"): hanno la possibilità di comunicazione fra di loro e alcuni sono dotati di riflettori per le misure "LASER RANGING". Sono prodotti anch'essi da Rockwell International e sono lanciati dal 1990 • satelliti blocco IIR: hanno rimpiazzato i satelliti del blocco II. Portano a bordo 3 oscillatori al Rubidio. Esiste un collegamento intersatellitare per migliorare la precisione di determinazione delle orbite. Sono in orbita dal 1997 • satelliti blocco IIF: saranno lanciati presumibilmente entro il 2010: dovranno consentire la gestione di eventuali variazioni di frequenze e ospiteranno a bordo sistemi inerziali Attualmente sono posti in orbita 24 nuovi satelliti commissionati alla Loocked Martin. Non sono solamente sostitutivi degli attuali, ma contengono anche aggiornamenti tecnologici per migliorare ulteriormente un sistema che già oggi sfiora la perfezione. Una delle caratteristiche del sistema GPS è proprio quella di essere costantemente al passo con i tempi, grazie al periodico rinnovo della costellazione. 27 2.1.1.2 Tipo di Modulazione e Frequenze I satelliti GPS generano due diversi segnali di tipo numerico, che vengono chiamati L1 ed L2, alle frequenze rispettivamente di 1,5 e 1,2 GHz circa, modulati in PSK dei quali il primo serve per la localizzazione grossolana, quella di tipo civile, e l’altro per la localizzazione più precisa, di tipo militare. La modulazione PSK consiste nel far variare la fase di un segnale sinusoidale (portante) in base al valore assunto dal segnale digitale (modulante) rappresentante i dati da trasmettere. Generalmente il modulatore : • trasmette una sinusoide alla frequenza fp pari a quella della portante con fase inalterata, quando il segnale dati è a livello basso; • trasmette una sinusoide alla frequenza fp, ma sfasata di 180° quando il segnale dati è a livello alto. Lo schema di principio che realizza tale modulazione può essere così rappresentato : Figura 2.3 : Schema funzionamento modulazione PSK Nel dominio del tempo l’andamento dei segnali (modulante, portante, modulata) è il seguente : Figura 2.4 : Modulazione 2-PSK nel dominio del tempo 28 2.1.1.3 Grado di precisione del rilievo Il primo segnale consente la determinazione della propria posizione con la precisione di circa 300 metri, il secondo invece, con la precisione di 50 cm. Mentre il primo segnale è trasmesso in chiaro, il secondo, invece, è trasmesso in codice segreto e non è accessibile se non al Ministero della Difesa degli Stati Uniti che lo utilizza esclusivamente per la propria sicurezza e non lo rende noto a tutti per evitare che possa essere utilizzato contro gli interessi degli Stati Uniti da criminali o da Stati nemici. Ogni satellite trasmette dei segnali ad alta frequenza verso terra che vengono ricevuti da un apposito apparecchio ricevitore delle dimensioni ridottissime di un comune cellulare e comprendente una particolare antenna regolabile che va rivolta verso l’alto. I ricevitori GPS funzionano all’aperto, non è quindi possibile utilizzarli all’interno di un appartamento o in sotterranei, ma devono poter vedere il cielo libero su di se per ricevere il segnale satellitare. 2.1.2 Il ricevitore GPS I ricevitori GPS commerciali, oggi dal costo molto contenuto, consentono di sintonizzarsi automaticamente sulle frequenze dei satelliti suddetti e, dopo un tempo di ricerca e di elaborazione dei dati ricevuti, dell’ordine di pochi minuti, sono in grado, individuando la distanza di almeno quattro satelliti, di determinare la propria posizione geografica sulla superficie terrestre in termini di latitudine e longitudine, comprendendo eventualmente la quota se si è in montagna o in aereo. I migliori fra questi ricevitori, in particolare quelli montati su autoveicoli o all'interno di cellulari predisposti, risultano in grado di mostrare la propria posizione all’interno di una cartina geografica completa che può essere ingrandita fino a diventare una vera e propria cartina topografica in cui sono evidenziate anche le strade principali con i loro nomi, come si vede nell’esempio mostrato in figura. Figura 2.5 : Ricevitore GPS 29 2.1.2.1 Principio di funzionamento del ricevitore GPS I satelliti, dotati di orologi atomici al cesio di grandissima precisione, che vengono sincronizzati dalla stazione americana di Colorado Spring ogni qual volta vi passano sopra, trasmettono in continuazione dati numerici che comprendono le proprie coordinate X, Y, Z, e l’istante esatto T di trasmissione. Questi dati vengono elaborati a terra dal ricevitore il quale, confrontandoli con il proprio tempo locale, il quanto anche il ricevitore è dotato di orologio al quarzo di grande, anche se non di grandissima precisione, e conoscendo la velocità delle onde elettromagnetiche, deduce a che distanza si trova da ognuno dei satelliti di cui sta ricevendo il segnale. Infatti, noto l’istante T1 trasmesso dal satellite in cui è partito il segnale, e l’istante T2 , indicato dall’orologio locale, in cui il segnale è stato ricevuto a terra, si conosce il tempo impiegato a percorrere la distanza dal satellite al ricevitore, ed essendo la velocità della luce c, nota, la distanza D del satellite dal ricevitore risulta: D = c (T2 – T1) La conoscenza della distanza da un solo satellite è un dato del tutto insufficiente per determinare la propria posizione, in quanto non è nota la posizione azimutale né quella zenitale dello stesso, analogamente non è sufficiente conoscere la distanza da due satelliti; infatti, l’intersezione di due sfere di raggio noto, cioè le distanze calcolate, dà luogo ad un cerchio e non ad un punto. L’intersezione di tre sfere di raggio noto, invece, determina due punti, dei quali, invero, uno è di norma inaccettabile in quanto si trova ad altissima quota e risulta anche muoversi ad altissima velocità. Soltanto l’intersezione di quattro sfere di raggio noto, invece, consente con certezza, di determinare una posizione univoca nello spazio, il che spiega perché è necessario aspettare del tempo, anche se se tratta di minuti, per elaborare i dati, in quanto bisogna aspettare il passaggio di almeno quattro satelliti ed avere anche il tempo di effettuare numerosi calcoli ed approssimazioni successive. I dati del quarto satellite, infatti, oltre a rendere univoca la soluzione al sistema di quattro equazioni in quattro incognite, consentono di correggere il valore del tempo proprio del ricevitore per mezzo dei tempi dei quattro satelliti. Le quattro incognite da determinare sono X, Y, Z, T, cioè le tre coordinate indicanti la posizione geografica dell’utente fornito di ricevitore, più il tempo proprio che è indispensabile per determinare con grande precisione le distanze dei satelliti, distanze che costituiscono i dati di partenza. 30 La X rappresenta la longitudine, la Y rappresenta la latitudine, la Z, la quota sul livello del mare, e T il tempo proprio, corretto dagli orologi ad altissima precisione che orbitano sui satelliti. 2.2 Localizzazione Indoor La mobilità è stata una dei fattori chiave nel grande successo delle tecnologie wireless. La possibilità di localizzazione dell’utente all’interno dell’ambiente apre la strada ad un ampio insieme di applicazioni in grado di rendere disponibili agli utenti i servizi che più si adattano al contesto in cui gli utenti si trovano (contex-aware services) fra i quali, ad esempio, la guida virtuale. Un sistema context-aware include tipicamente: • un insieme di sensori di varia tipologia (visione, audio, ambientali, radio), installati nell’ambiente, in grado di rilevare una varietà di informazioni sullo stato dell’ ambiente, delle persone e oggetti presenti al suo interno • componenti di elaborazione e analisi del flusso dati sensoriali (ad esempio, componenti di analisi di scena visiva), in grado di estrarre informazioni a livello semantico dai dati sensoriali (presenza, posizione, situazioni di pericolo etc.) • middleware per la distribuzione dei dati di contesto alle applicazioni • applicazioni in grado di sfruttare l’informazione di contesto per adattare le caratteristiche del servizio offerto alle esigenze dell’utente. È necessario quindi sviluppare tecniche che permettano di ottenere informazioni accurate della posizione dell’utente mobile. Oggi altre tecnologie, come le WLAN (Wireless Local Area Network), si stanno proponendo come valide candidate per realizzare la funzionalità di localizzazione attraverso infrastrutture radio terrestri che forniscono informazioni di localizzazione sulla base del confronto dei livelli di potenza ricevuti dai vari punti d’accesso (access point). 2.2.1 Fase 1 : Metodologie di Ranging Ci sono modi per misurare distanze ed angoli (l’angolo è inteso come direzione di provenienza del segnale) sono molteplici e differiscono tra loro per accuratezza, hardware necessario e logica di funzionamento. L’operazione di ranging è quindi un’operazione di stima ed è molto importante poiché permette al sensore di localizzare l’oggetto in questione con il minimo errore. 31 2.2.1.1 RSS Il metodo RSS si riferisce principalmente ai segnali di tipo a radio frequenza (RF). È una tecnica in cui si misura la potenza del segnale ricevuto proveniente da una sorgente di segnale avente potenza di trasmissione costante e nota al ricevitore stesso. Nota la potenza trasmessa ed una misura di quella ricevuta, viene ricavata l'attenuazione; è noto infatti che un'importante caratteristica della propagazione via radio è l'attenuazione crescente del segnale radio all'aumentare della distanza tra trasmettitore e ricevitore. Sono stati sviluppati in proposito diversi modelli teorici ed empirici che, facendo ipotesi sulla legge di propagazione dei segnali radio, traducono questa attenuazione in termini di distanza. L'attenuazione si concentra sulla determinazione della potenza media del segnale ricevuto ad una data distanza dal trasmettitore (modelli di propagazione su larga scala), ed anche sulla variazione della potenza del segnale in spazi chiusi o limitati (modelli su piccola scala, modelli di fading). Il sistema di localizzazione a radio frequenza (RF) basato su WLAN utilizza, come già detto, l’infrastruttura di rete 802.11. Il sistema richiede uno o più punti di riferimento per eseguire la valutazione della distanza: access point (AP). Viene quindi misurata la potenza del segnale ricevuta dal mobile (RSS) proveniente dagli access point, grandezza che decade in maniera logaritmica con la distanza in condizioni di spazio libero. In ambiente indoor il canale wireless è affetto da molti disturbi: • Interferenze • Fading multi-cammino • Ostacoli La localizzazione a radio frequenza (RF) in un ambiente wireless ha bisogno dei seguenti passi mostrati in figura: Figura 2.6 : Localizzazione in ambiente wireless 32 Per fare una localizzazione in un ambiente indoor bisogna innanzitutto fare un’analisi della scena e memorizzare delle informazioni che serviranno in seguito per la nostra localizzazione. Nel nostro caso verranno memorizzate delle potenze e delle coordinate. La mappa radio quindi non è altro che una struttura dati (che può essere un database, un vettore, una matrice etc..) che contiene le posizioni dell’edificio in questione con i relativi valori di RSS (potenza del segale ricevuta dal dispositivo mobile). Questa mappa è molto importante per la localizzazione poiché si possono confrontare i suoi valori con quello ricevuto dal dispositivo mobile e quindi risalire alla posizione dell’oggetto in questione. Quindi più viene ottimizzata la mappa più l’errore di localizzazione di un dispositivo sconosciuto decresce. Un esempio di mappa è mostrata in figura : Figura 2.7 : Esempio di mappa radio 2.2.1.2 TOA e TDOA Le tecniche TOA e TDOA si basano, rispettivamente, sulla misura dell'istante di arrivo di un segnale o sulla differenza tra gli istanti di arrivo di due segnali diversi. Il tempo di propagazione di un segnale può infatti essere tradotto direttamente in distanza, una volta nota la velocità di propagazione del segnale nel mezzo. Queste tecniche usano di solito segali RF, acustici, infrarosso ed ultrasuono. Per quanto concerne le tecniche TOA, la distanza tra un nodo ricevente ed un reference point, può essere calcolata dalla misura del tempo di arrivo (time of flight) del segnale di comunicazione tra i due, solitamente ricavato con la tecnica di "avanzamento temporale". Questa tecnica è usata nel sistema GPS e nell'LPS. 33 Il principio di funzionamento del TOA è il seguente: • Location parameters: ritardi di propagazione distanza fra il terminale e la RS (Sistemi di Radiolocalizzazione) • Numero (minimo) di RS: 3 • Necessario sincronismo fra i terminali e la conoscenza dell’istante di trasmissione Figura 2.8 : Esempio di TOA Alternativamente, nelle tecniche TDOA il tempo di percorrenza può essere calcolato attraverso esplicite misure del tempo di arrivo sulla base di due distinte modalità di comunicazione, ad ultrasuoni e via radio. Queste due modalità viaggiano a velocità enormemente diverse; il segnale radio può essere usato per sincronizzare il trasmettitore ed il ricevitore, mentre il segnale ad ultrasuoni può essere usato per il ranging. I sistemi ad ultrasuono comunque non funzionano in ambienti outdoor, poichè utilizzano tutti un'unica frequenza di trasmissione (40 KHz), perciò c'è un elevata possibilità di interferenza con gli altri sistemi ad ultrasuoni. Il principio di funzionamento del TOA è il seguente: • Location parameters: differenze di ritardi di propagazione delle distanze fra il terminale e due RS (Sistemi di Radiolocalizzazione) • Numero (minimo) di RS: 3 • Necessario sincronismo fra i dispositivi : può non essere necessario conoscere gli istanti di trasmissione (“filtrati” dalla differenza) 34 Figura 2.9 : Esempio di TDOA 2.2.1.3 AOA I metodi AoA utilizzano l'angolo di arrivo del segnale proveniente da più RS, attraverso semplici relazioni geometriche si risale alla posizione del nodo (tecniche di triangolazione). Un'altra tecnica basata sulla direzionalità, che viene utilizzata nelle reti cellulari, è rappresentata dal trovare un piccolo angolo di apertura. Questa tecnica richiede una complessa schiera di antenne in ognuna delle celle. Tali antenne possono, in via di principio, determinare insieme l'angolo relativo alla cella dal quale il segnale cellulare ha avuto origine. Nel momento in cui le celle riescono a determinare il loro rispettivo angolo di arrivo, si può stimare la posizione del telefono cellulare attraverso la triangolazione. I metodi basati sulla direzionalità non sono molto efficienti negli ambienti indoor, a causa del multipath. Il principio di funzionamento del AOA è il seguente: • Location parameters: direzioni di arrivo • Numero (minimo) di RS: 2 • Si utilizzano schiere adattative, che “cercano” la direzione da cui proviene il segnale irradiato dal terminale • Nota che l’errore cresce con la distanza 35 Figura 2.10 : Esempio di AOA 2.2.2 Fase 2 : Tecniche di Combinazione Questa è la seconda fase degli algoritmi di localizzazione. Dopo che è stato applicato un metodo di stima tra quelli prima descritti, si procede all'applicazione di formule matematiche o relazioni geometriche che, combinando assieme le varie grandezze, permettono di stimare la posizione. La Trilaterazione Iperbolica e la Massima Verosimiglianza si utilizzano quando è nota la distanza, mentre la Triangolazione si utilizza quando si conoscono gli angoli. 2.2.2.1 Trilaterazione Iperbolica Questa tecnica è la più semplice ed intuitiva: la localizzazione si basa sull'intersezione di tre circonferenze. La posizione del nodo è calcolata risolvendo il sistema delle 3 equazioni di tre circonferenze centrate sugli Access Point che circondano il nodo da localizzare. 36 In cui (X,Y,Z) sono le coordinate degli Access Point, mentre R sono le distanze dal nodo agli Access Point. Gli U sono le coordinate dell’incognita, cioè del nodo da trovare. Figura 2.11 : Trilaterazione Iperbolica 2.2.2.2 Triangolazione Questa tecnica è usata quando sono note le direzioni, e non le distanza, stimate con il metodo AoA. Le posizioni dei nodi sono calcolate attraverso le leggi trigonometriche di seno e coseno. Figura 2.12 : Triangolazione Dalla figura si possono ricavare le seguenti equazioni per la risoluzione. 37 2.2.2.3 Massima Verosimiglianza La Tecnica di Massima Verosimiglianza, anche nota come Tecnica di Multilaterazione, stima la posizione di un nodo minimizzando le differenze tra la distanza misurata e la distanza stimata. In figura seguente il nodo azzurro è il nodo da individuare mentre i nodi neri sono i riferimenti che si possono utilizzare: Figura 2.13 : Massima Verosimiglianza Per ogni Access Point che il sensore è in grado di contattare viene generata un’equazione che rappresenta la differenza fra la distanza misurata e quella euclidea: Dove (x0,y0) è la posizione stimata dal sensore in esame, t0 è il tempo che impiega un segnale ultrasuono per propagarsi dall’Access Point i al sensore, s è la velocità di propagazione di un segnale ultrasuono mentre l’indice i và da 1 a N dove N è il numero totale di Access Point che il sensore è riuscito a contattare. 2.2.3 Sistemi esistenti Esistono molti sistemi esistenti, in seguito verranno descritti i sistemi RADAR e NIBBLES. RADAR è un sistema per localizzare un utente,basato su segnali RF mediante WLAN. NIBBLES è un sistema che può apprendere le posizioni da localizzare. 38 2.2.3.1 Sistema RADAR In questo sistema viene utilizzata una rete wireless basata su standard IEEE 802.11. La tipologia di rete utilizzata è ad infrastruttura, ossia con degli Access Point che gestiscono le comunicazione tra i vari terminali. I terminali mobili, affinchè possano essere localizzati, devono essere equipaggiati di apposita scheda wireless. La posizione degli Access Points è fissa nel tempo, inoltre si suppone che essi sia sempre connessi alla rete elettrica e dati. Gli AP trasmettono periodicamente un pacchetto di beacon che contiene anche informazioni riguardanti la potenza e l'identificativo dell'AP che ha trasmesso il pacchetto. In questo sistema vengono utilizzati 3 AP posizionati in modo opportuno nell'ambiente indoor. Il metodo di localizzazione adottato in questo sistema è composto da due fasi: • fase off-line: il sistema viene calibrato e viene costruito un modello basato sulla potenza ricevuta in diverse posizioni note all'interno dell'area di riferimento • fase on-line: in questa fase, i terminali mobili acquisiscono i campioni di potenza dai vari AP e il sistema software, in base a questi valori di potenza, determina la posizione incognita elaborando in maniera opportuna i valori di potenza ricevuti con quelli off-line. Per l'acquisizione delle potenze in entrambe le fasi viene utilizzato il metodo RSSI. FASE OFF-LINE In questa fase vengono memorizzati i valori di potenza ricevuti dai terminali mobili in funzione della posizione. Per ogni posizione (x,y) vengono registrate le potenze ricevute da tutti gli AP. Dalle misure effettuate, è risultato che la potenza ricevuta in una data posizione, dipende anche dall'orientamento, infatti in una delle direzione µe presente il line of sight (LOS) con un AP. Per ogni posizione vengono collezionati al massimo 20 campioni di potenza. Successivamente, questi dati vengono raggruppati e per ogni terna (x,y,z) vengono calcolate media, deviazione standard e mediana delle potenze ricevute dai vari AP. Questo insieme di dati viene definito signal space. FASE ON-LINE In questa fase bisogna raccogliere i campioni di potenza del terminale mobile provenienti dagli AP. Per determinare la posizione bisogna cercare, tra l'insieme dei dati off-line (signal space), il punto che presenta migliore corrispondenza nel 39 senso delle potenze. Questa tecnica viene definita nearest neighbor in signal space (NSSS). L'idea base è quella di calcolare le distanze (nell'insieme signal space) tra i valori di potenza misurati (ss1,ss2,ss3) e i valori registrati (ss1’,ss2’,ss3’) nelle posizioni off-line, per poi scegliere la posizione che minimizza le distanze. Le metriche che potrebbero essere utilizzate sono la distanza Euclidea, la distanza di Manhattan o una metrica pesata con i livelli di potenza ricevuti dai vari AP. 2.2.3.1 Sistema NIBBLES In questo sistema, si è preferito utilizzare un approccio mediante rete Bayesiana (Bayesian Network), che può "apprendere" le posizioni note all'interno dell'ambiente utilizzato per la localizzazione. Data la struttura modulare di tale rete, il sistema risulta molto flessibile quando gli Access Point sono aggiunti/rimossi o riconfigurati spazialmente. Un ulteriore vantaggio è che le informazioni contestuali, come la probabilità che il proprietario di un terminale può appartenere ad una data locazione, può essere facilmente integrata nel modello della rete Bayesiana. Un'altra importante considerazione è che la potenza, in un canale wireless, è molto oscillante; questo è causato dalla presenza e dalla mobilità delle persone e degli oggetti all'interno dell'ambiente. Questo rumore viene trattato dalla rete, la quale assegna delle probabilità alle locazioni fisiche. UCLA Multimedia System Lab ha ideato e implementato il Multi-Use Sensor Enviroment (MUSE), un sistema a struttura middle-ware per reti di sensori, basato proprio su un modello a rete Bayesiana. Successivamente è stato sviluppato un sistema di localizzazione per rete Wi-Fi basato su questa architettura, ed è stato costruito Nibble, una versione che non richiede hardware aggiuntivo oltre la scheda di rete. STRUTTURA DEL SISTEMA Una rete a infrastruttura basata su IEEE 802.11 consiste in un elevato numero di terminali Wireless (client) e diversi Access Points che agiscono da ponte tra la rete wireless e la rete locale LAN. I client si associano con l'AP che fornisce la massima RSSI (Receive Signal Strength). Quando i client si muovono, periodicamente fanno una scansione degli AP per determinare da quale di questi ricevono il massimo RSSI, in modo tale da effettuare un roaming con l'AP che fornisce il migliore livello di potenza. È possibile calcolare le posizioni di un client utilizzando la tecnica RSSI. Come già detto, per calcolare la posizione di 40 un client, Nibble sfrutta una struttura modulare probabilistica basata su rete Bayesiana. L'approccio tramite modello probabilistico permette di creare un robusto sistema di localizzazione con una generale, quantificabile misura delle prestazioni, informazioni aggiuntive facilmente incorporabili, come la storia del percorso seguito da un client. Nibble sfrutta un sistema detto fusion service per calcolare le posizioni di un client sfruttando misure di potenza tra il terminale mobile e gli Access Points presenti nell'ambiente. Un fusion service ha due componenti: • un modello che raccoglie e interpreta informazioni dai sensori • un modello di ottimizzazione delle risorse per minimizzare la raccolta dei dati dai sensori I dati provenienti dai sensori vengono caratterizzati in modo probabilistico e poi vengono usati come input per il fusion service. L'output del fusion service è una distribuzione di probabilità di una variabile casuale che rappresenta i dati dell'ambiente. Questo processo è necessario poichè le informazioni provenienti dai sensori, come la potenza del segnale ricevuto, possono o essere affette da rumore o temporaneamente non disponibili o di livello troppo basso per essere immediatamente utilizzati da un applicazione. In Nibble, la parte interpretativa del fusion service è una rete bayesiana. Una rete Bayesiana è una rappresentazione grafica della distribuzione di probabilità congiunta che esplicitamente dichiara relazioni di dipendenza tra variabili casuali nella distribuzione. Poichè queste relazioni sono dichiarate, la distribuzione di probabilità congiunta può essere costruita in maniera modulare, in modo tale da rendere possibili elaborazioni su questa distribuzione. In questo sistema la struttura modulare della rete Bayesiana facilita la costruzione di un sistema component-based, dove gli outputs di un fusion service vengono utilizzati come inputs di un altro. Sotto viene mostrato un esempio di rete Bayesiana: Figura 2.14 : Esempio di rete Bayesiana 41 La rete è costituita da una struttura ad albero dove, partendo dal nodo radice, si arriva agli altri nodi. Gli archi di connessione tra i nodi indicano una relazione di dipendenza tra il nodo radice e il nodi terminali. Il nodo radice è la variabile "query" che descrive la distribuzione di probabilità a priori p(L) su un numero di locazioni fisiche L. I nodi terminali della rete rappresentano delle variabili osservabili che descrivono la distribuzione marginale di probabilità condizionata p(E|L), data dai valori osservati E dai sensori posizionati in vi. Data questa rete, possiamo leggere i valori R da tutti gli m sensori e calcolare p(L|R) che rappresenta la distribuzione di probabilità a posteriori di L, cioè la probabilità che un terminale mobile si trovi nella posizione vi dato che i sensori hanno misurato R. In generale, ogni nodo della rete può essere interrogato per determinare la posizione. Per esempio si può interrogare il nodo con la query p(s1 = e1|L = v3,s2 = e3), ossia la probabilità che il sensore s1 ha letto e1 dato che il terminale si trova nella locazione v3 e il sensore s2 ha letto e3. La figura 2.14 include anche un nodo che rappresenta il rumore che disturba le misure fatte dai sensori. In una rete Bayesiana per determinare le posizioni, i valori di L ed E sono diverse quantizzati in valori discreti. Nibble teoricamente può discriminare locazioni utilizzando una rete Wi-Fi, dove n rappresenta il numero dei valori di uscita di un sensore e s è il numero degli Access Point. Tuttavia, la tipologia e la struttura degli edifici , così come il rumore presente nelle misure dei sensori, influenzano negativamente il numero di posizioni che Nibble può distinguere. 42 Capitolo 3 Localizzazione di un oggetto mobile indoor In questo capitolo verrà spiegato l’algoritmo di localizzazione utilizzato. In particolare viene studiata la localizzazione di un carrello mobile in un supermercato e come il numero di sensori utilizzati, i rumori presenti nell’ambiente, i punti della griglia possano influenzare la sua localizzazione. Verranno fatti inoltre dei confronti con un altro algoritmo di localizzazione creato dal professore Gianluca Mazzini e dalla professoressa Chiara Taddia e se ne studieranno eventuali miglioramenti e/o peggioramenti. 3.1 Descrizione progetto L’obiettivo del progetto è la realizzazione di un semplice algoritmo di localizzazione di un oggetto mobile in ambiente indoor. In particolare il caso reale che si và ad affrontare è la localizzazione di un carrello della spesa in un supermercato. Nel soffitto della stanza sono posti dei sensori, che chiameremo beacon, che fungono da ricevitori radio e verranno posti a griglia per semplicità. Il carrello della spesa è l’oggetto mobile che si muove in una stanza ed è equipaggiato da un trasmettitore che emette un segnale di potenza che verrà poi raccolto ed elaborato da uno o più beacon. Il progetto mira anche a vedere l’impatto che si ha nella localizzazione avendo a disposizione la totalità o la non totalità dei beacon, eventuali rumori presenti all’interno della stanza (esempio persone, altri carrelli, dispositivi elettrici, muri etc..), i punti della griglia per effettuare la localizzazione; in particolar modo si valuta come questo influenzi un fattore che chiameremo “errore di localizzazione”, cioè si misura la posizione del carrello prima e dopo la localizzazione e la differenza sarà il nostro errore. Vedremo come, utilizzare vari tipi di calcolo della differenza tra due punti, influisca sull’errore di localizzazione. Inoltre più rumore è presente più l’errore tenderà ad incrementare. Ultima precisazione: i beacon sono caratterizzati da un identificativo che servirà per identificare quelli che si possono utilizzare o no (troppo lontani, troppo affetti da errori, sensore rotto) e da delle coordinate in cui sono posti. I carrelli sono caratterizzati da delle coordinate e da un identificativo. 43 Il progetto è suddiviso in due fasi, una fase che chiameremo OFF-LINE e una fase che chiameremo ON-LINE. 3.1.1 Fase OFF-LINE Fase OFF-LINE : per la fase off-line si è adottata una strategia di tipo RSS. Innanzitutto si fa un’analisi della scena per vedere eventuali ostacoli e come è creato l’ambiente in cui verrà effettuata la localizzazione. Poi si fa circolare il carrello equipaggiato di un trasmettitore attraverso i punti della griglia e si memorizzano per ogni punto la distanza (come vedremo le distanze utilizzate nel mio algoritmo sono quelle di Manhattan e Chebyshev e verranno messe a confronto con quella euclidea usata nell’algoritmo Mazzini/Taddia) tra esso e tutti i beacon. Tali distanze trovate corrisponderanno alle nostre potenze. Esempio se ho il punto della griglia di coordinate (1,1) e ho 4 beacon su tale griglia, allora verranno memorizzate 4 potenze per il punto (1,1). 3.1.2 Fase ON-LINE Fase ON-LINE : la fase on-line è la vera e propria fase di localizzazione in cui si localizza il dispositivo mobile. Per vedere cosa influenzi la localizzazione in questa parte viene studiata la localizzazione di un solo carrello. Per calcolare quindi la posizione di tale dispositivo mobile basta calcolare la differenza tra le potenze conosciute memorizzate nella fase OFF-LINE e quella del dispositivo mobile sconosciuta. Visto che si è deciso che la potenza corrispondesse alla distanza tra il dispositivo sconosciuto e uno o più beacon conosciuti, per calcolare tale distanza si sono utilizzate varie metodologie per vedere qual è la migliore da utilizzare per la localizzazione. Quindi la metodologia migliore sarà quella che renderà minimo il nostro errore di localizzazione (errore = differenza tra posizione del carrello trovata e quella effettiva). 3.2 Descrizione dell’ambiente L’ambiente in cui verrà effettuata la localizzazione è un supermercato. La nostra simulazione viene fatta utilizzando un modello creato dal professor Mazzini e dalla professoressa Taddia e tale modello è il seguente : la stanza del supermercato viene vista come un parallelepipedo di dimensioni “tot_metri_x X tot_metri_y X altezza”, in particolare le simulazioni avverranno 44 in una stanza quadrata quindi si avrà tot_metri_x = tot_metri_y. Il soffitto del nostro supermercato viene visto come una griglia e la distanza tra le celle che la compongono verrà chiamata “DELTA”. Verranno posizionati dei beacon sulla griglia, tali beacon sono i nostri radio ricevitori e verranno posti ad una distanza tra loro che chiameremo ad esempio “m”. m corrisponderà quindi ad un tot di punti DELTA e verrà espresso in metri. I punti che compongono la nostra griglia saranno quindi: tot_punti = (tot_metri_x/DELTA + 1)*(tot_metri_y/DELTA +1) In seguito viene mostrato uno degli scenari che si può creare avendo a disposizione 4 beacon. Figura 3.1 : Esempio di scenario utilizzato In questo ambiente quindi ci sarà da localizzare il nostro carrello le cui coordinate potranno essere coincidenti con quelle di un particolare punto della griglia o trovarsi all’interno dei quadratini. 45 Figura 3.2 : Esempio di posizione di un carrello Se il carrello si trova su uno dei punti della griglia allora la localizzazione sarà perfetta, mentre se si trova all’interno di un quadratino allora si avrà un errore di localizzazione che non sarà altro che la differenza tra le coordinate del punto della griglia utilizzato per la localizzazione e le coordinate del carrello da localizzare. Questo errore verrà dato da: errore = per l’errore non teniamo conto dell’altezza poiché non influisce sulla localizzazione. Per default teniamo che l’altezza del trasmettitore posto sul carrello sia di 1 metro da terra, l’altezza dei ricevitori posti sul soffitto sia di 7 metri da terra e la lunghezza dei quadratini, cioè la grandezza DELTA, sia di 1 metro (questi valori sono modificabili per esigenze strutturali o di funzionalità). 3.2.1 Condizioni ideali – senza rumore Il progetto si divide in vari spezzoni. Questo studio riguarda l’impatto che si ha avendo a disposizione un ambiente ideale, cioè libero da • rumori causati da dispositivi elettrici (cellulari, computer etc...) • interferenze tra i sensori • interferenze con altri trasmettitori • ostacoli (muri, persone, tavoli etc…) che possono causare attenuazione del segnale o calcoli errati nella localizzazione. Questo caso non è realizzabile in uno scenario reale in quanto è impossibile esista un ambiente ideale senza quanto descritto sopra, ma un ambiente privo di 46 rumore ci serve come prima analisi per capire che cosa può influenzare la localizzazione e quali parametri ne influenzino la precisione. Come già detto un parametro che può influenzare la localizzazione è il metodo per il calcolo della distanza perché sono queste che vengono memorizzate e servono per la localizzazione. Ad esempio le distanze si possono vedere come : Figura 3.3 : Esempio di mappatura della coordinata (0,0) In figura viene mostrato l’esempio sopra in cui le frecce blu identificano le potenze (distanze dalla coordinata 0,0 ai beacon). Come già detto verranno memorizzate 4 potenze relative a quel punto. Altri fattori che influenzano la localizzazione, come vedremo, sono il numero di beacon presenti nella griglia e utilizzabili, la distanza tra i beacon, la grandezza dei quadratini che compongono la griglia. 3.3 Metodi usati per il calcolo della distanza Il modello di riferimento adoperato usa la distanza euclidea per • calcolare le potenze tra i punti della griglia e i beacon inseriti. L’entità centrale che si occupa della localizzazione memorizza per ogni punto che compone la griglia la distanza tra il punto e ogni beacon inserito. • calcolare la posizione del dispositivo mobile da localizzare. Una volta che l’entità ha ricevuto la potenza dal trasmettitore si utilizza la distanza euclidea tra carrello e i beacon e si tiene quella minore. 47 Notiamo quindi che il calcolo della distanza tra i vari punti, beacon e carrello influisca sull’errore di localizzazione. Proviamo quindi a migliorare l’algoritmo di localizzazione usando altre metodologie per il calcolo della distanza invece che quella euclidea. 3.3.1 Metodo esistente : distanza Euclidea Il modello che si prende in considerazione è stato creato dai professori Mazzini e Taddia e, come già detto, utilizza la distanza euclidea. La distanza euclidea è la tipica distanza fra due punti che si potrebbe misurare con un righello, che può essere ottenuta dall'applicazione ripetuta del teorema di Pitagora. Usando questa formula come distanza, lo spazio euclideo diventa uno spazio metrico (più in particolare risulta uno spazio di Hilbert). La letteratura tradizionale si riferisce a questa metrica come metrica pitagorica. Ad esempio dati due punti in tre dimensioni e la distanza è calcolata come 3.3.2 Metodo creato : distanza Manhattan Formalmente, si può definire la distanza nella geometria del taxi (in inglese Manhattan distance), indicata come distanza L1, tra due punti nello spazio euclideo con un fissato sistema di coordinate cartesiane, la somma delle lunghezze delle proiezioni sugli assi cartesiani dei segmenti che congiungono i due punti. Per esempio, nel piano, la distanza L1 tra due punti P1 di coordinate (x1,y1) e il punto P2 di coordinate (x2,y2) è L1(P1,P2) = | x1 − x2 | + | y1 − y2 | . Si noti che la distanza L1 varia se il sistema di assi cartesiani ruota, mentre è invariante per traslazioni degli assi o per riflessioni rispetto ad un asse coordinato. La distanza L1 viene anche detta distanza del taxi, perché è la minore distanza che dovrebbe essere percorsa da un'automobile per muoversi tra due punti situati in una città suddivisa in isolati quadrati, come Manhattan o Torino (tralasciando naturalmente i sensi unici e le eventuali strade oblique, e anche il fatto che nelle città le strade esistono solo ai bordi degli isolati, non esiste la 3.14-esima strada). Ogni percorso che va da un punto a un altro punto situato 3 isolati a est e 6 isolati a nord dovrà essere lungo almeno 9 isolati. Tutte le strade più dirette sono lunghe esattamente 9 isolati. Rispetto alla geometria euclidea, 48 nella geometria g del taxi non n vale ill primo crriterio di congruenz c za dei trian ngoli: è possibiile generaare due triangoli t diversi av venti duee lati e ll'angolo fra f essi compreeso ordinatamente congruennti. Riman ne valido, invece, il postulatto delle paralleele. Vediaamo ora un esemppio graficco mettenndolo a confronto con la distanzza euclideaa : Figgura 3.4 : Esempio E d distanza di a euclideaa e Manhaattan metria dell taxi: le liinee rossa,, blu e giaalla hanno tutte la Geomeetria eucliddea e geom stessa lunghezzaa (12) sia nella n geom metria eucclidea che in quella del taxi. La L linea nella geeometria euclidea, ma contiinua ad verde ha lungheezza l a 12 in queella del taxxi (non è quindi q più corta dellle altre). avere lunghezza 3.3.3 Metodoo creato : distanzza Cheby yshev l distanzaa di Chebbyshev, co onosciuta anche a com me distanzza della In mattematica, la scacchhiera, tra due d punti p e q nelloo spazio eu uclideo coon le coorddinate stan ndard pi and qi rispettivam mente è: La disstanza di Chebyshhev è unaa versionee finito-ddimensionaale della norma uniform me. In duee dimensiooni, per essempio nella geomeetria piana, se due pu unti p e q hannno coordinnate cartesiiane (x1,y1) e (x2,y2), ) la loro distanza d è 49 3.4 Differenze basilari tra i due algoritmi utilizzati Passiamo ora ad analizzare e descrivere in maniera sostanziale le cose comuni e le differenze tra i due algoritmi utilizzati. Entrambi gli algoritmi eseguono le seguenti operazioni : • creazione mappa : ogni elemento della mappa contiene le distanze trovate in fase OFF-LINE tra il punto stesso della mappa e i sensori posti nella mappa. • Localizzazione del carrello tramite la mappa creata nella fase OFF-LINE. La localizzazione viene fatta calcolando la distanza tra il carrello e i sensori, serve per simulare eventuali errori di localizzazione. La differenza sostanziale tra i due algoritmi sta nel calcolare la distanza con metodologie differenti per vedere se si può migliorarne/peggiorarne le prestazioni. 3.4.1 Creazione Mappa L’algoritmo Mazzini/Taddia preso in esame utilizza per la creazione della mappa la metodologia della distanza euclidea, tale algoritmo è il seguente : Tale metodologia è stata riportata nel mio algoritmo per la simulazione e confronto. La fase iniziale è la stessa per tutte e tre le metodologie utilizzate poiché la mappa non è altro che un insieme di punti caratterizzati da delle coordinate e appunto dalle potenze (distanze tra punto e sensori presenti nella 50 scena). L’algoritmo sopra è stato modificato per utilizzare il calcolo della distanza con Manhattan nel modo seguente : Come si nota dal codice la prima parte è uguale all’algoritmo Mazzini/Taddia mentre la seconda parte è stata modificata per il calcolo della distanza con Manhattan. Come vedremo in seguito i risultati ottenuti con questa metodologia peggioreranno di molto le prestazioni dell’algoritmo e quindi si è cercato di trovare una nuova metodologia di calcolo della distanza per migliorare le prestazione dell’algoritmo. Si è modificato quindi l’algoritmo di cui sopra usando la metodologia della distanza di Chebyshev, nel modo seguente : 51 Anche in questo caso la prima parte è rimasta uguale mentre la seconda parte è stata modificata. Come si vedrà in seguito dai risultati ottenuti, questa metodologia è risultata la migliore in quanto produce un errore di localizzazione del carrello (cioè differenza tra posizione reale del carrello e quella stimata dall’algoritmo) minore delle altre tre metodologie. 3.4.2 Localizzazione Una volta creata la mappa si passa, come ampiamente detto, alla localizzazione vera e propria. Anche in questo caso per la localizzazione si utilizza il calcolo della distanza tra i sensori disponibili per la localizzazione e il dispositivo mobile da localizzare. Entrambi gli algoritmi eseguono i seguenti passi : • Creazione casuale delle coordinate del carrello da localizzare • Localizzazione del carrello tramite le potenze dei sensori inseriti nella mappa. Per ogni punto della mappa vado a trovare la somma delle distanze minore tra carrello e beacon. L’algoritmo Mazzini/Taddia utilizza la distanza euclidea anche per la localizzazione una parte dell’algoritmo è il seguente : La variabile somma servirà per calcolare il punto della mappa che ha tale somma minore da utilizzare nella localizzazione. Vediamo come modificando il calcolo della distanza tra i sensori e il carrello le prestazione dell’algoritmo aumentino/peggiorino. Per prima cosa, come nella creazione della mappa, ho provato a modificare l’algoritmo come segue : 52 L’algoritmo sopra utilizza la distanza Manhattan ma come vedremo dai risultati ottenuti in seguito le prestazioni dell’algoritmo peggiorano. Quindi l’algoritmo è stato modificato utilizzando la metodologia di calcolo della distanza di Chebyshev come segue : Utilizzando questa metodologia, come si vedrà in seguito dai risultati ottenuti, le prestazioni dell’algoritmo migliorano rispetto quello di Mazzini/Taddia. 3.5 Confronto e analisi dei risultati Passiamo ora all’analisi dei risultati ottenuti confrontandoli con quelli dell’algoritmo già esistente. Vediamo come, calcolare la distanza tra i punti della griglia e i beacon con diverse metodologie, influisca sull’errore di localizzazione. Tenendo inalterati i parametri DELTA e m vediamo come influiscono le varie metodologie. Le metodologie utilizzate sono : • distanza euclidea usata dai professori Gianluca Mazzini e Chiara Taddia • distanza di Manhattan usata da me • distanza di Chebyshev usata da me questo ci servirà per trovare la metodologia migliore per la localizzazione. Prendiamo come simulazione un ambiente composto da una distanza tra i beacon di 5 metri, il parametro DELTA di 1 metro (grandezza della cella che compone la griglia) e variamo il numero di beacon per lato nel nostro scenario. 53 Vediamo come varia l’errore di localizzazione di un oggetto utilizzando tre diverse metodologie di calcolo della distanza. Figura 3.5 : Confronto di diverse metodologie per il calcolo della distanza Dal grafico possiamo notare come il differenziarsi del calcolo della distanza influisca particolarmente sull’errore di localizzazione. Vediamo come se si usa il metodo Manhattan l’errore sia molto grande, mentre se utilizziamo le distanze di Euclide o di Chebyshev queste si equivalgano anche se si ottengono risultati migliori utilizzando Chebyshev. Vediamo ora se modificando i parametri DELTA e m cambia qualcosa. Per prima cosa proviamo a vedere se modificando il parametro DELTA queste metodologie influiscono. Aumentiamo il parametro DELTA da 1 metro a 2 metro (ciò significa che la distanza tra i punti della griglia è 2 metri). 54 Figura 3.6 : Confronto di diverse metodologie per il calcolo della distanza, aumentando il parametro DELTA Dal grafico si può notare come i risultati ottenuti non dipendono dal parametro DELTA, infatti confrontando i due grafici non si notano differenze tra le tre metodologie. L’errore di localizzazione come si nota da questi due grafici dipende fortemente dal parametro DELTA in quanto a parità di metodologie l’errore è aumentato di quasi il doppio. Proviamo ora a variare il parametro m (cioè la distanza che separa due beacon adiacenti). Proviamo a passare da un m uguale a 5 metri a un m uguale a 30 metri per vedere se le tre metodologie influiscono sull’errore. 55 Figura 3.7 : Confronto di diverse metodologie per il calcolo della distanza, aumentando il parametro m In questo caso si può notare come aumentando il parametro m l’errore di localizzazione varia soltanto se si usa una metodologia Manhattan mentre per i metodi di Euclide e Chebyshev non varia. Se confrontiamo questo grafico con il precedente si nota che mentre variando il parametro DELTA l’errore aumenta per tutte e tre le metodologie, mentre variando m varia soltanto l’errore per la distanza Manhattan. 3.5.1 Conclusioni sui risultati ottenuti Dalle prove e dai grafici ottenuti fin’ora possiamo fare qualche conclusione. Se utilizziamo un valore unico per il parametro DELTA allora l’errore dipende dal numero di beacon che si utilizzano per la localizzazione. Più beacon utilizziamo più avremo la possibilità di utilizzarne uno molto vicino al carrello da localizzare, mentre meno beacon abbiamo meno possibilità avremo di avere un sensore vicino al carrello per la localizzazione. Se cominciamo a variare il parametro DELTA allora l’errore dipende molto da questo parametro. In particolare più aumentiamo DELTA più l’errore aumenta in maniera significativa (quasi il doppio per mezzo metro) proprio perché il 56 nostro carrello si potrà trovare in un quadratino più grande e quindi sarà più lontano dai punti “conosciuti” della griglia. Per quanto riguarda le metodologie per il calcolo della distanza cioè Euclide, Manhattan e Chebyshev, notiamo come solo Manhattan dipenda molto dal parametro m mentre le altre metodologie no. Prendendo in considerazione il parametro DELTA le tre metodologie si comportano in ugual maniera. Per minimizzare quindi l’errore di localizzazione bisogna adoperare la distanza di Chebyshev. 3.6 Problematiche nella fase OFF-LINE Può succedere che durante la fase OFF-LINE del nostro algoritmo, alcuni sensori non funzioni e quindi non possono essere utilizzati per la localizzazione. Le cause che portano al malfunzionamento dei beacon sono molteplici: • rottura del sensore • scaricamento della batteria del sensore stesso Può succedere inoltre che ci siano persone e ostacoli che interferiscono nella nostra fase OFF-LINE. Questo può causare interferenze e rumore e rendere inutilizzabile un beacon poiché viene “oscurato”. Per vedere come un beacon attivo o non attivo influenzi la localizzazione, nell’algoritmo dei professori Mazzini e Taddia è stato introdotto il concetto di probabilità dei beacon. Tale concetto rappresenta la probabilità che un beacon sia utilizzabile o meno nella fase OFF-LINE. Se un beacon non è attivo non si può utilizzare la sua potenza per la localizzazione di un carrello. La probabilità, per semplicità, è stata considerata come uniformemente distribuita. La probabilità che un beacon sia attivo o meno influisce, come vedremo, nell’errore di localizzazione. Noteremo infatti come la presenza di meno beacon nella griglia possa incrementare in modo esponenziale l’errore di localizzazione. Il mio scopo è quello di vedere se, utilizzando varie metodologie di calcolo della distanza, l’errore di localizzazione ne è influenzato o meno poiché, come ampiamente detto, l’errore di localizzazione dipende fortemente dal numero di sensori posti nella griglia. Ad esempio prendiamo il caso in cui si abbiano a disposizione 5 beacon per lato (25 beacon totali nella griglia), e vediamo come l’errore di localizzazione si comporta variando la probabilità di togliere uno o più beacon dalla griglia. Prendiamo come valore del parametro m (distanza tra 2 sensori) una distanza pari a 10 metri e il parametro DELTA (lunghezza delle celle che compongono la griglia) uguale a 1 metro. 57 Figura 3.8 : Grafico della probabilità del numero di beacon Prima di analizzare il grafico soprastante dobbiamo precisare che più la probabilità è alta, più si tolgono beacon dalla griglia. Infatti se la probabilità è 0 si ottengono gli stessi risultati avuti fino adesso, mentre se la probabilità è 0.9 se ne ottengono di diversi. Notiamo dal grafico come l’errore dipende molto dal numero di beacon presenti nella griglia, infatti più la probabilità è alta e più l’errore di localizzazione aumenta in maniera esponenziale. Le metodologie di calcolo della distanza euclidea e di Chebyshev si equivalgono, in alcuni punti assumono addirittura lo stesso valore mentre la metodologia Manhattan assume anche in questo caso valori più altri rispetto alle altre due metodologie. Con gran sorpresa però l’errore di localizzazione non varia enormemente come nei risultati ottenuti fino ad ora. In conclusione quindi si può affermare con certezze che le metodologie migliori che si possono utilizzare per il calcolo della distanza nella localizzazione sono sia quella euclidea sia quella di Chebyshev anche se quella Chebyshev tende ad essere leggermente migliore per i casi visti fin’ora. 58 3.7 Introduzione del rumore nell’ambiente ideale Fino ad ora abbiamo considerato un ambiente ideale privo di rumori su cui effettuare delle prove per vedere che fattori influiscono sulla localizzazione di un dispositivo in ambiente indoor. Un ambiente così ideale non può esistere poiché la sola presenza del pavimento e dei muri influisce di molto sul segnale da trasmettere. Per avere un piccolo esempio di quanto detto basta considerare i seguenti modelli : • Perdita in spazio libero. La perdita in spazio libero è espressa nella seguente formula: Lfs = A + B log10 (d) in cui d è la distanza dal trasmettitore ed I coefficienti A e B dipendono dalle caratteristiche dell’ ambiente • Modello di attenuazione dalle pareti. Il modello di attenuazione dovuto ai muri/pareti è dato dalla seguente formula: Lwall = Wf1*n1 + Wf2*n2 +……..+ Wfw*nw In cui nw è il numero di muri/pareti attraversate mentre Wfw è il fattore di muro dipendente dal materiale di cui è fatta la parete. La tabella seguente fornisce alcuni valori dell'attenuazione per diversi ostacoli a 60 GHz: MATERIALE cemento vetro vernice gesso ATTENUAZIONE A 60 GHz 71.5 dB 2 dB 2 dB 8 dB • Modello di attenuazione del pavimento. Il modello di attenuazione dovuto al pavimento è espresso dalla formula seguente: Lfl = Ff1*m1 + Ff2*m2 + …….. + Fff*mf In cui mf è il numero di pareti che viene attraversato e Fff è un coefficiente che caratterizza il pavimento f-simo. A questi esempi bisogna aggiungere anche la presenza di eventuali ostacoli come banconi, sedie, cavalletti etc…, e la presenza di clienti e dell’operatore stesso che effettua la fase OFF-LINE. 59 Per siimulare la l presennza di rumore r all’interno a del nosstro l’am mbiente, nell’alggoritmo di d localizzzazione dei profeessori Maazzini e Taddia è stato introdootto il rum more gausssiano. Nell mio algo oritmo, innvece, introdurrò il rumore di Rayyleigh e meetterò a coonfronto i vari risulttati ottenuuti. 3.7.1 Rapporrto segnaale/rumoore Il rappporto segnnale/rumorre, spesso abbreviatto con la sigla ingleese SNR (Signal to Noiise Ratio) o S/N annche nell''uso italiaano, è unaa grandezzza numeriica che mette in i relazionne la potenza del seegnale utille rispettoo a quella del rumorre in un qualsiaasi sistemaa di acquisizione, elaborazion ne o trasm missione dell'inform mazione. Può essere appliicato indiffferentemeente a sisteemi di nattura ottica,, elettronicca, ecc. mentale nelll'ambito del d trattam mento dei segnali e si traatta di unaa grandezzza fondam e dellaa teoria dell'inform mazione. Un U qualsiaasi sistemaa che debbba traspo ortare o trattaree informazzioni è inffatti affettoo da rumore, primo fra tutti ill rumore teermico. Il rappporto seggnale/rumoore è un numero puro, daato dal raapporto fra f due grandeezze omoggenee, chee esprime quanto il segnale sia s più potente del rumore nel sisttema conssiderato. È espresso dalla relaazione: dove Psegnale è laa potenza del segnaale utile e Prumore la potenza ttotale del rumore presente nel sistema, granndezze queeste solitam mente esppresse in w watt o dBm m. È un m mollto importtante per il dimenssionamentto dei sisttemi di parameetro di merito telecom municaziooni. Più è basso b l'SN NR, infattii, e più sarrà difficolltosa la riccezione del segnale. Neel caso di d trasmissioni anaalogiche una u diminnuzione di d SNR mina un deeperimentoo graduale della qu ualità del segnale riicevuto (ssi pensi determ ad eseempio ad una radio FM chhe ricevee male o ad un televisore in cui compaaiono auddio o viddeo distuurbati: tip pici casi di SNR basso); per le trasmisssioni anaalogiche tuuttavia è l'uutente finaale a stabiilire una sooglia di frruibilità del sistema. La L soglia minima di SNR R è deterrminata ddalla tecn nologia p dii un sistem ma di telecomunicaazioni il dell'apparato riccevente; inn fase di progetto n SNR primo obiettivoo è quinndi quelloo di far perveniree al riceevitore un F il rapporto segnale/ruumore è uno u dei sufficieentementee elevato. In Alta Fedeltà parameetri di merito fondaamentali, anche a se non n l'unico, per la vvalutazion ne delle prestazzioni di unn impiantoo per quelllo che con ncerne la pulizia p dell suono prrodotto, tanto che c i pream mplificatoori di fasciia alta son no realizzaati in due ddistinti tellai, uno contennente il circuito ampplificatore,, l'altro il circuito c allimentatorre. 60 3.7.2 Rumore Gaussiano A causa della sua trattabilità matematica sia nel dominio spaziale che nel dominio delle frequenze, i modelli di rumore Gaussiano (detto anche normale) sono usati frequentemente in pratica. Questa trattabilità è così conveniente che spesso i modelli Gaussiani vengono usati in contesti in cui sono applicabili solo marginalmente. La PDF di una variabile Gaussiana casuale z è data da : dove z rappresenta la nostra variabile, μ è il valor medio di z, e σ è la sua deviazione standard. La deviazione standard quadrata è detta varianza di z. Il grafico di questa funzione è : Figura 3.9 : Distribuzione di Gauss Quando z è descritto dalla relazione p(z), approssimativamente il 70% dei suoi valori si troveranno nell’intervallo [(μ-σ),(μ+σ)] mentre il 95% sarà nell'intervallo [(μ-2σ),(μ+2σ)]. TRASFORMAZIONE DI BOX-MULLER La trasformazione di Box-Muller è un metodo per generare coppie di numeri casuali indipendenti e distribuiti gaussianamente con media nulla e varianza uno. La trasformazione viene comunemente espressa in due forme. La forma principale è quella del lavoro originale: si campionano due numeri dalla 61 distribuzione uniforme sull'intervallo (0,1] e si ricavano de numeri distribuiti normalmente. La forma polare campiona due numeri su un intervallo differente ([ − 1, + 1]) e permette di ricavare due numeri distribuiti normalmente senza l'uso delle funzioni seno e coseno. La forma polare funziona nel modo seguente : assegnati u e v, indipendenti ed uniformemente distribuiti nell'intervallo chiuso [−1,+1], si pone s = R2 = u2 + v2. Se s = 0 o s > 1, si trascurano u e v e si considera un'altra coppia (u,v). Si continua fino a trovare una coppia con s nell'intervallo aperto (0,1). Dal momento che u e v sono distribuiti uniformemente e poiché solamente i punti all'interno della circonferenza unitaria sono stati accettati, anche i valori di s saranno distribuiti uniformemente nell'intervallo aperto (0,1). Il valore di s si identifica con quello della forma base, U1. I valori di cosθ = cos2πU2 e sinθ = sin2πU2 nella forma base possono essere sostituiti con i rapporti e rispettivamente. Il vantaggio è dato dalla mancata valutazione delle funzioni trigonometriche (che è un'operazione più onerosa di un rapporto). Così come per la forma base, si sono ottenute due variabili gaussiane a varianza unitaria. e Per generare due numeri casuali con distribuzione N(μ,σ2) si calcolano : y1 = μ+σZ0 e y2 = μ+σZ1 3.8 Confronto e analisi dei risultati in ambiente non ideale Analizziamo il caso in cui nel canale sia presente del rumore gaussiano. Il rumore gaussiano è stato adoperato dai professori Mazzini e Taddia per simulare presenze di interferenze nella localizzazione. Per inserire il rumore gaussiano all’interno del nostro canale basterà sommare una distribuzione gaussiana ad ogni potenza rilevata in fase OFF-LINE e alla fase di localizzazione. Vediamo se utilizzando una metodologia di calcolo della distanza diversa ma la stessa distribuzione gaussiana, si ottengono dei risultati diversi per vedere quale localizzazione è meno affetta da errori. 62 Consideriamo quindi un ambiente con il parametro DELTA = 1, con il parametro m = 10 metri, con un numero di beacon per lato di rispettivamente 3,4,5,6,7,8,9 . Variando il parametro SIGMA della distribuzione gaussiana e quindi l’interferenza creata vediamo come l’errore di localizzazione varia. Analizziamo ora i risultati da me ottenuti con la distanza di Chebyshev, la distanza di Manhattan è stata esclusa a priori poiché dava un errore troppo alto. Figura 3.10 : Distribuzione gaussiana con la distanza di Chebyshev Come si può notare dal grafico, utilizzando la distanza di Chebyshev, l’errore di localizzazione dipende fortemente dal parametro m. Mettiamo ora a confronto i due algoritmi utilizzando lo stesso scenario descritto sopra. L’algoritmo di confronto utilizza la distanza euclidea invece che quella di Chebyshev. 63 Figura 3.11 : Distribuzione gaussiana : confronto tra i due algoritmi Il grafico mostra il confronto dei risultati ottenuti inserendo come rumore la distribuzione gaussiana. L’algoritmo da me creato è quello che ha come risultati le linee rosse, mentre l’algoritmo di confronto ha come risultati le linee blu. La variazione dei risultati viene fornita modificando il parametro SIGMA 0, 1, 3, 5 come mostrato in figura 3.10. Si nota subito come più il parametro SIGMA aumenta e più l’errore di localizzazione aumenta, tale errore aumenta anche se si aumentano il numero di beacon presenti nella scena. Se si ha SIGMA = 0 allora si ricade nell’ambiente ideale scritto sopra. Si nota anche come il mio algoritmo ha un errore di localizzazione minore. Si può notare come l’errore con la distanza euclidea cresca in maniera esponenziale rispetto alla lineare della distanza di Chebyshev. 3.8.1 Conclusioni sui risultati ottenuti in ambiente non lineare Se nel nostro ambiente è presente del rumore e simuliamo tale rumore con una distribuzione gaussiana allora, come visto dai grafici ottenuti, si può notare 64 come l’errore di localizzazione dipenda dal numero di sensori presenti all’interno della scena poiché si creano interferenza tra loro. Il parametro SIGMA simula la presenza di interferenze nella nostra stanza e più tale parametro viene aumentato, più il nostro errore verrà incrementato. Tale risultato dipende dal fatto che più interferenze sono presenti, più i segnali che serviranno per la nostra localizzazione (nel nostro caso le potenze), si affievoliranno. Taluni sensori infatti saranno talmente affetti da interferenze che saranno inutilizzabili e quindi l’errore verrà incrementato. L’errore di localizzazione però sarà più basso se si utilizza la metodologia di calcolo della distanza di Chebyshev. 65 66 Capitolo 4 Localizzazione di più oggetti mobili indoor In questo capitolo verrà spiegato l’algoritmo di localizzazione utilizzato. In particolare viene studiata la localizzazione di più carrelli mobili in un supermercato. In questa parte verrà creata una nuova metodologia per la localizzazione di tali carrelli e si vedrà l’impatto che il numero di carrelli presenti nella scena e l’utilizzo di molti o pochi beacon possano influenzarne la localizzazione. 4.1 Descrizione progetto Il progetto che verrà presentato è una miglioria di quello spiegato nel capitolo 3 in quanto il primo era atto a vedere cosa poteva influire sulla localizzazione, mentre adesso si studierà come si può effettivamente localizzare un oggetto mobile quando ne sono presenti altri da localizzare. Infatti, più oggetti mobili che trasmettono la propria potenza per poter essere localizzati, possono creare interferenze tra loro e quindi alcuni sensori, utilizzati per la localizzazione, verranno tolti. In particolare ad ogni trasmettitore verranno associati i sensori più vicini per la loro localizzazione. Ricordiamo inoltre che ogni trasmettitore avrà una certa portata, cioè il segnale arriverà solo ad una certa distanza, quindi questo è un altro fattore che influisce sulla sua localizzazione poiché i sensori più lontani non riceveranno tale potenza e quindi non potranno essere utilizzati. Anche in questo caso il progetto è suddiviso in due fasi, una fase che chiameremo OFF-LINE, che è uguale alla fase dell’algoritmo precedente, e una fase che chiameremo ON-LINE diversa dalla fase dell’algoritmo precedente. 4.1.1 Fase OFF-LINE Fase OFF-LINE : per la fase off-line si è adottata una strategia di tipo RSS. Innanzitutto si fa un’analisi della scena per vedere eventuali ostacoli e come è creato l’ambiente in cui verrà effettuata la localizzazione. Poi si fa circolare il carrello equipaggiato di un trasmettitore attraverso i punti della griglia e si memorizzano per ogni punto la distanza tra esso e tutti i beacon. Tali distanze 67 trovate corrisponderanno alle nostre potenze. Esempio se ho il punto della griglia di coordinate (1,1) e ho 4 beacon su tale griglia, allora verranno memorizzate 4 potenze per il punto (1,1). La metodologia che si è scelto di utilizzare in questo nuovo algoritmo è quella di Chebyshev poiché, come visto nel capitolo precedente, a parità di sensori, di rumore, di celle, ha dato migliori risultati. 4.1.2 Fase ON-LINE Fase ON-LINE : la fase on-line è la vera e propria fase di localizzazione in cui si localizzano i dispositivi mobili. I professori Mazzini e Taddia hanno utilizzato, per la localizzazione di più dispositivi mobili, la tecnica di massima verosimiglianza mentre per il mio algoritmo ho utilizzato una tecnica similare alla trilaterazione iperbolica che ho chiamato metodo delle circonferenze. In questa fase oltre alla localizzazione verrà discusso l’eventuale errore di localizzazione e la percentuale di carrelli che si sono potuti localizzare in funzione del numero di carrelli presenti e di sensori utilizzabili. 4.2 Metodologia adottata La metodologia che ho creato per effettuare la localizzazione è molto simile alla trilaterazione iperbolica. Questa sezione investiga come’è possibile effettuare la localizzazione di più carrelli nella stessa stanza. Ogni carrello trasmette ad ogni istante di tempo un identificativo e la propria potenza. Queste informazioni vengono passate a tutti i beacon presenti nella scena. Se ogni beacon venisse utilizzato per la localizzazione di tutti i carrelli si avrebbe un vero e proprio caos in quanto i segnali sono affetti da interferenze e quindi la localizzazione non sarebbe esatta. Bisogna quindi fare in modo che un carrello venga localizzato solo da beacon liberi, cioè quelli che, in quel momento, non sono utilizzati per localizzare altri carrelli. Per risolvere questo il mio algoritmo assegna ad ogni carrello presente nella scena i due beacon più vicini. Come spiegato nel capitolo precedente la vicinanza tra beacon e carrello è data dalla distanza memorizzata come potenza nella fase OFF-LINE. 68 4.2.1 Fase 1 : Assegnazione dei beacon ai carrelli Vediamo in seguito il principio di assegnazione dei beacon ai carrelli studiandone le varie possibilità in cui si può incappare. Ad esempio se ho 9 sensori e 4 carrelli da individuare un esempio di scena potrebbe essere la seguente : Figura 4.1 : Esempio di assegnazione beacon ai carrelli Come si nota dalla figura 4.1 ad ogni carrello presente vengono assegnati i 2 beacon ad esso più vicini. In questo esempio un beacon non viene utilizzato ma potrebbe essere assegnato ad uno dei carrelli se uno dei sensori già assegnati non funzionasse. Quando un beacon viene assegnato ad un carrello esso passa in uno stato di “occupato” e non potrà essere temporaneamente disponibile per la localizzazione di altri carrelli. Una volta che il carrello è stato localizzato allora il sensore passa dallo stato “occupato” allo stato “libero” e può essere riutilizzato per la localizzazione di un altro carrello o dello stesso se necessario. Nell’esempio in figura il beacon di coordinate (3,3) è nello stato “libero” mentre gli altri otto sono “occupati”. Quello appena mostrato è un caso ideale in quanto ci sono 2 sensori disponibili per ogni carrello e quindi a scapito di interferenze si avrebbe una localizzazione dei carrelli perfetta. Questo caso si verifica quando : totale carrelli * 2 <= beacon disponibili 69 Analizziamo ora il caso in cui entri un altro carrello nella stessa scena precedente. Figura 4.2 : Esempio di assegnazione di 1 beacon ad un carrello L’entrata nella scena di un nuovo carrello non và ad interferire con la localizzazione degli altri carrelli in quanto i beacon sono già occupati. Nel caso in figura 4.2 l’unico beacon a disposizione per l’assegnamento è quello compreso nel cerchio giallo ma se fosse assegnato al carrello questo non sarebbe localizzabile in quanto potrebbe essere localizzato in ogni posizione del cerchio giallo avendo un errore di localizzazione alto. In questo caso quindi se il carrello deve essere localizzato subito, cioè quando tutti gli altri otto beacon sono occupati, allora non è localizzabile. Se invece il carrello deve essere localizzato dopo un tot di tempo, e in questo lasso di tempo uno o più beacon vengono liberati, allora allo stesso verranno assegnati due beacon liberi e potrà essere localizzato. L’assegnazione però non è sempre perfetta, cioè non sempre si ha la possibilità di assegnare i due beacon più vicini ai carrelli. Ad esempio se i carrelli sono tutti concentrati in una stessa cella o in più celle (nel caso reale questo può succedere quando il supermercato offre un prodotto sottocosto), oppure devono essere localizzati dei carrelli che si trovano nell’area di beacon tutti occupati ma nella scena sono presenti ugualmente dei beacon liberi. Vediamo quindi in questi casi come vengono fatte le assegnazioni. 70 Figura 4.3 : Esempio di concentrazione dei beacon in un’area La figura 4.3 mostra un esempio di scenario in cui i carrelli si concentrano in una zona della nostra stanza e i beacon più vicini ai carrelli sono già stati assegnati. Come avviene in questo l’assegnazione dei carrelli con i beacon liberi? Vengono assegnati i beacon più vicini uno alla volta finché ce ne sono ai carrelli presi in modo causale. Ad esempio si può avere: Figura 4.4 : Esempio di assegnazione non perfetta 71 In questo caso un carrello (nel cerchio giallo) rimane fuori dall’assegnazione a causa della mancanza di beacon liberi nella scena mentre gli altri carrelli “occupano” i beacon anche se non quelli più vicini in base alla minima distanza che hanno con i beacon liberi rimasti. 4.2.2 Fase 2 : Metodo delle circonferenze Una volta che si hanno a diposizione due beacon per ogni carrello si passa alla localizzazione. La localizzazione da me creata è una tecnica similare alla trilaterazione iperbolica ma invece di adoperare tre circonferenze ne vengono adoperate due. Avendo a disposizione le coordinate del beacon e la distanza che separa il beacon dal carrello in esame si può trovare l’equazione della circonferenza che ha come centro le coordinate del beacon in esame e per raggio la distanza tra beacon e carrello. Vengono trovate quindi due equazioni che corrispondono alle due circonferenze che serviranno per la localizzazione. Il sistema che si prende in esame è il seguente: Dove i parametri sono dati rispettivamente da : ( , ( , ) = coordinate del primo beacon ) = coordinate del secondo beacon 2 2 2 2 72 a questo punto basterà trovare l’equazione (1): In cui a,b e d sono dati da: Ora basterà sottrarre membro a membro le due equazioni per trovare : L’equazione appena trovata verrà poi messa a sistema con la (1) per trovare i due punti di intersezione delle circonferenze. L’intersezione tra le due circonferenze produce come risultato o due punti, uno dei quali è la posizione esatta del nostro carrello da localizzare, o un punto che è l’esatta posizione del carrello. Figura 4.5 : Intersezione tra le due circonferenze in due punti In figura 4.5 è mostrato quanto appena descritto. Presi i due beacon di riferimento trovati per la localizzazione si creano le relative circonferenze che hanno come centro le coordinate del beacon e come raggio della circonferenze la 73 distanza tra beacon e carrello. I due punti trovati dall’intersezione delle circonferenze saranno le possibili posizioni del carrello. Figura 4.6 : Intersezione tra le due circonferenze in un punto(1) In figura 4.6 la posizione del carrello è trovata in un solo punto e sarà esatto se il canale non è affetto da errori. Quello mostrato è uno dei scenari in cui si possono trovare le circonferenze ma, per avere un punto come intersezione, le due circonferenze si possono trovare anche nella seguente posizione : Figura 4.7 : Intersezione tra le due circonferenze in un punto(2) 74 4.2.2.1 Criticità del metodo delle circonferenze Il metodo della trilaterazione iperbolica utilizza l’intersezione di tre circonferenze per localizzare perfettamente il punto da localizzare come si può vedere dalla figura seguente : Figura 4.8 : Intersezione tra tre circonferenze Utilizzando tre beacon alla volta però, per la localizzazione, si sprecano gli stessi in quanto se ne occupano di più e si localizzano meno carrelli. Il mio metodo quindi ne adopera solo due ma si incappa comunque in eventuali criticità. Le criticità sono date dalle posizioni che possono assumere le due circonferenze. In particolare si hanno due casi: • Le due circonferenze non si incontrano se i beacon sono molto allineati. Se il canale è affetto anche da un minimo rumore le circonferenze non saranno perfette e non si incontreranno, vediamo in seguito un esempio : 75 Figura 4.9 : Intersezione tra due circonferenze con Beacon allineati In questo caso la localizzazione non potrà essere fatta poiché la presenza di molto errore all’interno del canale “sposta” la localizzazione. Il rumore però non potrà essere sempre presente quindi si potrà effettuare di nuovo la localizzazione dopo un breve periodo di tempo assegnando altri due beacon al carrello. • Le due circonferenze non si incontrano se una circonferenza è inclusa in un’altra. Figura 4.10 : Intersezione tra due circonferenze incluse 76 In questo caso una circonferenza include l’altra e, se il canale è affetto da errori, le circonferenze non si incontreranno mai in nel punto in cui localizzare il carrello. La localizzazione, come nel caso precedente, potrà essere effettuata in un secondo momento. Queste criticità avvengono quando nella stanza è presente molto rumore, nel caso in cui ad esempio siano presenti gruppi di persone, montacarichi etc.. Lo scopo di questo studio è quello di vedere cosa, in assenza di errori, può influenzare la localizzazione. 4.2.3 Fase 3 : Scelta della posizione del carrello Con l’intersezione delle due circonferenze si possono avere due casi. Le circonferenze danno come risultato due punti oppure un punto. Se il risultato è un punto la localizzazione è già fatta in quanto quello stesso punto è la posizione del carrello da localizzare. Se il risultato invece sono due punti bisognerà scegliere quella tra le due esatta. Basterà scegliere quindi quelle coordinate che rendono minimo (in caso di piccoli rumori presenti nella stanza) o nullo (in caso di assenza di rumore) l’errore di localizzazione discusso ampiamente nel capitolo 3. 4.2.4 Localizzazione carrelli senza errore Vediamo ora cosa influenzi la localizzazione dei carrelli nel caso in cui la localizzazione sia perfetta, cioè quando trovo il punto di intersezione delle circonferenze che corrisponde proprio alla posizione di un carrello in esame. Dobbiamo analizzare quindi i fattori che possono influenzare la nostra localizzazione, oltre al rumore presente nella stanza, e vedere in che modo la condizionino. Guardando cosa abbiamo a disposizione per la nostra analisi abbiamo i seguenti parametri che possono condizionare la localizzazione : • Il numero di carrelli presenti nella nostra scena al momento della localizzazione di due o più carrelli. • La distanza “m” tra i beacon. • Il numero totale di beacon presenti nella scena. 77 Per prima cosa vediamo se il parametro “m” (distanza tra i beacon) influenzi la localizzazione. Prendiamo uno scenario composto da 100 carrelli e variamo il numero di beacon per lato da 2 a 9, variamo inoltre il parametro m di rispettivamente 5, 10, 15 metri. Come risultato vogliamo avere la percentuale di carrelli localizzati. Figura 4.11 : Percentuale carrelli con m diversi Come si può notare dal grafico la percentuale di carrelli localizzati non dipende dal valore del parametro “m” e cioè dalla distanza tra i beacon. Infatti per valori di m diversi si ha una percentuale di carrelli quasi uguali per tutte le prove effettuate fino ad un numero di sei beacon per lato. Dal grafico si può fare un’ulteriore considerazione, la percentuale dei carrelli localizzati dipende dal numero di beacon presenti nella stanza in accordo con quanto detto nel capitolo 3. Prendiamo ora in esame uno scenario diverso per vedere se la percentuale di carrelli localizzati dipende o no dal numero di beacon presenti come appena detto. 78 Analizziamo una scena con il parametro “m” uguale a 5 metri e variamo sia il numero di carrelli presenti nella scena prendendo in numero pari da 2 a 14, sia il numero di beacon per lato di rispettivamente 3, 5, 7. Anche in questo caso vogliamo come risultato la percentuale di carrelli localizzati. Figura 4.12 : Percentuale carrelli con numero beacon per lato diversi Come si può notare dal grafico la percentuale di carrelli localizzati dipende fortemente dal numero di beacon presenti nella scena, infatti visto che ad ogni carrello vengono assegnati due beacon, più beacon sono presenti nella scena e più carrelli sarà possibile localizzare. 79 4.2.5 Localizzazione carrelli con errore Può capitare che il canale sia talmente affetto da rumori che la localizzazione può essere “errata”, cioè quando si effettua l’intersezione tra le due circonferenze invece di prendere il punto esatto in cui è localizzato il carrello si prenda quello “opposto. Vediamo con un esempio : Figura 4.13 : Posizione trovata ma errata In figura 4.13 viene mostrata una situazione che può avvenire quindi è utile analizzare l’errore di localizzazione dei carrelli in questi casi. Notiamo come l’errore di localizzazione non è mai maggiore alla lunghezza del diametro della circonferenza più piccola, quindi l’errore di localizzazione dovrebbe dipendere molto da quali beacon si prendono e in che posizione si trovano rispetto al carrello in esame. Analizzando questo tipo di scenario i parametri che possono influenzare l’errore di localizzazione: • La distanza “m” tra i beacon • Il numero di carrelli presenti nella scena • Il numero di beacon presenti nella scena 80 Prendiamo ad esempio il parametro m assegnandogli rispettivamente i valori di 5, 10 e 15 metri e vediamo se questo influenzi il nostro errore. Variamo inoltre il numero di carrelli presenti nella scena da 2 a 14. Figura 4.14 : Errore con localizzazione errata, dipendenza da m Notiamo come l’errore sia molto influenzato dalla distanza tra i beacon proprio perché la localizzazione nel punto errato dipende dalle circonferenze create. Prendiamo ora lo stesso scenario ma con m uguale a 5 metri e con un numero di beacon variabile di 3, 6, 9 per lato. Figura 4.15 : Errore con localizzazione errata, dipendenza dai beacon 81 Analizzando la figura si nota come l’errore dipenda dal numero di beacon presenti nella scena, meno beacon sono presenti più l’errore di localizzazione è alto. 4.2.6 Conclusioni sui risultati ottenuti Se non vengono introdotti rumori nel nostro scenario di simulazione, la localizzazione dei carrelli presenti verrà effettuata in modo perfetto e cioè senza errori di localizzazione. La cosa interessante da analizzare, in questo tipo di scenario, è vedere quali parametri influenzino la percentuale di carrelli che si possono localizzare. Dai risultati ottenuti si nota come più è alto il numero di beacon presenti nella scena e più carrelli vengono localizzati. Si può notare anche come il parametro m (distanza tra i beacon) non influenzi in nessun modo la percentuale di carrelli localizzati. Se si effettua una localizzazione errata, cioè si prende il punto di intersezione delle circonferenze “opposto” alla posizione del carrello, bisogna vedere che errore di localizzazione si introduce per vedere se può essere accettabile o no. Dai risultati ottenuti si nota come questo tipo di errore venga influenzato sia dalla distanza m, infatti più è grande questo parametro più è alto l’errore di localizzazione, e dal numero di beacon, più beacon ci sono più è basso l’errore proprio perché durante l’assegnazione dei beacon ai carrelli si possono prendere quelli più “vicini”. 82 Capitolo 5 Confronto tra gli algoritmi In questo capitolo metterò a confronto il mio algoritmo di localizzazione con quello creato dai professori Mazzini e Taddia. 5.1 Algoritmo Mazzini/Taddia I professori Mazzini e Taddia hanno creato un algoritmo di localizzazione basato sulla tecnica della verosimiglianza. Tale algoritmo viene preso in considerazione perché mi permetterà di capire se l’algoritmo da me creato dà buoni risultati. 5.1.1 Descrizione della metodologia utilizzata Ogni carrello presente nell’area trasmette ad ogni istante il proprio segnale in modo da minimizzare la collisione con gli altri segnali degli altri carrelli. In caso di collisione la localizzazione del carrello non è performante: il carrello potrebbe ritrasmettere il segnale dopo un certo intervallo di tempo. Viene studiato il caso in cui tutti i carrelli trasmettono il proprio segnale contemporaneamente. Questo viene fatto per studiare la percentuale di carrelli localizzati e l’errore di localizzazione. Ogni carrello ha un raggio di copertura. Tale raggio di copertura non deve coprire tutta l’area perché altrimenti la localizzazione diventerebbe nulla in quanto i segnali dei trasmettitori interferirebbero l’uno sull’altro rendendo nulla l’identificazione. I parametri introdotti nell’algoritmo sono : • R : raggio di copertura dei trasmettitori • b : numero di beacon presenti nell’area di copertura di ogni carrello Per simulare la collisione vengono eliminati dalla lista dei beacon quelli che ricevono la potenza da più carrelli. Nella lista verranno quindi lasciati quei beacon che “vedono” solo lo stesso carrello da localizzare. Visto che per la localizzazione si devono avere almeno 4 beacon utilizzabili per avere un errore 83 minimo viene introdotto un parametro chiamato Loc_Threshold che è il minimo numero di beacon utilizzabili per la localizzazione di ogni singolo carrello. L’errore minimo che si ottiene con un Loc_Threshold di 4 è di circa 0.3826. 5.1.2 Conclusioni sull’algoritmo preso da confronto L’algoritmo di localizzazione Mazzini/Taddia è un semplice approccio che può essere utilizzato per applicazioni indoor. Hanno mostrato come ottenere una buona accuratezza di localizzazione settando alcuni parametri di base come il numero di beacon che compongono la griglia durante la fase OFF-LINE e il numero di celle che compongono la griglia. 5.2 Differenze basilari tra i due algoritmi utilizzati I due algoritmi che si vanno a confrontare eseguono i seguenti passi fondamentali : • creazione mappa • creazione carrelli virtuali per la simulazione • localizzazione carrelli i due algoritmi si differenziano solo per quanto riguarda la fase di localizzazione di più oggetti mobili, infatti uno utilizza una tecnica chiamata massima verosimiglianza, mentre l’altro una metodologia che ho chiamato metodo delle circonferenze. 5.2.1 Creazione mappa e inserimento carrelli L’algoritmo che genera la mappa è lo stesso descritto nel capitolo 3 ma visto che il nuovo algoritmo viene confrontato con quello Mazzini/Taddia bisogna ricreare almeno in parte delle condizioni uguali per poterne fare il confronto. Si è scelto quindi di creare la mappa utilizzando la distanza euclidea. Per quanto riguarda la creazione dei carrelli virtuali all’interno del simulatore il codice è il seguente : 84 5.2.2 Associazione beacon ai carrelli senza collisioni Vediamo ora come poter migliorare o modificare la localizzazione nell’algoritmo Mazzini/Taddia. Per la localizzazione la prima cosa da fare è associare un tot di beacon ai carrelli per poterne trovare la posizione, questi beacon devono essere poter essere utilizzati senza interferenze e collisioni. Vediamo in che modo i due diversi algoritmi evitano la collisione e associano i sensori ai carrelli. L’algoritmo di confronto Mazzini/Taddia utilizza un raggio di copertura in cui ad ogni carrello, inizialmente, vengono associati i sensori all’interno di tale copertura. L’algoritmo che esegue questo è il seguente : L’algoritmo sopra associa tramite una lista ad ogni carrello un tot di sensori da lui visibili nella propria area di copertura, questo viene fatto calcolando la distanza tra il carrello e il beacon e se questa distanza è minore della copertura allora viene “visto” altrimenti no. Una volta fatto questo bisogna eliminare quei sensori che hanno collisione, cioè quelli che “vedono” più di un carrello alla volta. Per fare questo basterà utilizzare per la localizzazione solo quei beacon che “vedono” un carrello alla volta, il codice che simula questo è il seguente : 85 Con questa metodologia per la localizzazione possono essere utilizzati da uno a più beacon indifferentemente, il numero dipende dalla collisione. La localizzazione dipende quindi dal numero di beacon utilizzabili per la stessa. Analizziamo ora il mio algoritmo. Per evitare la collisione si associano inizialmente due beacon ad ogni carrello e, per evitare collisioni future, i beacon vengono “occupati”, questo viene fatto assegnando ad una variabile booleana “occupato” il valore true. L’assegnazione dei due beacon viene fatto con un meccanismo analogo all’algoritmo precedente poiché si associa ad ogni carrello i due beacon disponibili con distanza minima. Il codice che implementa quanto detto è il seguente : Dall’analisi si può dire che entrambi gli algoritmi utilizzano la distanza euclidea per trovare i beacon, da utilizzare per la localizzazione, e implementano un meccanismo per evitare la collisione. Come vedremo in seguito, dai risultati ottenuti, per riuscire a confrontare i due algoritmi basterà assegnare per la 86 localizzazione 2 beacon ad ogni carrello nel mio algoritmo, mentre per quanto riguarda l’algoritmo Mazzini/Taddia basterà assegnare 4 beacon ad ogni carrello. 5.2.3 Localizzazione carrelli mobili Per quanto riguarda la localizzazione vera e propria del dispositivo mobile la differenza tra i due algoritmi è palese trattandosi di due metodologie diverse. È bene comunque esporre e spiegare entrambe le metodologie per vedere come diverse metodologie possano produrre risultati uguali o differenti. La localizzazione nell’algoritmo Mazzini/Taddia è stata spiegata ampiamente nel capitolo 3 in quanto, una volta trovati i sensori da poter utilizzare senza collisione, si trova la posizione del carrello o dei carrelli presi in esame. L’algoritmo da me creato utilizza una metodologia che ho chiamato “metodo delle circonferenze”. Una volta assegnato al carrello i due sensori disponibili più vicini si devono trovare le equazioni delle circonferenze come ampiamente spiegato nel capitolo 4. Per prima cosa bisogna trovare i parametri a, b, c che definiscono le equazioni delle circonferenze. Il codice che trova i parametri è il seguente : Una volta trovati i parametri delle due equazioni bisogna mettere a sistema le due equazioni per trovarne i punti comuni. I punti o il punto comune alle due equazioni delle circonferenze sarà la posizione del nostro dispositivo mobile da localizzare. 87 I sistemi da risolvere vengono fatti matematicamente dall’algoritmo e vengono distinti tre casi : • i due beacon da utilizzare sono allineati verticalmente e quindi un parametro “a” sarà uguale a 0. Il codice che implementa questo è il seguente : • i due beacon da utilizzare sono allineati orizzontalmente e quindi il parametro “b” sarà uguale a 0. Il codice che implementa questo è il seguente : 88 • i due beacon da utilizzare non sono allineati e quindi i due parametri “a” e “b” sono diversi da 0. Il codice che implementa questo è il seguente : Come visto quindi i due algoritmi nella localizzazione sono totalmente differenti ma è bene confrontarli per capirne le prestazioni. 5.3 Confronto tra i due algoritmi Per confrontare le prestazioni dei due algoritmi dobbiamo comparare l’errore di localizzazione prodotto e il numero di carrelli localizzati. Visto le diverse metodologie utilizzate per la localizzazione, di default il numero di beacon presi per l’algoritmo Mazzini/Taddia sarà uguale ad un Loc_Threshold di 4, mentre per il mio algoritmo il numero di beacon presi sarà uguale a 2. Questa scelta è stata fatta proprio perché l’algoritmo Mazzini/Taddia dà le massime prestazioni con un numero di beacon utilizzati per la localizzazione di 4; mentre il mio algoritmo funziona con un numero di beacon pari a 2. 5.3.1 Errore di localizzazione Per confrontare l’errore di localizzazione tra i due algoritmi dobbiamo rilevarne le prestazioni in uno stesso ambiente. In seguito verrà calcolato l’errore di localizzazione, per quanto riguarda il mio algoritmo, prendendo a riferimento il caso in cui la localizzazione venga fatta in 89 modo esatto e il caso in cui la localizzazione venga fatta ma in modo errata, cioè prendendo il punto di localizzazione “opposto” a quello reale. Valutiamo l’errore di localizzazione in un ambiente ideale, cioè senza rumore, in cui il parametro m è uguale a 5 metri e sono presenti 100 beacon nel nostro scenario e valutiamo l’errore per un numero di carrelli variabile tra 2 a 14. Figura 5.1 : Confronto tra gli errori di localizzazione (1) Analizzando la figura 5.1 notiamo che nel mio algoritmo l’errore di localizzazione è sempre zero, in un ambiente ideale, in quanto la localizzazione viene fatta matematicamente con l’intersezione tra le due circonferenze e quindi il calcolo della posizione è preciso al millimetro. L’errore di localizzazione dell’algoritmo Mazzini/Taddia non supera mai lo 0.4 ed è quindi un errore minimo e accettabile. 90 Confrontiamo ora l’errore di localizzazione nel caso in cui nel mio algoritmo venga preso il punto “errato” di posizione del carrello, cioè il secondo punto di intersezione delle due circonferenze, utilizzando lo stesso scenario precedente. Questo fatto può succedere in caso di malfunzionamento e tilt del sistema, ma ci serve per valutare ugualmente che errore di localizzazione si avrebbe in questo caso. Figura 5.2 : Confronto tra gli errori di localizzazione (2) In questo caso l’errore di localizzazione non è accettabile in quanto, rispetto all’algoritmo Mazzini/Taddia, è troppo alto. Guardando la figura 5.2 l’unico errore “minimo” si ha nella localizzazione di 4 carrelli ma probabilmente dipende dal fatto che, durante la simulazione, le circonferenze utilizzate per la localizzazione erano molto vicine tra loro. 91 5.3.2 Numero di carrelli localizzati Visto che lo scopo di questo studio è la localizzazione di più carrelli possibile con il minimo errore, è utile valutare quanti carrelli vengono localizzati nei due algoritmi. Anche in questo caso dobbiamo effettuare la simulazione in uno stesso ambiente con gli stessi parametri per valutarne bene le prestazioni. Visto che il numero di carrelli localizzati, in entrambi gli algoritmi, dipende dal numero di beacon presenti nella stanza di simulazione, proviamo a variare proprio il numero di beacon e vediamone le prestazioni. Analizziamo uno scenario che ha un numero di beacon per lato di 5 e un numero di carrelli presenti nella stanza da 2 a 14. Figura 5.3 : Confronto tra il numero di carrelli localizzati (1) Dal grafico in figura 5.3 si può notare come il mio algoritmo abbia prestazioni più elevate con un numero di beacon presenti basso. Questo succede perché ad ogni carrello vengono assegnati 2 beacon per la localizzazione e quindi più sono presenti beacon nella scena e più carrelli vengono localizzati. Nell’algoritmo 92 Mazzini/Taddia invece il numero di carrelli localizzati è basso in quanto i pochi beacon presenti creano collisione fra loro e, più il numero di carrelli presenti nella scena è elevato, più il numero di carrelli localizzato è basso. Solitamente però, in un ambiente reale, il numero di beacon presenti nel nostro scenario è maggiore in quanto 25 sensori sarebbero troppo pochi da utilizzare. Proviamo quindi a vedere il numero di carrelli localizzati aumentando il numero di beacon da 5 per lato a 20 per lato. Figura 5.4 : Confronto tra il numero di carrelli localizzati (2) Dalla figura 5.4 si nota subito come aumentando il numero di beacon per lato i due algoritmi aumentino di prestazione. Il numero di carrelli localizzati infatti aumenta. Il miglioramento dell’algoritmo Mazzini/Taddia è netto rispetto all’esempio precedente mentre il mio algoritmo è lineare. 93 5.4 Conclusioni sul confronto Confrontando le prestazioni dei due algoritmi si nota subito come entrambi dipendano fortemente dal numero di beacon presenti nella scena. Per quanto riguarda l’errore di localizzazione le prestazioni migliori sono quelle del mio algoritmo anche se l’errore dell’algoritmo Mazzini/Taddia è accettabile. Per quanto riguarda il numero di carrelli localizzati, se prendiamo un numero di beacon per lato basso il mio algoritmo ha prestazioni nettamente migliori, ma se aumentiamo il numero di sensori anche l’algoritmo Mazzini/Taddia ha ottime prestazioni. 94 Capitolo 6 Conclusioni e Sviluppi futuri Lo scopo della tesi è quello di creare un sistema di localizzazione semplice che può essere utilizzato per applicazioni indoor. Un semplice algoritmo di localizzazione è stato anche creato dai professori Mazzini e Taddia ed è servito per confrontarlo con il mio e vedere come si poteva migliorare il loro algoritmo o crearne uno nuovo per migliorare la localizzazione. Inizialmente si è cercato di migliorare l’algoritmo Mazzini/Taddia modificando, come ampiamente spiegato nel capitolo 3, il calcolo della potenza, descritto come distanza tra l’oggetto da localizzare e i sensori utilizzati per la localizzazione stessa. Si è visto come impiegando la distanza di Chebyshev invece che quella euclidea le prestazioni miglioravano anche se non di molto. Utilizzando invece la distanza Manhattan le prestazioni calavano in maniera drastica. Dopo questo studio si è arrivati alla conclusioni che si poteva utilizzare entrambi i metodi, cioè euclideo e Chebyshev, in quanto avevano prestazioni similari. Per verificarne ulteriormente le prestazioni abbiamo introdotto il rumore gaussiano e variando il parametro sigma, in entrambi gli algoritmi si è visto che utilizzando la distanza di Chebyshev l’errore di localizzazione è più basso rispetto a quella euclidea. Si è deciso poi di creare un nuovo algoritmo di localizzazione utilizzando lo stesso sistema di riferimento dell’algoritmo Mazzini/Taddia, utilizzando cioè la griglia di beacon e la potenza calcolata come distanza tra carrello e beacons. La mia idea utilizza una metodologia simile alla trilaterazione iperbolica e l’ho chiamata metodo delle circonferenze. L’idea è quella di assegnare, con un meccanismo adatto, due beacon per carrello ed effettuare tale localizzazione solo con essi. Dai due beacon si possono trovare le circonferenze composte dalla distanza che funge da raggio e dalle coordinate del beacon che fungono da centro. L’intersezione tra le circonferenze può dare diversi risultati come spiegato ampiamente nel capitolo 4. 95 Per capire se il mio algoritmo ha le stesse, migliori o peggiori prestazioni di quello Mazzini/Taddia dobbiamo fare la simulazione creando lo stesso ambiente, cioè utilizzando gli stessi parametri, per entrambi gli algoritmi. Nel capitolo 5 vengono effettuate le prestazioni calcolando l’errore di localizzazione che si può avere e il numero medio di carrelli localizzati. Per quanto riguarda l’errore di localizzazione, dai risultati ottenuti, si nota come il mio algoritmo è stato creato per avere un errore pari a zero poiché si concentra a creare una localizzazione perfetta, mentre l’algoritmo Mazzini/Taddia ha un errore di localizzazione di circa 0.378 che è comunque accettabile. Studiando invece il numero di carrelli che si riescono a localizzare si nota come avendo a disposizione un numero di sensori basso presenti nella scena il mio algoritmo abbia prestazioni nettamente migliori mentre aumentando il numero di beacon i due algoritmi hanno prestazioni similari. Come sviluppi futuri si potrebbero avere varie possibilità poiché si può modificare il sistema di riferimento utilizzato per questa simulazione con un altro che nella fase di OFF-LINE levi eventuali rumori presenti nello scenario. Si potrebbe modificare il mio metodo delle circonferenze utilizzando tre beacon per la localizzazione invece che due per avere una localizzazione senza posizione “errata”. Si può modificare lo scenario utilizzato passando da un quadrilatero ad una rettangolo etc.. Si può modificare il calcolo delle potenze utilizzando metodi TOA o AOA. L’algoritmo da me creato è scritto in C++ ed è scalabile, quindi può essere modificato in base all’uso, al funzionamento e all’ambiente in cui si opera per le proprie esigenze. 96 Capitolo 7 Elenco Figure Figura 1.1 : Esempio di rete WI-FI su WEB Figura 1.2 : Esempio di intrusione in un rete wireless Figura 1.3 : Copertura di una cella a Radio Frequenza Figura 1.4 : WLAN a Radio Frequenza (RF) Figura 1.5 : Esempio di interfaccia FHSS Figura 1.6 : Esempio di interfaccia DSSS Figura 1.7 : Livello fisico del modello OSI con lo standard IEEE 802 Figura 1.8 : Meccanismo di Riflessione Figura 1.9 : Meccanismo di Diffrazione Figura 2.1 : Satelliti artificiali Figura 2.2 : Satelliti orbitanti attorno alla Terra Figura 2.3 : Schema funzionamento modulazione PSK Figura 2.4 : Modulazione 2-PSK nel dominio del tempo Figura 2.5 : Ricevitore GPS Figura 2.6 : Localizzazione in ambiente wireless Figura 2.7 : Esempio di mappa radio Figura 2.8 : Esempio di TOA Figura 2.9 : Esempio di TDOA Figura 2.10 : Esempio di AOA Figura 2.11 : Trilaterazione Iperbolica Figura 2.12 : Triangolazione Figura 2.13 : Massima Verosimiglianza Figura 2.14 : Esempio di rete Bayesiana Figura 3.1 : Esempio di scenario utilizzato Figura 3.2 : Esempio di posizione di un carrello Figura 3.3 : Esempio di mappatura della coordinata (0,0) Figura 3.4 : Esempio di distanza euclidea e Manhattan Figura 3.5 : Confronto di diverse metodologie per il calcolo della distanza Figura 3.6 : Confronto di diverse metodologie per il calcolo della distanza, aumentando il parametro DELTA 97 Figura 3.7 : Confronto di diverse metodologie per il calcolo della distanza, aumentando il parametro m Figura 3.8 : Grafico della probabilità del numero di beacon Figura 3.9 : Distribuzione di Gauss Figura 3.10 : Distribuzione gaussiana con la distanza di Chebyshev Figura 3.11 : Distribuzione gaussiana : confronto tra i due algoritmi Figura 4.1 : Esempio di assegnazione beacon ai carrelli Figura 4.2 : Esempio di assegnazione di 1 beacon ad un carrello Figura 4.3 : Esempio di concentrazione dei beacon in un’area Figura 4.4 : Esempio di assegnazione non perfetta Figura 4.5 : Intersezione tra le due circonferenze in due punti Figura 4.6 : Intersezione tra le due circonferenze in un punto(1) Figura 4.7 : Intersezione tra le due circonferenze in un punto(2) Figura 4.8 : Intersezione tra tre circonferenze Figura 4.9 : Intersezione tra due circonferenze con Beacon allineati Figura 4.10 : Intersezione tra due circonferenze incluse Figura 4.11 : Percentuale carrelli con m diversi Figura 4.12 : Percentuale carrelli con numero beacon per lato diversi Figura 4.13 : Posizione trovata ma errata Figura 4.14 : Errore con localizzazione errata, dipendenza da m Figura 4.15 : Errore con localizzazione errata, dipendenza dai beacon Figura 5.1 : Confronto tra gli errori di localizzazione (1) Figura 5.2 : Confronto tra gli errori di localizzazione (2) Figura 5.3 : Confronto tra il numero di carrelli localizzati (1) Figura 5.4 : Confronto tra il numero di carrelli localizzati (2) 98 Capitolo 8 Bibliografia e Sitografia Definizione reti wireless : 1) http://www.ing.unibs.it/~wsnlab/index.htm 2) “La riduzione del Digital Divide e il progetto della provincia di Biella la “banda larga” e le trasmissioni radio: WiFi e dintorni“ Definizione standard IEEE 802.11 1) Joel Conover “Anatomy of IEEE 802.11b Wireless” www.networkcomputing.com 2) www.pianetacellulare.it/Wifi/ Definizione sistema di comunicazione mobile 1) “Wireless Communications Principles and Practice 2nd Edition” - T Rappaport, Prentice Hall-2001 Definizione di sistema GPS 1) http://www.ilmondodelletelecomunicazioni.it/gps/gps.html 2) “La Modulazione dei segnali” - Lezioni di Elettronica – Prof. Eros Rambelli 3) http://www.gpsnavigatorisatellitari.it/funzioni_satelliti.php Definizione Sistema di localizzazione in ambienti indoor 1) Laboratorio di Applicazioni e Servizi ICT – Università degli studi di Bologna, http://www.ingce.unibo.it/ 2) “Costruzione di mappe radio per la localizzazione di terminali basata su wireless LAN IEEE 802.11b” - Roberto Stomeo, Giovanni Cortese, Fabrizio Davide Telecom Italia Learning Services Davide Dardari,Andrea Conti, Oreste Andrisano IEIIT-CNR, DEIS Università degli Studi di Bologna 3) “Metodi Elettromagnetici per la Radio Localizzazione” http://www.gabrielefalciasecca.it/documenti/ Definizione delle varie distanze utilizzate 1) it.wikipedia.org - “distanza euclidea”, “distanza di Chebyshev”, “distanza di Manhattan” Definizione di rumore e dei vari tipi di rumore utilizzati 1) it.wikipedia.org - “definizione di rumore”, “rapporto segnale rumore” 2) http://it.wikipedia.org/wiki/Trasformazione_di_Box-Muller - “definizione di Box-Muller” 3) Università di Roma “Corso di Teoria dei fenomeni aleatori” – “Distribuzione Gaussiana, distribuzione di Rayleigh” 99