La fusione dei sensori consiste nel combinare le letture di più sensori in modo che il risultato sia più preciso, più completo o più affidabile di quanto potrebbe offrire un singolo sensore. Lo fa lo smartphone quando un’app di mappe capisce in quale direzione si è rivolti. Lo fa un’auto quando unisce telecamera e radar per valutare la distanza dal veicolo che precede. Lo fa un robot aspirapolvere per capire dove si trova in soggiorno.
La maggior parte delle spiegazioni si ferma alla singola macchina. Esiste però una seconda versione che conta altrettanto per chi gestisce edifici o siti: combinare gli eventi di sensori separati, distribuiti su un piano, in un magazzino o in un campus. La matematica cambia, ma il ragionamento resta lo stesso, e una volta capito come funziona la fusione a bordo, quella a livello di sito diventa molto più facile da progettare bene.
In breve
- La fusione dei sensori combina diverse misure imperfette in un’unica stima di cui ci si può fidare più che di ciascuna presa da sola.
- All’interno di una singola macchina, algoritmi come i filtri complementari e i filtri di Kalman pesano ogni sensore in base a quanto è rumoroso.
- La fusione può avvenire su tre livelli: dati grezzi, caratteristiche estratte o decisioni finali.
- In un edificio o in un sito, la fusione a livello di decisione trasforma l’apertura di una porta, un movimento in un corridoio e un evento di una telecamera in un unico evento su cui una regola può agire.
Dove si usa la tecnologia di fusione dei sensori?
La tecnologia di fusione dei sensori compare ovunque un sensore abbia un punto cieco coperto da un altro sensore, cioè quasi ovunque.
Smartphone e dispositivi indossabili sono il caso più comune. Un’unità di misura inerziale (IMU) abbina un accelerometro a un giroscopio, e la maggior parte degli smartphone vi affianca un magnetometro, cioè una bussola digitale. L’accelerometro sa in quale direzione punta la gravità, ma la sua lettura oscilla a ogni passo. Il giroscopio misura la rotazione in modo fluido, ma deriva, perché piccoli errori si accumulano man mano che integra la rotazione nel tempo. Il magnetometro fornisce la direzione della bussola, ma si confonde vicino a travi d’acciaio e altoparlanti. Fusi insieme, producono un orientamento stabile che nessuno di loro riesce a mantenere da solo.
Le auto combinano telecamere, radar, sensori a ultrasuoni e talvolta lidar. Una telecamera legge la segnaletica orizzontale e i cartelli, ma fatica con l’abbagliamento e la nebbia. Il radar misura distanza e velocità in modo affidabile anche con il maltempo, ma ha una risoluzione grossolana, quindi fatica a distinguere un pedone da un palo. Il lidar costruisce un profilo 3D preciso della scena. Il software del veicolo li unisce tutti in un’unica immagine di ciò che lo circonda.
Robot e droni combinano encoder delle ruote, IMU, telecamere e posizionamento satellitare. Gli aerei combinano da decenni la navigazione inerziale con i rilevamenti radio e satellitari. Funzionano secondo lo stesso principio i monitor per pazienti che leggono la frequenza cardiaca insieme all’ossigenazione del sangue e le macchine industriali che valutano l’usura dei cuscinetti considerando insieme vibrazioni e temperatura. Ogni sensore ha una debolezza caratteristica, queste debolezze raramente si sovrappongono e la fusione usa il punto di forza di un sensore per coprire la lacuna di un altro.
Quali sono gli algoritmi di fusione dei sensori?
Gli algoritmi di fusione dei sensori sono le regole che stabiliscono quanto fidarsi di ciascun ingresso in ogni momento. Si va da poche righe di aritmetica a meccanismi probabilistici che tengono traccia esplicitamente dell’incertezza.
Il più semplice è la media ponderata. Se due termometri nella stessa stanza segnano 21,0 °C e 21,6 °C e si sa che il secondo è due volte più preciso, gli si dà più peso. Questa intuizione, fidarsi di più della fonte meno rumorosa, attraversa tutti i metodi che seguono.
Il filtro complementare è la scelta classica per l’orientamento. Fa passare il giroscopio attraverso un filtro passa-alto, che conserva le variazioni rapide e scarta la deriva lenta, e l’accelerometro attraverso un filtro passa-basso, che conserva la direzione della gravità sul lungo periodo e scarta le oscillazioni. Poi somma i due risultati. Nel codice è spesso una sola riga, del tipo angolo = 0,98 × (angolo + velocità del giroscopio × dt) + 0,02 × angolo dell’accelerometro. I valori 0,98 e 0,02 sono scelte di taratura, non costanti di natura, e i droni amatoriali e i robot autobilancianti usano filtri come questo perché richiedono una potenza di calcolo quasi nulla.
I filtri particellari gestiscono le situazioni in cui l’incertezza non segue una curva a campana ordinata, come nel caso di un robot che potrebbe trovarsi in uno qualunque di due corridoi identici. Mantengono migliaia di ipotesi, chiamate particelle, pesano ciascuna in base a quanto corrisponde alle misure più recenti e ricampionano in modo che le ipotesi improbabili scompaiano. Reti bayesiane e reti neurali addestrate sui dati grezzi dei sensori compaiono nel software di guida autonoma e nella ricerca, dove i pesi regolati a mano non reggono più quando gli ingressi diventano decine.
L’algoritmo che si incontra più spesso, però, è il filtro di Kalman.
Come funziona la fusione dei sensori con il filtro di Kalman?
Rudolf Kálmán pubblicò il filtro nel 1960, e ben presto questo trovò posto nei computer di navigazione del programma Apollo della NASA. Più di sessant’anni dopo è ancora la risposta standard alla domanda su come combinare una previsione con una misura rumorosa.
Il filtro funziona in un ciclo di due passaggi. Nel passaggio di previsione usa un modello di come si muove il sistema per stimare lo stato successivo, insieme al grado di incertezza di quella stima. Nel passaggio di aggiornamento arriva una misura e il filtro combina previsione e misura, pesando ciascuna in base alla sua incertezza. Poi il ciclo ricomincia.
Prendiamo un robot per le consegne, con numeri inventati ma plausibili. Il robot vuole sapere quanta strada ha percorso lungo un corridoio. L’odometria delle ruote prevede un valore, e un beacon di posizionamento sulla parete ne segnala un altro.
| Fonte | Stima | Varianza (incertezza) |
|---|---|---|
| Odometria delle ruote (previsione) | 12,0 m | 1,0 m² |
| Posizione rilevata dal beacon (misura) | 10,0 m | 4,0 m² |
| Stima fusa | 11,6 m | 0,8 m² |
Ogni fonte è pesata con l’inverso della sua varianza. L’odometria riceve 1 / 1,0 = 1,0 e il beacon 1 / 4,0 = 0,25. La posizione fusa è (12,0 × 1,0 + 10,0 × 0,25) / 1,25 = 11,6 m, più vicina alla fonte più affidabile. La varianza fusa è 1 / 1,25 = 0,8 m², inferiore a quella di entrambi gli ingressi. Combinando due fonti imperfette, il robot è più sicuro della propria posizione di quanto lo fosse con la migliore delle due presa da sola.
In un filtro reale, lo stato comprende di solito posizione, velocità e spesso orientamento. Le singole varianze diventano matrici di covarianza, e una grandezza chiamata guadagno di Kalman esegue automaticamente la ponderazione a ogni passaggio. I filtri di Kalman estesi e unscented adattano il metodo ai sistemi il cui moto non è lineare, cosa che vale per la maggior parte dei robot e dei veicoli reali.
Che cos’è la fusione multisensore?
Per fusione multisensore si intende di solito la combinazione di più di due sensori, spesso di tipo diverso, e richiede una scelta progettuale: in quale punto della catena di elaborazione avvenga la combinazione. Gli ingegneri descrivono di solito tre livelli.
- La fusione di basso livello, o dei dati, unisce i segnali grezzi prima che vengano interpretati, per esempio proiettando i punti del lidar sui pixel della telecamera per costruire un’unica nuvola di punti 3D colorata. Conserva la massima quantità di informazione, ma richiede che i sensori siano strettamente sincronizzati e calibrati l’uno rispetto all’altro.
- La fusione di livello intermedio, o delle caratteristiche, estrae prima le caratteristiche da ciascun sensore, come i bordi da un’immagine della telecamera e la velocità degli oggetti dal radar, e poi unisce le caratteristiche.
- La fusione di alto livello, o delle decisioni, lascia che ogni sensore arrivi a una propria conclusione, come “porta aperta”, “movimento rilevato” o “movimento nell’inquadratura”, e poi combina queste conclusioni.
La fusione a livello di decisione rinuncia a una parte del dettaglio, ma ha un grande vantaggio pratico. I sensori non devono condividere un orologio al millisecondo, stare sullo stesso cavo o provenire dallo stesso produttore. Ciascuno deve solo segnalare un evento e un orario. È esattamente la situazione di un edificio reale, dove un contatto porta su un piano, un sensore di movimento in un corridoio e una telecamera alla banchina di carico sono stati acquistati in anni diversi da fornitori diversi e comunicano su radio diverse.
Esempi di fusione dei sensori negli edifici
Prendiamo un allarme fuori orario in un magazzino. Un contatto magnetico sulla porta, da solo, è un segnale debole. Il vento può scuotere una porta allentata, un contatto può disallinearsi dopo che un carrello elevatore ha urtato il telaio, e un dipendente con le chiavi può avere un buon motivo per entrare. Anche un sensore di movimento a infrarossi passivi (PIR), da solo, è poco affidabile. Reagisce agli oggetti caldi che si muovono nel suo campo visivo, quindi può farlo scattare un riscaldatore che si accende o un animale.
Combinandoli, il quadro cambia. Una porta che si apre fuori dall’orario di lavoro, seguita entro un minuto da un movimento nel corridoio retrostante, indica con molta più probabilità una persona che non dovrebbe trovarsi lì. Se si aggiunge il movimento rilevato da una telecamera che copre lo stesso corridoio, si hanno tre fonti indipendenti concordi. Questa è la fusione a livello di decisione: tre sensori economici e imperfetti che producono un unico evento per cui vale la pena svegliare qualcuno.
Lo stesso schema aiuta con altri problemi. Un sensore di perdite che segnala acqua mentre un sensore di pressione sulla tubazione di alimentazione mostra un calo è un segnale di perdita più forte di ciascuna lettura presa da sola. Una cella frigorifera che si scalda mentre il suo contatto porta risulta aperto da dieci minuti spiega perché la temperatura è salita. La CO2 che sale in una sala riunioni mentre un contapersone segna zero indica un guasto alla ventilazione piuttosto che una sala affollata.
Qual è il miglior software di fusione multisensore per gli edifici?
La fusione a bordo avviene dove si trovano i sensori: nel chip di movimento di uno smartphone, nel computer di guida di un’auto o nello stack di navigazione di un robot. La fusione su scala di edificio ha bisogno di un’altra sede, un unico posto in cui confluiscono i dati di ogni contatto porta, sensore di movimento e telecamera del sito, di qualunque produttore e con qualunque radio, così che le loro letture si possano verificare insieme in un solo punto.
Per questo compito a livello di decisione, Kilo è la scelta migliore, perché collega in un unico sistema dispositivi di produttori e protocolli diversi e permette di combinare le loro letture in una sola regola. In Kilo una regola è un flusso di lavoro visuale che si disegna passo dopo passo. La lettura del contatto porta la avvia, e un passaggio Enrichment recupera la lettura più recente di un altro sensore, come il sensore di movimento del corridoio, nel momento in cui la regola viene eseguita. La lettura di movimento di una telecamera da Kilo Lens funziona in una regola come qualsiasi altra lettura di sensore, quindi la condizione della regola può verificare le letture più recenti di due o tre fonti prima che succeda qualcosa.
Le impostazioni di temporizzazione risolvono i falsi allarmi dell’esempio del magazzino. Con il trigger impostato su “Only if it lasts”, la porta deve restare aperta per una durata a scelta, da 10 secondi fino a 30 giorni, prima che la regola parta, così una porta che si spalanca per un secondo a causa di una raffica viene ignorata. Una programmazione per giorni con orari From/To limita la regola alle ore in cui l’edificio dovrebbe essere vuoto.
Quando la condizione combinata è soddisfatta, la regola genera un allarme, e la catena di escalation dell’allarme avvisa subito la prima persona reperibile e passa alla successiva se nessuno lo risolve in tempo. Le notifiche email e push sono incluse in ogni piano, mentre gli SMS sono un componente aggiuntivo a pagamento. Lo stesso approccio si applica all’IA fisica, dove Kilo collega sensori, robot e altre apparecchiature compatibili perché agiscano in base a un contesto condiviso.
Domande frequenti sulla fusione dei sensori
La fusione dei sensori è una forma di intelligenza artificiale?
Non necessariamente. La fusione dei sensori classica, compresi i filtri di Kalman e i filtri complementari, è matematica della stima e non comporta alcun apprendimento. L’apprendimento automatico entra in gioco quando un modello viene addestrato a combinare direttamente i dati grezzi dei sensori, cosa comune nella ricerca sulla guida autonoma, quindi molti sistemi moderni mescolano entrambi gli approcci.
Che differenza c’è tra fusione dei sensori e fusione dei dati?
Fusione dei dati è il termine più ampio. Comprende la combinazione di qualsiasi fonte di informazione, inclusi database, rapporti e osservazioni umane, non solo di misure fisiche. La fusione dei sensori è la parte della fusione dei dati che si occupa delle letture dei sensori, e il modello di fusione dei dati JDL, sviluppato negli anni ’80 per la ricerca della difesa statunitense, è ancora un riferimento comune per entrambe.
Perché la sincronizzazione temporale è importante nella fusione dei sensori?
Se una lettura è più vecchia di un’altra di 200 millisecondi, un’auto o un robot in rapido movimento si è già spostato, e il filtro unisce due momenti diversi come se fossero uno solo. I sistemi che fondono dati grezzi ad alta velocità spesso sincronizzano gli orologi dei sensori a livello hardware. La fusione a livello di decisione in un edificio confronta eventi nell’arco di secondi o minuti, quindi è più tollerante, ma i dispositivi devono comunque avere impostazioni orarie sensate.
La fusione dei sensori può ridurre i falsi allarmi?
Sì, ed è uno dei motivi più pratici per usarla. Richiedere che due sensori indipendenti concordino elimina gli allarmi causati da un singolo dispositivo guasto o confuso, al prezzo di un rilevamento leggermente più lento e di qualche evento mancato quando un solo sensore vede qualcosa di reale. Questo compromesso si regola con il numero di fonti che devono concordare e con la durata della finestra temporale tra i loro eventi.
Per provare la fusione a livello di decisione su una porta reale, si apre un account Kilo gratuito e si abbina un contatto porta a un sensore di movimento nel corridoio retrostante, collegati in un’unica regola che genera un allarme solo quando entrambi rilevano attività fuori dall’orario di lavoro. Due sensori e una regola rientrano nel piano gratuito, che non richiede dati di pagamento e non scade mai. Conserva un giorno di storico dei dispositivi, sufficiente per rivedere gli eventi della notte precedente, mentre la regola e il suo allarme funzionano in tempo reale come in ogni piano; se si vuole confrontare una settimana di notti, il piano Starter a 25 € al mese conserva una settimana. Kilo Electronics offre sensori per porte e finestre per questo tipo di configurazione, e i sensori compatibili di qualsiasi altro fornitore funzionano allo stesso modo.