... | ... | @@ -12,21 +12,19 @@ De cela, nous avons donc gardé l’algorithme suivant : |
|
|
|
|
|
```
|
|
|
Entréee :
|
|
|
position : latitude, longitude, accuracy
|
|
|
temps: timeStampInMs
|
|
|
decayInMetersPerSecond // décrit combien la précision decroit en
|
|
|
// l'absence d'une nouvelle estimation de
|
|
|
// position. Une valeur élevée signifie
|
|
|
// que la précision décroit rapidement.
|
|
|
// Ici, la valeur correspond à la vitesse de
|
|
|
// déplacement puisqu'elle lui est lié,
|
|
|
// ie moins la vitesse de déplacement est
|
|
|
// élevée moins il y a d'incertitude sur la
|
|
|
// position
|
|
|
timeLapse = timeStampInMs - oldTimeStampInMs
|
|
|
position : latitude, longitude, accuracy
|
|
|
temps: timeStampInMs
|
|
|
decayInMetersPerSecond // décrit combien la précision décroît en l'absence d'une
|
|
|
// nouvelle estimation de position. Une valeur élevée signifie
|
|
|
// que la précision décroit rapidement. Ici, la valeur correspond
|
|
|
// à la vitesse de déplacement puisqu'elle lui est lié,
|
|
|
// ie moins la vitesse de déplacement est élevée moins il y a
|
|
|
// d'incertitude sur la position
|
|
|
Algorithme :
|
|
|
timeLapseInMs = timeStampInMs - oldTimeStampInMs
|
|
|
// Le temps a avancé et donc l'incertitude sur la position grandit
|
|
|
variance += (timeLapse / 1000) * decayInMetersPerSecond^2
|
|
|
oldTimeStampInMilliseconds = timeStampInMilliseconds
|
|
|
variance += (timeLapseInMs / 1000) * decayInMetersPerSecond^2
|
|
|
oldTimeStampInMilliseconds = timeStampInMs
|
|
|
// Matrice de gain = Covariance * Inverse(Covariance + variance de la mesure)
|
|
|
// Ici, la matrice de gain se réduit à un scalaire (voir la justification plus haut)
|
|
|
// NB: parce que K est sans dimension, il importe peu que la variance
|
... | ... | @@ -35,6 +33,6 @@ Entréee : |
|
|
// On applique la transformation K
|
|
|
latitude += K * (latitude - latitude)
|
|
|
longitude += K * (longitude - longitude)
|
|
|
// nouvelle matrice de covariance : (matrice identite - K) * covarariance, donc ici :
|
|
|
// Nouvelle matrice de covariance : (matrice identité - K) * covarariance, donc ici :
|
|
|
variance = (1 - K) * variance;
|
|
|
``` |
|
|
\ No newline at end of file |