Implementazione di un filtro Kalman per posizione, velocità, accelerazione


9

Ho usato i filtri Kalman per varie cose in passato, ma ora sono interessato a usarne uno per tracciare la posizione, la velocità e l'accelerazione nel contesto del rilevamento della posizione per le app per smartphone. Mi sembra che questo dovrebbe essere un esempio da manuale di un semplice filtro lineare di Kalman, ma non riesco a trovare alcun link online che ne discuti. Posso pensare a vari modi per farlo, ma piuttosto che ricercarlo da zero, forse qualcuno qui può indicarmi la giusta direzione:

  1. Qualcuno conosce il modo migliore di impostare questo sistema? Ad esempio, data la storia recente delle osservazioni di posizione, qual è il modo migliore per prevedere il punto successivo nello spazio degli stati del filtro Kalman? Quali sono i vantaggi e gli svantaggi di includere l'accelerazione nello spazio degli stati? Se tutte le misurazioni sono in posizione, quindi se la velocità e l'accelerazione si trovano nello spazio degli stati, il sistema può diventare instabile? Eccetera ...
  2. In alternativa, qualcuno conosce un buon riferimento per questa applicazione dei filtri Kalman?
Grazie


Wikipedia ha un semplice esempio qui . È abbastanza semplice per te ottenere i dettagli. Per rispondere alla tua prima domanda, prevedi lo stato successivo utilizzando lo stato corrente e il modello dinamico del comportamento del sistema.
Jason R,

@JasonR grazie per il commento, ma sto cercando qualcosa in più di quello che c'è su Wikipedia. Ho usato molto i filtri Kalman in precedenza, quindi sto cercando quanti più dettagli possibili sui migliori approcci e insidie ​​di questa particolare applicazione.
Stocasticamente il

2
I filtri Kalman sono un argomento abbastanza maturo che potresti avere difficoltà a trovare un esempio contemporaneo dettagliato come desideri. In breve: anche se si misura solo la posizione, è utile includere derivati ​​come velocità e accelerazione nel vettore di stato. La quantità di derivati ​​tracciati è correlata all'ordine polinomiale delle modifiche nello stato in cui il filtro sarà in grado di tracciare senza errori statici.
Jason R,

@JasonR grazie mille, in assenza di nient'altro, questo è sicuramente un puntatore molto utile :-).
Stocasticamente il

Questo non è esattamente ciò che stai cercando, ma questa risposta a una domanda simile può essere d'aiuto.
Peter K.

Risposte:


4

Questo è il migliore che io conosca

Derivazione completa con spiegazione

Kalman

Questa è una buona risorsa per conoscere il filtro Kalman. Se sei più interessato a far funzionare l'app per smartphone, suggerirei di cercare un'implementazione preesistente del filtro Kalman. Perché reinventare la ruota? Ad esempio, se stai sviluppando per Android, openCV ha un'implementazione del filtro Kalman. Vedi Android OpenCV

Bradski e Kaehler sono una buona risorsa per l'elaborazione delle immagini in generale e includono una sezione sul filtro Kalman che include esempi di codice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.