New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kalman instable when pushing distance difference #167
Comments
Remove extra process noise added when feeding distance difference and remove variance calculation, update directly with stdDev instead.
With the commit 4f0594f it now works really well flying with TWR measured distance difference. The Kalman state update of TDoA is now very similar to the distance state update. @mikehamer It seems to make sense to let the TDoA receiver decide of the stdDev. If so, it is not needed to have timeBetweenMeasurements in the tdoa data structure anymore. Any thought? |
It is okay to remove the time between measurements. This was initially to add numerical stability, which I now realise is required due to a subtle bug in the way that the KF handles multiple measurement updates during one update step. I need to fix this at some point, however, it only affects things slightly, and only if the Kalman Filter is processing multiple measurement updates per step. Since you're running TDoA at the same rate as the KF, it won't affect you. |
Since #163 we push a distance difference in the Kalman filter. To debug TDoA position estimation I have been pushing the anchor distance difference calculate using two way ranging. The idea is that the position estimate is pretty good and robust with the two way ranging data, so pushing the same data but as distance difference should work well enough.
However we see the same instability when pushing TWR range difference as when trying the filter with real TDoA data which seems to indicate that there is a bug in the way the Kalman filter is accepting ranging difference.
For reference this is the change to the two way ranging tag code that allows to push distance difference in the kalman filter
The text was updated successfully, but these errors were encountered: