Filtro di Kalman Esteso applicato al problema della localizzazione
Transcript
Filtro di Kalman Esteso applicato al problema della localizzazione
Filtro di Kalman Esteso applicato al problema della localizzazione nella robotica mobile Ing. Elisabetta Fabrizi Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Overview • • Metodi di localizzazione Filtro di Kalman Esteso – localizzazione relativa – richiami sul Filtro di Kalman – localizzazione assoluta – confronto tra KF e EKF Localizzazione per sedia a rotelle • Applicazione alla localizzazione – descrizione del sistema – schema generale – descrizione dei sensori – predizione • encoders – correzione • giroscopio – matching delle uscite • sonar • • • Modellizzazione – con giroscopio – modello cinematico con rumore – modello uscite con rumore Risultati sperimentali – senza giroscopio • Conclusioni Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 La localizzazione • Realizza la capacità del robot mobile di conoscere la propria posizione e il proprio orientamento in un ambiente noto, a partire da dati sensoriali • Es.: per seguire una traiettoria predefinita è necessario che il robot calcoli una stima della propria configurazione in modo da impostare i comandi di moto corretti • A causa del rumore e degli errori (sistematici e non) tipici del processo di misura, il robot “si perde” rapidamente nell’ambiente. Bisogna usare tecniche particolari per ottenere stime corrette (per esempio Kalman Filter) Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Perché il robot “si perde”: un esempio • Dead reckoning Supponiamo che il robot sia in una posizione nota e si muova potendo misurare le velocità lineari e angolari. Attraverso l’integrazione delle velocità si ottengono la posizione e l’orientamento in ogni istante. Pero’ un piccolo bias sulla misura della velocità provoca un errore nella posizione che cresce linearmente nel tempo e quindi illimitatamente. Dopo un po’ la stima sulla sua posizione risulta completamente errata. Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Localizzazione relativa • Buona stima della posizione iniziale • Il robot esegue uno spostamento • Si stima la nuova posizione del robot Odometria: encoders per misurare la rotazione e la sterzata delle ruote Navigazione inerziale: giroscopi e accelerometri per misurare le velocità e le accelerazioni In entrambi i casi l’errore cresce illimitatamente Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Localizzazione assoluta • Sistema di riferimento fisso • Non si ha una stima iniziale • Stima della posizione assoluta rispetto al riferimento fisso Map matching: confronto tra mappa locale e mappa globale Active beacons: triangolazione da beacons in posizione nota Landmarks naturali e artificiali: triangolazione da punti caratteristici dell’ambiente Tipicamente si usano entrambi i tipi di localizzazione contemporaneamente Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Formalizzazione del problema Stato del robot: posizione e orientamento X = (x, y, ϑ ) Modello cinematico: X k +1 = f (X k , U k , N k ) Z k = h (X k , Wk , M ) Ipotesi sul rumore: rumore bianco gaussiano e indipendente N k ~ N(0, Q k ) Wk ~ N(0, R k ) Ad ogni passo si vuole calcolare la stima dello stato “minimizzando” la varianza dell’errore Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Descrizione della sedia a rotelle a guida assistita • Sedia a rotelle motorizzata di tipo convenzionale • Componenti aggiunte – Encoder – Giroscopio – Sistema sensoriale ad ultrasuoni – PC portatile con scheda sonora – Cuscinetti per la misura della pressione – Comandi vocali • Specifiche di progetto: low-cost Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Funzionalità implementate Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Encoders ottici incrementali • Misurano la velocità di rotazione dei motori • Sono costituiti da: – disco di materiale trasparente su cui sono state stampate (100) strisce nere – un sensore di tacca a infrarosso che rivela il passaggio della striscia – un contatore di tacche • La risoluzione viene aumentata dal rapporto di riduzione (0.17mm) • Errori – errore di quantizzazione a basse velocità – incapacità di rilevare il verso di rotazione Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Giroscopio piezoelettrico • Misura la velocità angolare del veicolo • E’ costituito da: – prisma triangolare di “Elinvar” – trasduttori piezoelettrici posti sulle facce del prisma A riposo In rotazione Le oscillazioni risultanti rilevate sono diverse Elementi riceventi • Usa l’effetto dell’accelerazione A di Coriolis B A C B C • Errori – deriva non costante nel tempo dovuta ad effetti termici Elemento oscillante oscillazione Le oscillazioni rilevate si cancellano una con l’altra Elemento oscillante oscillazione Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Oscillazioni di Coriolis Sensori ad ultrasuoni • Misurano la distanza dagli ostacoli • Sono costituiti da S1 – emettitore di onde acustiche (40 Khz) – ricevitore di onde acustiche S4 S3 – misuratore del tempo di volo (TOF) 1 d = v(TOF ) 2 • Errori – variazioni di v dovuti a variazioni di umidità e temperatura – errori di quantizzazione dovuti alla misura del tempo di volo – Interazioni con l’ambiente Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 S5 S2 Interazione sonar-ambiente • L’ampio lobo di radiazione (80°) genera incertezza nel posizionamento angolare dell’oggetto che ha dato luogo all’eco • Quando l’onda acustica investe un oggetto – una parte dell’energia viene riflessa – una parte viene dispersa – una parte viene assorbita Se l’energia riflessa è troppo bassa l’oggetto non viene rilevato • Cammini multipli: l’onda riflessa non è visibile dal ricevitore distanza misurata > distanza reale Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Scheda di acquisizione dati Giroscopio Encoders Motori Joystick Scheda Acquisizione Dati Chopper Cuscinetti Personal Computer Microfono Sound Blaster Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Modello cinematico della carrozzella • Modello dell’uniciclo tempo-continuo x = u cos(ϑ ) y = u sin(ϑ ) ϑ = ω • Modello dell’uniciclo discretizzato nel periodo T ∆ϑk = + ∆ ⋅ + ϑ x x D cos( ) k k k k +1 2 ∆ϑk = + ∆ ⋅ + ϑ y y D sin( ) k +1 k k k 2 ϑk +1 = ϑk + ∆ϑk Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Calcolo dell’odometria ∆Lk = NLk ⋅ S ⋅ ρ ∆Rk = NRk ⋅ S ⋅ ρ spostamento ruota sinistra spostamento ruota destra S spostamento angolare della ruota relativo all’incremento unitario dell’encoder raggio della ruota ρ ∆Rk + ∆Lk ∆Dk = 2 ∆ϑk = ω gyro ⋅ T Senza giroscopio ∆Rk − ∆Lk ∆ϑ k = 2a spostamento lineare rotazione a lunghezza semiasse tra le ruote Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Errori sistematici e non dell’odometria • Sistematici Si accumulano costantemente – Diverso diametro delle ruote – Parametri reali diversi da quelli nominali – Disallineamento delle ruote – Risoluzione finita degli encoders – Deriva di velocità nel giroscopio • Non Sistematici Non si sa quando si verificano – Cammino su superfici non perfettamente piane – Slittamento delle ruote dovuto a: • • • • • • superfici non aderenti sovraccelerazioni sterzate veloci forze esterne forze interne (castors) assenza di punti di contatto tra ruota e pavimento Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Rappresentazione dell’incertezza Per rappresentare l’incertezza dovuta agli errori di misura si introduce il rumore additivo gaussiano bianco Nk~N(0,Qk) nelle equazioni cinematiche ∆ϑk x + = + ∆ ⋅ + ϑ cos( ) x x D n k k k k k +1 2 ∆ϑk ) + nky y k +1 = y k + ∆Dk ⋅ sin(ϑk + 2 ϑk +1 = ϑk + ∆ϑk + nkϑ Posizione di partenza Percorso stimato P zj − Sj ⋅ g zj zj zj + Sj ⋅ g Ellissoidi rappresentanti l’incertezza Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Rappresentazione del’ambiente • Ambiente tipo ufficio • Pareti orizzontali-verticali • Lista di segmenti specificati dalle coordinate degli estremi (x1,y1,x2,y2) Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Modello dell’uscita • Le uscite sono rappresentate dalle misure di distanza fornite dai sensori ad ultrasuoni • Non si ha una unica espressione in forma chiusa perché la misura dipende dalla parete di incidenza – Parete verticale z k = x p − ( xk + d cos(ϑk + ϕ )) – Parete orizzontale z k = y p − ( y k + d sin(ϑk + ϕ )) x xs xp σd • A causa degli errori (sistematici e non) si aggiunge l’incertezza D Z k = h( X k , M ) + Wk Wk ~ N (0, Rk ) Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 σw σw Modello complessivo del sistema X k +1 = f (X k , U k , N k ) Z k = h (X k , Wk , M ) N k ~ N(0, Q k ) ∆ϑk x x x D n cos( ) = + ∆ ⋅ + + ϑ k k k k k +1 2 ∆ϑk y y D sin( ) + nky ϑk + k +1 = k + ∆ k ⋅ 2 ϑk +1 = ϑk + ∆ϑk + nkϑ z k = x p − ( x k + d cos(ϑ k + ϕ )) + wk z k = y p − ( y k + d sin(ϑ k + ϕ )) + wk parete verticale parete orizzontale Wk ~ N(0, R k ) Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Schema generale di filtraggio Xk Uk Sistema Sistema Zk Filtro Predittore Predittore + Errore di stima Correttore Correttore X̂k Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Filtro di Kalman • Si applica al caso di sistemi lineari con rumore additivo gaussiano bianco N k ≈ N (0, Q k ) X k +1 = AX k + BU k + N k Z k = CX k + Wk Wk ≈ N (0, R k ) • Si dimostra che il filtro converge alla stima ottima, cioè quella che minimizza la varianza dell’errore di stima Xˆ k = Xˆ k |k −1 + K k (z k − CXˆ k |k −1 ) Xˆ k |k −1 = AXˆ k −1 + BU k −1 Xˆ k = Xˆ k|k −1 + K k (z k − CXˆ k|k −1 ) Pk |k −1 = APk −1 A + Q Xˆ k|k −1 = AXˆ k −1 + BU k −1 S k = CPk |k −1C + Rk Pk|k −1 = APk −1 AT + Qk T T K k = Pk |k −1CS k −1 Pk = Pk |k −1 − K k S k K kT [ −1 Pk = Pk|k −1 I + C R CPk|k −1 T ] K k = Pk CR −1 Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 −1 Commenti al filtro di Kalman • Filtro lineare ottimo ricorsivo • Minimizza la varianza dell’errore di stima. Le ipotesi che assicurano l’ottimalità sono: – linearità del sistema – rumore additivo gaussiano bianco • Tutte le variabili aleatorie in gioco sono gaussiane perché trasformazioni lineari di v.a. gaussiane • Il filtro è esso stesso un sistema lineare nello stato e nelle misure • Nessun filtro non lineare può fare meglio!!!!! • La ricorsività permette di processare ad ogni passo soltanto le misure relative a quel passo, ottenendo pero’ lo stesso risultato che si otterrebbe processando tutte le misure contemporaneamente: ciò significa che ad ogni passo viene estratta tutta l’informazione contenuta nelle misure Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Schema a blocchi del KF Filtro Predittore Uk Xˆ k |k −1 = AXˆ k −1 + BU k −1 Pk |k −1 = APk −1 AT + Q Zk Correttore Xˆ k = Xˆ k|k −1 + K k (z k − CXˆ k|k −1 ) [ Pk = Pk|k −1 I + C T R −1CPk|k −1 ] −1 K k = Pk CR −1 N.B. Se C=I K=PR-1 si nota che K è direttamente proporzionale all’incertezza della stima odometrica e inversamente proporzionale all’incertezza delle misure Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 X̂k Filtro di Kalman Esteso • Si applica al caso di sistemi non lineari con rumore additivo gaussiano bianco N k ~ N(0, Q k ) X k +1 = f (X k , U k , N k ) Wk ~ N(0, R k ) Z k = h (X k , Wk , M ) • Si utilizza una linearizzazione del sistema intorno alla predizione X k = X k |k −1 + K k (z k − h( X k |k −1 )) X k | k −1 = f ( X k −1 , U k −1 ) K k = Pk |k −1 H kT S k −1 Pk |k −1 = Fk Pk −1Fk T + Qk S k = H k Pk | k −1 H k T + Rk Pk = Pk | k −1 − K k S k K kT Fk = J xf ( Xˆ k |k −1 ) H k = J hx ( Xˆ k |k −1 ) • Si perde la convergenza e l’ottimalità Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Commenti al filtro di Kalman Esteso • Filtro ricorsivo • Non si può assicurare l’ottimalità in generale • Le variabili aleatorie in gioco non sono più gaussiane • Il filtro è lineare nelle misure ma non nello stato • Un filtro non lineare può fare meglio? • La matrice di guadagno K è ottenuta componendo le matrici di covarianza ottenute linearizzando intorno alla stima di predizione che è una variabile aleatoria. Ne segue che K è una variabile aleatoria Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Schema a blocchi dell’EKF Filtro Predittore Uk Correttore [ Xˆ k = Xˆ k |k −1 + K k Z k − h( Xˆ k |k −1 , M ) Xˆ k|k −1 = f ( Xˆ k −1 ,U k ) K k = Pk |k −1 H k Sk Pk|k −1 = Fk Pk −1Fk + Qk Sk = H k Pk |k −1 H kT + Rk T T −1 Pk = Pk |k −1 − K k S k K kT Zk Fk = J xf ( Xˆ k |k −1 ) H k = J hx ( Xˆ k |k −1 ) Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 ] X̂k Predittore • La predizione fa essenzialmente uso dell’odometria ∆ϑ k ˆ xˆ k + 1 = xˆ k + ∆ D k ⋅ cos( ϑ k + 2 ) ∆ϑk ˆ ) yˆ k + 1 = yˆ k + ∆ D k ⋅ sin( ϑ k + 2 ϑˆ k + 1 = ϑˆ k + ∆ ϑ k • La covarianza Pk|k-1 esprime l’incertezza della stima odometrica ed è composta da: – propagazione dell’incertezza della stima precedente – incertezza introdotta dal rumore • Nota che Pk|k-1>Pk sempre l’ellissoide si espande Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Correttore [ ] Xˆ k = Xˆ k |k −1 + K k Z k − h( Xˆ k |k −1 , M ) (1) K k = Pk |k −1 H k Sk T −1 (2) Sk = H k Pk |k −1 H kT + Rk (3) Pk = Pk |k −1 − K k S k K kT (4) • (1) rappresenta la stima finale: il termine tra parentesi quadre viene detto innovazione e rappresenta l’informazione apportata dal processo di misura • (2) guadagno di Kalman • (3) covarianza dell’innovazione: compone due tipi di incertezze – incertezza sulla stima odometrica – incertezza sulle misure • (4) la covarianza dell’errore di stima diminuisce dopo la correzione Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Covarianza dell’errore di stima Oggetto noto Se il veicolo si muove lungo una direzione l’informazione di posizione diventa imprecisa lungo tale direzione. Aggiornamento della posizione Inizio Pk = Fk ⋅ Pk −1 ⋅ Fk + Qk − K k ⋅ S k ⋅ K k T T 1.3 : incertezza x : incertezza y : incertezza theta y 0 x t Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Matching delle misure • Alcuni errori tipici dei sensori ad ultrasuoni non possono essere modellati con rumore gaussiano bianco Pareti NON VISTE dal sonar – pareti non viste – cammini multipli – ostacoli non previsti nella mappa • E’ necessario scartare tali misure perché Smax l’innovazione apportata potrebbe introdurre errori molto grandi nella stima Letture reali, al k-esimo istante Letture stimate, al k-esimo istante MATCHING Incertezza sulla posizione stimata innovazione v j = z j − zˆ j s j = ∇h Χˆ vj ⋅ ⋅ Ρk / k −1 ⋅ ∇h Χˆ T k / k −1 k / k −1 1 ⋅vj ≤ g2 sj g e’ il gate di probabilità Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 + Rj Esperimento 1: localizzazione senza giroscopio • La sedia a rotelle è stata guidata con il joystick perr circa 24 m. evitando slittamenti e brusche sterzate. • La localizzazione è stata effettuata a partire dalle misure degli encoders e dei sonar con due metodi diversirosso: – EKF estimate – Blu: Stima odometrica Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 1: propagazione dll’incertezza usando l’EKF Misure non usate perche’ fuori della distanza massima misurabile + misure attese -- misure reali Sonar frontale Sonar destro Coarianza lungo l’asse x Sonar sinistro Coarianza lungo l’asse y Metà percorso Covarianza dell’orientamento Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 2 : matching delle misure Questi ostacoli non sono nella mappa 2 1 Sonar frontale Sonar destro 2 1 Sonar sinistro + misure attese -- misure reali Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 3 : localizzazione con giroscopio Confronto Confrontotra tragli gliangoli angoli Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 4: cfr algoritmi con e senza giroscopio Confronto Confrontotra tragli gliangoli angoli Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 4: risultati con e senza giroscopio Covarianza Covarianza Senza Senzagiroscopio giroscopio Con Congiroscopio giroscopio Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 5: cfr algoritmi con e senza giroscopio Confronto Confrontotra tragli gliangoli angoli Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 5: risultati con e senza giroscopio Senza Senzagiroscopio giroscopio Diverge!!!! Diverge!!!! Con Congiroscopio giroscopio Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99 Esperimento 5: matching letture sonar Nessuna Nessuna lettura lettura convalidata convalidata Ostacoli non Ostacoli non previsti previsti Durante il primo Durante il primo passaggio questo passaggio questo spazio era stato spazio era stato chiuso chiuso Università degli Studi di Roma Tre - Strumentazione e misure per l’automazione A.A.98/99