ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

You are seeing the correct behavior. You can take a look at the REP for Coordinate Frames for more information about the frame conventions.

In a nutshell, the odom frame contains the pose of the robot in the world as reported by some odometry sensor. The odom pose is continuous; however, due to errors in odometry, it accumulates error over time.

To correct for the drift of odometric sensors, packages such as slam_gmapping introduce a transform between map --> odom. This transform is the correction that has been computed, based on sensor input such as laser scanners. It is not continuous (it can jump at various time intervals) because slam_gmapping usually computes corrections at a lower frequency.

If you have perfect odometry sensor, the map --> odom tf will always be 0.

You are seeing the correct behavior. You can take a look at the REP for Coordinate Frames for more information about the frame conventions.

In a nutshell, the odom frame contains the pose of the robot in the world as reported by some odometry sensor. The odom pose is continuous; however, due to errors in odometry, it accumulates error over time.

To correct for the drift of odometric sensors, packages such as slam_gmapping introduce a transform between map --> odom. This transform is the correction that has been computed, based on sensor input such as laser scanners. It is not continuous (it can jump at various time intervals) because slam_gmapping usually computes corrections at a lower frequency.

If you have a perfect odometry sensor, the map --> odom tf will always be 0.

You are seeing the correct behavior. You can take a look at the REP for Coordinate Frames for more information about the frame conventions.

In a nutshell, the odom frame contains the pose of the robot in the world as reported by some odometry sensor. The odom pose is continuous; however, due to errors in odometry, it accumulates error over time.

To correct for the drift of odometric sensors, packages such as slam_gmapping introduce a transform between map --> odom. This transform is the correction that has been computed, based on sensor input such as laser scanners. It is not continuous (it can jump at various time intervals) because slam_gmapping usually computes corrections at a lower frequency.

If you have a perfect odometry sensor, sensor and a "perfect" laser, the map --> odom tf will always be 0.