Skip to content

Small drift with real robot #13

@MichaelT64

Description

@MichaelT64

Hi Manan,
sorry it's me again ;-)

I started to work with my real robot and there is a small drift in all three directions and also in the three orientations (values after about 1200 seconds), the robot stood still:

michael@robby-ros:~/ros2_3rd_party_ws$ ros2 topic echo /odometry/filtered --flow-style --once
header:
  stamp:
    sec: 1776785150
    nanosec: 241768158
  frame_id: odom
child_frame_id: base_footprint
pose:
  pose:
    position:
      x: 0.09247610209229912
      y: 0.055439491185446894
      z: 0.01089715114191163
    orientation:
      x: 0.011167582319421252
      y: 0.000933221540147652
      z: 0.13046826898890287
      w: 0.9913891491184151
  covariance: [1707.768615139582, 5.7091724181962355e-06, -0.0003553362289948946, 3.528207213058707e-07, 1.8313063815868658e-06, 4.7250047563642576e-05, 5.709172418196233e-06, 1707.7690711317334, -0.007126136874846765, -1.9229777307085832e-06, -2.2076063097527308e-07, -8.571359981699787e-06, -0.0003553362289948946, -0.007126136874846765, 1708.0748318167325, -4.643591406645115e-08, -5.263241320258877e-08, -3.5526158883863962e-06, 3.528207213058707e-07, -1.9229777307085832e-06, -4.6435914066449456e-08, 7.80177170751125e-06, -1.1586719411408499e-07, -0.000157251152758533, 1.8313063815868658e-06, -2.2076063097527308e-07, -5.2632413202588556e-08, -1.1586719411410596e-07, 1.068783303315602e-05, 0.0012170684031736312, 4.7250047563642576e-05, -8.571359981699787e-06, -3.5526158883863962e-06, -0.000157251152758533, 0.0012170684031736312, 0.0991368564662035]
twist:
  twist:
    linear:
      x: 1.011048692067737e-09
      y: 1.5146587399879294e-09
      z: 7.390027847141912e-05
    angular:
      x: 0.0010877663599699458
      y: 0.0014709944055831706
      z: -0.00014709557475285162
  covariance: [9.53546828065342e-05, 6.523128319685484e-19, -3.910241673124626e-15, 4.376660154306975e-13, -5.147201123503665e-13, 4.3663422568119004e-13, 6.523128319685381e-19, 9.535468280654853e-05, -1.2072564188808236e-14, 2.117454313938842e-12, -7.27552102279188e-13, -9.6452957093442e-14, -3.910241673124626e-15, -1.207256418880824e-14, 0.009575230382599035, 6.55032292259054e-11, 6.498641256452512e-11, 3.25506498813273e-10, 4.3766601543069446e-13, 2.117454313938868e-12, 6.550322922583892e-11, 0.0012665620925990794, 3.0203435819293384e-06, 1.5791807103914993e-08, -5.147201123503568e-13, -7.275521022791898e-13, 6.498641256452507e-11, 3.020343581929365e-06, 0.0012412489516709449, -8.838118098149977e-08, 4.3663422568119004e-13, -9.6452957093442e-14, 3.255064988132738e-10, 1.579180710391499e-08, -8.838118098149977e-08, 6.869822717555358e-05]
---

An example of my imu data:

michael@robby-ros:~/ros2_3rd_party_ws$ ros2 topic echo /imu/data --flow-style --once
header:
  stamp:
    sec: 1776785268
    nanosec: 281810472
  frame_id: imu_link
orientation:
  x: 0.011637636460363865
  y: 0.0008382266387343407
  z: 0.14493729174137115
  w: 0.9893720746040344
orientation_covariance: [1.98498221e-08, 3.83160428e-09, -2.47076906e-10, 3.83160428e-09, 1.3021946e-08, -4.30599945e-09, -2.47076906e-10, -4.30599945e-09, 6.88897697e-08]
angular_velocity:
  x: -0.0015963378257583827
  y: 0.0002873407839797436
  z: 0.002830839072121307
angular_velocity_covariance: [4.56587168e-06, 1.18437869e-06, 8.78951037e-07, 1.18437869e-06, 2.22839975e-06, -2.84728062e-07, 8.78951037e-07, -2.84728062e-07, 4.9531171e-06]
linear_acceleration:
  x: -0.2897091358591388
  y: 0.01991560237246488
  z: 9.699741346102286
linear_acceleration_covariance: [0.00652297, 0.00036781, 0.00134905, 0.00036781, 0.02387888, -0.00118197, 0.00134905, -0.00118197, 0.00971446]
---

And for completness the original odometry data:

michael@robby-ros:~/ros2_3rd_party_ws$ ros2 topic echo /odometry/wheels --flow-style --once
header:
  stamp:
    sec: 1776785310
    nanosec: 281742814
  frame_id: odom
child_frame_id: base_footprint
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: [0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01]
twist:
  twist:
    linear:
      x: 0.0
      y: 0.0
      z: 0.0
    angular:
      x: 0.0
      y: 0.0
      z: 0.0
  covariance: [3.3e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.3e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0028]
---

It seems to me that the noise imu data has higher precedence than the stable odom data, but I am not an expert in this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions