0
$\begingroup$

Rosanswers logo

When i run the navigation stack i saw that map link is fixed on given map but the odom frame is changing dynamically when robot moves. Considering that odom frame is the initial position from which robot started to move, shouldn't this be also fixed w.r.t given map frame?


Originally posted by dinesh on ROS Answers with karma: 932 on 2021-09-07

Post score: 0


Original comments

Comment by gvdhoorn on 2021-09-07:\

Considering that odom frame is the initial position from which robot started to move

no, that's not entirely correct.

It's the current estimate of your robot's pose in the map frame.

So only at the very beginning will it correspond to "the initial position". Soon, due to drift, and inaccuracies in pose estimation, it will start to diverge from that position.

Comment by Mike Scheutzow on 2021-09-07:
@gvdhoorn In your 2nd sentence, what is It's a reference to?

Comment by gvdhoorn on 2021-09-08:
The odom frame (and that sentence is a bit of an interpretation of course, but I believe it's correct in the context the OP described (ie: right at the start)).

Related Q&As: #q222567, #q237295, #q37029 and #q260930.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

In most ros systems, the origin of the odom frame is not fixed. An algorithm like AMCL corrects for odometry drift by periodically recalculating the map->odom transform. This has the effect of moving the origin of the odom frame relative to the map frame.


Originally posted by Mike Scheutzow with karma: 4903 on 2021-09-08

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by dinesh on 2021-09-09:
I have some doubt. Due to the drift from wheel encoders it should be effecting the position of base_link w.r.t odom frame right? Instead odom frame moving itself, since this frame i.e initial position of robot should be fixed in given map from where it started moving?

Comment by Mike Scheutzow on 2021-09-09:
My answer describes how drift correction is often done. The non-intuitive part of this algorithm is that you do not try to correct the odom->base_link transform itself; instead the algorithm changes map->odom transform.

Comment by dinesh on 2021-09-10:
Ok. thanks for this informatin.

$\endgroup$

Your Answer

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