Rosanswers logo

Ubuntu 12.04 and Fuerte.

I am planning to use Xsens IMU+GPS and wheel odometry of Pioneer 3 base for the ROBOT_POSE_EKF to estimate the pose of the robot.

I am wondering if any one can give the optimal covariance values for the IMU data and Wheel odom topic.


Originally posted by sai on ROS Answers with karma: 1935 on 2012-09-18

Post score: 1

Original comments

Comment by sai on 2012-09-18:
How to change the value? Where can I find the file ?


1 Answer 1


Rosanswers logo

Hello turtlebot uses 1e-3 covairance for wheel odometry x,y and Ch robotic's UM6 driver for ros uses 1e-6 covairance for yaw. If you don't give covairances for imu to robot_pose_ekf it will manually set covariance until imu sends covariance

// manually set covariance untile imu sends covariance
if (imu_covariance_(1,1) == 0.0){
  SymmetricMatrix measNoiseImu_Cov(3);  measNoiseImu_Cov = 0;
  measNoiseImu_Cov(1,1) = pow(0.00017,2);  // = 0.01 degrees / sec
  measNoiseImu_Cov(2,2) = pow(0.00017,2);  // = 0.01 degrees / sec
  measNoiseImu_Cov(3,3) = pow(0.00017,2);  // = 0.01 degrees / sec
  imu_covariance_ = measNoiseImu_Cov;

as you can see above. I think it will be easier for you starting with turtlebot's odom covariances increase them if you get poor odometry. Because picking covairances heavily depends on system configuration(encoders,encoders resolution,motors,wheels,slippage,speed controller,drive system type etc..)

For optimal values, I recommend you to perform an odometry calibration alogirthm such as UMBMark. Calibrate it as possible as it can be. Then set your covairances. Covairances show how much you depend on your odometry data. If covairances are high, this shows that you don't depend very much on your odometry data.

How to set covairances ? your wheel odometry data is being published by you generally from base_link frame to odom frame. Check here. Odometry message type and IMU message type have parts where you can set covairances. Check out here for odometry and Check out here for imu

Originally posted by cagatay with karma: 1850 on 2012-09-19

This answer was ACCEPTED on the original site

Post score: 8


Your Answer

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