È possibile utilizzare INS / GPS come aggiornamenti all'output del primo EKF. In realtà, questo non è concatenare, ma semplicemente condizionare la stima sulla base delle informazioni aggiunte dall'INS / GPS.
Supponiamo di avere le seguenti funzioni:
, P t + 1 | t = EKF_PREDICT ( x t , P t , u t ), per input come stato x , covarianza P e input di controllo (stimati dall'odometria) u t .xt+1|tPt+1|txtPtutxPut
e
, P t + 1 | t + 1 = EKF_UPDATE ( x t + 1 | t , P t + 1 | t , x t + 1 ). xt+1|t+1Pt+1|t+1xt+1|tPt+1|tX^t + 1
Le stime sensori sono x t + 1 . Abbiamo cose come:X^t + 1
X^gp st + 1= f( G PS)
X^m a pt + 1= f( m a p )
X^i n st + 1= f( IoNS)
ecc. per tutti gli altri modi di stimare lo stato del robot. Quindi eseguire la funzione EKF_UPDATE per tutti quei sensori è abbastanza buono.
Il tuo loop sarà qualcosa del genere:
per tutto il tempo t
Let tramite l'odometriche corrente / stima cinematica di posa, e R u tramite il rumore tale stima.utRu
, P t + 1 | t = EKF_PREDICT ( x t , P t , u t , R u )Xt + 1 | tPt + 1 | tXtPtutRu
per tutti i sensori ,S
Let x tramite la stima della posa da tale sensore, e R S tramite il rumore che stimaX^St + 1RS
, P t + 1 | t + 1 = EKF_UPDATE ( x t + 1 | t , P t + 1 | t , x t + 1 , R S ). Xt + 1 | t + 1Pt + 1 | t + 1Xt + 1 | tPt + 1 | tX^t + 1, RS
finali per
- finali per
Alcuni avvertimenti sono:
Poiché stiamo utilizzando l'EKF, non vi è alcuna garanzia che il preventivo sia indipendente dall'ordinamento degli aggiornamenti. Cioè, se si esegue INS quindi GPS, la stima risultante potrebbe essere diversa rispetto a se si aggiorna con GPS quindi INS. Solitamente questo non è un grosso problema, ma il filtro richiederà molta più messa a punto.
Si prega di essere consapevoli del fatto che il tuo INS ha una propensione e una deriva, che potrebbero influire sulla tua affidabilità a lungo termine. Il GPS può aiutarti molto qui. La maggior parte della letteratura stima contemporaneamente la distorsione e la deriva nell'INS.