Default covariance when using robot_pose_ekf?

asked 2018-02-25 00:06:44 -0500

Cerin gravatar image

updated 2018-02-25 00:49:04 -0500

I'm trying to setup robot_pose_ekf for fusion IMU and wheel odometry, but it's giving me a ton of errors like:

[ERROR] [1519539033.564366334]: filter time older than odom message buffer
[ERROR] [1519539033.600801081]: Covariance specified for measurement on topic wheelodom is zero
[ERROR] [1519539036.003523360]: Covariance specified for measurement on topic wheelodom is zero
[ERROR] [1519539036.330590307]: Covariance specified for measurement on topic wheelodom is zero
[ERROR] [1519539036.363531683]: filter time older than odom message buffer
[ERROR] [1519539036.397191390]: filter time older than odom message buffer
[ERROR] [1519539036.431200313]: filter time older than odom message buffer

Why is this?

For the covariance error, I assume I need to enter a covariance, but what should I use as a default value?

What does the other error, "filter time older than odom message buffer", mean?

Edit: I tried adding stub covariances like:

[1, 0.001, 0.001, ...
 0.001, 1, 0.001, ...
 0.001, 0.001, 1,...

and that got ekf to output odom_combined without any explicit errors...except it appears to completely ignore IMU imput. When I rotate my robot, the pose orientation remains a fixed [0,0,0,1]. What am I doing wrong?

edit retag flag offensive close merge delete

Comments

There is no default covariance as it is dependent on your Hardware. Can you provide your full robot_pose_ekf configuration and node tree?

Humpelstilzchen gravatar image Humpelstilzchen  ( 2018-02-26 01:16:18 -0500 )edit