Robot_localization output is not stable

asked 2019-10-10 14:01:59 -0600

Ahmed1212 gravatar image

updated 2019-10-10 14:13:46 -0600

Hi . I am using robot_localization to merge my data of odometry and a sensor. Now i have modified the output of sensor in nav_msg/Oodmtery format with covariance matrix whose values i set to 0.3 and sensor's output is x and y position. now when i use this data and see the output of robot_localization filtered/odometry, the robot keeps jiggling around. Even if it is not moving. My data is updated by rate of 0.25s and at each instance there is a new reading even if the robot is stable. e.g the output in x direction is 1.22535 1.21255 1.19225 1.22111

But i expect the output of filter to be stable at least when the robot is stable. process noise covariance matrix and initial state matrix are also 0.3 and 0.4 respectively. Anyone can explain why is this happening and how could i remove this? And how will the covariance matrix from robot's odometry message behave in this regard? Do i have to modify the Odometry message with custom covariance matrix or it's default value 0,0,0.... is enough ?

edit retag flag offensive close merge delete


Please provide:

  • Your full EKF config
  • One sample sensor input message from every sensor
Tom Moore gravatar image Tom Moore  ( 2020-01-02 04:07:52 -0600 )edit

I suspect this is related to what I told you here:

But I can't say for certain until you post your config.

Tom Moore gravatar image Tom Moore  ( 2020-01-06 03:56:01 -0600 )edit