J'ai mis en œuvre un filtre kalman linéaire 3d pour suivre la position de l'objet. voici les détails du KF. Mon état est la position 3d seulement et mon entrée (vecteur de contrôle) est la vitesse 3d (vx, vy, vz). et la mesure est la position 3D.importance de l'intervalle de temps dans le filtre de kalman pour le suivi de position
intervalle de temps dt = dans la mise à jour d'état std_vx, std_vy, std_vz - écart-type de l'entrée de commande, par exemple 2 mtrs/s
std_cooperative_pos_x, std_cooperative_pos_y, std_cooperative_pos_z - écart-type de l'erreur de mesure par ex. environ 40 mtrs chaque axe
A = numpy.matrix ([[1,0,0], [0,1,0], [0,0,1]]) # Etat matrice de transition
B = numpy.matrix ([[dt, 0,0], [0, dt, 0], [0,0, dt]]) # entrée de commande marix
H = numpy.matrix ([[1,0 , 0], [0,1,0], [0,0,1]])
Q = numpy.matrix ([[std_vx std_vx dt, 0, 0], [0, std_vy std_vy dt, 0], [0, 0, std_vz std_vz dt]]) # = Erreur d'entrée, proc ess erreur
R = numpy.matrix ([[std_cooperative_pos_x 2,0,0], [0, std_cooperative_pos_y 2,0], [0,0, std_cooperative_pos_z ** 2]]) # mesure co- variance matrice
P = numpy.matrix ([[1,0,0], [0,1,0], [0,0,1]])
voici mes quelques questions:
combien l'intervalle de temps qui est la valeur dt est important dans la performance du filtre. comme je veux dt tels que 10 sec, ou 20 sec ..... ou jusqu'à 200 secondes. pour les valeurs dt jusqu'à 10 secondes, je suis en mesure d'obtenir une amélioration de ma piste, mais au-delà de ce qui ne fonctionne pas. Je fais quelque chose de mal ou de naturel.
J'ai mis en œuvre un filtre linéaire est juste que la combinaison de la position et de la vitesse dans le temps semble être seulement linéaire.
merci d'avance pour votre temps et votre aide.
chère @keith Brodie merci pour votre temps et votre aide. J'ai quelques doutes. – vicky
chère @keith Brodie merci pour votre temps et votre aide. J'ai quelques doutes. 1.ma matrice d'état est seulement [x, y, z] pos & l'entrée de contrôle est vel [vx, vy, vz]. Si mon concept est correct (nouveau pour ce filtre) alors l'erreur dans l'entrée de contrôle se propage en (t) fois. donc incapable de comprendre la multiplication comme t * t dans la matrice Q. 2. J'ai deux types d'erreur dans l'entrée de commande, c'est-à-dire que l'un est l'erreur dans les mesures de vitesse et l'autre est sa fluctuation sur la période d'intervalle de temps t ou dt, soit 10 secondes ou 60 secondes. comment traiter ce problème de fluctuation de l'entrée de contrôle (par exemple, la vitesse), pour de bons résultats. – vicky
Salut Vicky, 1) la matrice Q est la covariance du changement d'état attendu sur l'intervalle de temps dt. Les éléments sur la diagonale doivent être des variances, pas des écarts-types. 2) Si vous connaissez la variation de la variance du bruit de position à chaque mesure, vous devez modifier la matrice R pour la refléter. Le changement de temps entre les mesures peut être accommodé en ajustant dt. –