Skip to content
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

Why are the measurement vector variances declared static? #48

Open
asymingt opened this issue Mar 29, 2019 · 2 comments
Open

Why are the measurement vector variances declared static? #48

asymingt opened this issue Mar 29, 2019 · 2 comments

Comments

@asymingt
Copy link

asymingt commented Mar 29, 2019

Is there a reason that the measurement_covariance and root_measurement_covariance variables on the FixedMeasurementVector and DynamicMeasurementVector classes are declared static? This seems to prevent uncertainty changes per obervation in cases where multiple filters are used in parallel.

@danieldyer
Copy link
Member

Hi Andrew,

Originally, my thinking was along the lines that each specialisation of the FixedMeasurementVector or DynamicMeasurementVector class would represent a particular set of sensors — independent of any particular filter instance — and so sharing the measurement noise covariance among all filters using that measurement vector specialisation would be more convenient as it would remove the need to set the measurement noise covariance for each filter individually.

However, looking back at it now, the use of a static member variable in the class really is a bit ugly. And, as you've pointed out, it causes problems if you'd like to change the measurement noise covariance between observations for multiple filters in parallel.

I've just pushed a new branch (dd-measurement-covariance) which moves the measurement noise covariance out of the measurement vector classes and into the filter instance (which also makes it consistent with the way state and process noise covariance are managed). Does that fit better with your use case?

@asymingt
Copy link
Author

Hi Daniel

Firstly, thank you for pushing that branch. I will take a look at it over the next couple of days. But, from what you have described it fits my use case perfectly. I greatly appreciate your help!

Andrew

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants