Problem with Robot_Localization for IMU and wheel encoder

asked 2020-10-08 20:46:41 -0500

elgarbe gravatar image

updated 2020-10-09 10:57:47 -0500

I have a robot (diferential drive) that publish IMU (Gyro+Accel) data and odometry data. I process IMU with imu_tools and get reliable orientation. Now I want to fuse it with odometry using RL. Orientation from odometry is not reliable and so, position is not reliable. So I just use velocity from robot odometry.

I have a bag file with this data on test. Here is RL config file.

The problem is that RL start estimating velocity over Y axis and so Y position grows on the first loops of the filter. Something similar happend with X position. After some iteration Vx and Vy takes good values, but it is too late for position, it has a big error.

What config parameter should I have to tune?

EDIT: I will try to be more specific.

I run this commands on different terminals and on this order:

roscore 
rostopic echo -n 10 /odometry/filtered 
rostopic echo -n 10 /Chori/odom
roslaunch ekf_chori.launch 
rosbag play chorirover_casa_10-2020.bag --clock

As soon as I run last command /odometry/filtered messages are printed. I'm focusing on the first 10 messages.

Mi robot publish 0 for X and Y velocity on the first 10 messages, but RL report another thing:

header: 
  seq: 0
  stamp: 
    secs: 1601652111
    nsecs: 418253183
  frame_id: "odom"
child_frame_id: "base_link"
pose: 
  pose: 
    position: 
      x: 0.0
      y: 0.0
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
  covariance: [100.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5e-10, 2.5000000000000004e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5000000000000004e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5000000000000004e-07, -2.7755575615628914e-17, 0.0, 0.0, 0.0, 0.0, 0.25, -2.9103830456733704e-11]
twist: 
  twist: 
    linear: 
      x: -1.56883916614
      y: 0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 3.26357598791e-10
      z: -0.000565066860276
  covariance: [0.09999999997671694, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5000000000000004e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5000000000000004e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.265607912379486e-07, -6.12487144335816e-12, 0.0, 0.0, 0.0, 0.0, 0.1174399919431861, 1.0604802810121328e-05]
---
header: 
  seq: 1
  stamp: 
    secs: 1601652111
    nsecs: 468253136
  frame_id: "odom"
child_frame_id: "base_link"
pose: 
  pose: 
    position: 
      x: -0.0388840619851
      y: 0.00379568427423
      z: -0.000138389433891
    orientation: 
      x: -1.2048123326e-08
      y: -7.55400202725e-09
      z: -0.70642843412
      w: 0.70778447812
  covariance: [100.00262577373665, 8.4190166470266e-10, -1.2638625873165072e-06, 1.0666420940083526e-09, -3.141669239112205e-05, -1.200407523745007e-13, -2.8636693710781813e-12, 100.00262577613756, -1.272332674170408e-07, 1.0735566605997028e-10, 1.8026422771507003e-06, -7.917677017868013e-13, -4.576135477496468e-14, 9.926843548557773e-11, 2.4993355432773175e-07, 4.1951029572820856e-14, -1.8339316273248427e-07, 2.861509431066864e-14, -1.9982334406341498e-18, 4.5746121310924785e-15, 4.90550745445278e-16, 2.499583471967169e-07, -8.45770189397269e-12, 1.3196671208271531e-18, 5.7547418436457165e-18, 1 ...
(more)
edit retag flag offensive close merge delete

Comments

I update original question in order to give more details.

elgarbe gravatar image elgarbe  ( 2020-10-09 10:58:19 -0500 )edit