Rosanswers logo

In my yaml parameter file I have not specified any initial noise or process noise for my two sensors. What default noise values will the extended Kalman filter use on these inputs? I have tried to find the default values in the documentation http://docs.ros.org/kinetic/api/robot_localization/html/index.html and the source code https://github.com/cra-ros-pkg/robot_localization without success.

In the documentation it states: Missing covariances. If you have configured a given sensor to fuse a given variable into the state estimation node, then the variance for that value (i.e., the covariance matrix value at position (i,i), where i is the index of that variable) should not be 0. If a 0 variance value is encountered for a variable that is being fused, the state estimation nodes will add a small epsilon value (1e−6) to that value. A better solution is for users to set covariances appropriately.

Does this mean that all the noise is set to a small epsilon value (1e−6)? And does this apply for both process and initial noise? Or does it mean that if a value is set to 0 a small epsilon value (1e−6) will be added to that 0?

Originally posted by DanielRobotics on ROS Answers with karma: 42 on 2020-05-31

Post score: 0


1 Answer 1


Rosanswers logo

If the variance in the covariance matrix for a measurement is smaller than 1e-9 it will set it to 1e-9.

In the source code

Also regarding the process noise this is the default values:

image description

Originally posted by bob-ROS with karma: 525 on 2020-06-01

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by DanielRobotics on 2020-06-01:
So If I am not defined them it the yaml file I will get the values above?

Comment by bob-ROS on 2020-06-01:
That is correct.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.