Fondamenti di “sensor fusion” Mariolino De Cecco, Luca Baglivo, Mattia Tavernini M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Un manipolatore può essere schematizzato da un punto di vista meccanico come una catena cinematica costituita da corpi rigidi (bracci) connessi mediante giunti rotoidali o prismatici. Ad ogni giunto corrisponde un grado di mobilità Nei manipolatori un estremo è vincolato rigidamente ad una base, all’altro estremo è fissato un organo terminale (end effector). Conoscendo la variabile connessa con ogni giunto (variabile di giunto: angolo per i rotoidali, posizione relativa per i prismatici) la posizione ed orientazione (posa o postura) dell’organo terminale sono univocamente determinati Nel caso dei robot mobili non si hanno vincoli rigidi che ne vincolano la posizione in maniera univoca, bensì ruote (generalmente) che determinano un vincolo di velocità Conoscendo la variabile connessa con ogni giunto (angolo complessivo di rotazione della ruota) non si ha nessuna informazione circa la posa del veicolo M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Cinematica dei Manipolatori e dei robot mobili La navigazione autonoma è intesa come l’insieme delle tecniche per mezzo delle quali si rende un sistema in grado di spostarsi con un certo livello di autonomia in diverse tipologie di ambiente: terrestre, aereo, subacqueo, spaziale, etc. I problemi che nel campo della navigazione autonoma vengono affrontati riguardano innanzitutto la localizzazione del sistema rispetto all’ambiente, la pianificazione del proprio compito e il controllo del moto Un’interessante categoria di sistemi a cui si applica lo studio della navigazione autonoma è quella dei sistemi AGV (Autonomous Guided Vehicles). Essi trovano ormai largo impiego in industrie, porti, aeroporti, ospedali, etc, tuttavia misurare la posizione e l’assetto di un veicolo è ancora un problema di consistente interesse M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Il sensor fusion è il processo che combina le informazioni provenienti da un certo numero di sorgenti differenti per fornire una descrizione completa e robusta (misura) di un insieme di variabili di interesse. Il sensor fusion è di particolare utilità in ogni applicazione in cui molte misure devono essere combinate assieme, fuse e ottimizzate allo scopo di ottenere informazioni robuste, di qualità e integrità atte allo scopo dell’applicazione. Le tecniche di sensor fusion trovano applicazione in molti sistemi industriali, militari, di monitoraggio, di sorveglianza civile, in processi di controllo e in sistemi informatici. Il problema della localizzazione dei veicoli autonomi, in cui nella quasi totalità dei casi i singoli trasduttori si rilevano insufficienti nel costituire un sistema di localizzazione completo e robusto per la navigazione autonoma, richiede l’impiego di tecniche di sensor fusion. M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Caso Robot Mobili Le tecniche di sensor fusion trovano applicazione nel campo della navigazione autonoma, in cui è necessario ottenere una stima di posizione e assetto (posa) di un robot mobile Vantaggi Svantaggi Misura incrementale (encoders, inerziale, dead rockoning) auto-contenuti integrano incrementi relativamente semplici, relativi e quindi deriva elevata frequenza di aggiornamento, assenza di rumore ad alta frequenza Misura riferita all’ambiente (laser, ultrasuoni, cavo annegato) misura riferita all’ambiente quindi assenza di deriva M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Caso Robot Mobili bassa ripetibilità, bassa frequenza di aggiornamento della misura Esempio di localizzazione e mappa ottenuta con soli dati incrementali M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Esempio di localizzazione e mappa ottenuta con Sensor Fusion M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion La norma ISO definisce la misura come un insieme di elementi: - un valore - un livello di confidenza che definisce la probabilità che la misura si trovi all’interno dell’intervallo indicato - un intervallo di valori ad associato al livello di confidenza stabilito(ottenuto mediante integrazione sulla funzione densità di probabilità) - un’unità di misura Per il Sensor Fusion non bastano le informazioni di cui sopra, ma è necessaria anche la funzione densità di probabilità associata alla misura Ad esempio, se si ipotizza una funzione densità di probabilità di tipo Gaussiano, la misura sarà costituita dal valor medio m e da un intervallo di valori centrato attorno alla media e di ampiezza pari a un certo coefficiente moltiplicato per la deviazione standard s della distribuzione. M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Modelli probabilistici 1 p(zi >z) 0.9 0.8 0.7 0.6 0.5 0.4 p(zi<z) = F(z) 0.3 0.2 5 P x 1 2 x x0 e 2 0.1 2 0 -3 2 -2 -1 0 1 2 3 Valori notevoli: P(x)=0 … perchè? P x z 1 2 x0 e 2 2 2 d M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Modelli probabilistici p( x m s ) 0.680 p( x m 2s ) 0.950 p( x m 3s ) 0.997 Intervallo pari a ±2s x Intervallo pari a ±2s x x0: misura … quindi possiamo dire che la misura è pari a: • x0 ± 2s con il 95% di probabilità Ovvero che c’è una probabilità del 95% che il valore vero della variabile da misurare cada all’interno dell’intervallo [x-2s x+2s] M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Modelli probabilistici realizzazione di un valore y del processo aleatorio Y y viene anche detta variabile casuale La funzione densità di probabilità P(y), è valida se: P( y ) 0, y P( y )dy 1 y Y Ricordiamo sempre che la probabilità che si manifesti la variabile casuale y [y0 y1] vale: y 1 y0 P( y )dy M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Modelli probabilistici La densità di probabilità congiunta P(x, y) è definita nella stessa maniera di P(y) e rappresenta la distribuzione di probabilità del realizzarsi congiuntamente di due variabili casuali La densità di probabilità marginale P(y) è associata alla probabilità congiunta ed è la funzione che per ogni valore di y esprime la probabilità che esso si realizzi congiuntamente a tutti i possibili valori di x: Py ( y ) Pxy ( x, y )dx x La pdf (Probability Density Function) condizionata P(x | y) è la densità di probabilità associata alla variabile x condizionata al verificarsi precedentemente di un dato valore di y Viene definita nel modo seguente: P( x y ) P ( x, y ) P( y ) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion In generale: P( x y ) P( x, y ) Consideriamo: x e y -> variabili casuali discrete di due processi aleatori X,Y N -> numero totale di osservazioni delle due variabili ci -> # osservazioni con x = xi rj -> # osservazioni con y = yi nij -> # osservazioni con x = xi e y = yi La probabilità P(x) è definita come la probabilità di verificarsi della condizione x = xi ed è pari a: c P( x xi ) i N N.B. : nel campo continuo si parla di densità di probabilità, mentre in quello discreto ci si riferisce alla probabilità (gli intervalli di discretizzazione sono infatti già definiti). M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion La probabilità congiunta P(x, y) è data dal verificarsi di entrambe le condizioni x = xi e y = yj P( x xi , y yj) nij N E’ facile verificare che il numero di osservazioni rj è legato al numero di rj nij osservazioni nij nel modo i Quindi è facile ricavare la seguente relazione: P( y yj) P( x xi , y yj) i Si osserva che questa corrisponde alla probabilità marginale P(y). Il nome marginale deriva quindi dal fatto che è ottenuta a partire dalla probabilità congiunta. M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion La probabilità condizionata P(x|y) è invece chiamata tale poiché esprime la probabilità di verificarsi dell’osservazione x = xi condizionata ad un valore dato di y = yj P(x xi | y y j) n ij rj Quindi la si può definire come già precedentemente visto M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion P(x | y) P(x, y) P(y) Consideriamo: x e y -> variabili casuali discrete di due processi aleatori X,Y N -> numero totale di osservazioni delle due variabili ci -> # osservazioni con x = xi rj -> # osservazioni con y = yi nij -> # osservazioni con x = xi e y = yi P(x xi | y y j) n ij rj N n ij N rj M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion N n ij rj N P(x i , y j ) P(y j ) Inoltre si ha: P(x xi , y y j) n ij n ij rj N rj N P(x | y)P(y) P(x, y) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion n ij c i ci N P(y | x)P(x) Dunque, per esprimere una pdf congiunta in termini di densità condizionate e marginali si ha la regola di derivazione delle distribuzioni condizionate : P ( x, y ) P ( x y ) P( y ) Le variabili x e y possono appartenere allo stesso insieme o a insiemi diversi, ciò che conta ai fini della distribuzione congiunta è se le due variabili sono correlate tra loro o meno Nel caso in cui siano correlate: (esempio dell’estrazione di numeri della tombola) P( x , y ) P ( x ) P ( y ) in quanto, dopo che y si è realizzato, se ci sono relazioni tra x e y l’insieme a cui x appartiene risulta modificato e quindi anche la sua probabilità di realizzazione, quindi in generale: P( x ) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion P( x y ) invece se tra x e y non ci sono relazioni, esse risultano scorrelate (o indipendenti) e quindi: P ( x , y ) P( x ) P ( y ) Ovvero P( x ) P( x y ) in quanto, dopo che y si è verificato, nulla è cambiato per il processo aleatorio X La regola di derivazione può essere estesa a un numero qualsiasi di variabili nel modo seguente: P( x1 ,...., xn ) P( x1 x2, .., xn ) P( x2 x3 ,.., xn )...P( xn 1 xn ) P( xn ) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema della probabilità totale: Py y P x, y dx x P y | x P x dx x Esso asserisce che la densità di probabilità P(y) (densità marginale) può essere ottenuta considerando i modi in cui y può verificarsi condizionatamente al realizzarsi di uno specifico valore di x, pesata dalla probabilità che ciascuno di questi valori di x si realizzi M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Supponiamo tre variabili: P ( x , y , z ) P( x, y z ) P ( z ) P( x y , z ) P ( y z ) P ( z ) Si dice che x ed y sono indipendenti condizionatamente al verificarsi di z, se P( x y, z ) P( x z ) E quindi si ha: la x è indipendente dalla y data la conoscenza di z. in altri termini z contiene tutte le informazioni contenute nella y riguardo a x P ( x , y z ) P( x z ) P( y z ) NOTA: che due variabili x ed y siano indipendenti condizionatamente al verificarsi di z, non vuol dire che sono indipendenti! M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Indipendenza condizionata NOTA: che due variabili x ed y siano indipendenti condizionatamente al verificarsi di z, non vuol dire che sono indipendenti: P ( x, y ) P( x, y, z )dz z Z P( x z ) P( y z ) P( z )dz z Z Questi non sono uguali! Mentre, se fossero indipendenti: P ( x , y ) P( x ) P( y ) P( x | z ) P( z )dz z Z P( y | z ) P( z )dz z Z M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Indipendenza condizionata Il concetto di indipendenza condizionale sta alla base di molti algoritmi di data fusion Un esempio: consideriamo lo stato x di un sistema e due osservazioni z1 e z2 Le due osservazioni non sono indipendenti tra loro (in quanto dipendono entrambe dallo stato x del sistema): P( z1 , z2 ) P( z1 ) P( z2 ) Per contro, è ragionevole assumere che la sola cosa che le due osservazioni hanno in comune è lo stato del sistema, perciò le osservazioni saranno indipendenti una volta che lo stato si è realizzato, ossia si può scrivere che P( z1 , z2 x ) P( z1 x) P( z2 x ) Questo si realizza ad esempio nel caso di due misure della stessa grandezza in presenza di rumore bianco M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Indipendenza condizionata Laser rangefinder x: distanza carrello-laser La misura del laser è affetta da rumore bianco P x La densità di probabilità è triangolare in quanto maggiore al centro che rappresenta il punto di maggior passaggio. Pz La probabilità di ottenere una misura z è circa uguale P z|x Pz x A carrello fermo la densità di probabilità associata ad una misura z condizionata allo stato x è diversa dalla densità del verificarsi semplicemente una misura z (non condizionata a nulla) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Indipendenza condizionata - Esempio Si considerino due variabili casuali x e z in cui x è lo stato di interesse del sistema, o misurando, e z l’osservazione dello stato, o misura La regola di derivazione della proprietà congiunta a partire dalle probabilità condizionali può essere usata per esprimere la funzione densità nei due modi diversi già visti: P ( x, z ) P( x z ) P( z ) P ( z x ) P ( x ) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes Il teorema di Bayes si ottiene manipolando le probabilità condizionate nel seguente modo: P( x z ) P( z x ) P( x ) P( z ) … che esprime la densità di probabilità associata al misurando x una volta ottenuta una misura z Nota questa è proprio l’informazione che lo sperimentatore od il sistema di controllo vuole avere! M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes Esempio applicativo caso discreto • 2 box (B) -> red(r), blue(b) • 2 tipi di oggetti (O) -> orange(o), green(g) Probabilità selezionare box rosso 40% Probabilità selezionare box blue 60% P(B=r) = 4/10 P(B=b)= 6/10 1) Quale è la probabilità totale di selezionare un oggetto green? 2) Supponendo che abbiamo scelto un orange, quale è la probabilità che sia selezionato dal box blue? M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes 1) Quale è la probabilità totale di selezionare un oggetto green? trovare P( O=g ) -> teorema probabilità totale Py ( y ) Py x ( y x )Px ( x )dx x Dove: P(x,y) = P(Box ,Object) = P(B,O) Quindi integriamo su x che rappresenta i 2 Box: P(O=g) = P(O=g|B=r) P(B=r) + P(O=g|B=b) P(B=b) = 2/8*4/10 + 3/4*6/10 = 11/20 M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes 2) Supponendo di aver scelto un oggetto orange, quale è la probabilità che sia stato selezionato dal box blue? trovare P( B=b | O=o ) = ? P( x z ) P( z x ) P( x ) P( z ) -> teorema di Bayes P(B=b | O=o) = P(O=o|B=b) P(B=b) / P(O=o) P(B=b | O=o) = ( 1/4 * 6/10 ) / (1 - 11/20 ) = 1/3 M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes Nel teorema di Bayes la distribuzione marginale P(z) serve semplicemente a normalizzare la distribuzione condizionata, anche detta a posteriori (è un termine che non dipende dalla variabile ma dal dato ricavato mediante misurazione che è costante) Grazie alla normalizzazione tramite P(z), la P(x|z) è proprio una funzione densità di probabilità, infatti vale: P( x z ) dx x x P( z x ) P( x ) dx P( z ) x P( x, z ) dx P( z ) P( z ) 1 P( z ) Il teorema di Bayes fornisce un metodo diretto per combinare informazioni di taratura dello strumento di misura P(z|x) con la stima a priori della densità di probabilità associata al misurando P(x) per ottenere la densità di probabilità di x condizionata alla misura z Il teorema di Bayes è alla base di numerosi algoritmi di data fusion (come ad esempio il Filtro di Kalman) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes Per comprendere a fondo il valore e l’utilità di questa (apparentemente) semplice manipolazione delle funzioni densità di probabilità occorre analizzare il significato di P(x), P(z), P(x|z), P(z|x) La pdf P(x) è la funzione densità di probabilità precedente e quantifica l’incertezza con cui si conosce lo stato, prima della nuova osservazione z Al fine di ottenere maggiori informazioni circa la stato x, si effettua un’osservazione (misura) z. Le osservazioni sono modellate dalla funzione di densità di probabilità condizionata P(z|x) che descrive, per ogni fissato stato x, la probabilità che sarà riscontrata l’osservazione z La densità di probabilità condizionata P(z|x) ricopre il ruolo di quello che è chiamato modello del sensore. In tale modello x è il misurando, z è la misura (osservazione dal punto di vista dello strumento di misura) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes La funzione P(z|x) può essere pensata in due modi distinti il primo è riferito alla taratura del sensore in tal caso la distribuzione si ottiene fissando un particolare valore di x = xp e trovando quale risulta la pdf relativa alla variabile z Tale processo coincide con la taratura in cui si determina l’incertezza dello strumento in funzione dell’ingresso In questo caso P(z|xp) è considerata funzione di z z x=xp P(xp) Strumento di Misura z P(z/x) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Ripetendo più volte le misure della stessa grandezza si ottengono delle funzioni densità di probabilità P(z|x2 ) P(z|x1 ) x1 Teorema di Bayes - Taratura x2 x il secondo è riferito all’utilizzo del sensore per la misura in tal caso la distribuzione si ottiene rilevando un particolare valore di z = zp e trovando quale risulta la pdf relativa alla variabile x misurando Tale processo coincide con il risultato del processo di misurazione in cui si determina l’incertezza dello strumento in funzione dell’ingresso In questo caso P(zp|x) è considerata funzione di x ed è nota come funzione di verosimiglianza: z ( x ) P( z p | x ) P(z 1|x) x=F-1(z) P(x)= P(zp/x) Strumento di Misura z = F(x) z=zp P(zp/x) P(z 2|x) z2 z1 x M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes - Misura Suppose a certain drug test is 99% sensitive and 99% specific that is, the test will correctly identify a drug user as testing positive 99% of the time, and will correctly identify a non-user as testing negative 99% of the time. This would seem to be a relatively accurate test, but Bayes' theorem will reveal a potential flaw. Let's assume a corporation decides to test its employees for use of a particular drug, and 0.5% of the employees actually use the drug (from general statistics about the local population). We want to know the probability that, given a positive drug test, an employee is actually a drug user M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes – Esempio Drug Testing Let "D" be the event of being a drug user "N" indicate being a non-user "+" be the event of a positive drug test Noi vogliamo conoscere la probabilità P(D|+) Abbiamo le seguenti informazioni: Pr(D), or the probability that the employee is a drug user, regardless of any other information. This is 0.005, since 0.5% of the employees are drug users Pr(N), or the probability that the employee is not a drug user. This is 1-Pr(D), 0.995 Pr(+|D), or the probability that the test is positive, given that the employee is a drug user. This is 0.99, since the test is 99% accurate Pr(+|N), or the probability that the test is positive, given that the employee is not a drug user. This is 0.01, since the test will produce a false positive for 1% of nonusers M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes – Esempio Drug Testing Pr(+), or the probability of a positive test event, regardless of other information. Pr(+) = P(+|D)·P(D) + P(+|N) ·P(N) = 0.99·0.005 + 0.01·0.995 = 0.0149 This is 0.0149 or 1.49%, found by adding the probability that the test will produce a true positive result in the event of drug use (= 99% x 0.5% = 0.495%) plus the probability that the test will produce a false positive in the event of non-drug use (= 1% x 99.5% = 0.995%) Mediante il teorema di Bayes possiamo adesso calcolare la probabilità che un soggetto sia un consumatore di droghe a fronte di un test risultato positivo, ovvero possiamo calcolare P(D|+): P( | D ) P( D ) P( D | ) P( ) 0.00495 0.00495+0.00995 P( | D ) P( D) P( | D ) P( D ) P( | N ) P ( N ) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes – Esempio Drug Testing Notare che si tratta di una partizione tra P(+|D)· P(D) e P(+|N)· P(N) ed anche se P(+|D) è molto alta e P(+|N) è molto bassa i contributi dovuti ai casi di positivo P(+|D)· P(D) e quelli di falso positivo P(+|N)· P(N) divengono comparabili in quanto la condizione che si sta cercando è rara (P(D) = 0.005) mentre quella complementare è elevata (P(N) = 0.995) dando vita in generale ad un numero comparabile di test effettivamente positivi e test falsamente positivi Tale condizione è in generale vera per test su condizioni rare anche in presenza di macchinari di rilevazione piuttosto accurati Per questo è necessario effettuare test di verifica soprattutto in tali condizioni! P( | D ) P( D ) P( | D ) P( D) P( ) P( | D ) P( D ) P( | N ) P ( N ) 0.00495 0.332 ! If P(+|N)P(N) = 0 it would had 0.00495+0.00995 been 1 instead ! P( D | ) M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes – Esempio Drug Testing M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Teorema di Bayes