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

Revision history [back]

click to hide/show revision 1
initial version

The relation of frames is abit tricky. First of all: Normally, you would expect the /map frame to be fixed (like it is in the "real world"). In ROS, that's actually not the case. The fixed frame is /odom (the point where the odometry started measuring - it is "pinpointed" in the ROS world).

So now we have the odometry, giving us a continuous transform from /odom to /base_link. The mapping algorithm computes a possibly discontinuous (it can "jump") transform from /map to /base_link but publishes /odom to /map. The reason for that is, that algorithms like a Kalman Filter for pose estimation and trajectory planners don't deal so well with jumping coordinates.

So if you display the map and want to see the position of the robot in the map, you should look up /map -> /base_link or /base_footprint in tf.

More details of the coordinate frame specification are explained in REP 105

The relation of frames is abit a bit tricky. First of all: Normally, you would expect the /map frame to be fixed (like it is in the "real world"). In ROS, that's actually not the case. The fixed frame is /odom (the point where the odometry started measuring - it is "pinpointed" in the ROS world).

So now we have the odometry, giving us a continuous transform from /odom to /base_link. The mapping algorithm computes a possibly discontinuous (it can "jump") transform from /map to /base_link but publishes /odom to /map. The reason for that is, that algorithms like a Kalman Filter for pose estimation and trajectory planners don't deal so well with jumping coordinates.coordinates so easily.

So if you display the map and you want to see the position of the robot in the map, you should look up /map -> /base_link or /base_footprint in tf.

More details of the coordinate frame specification are explained in REP 105

The relation of frames is a bit tricky. First of all: Normally, you would expect the /map frame to be fixed (like it is in the "real world"). In ROS, that's actually not the case. The fixed frame is /odom (the point where the odometry started starts measuring - it is "pinpointed" in the ROS world).

So now we have the odometry, giving us a continuous transform from /odom to /base_link. The mapping algorithm computes a possibly discontinuous (it can "jump") transform from /map to /base_link but publishes /odom to /map. The reason for that is, that algorithms like a Kalman Filter for pose estimation and trajectory planners don't deal so well with jumping coordinates so easily.

So if you display the map and you want to see the position of the robot in the map, you should look up /map -> /base_link or /base_footprint in tf.

More details of the coordinate frame specification are explained in REP 105

The relation of frames is a bit tricky. First of all: Normally, you would expect the /map frame to be fixed (like it is in the "real world"). In ROS, that's actually not the case. The fixed frame is /odom (the point where the odometry starts measuring - it is "pinpointed" in the ROS world).

So now we have the odometry, giving us a continuous transform from /odom to /base_link. The mapping algorithm computes a possibly discontinuous (it can "jump") transform from /map to /base_link but publishes /odom to /map. The reason for that is, that algorithms like a Kalman Filter for pose estimation and trajectory planners don't deal so well with jumping coordinates so easily.

So if you display the map and you want to see the position of the robot in the map, you should look up /map -> /base_link or /base_footprint in tf.

More details of the coordinate frame specification are explained in REP 105

The relation of frames is a bit tricky. First of all: Normally, you would expect the /map frame to be fixed (like it is in the "real world"). In ROS, that's actually not the case. The fixed frame is /odom (the point where the odometry starts measuring - it is "pinpointed" in the ROS world).

So now we have the odometry, giving us a continuous transform from /odom to /base_link. The mapping algorithm computes a possibly discontinuous (it can "jump") transform from /map to /base_link but publishes /odom /map to /map. /odom. The reason for that is, that algorithms like a Kalman Filter for pose estimation and trajectory planners don't deal with jumping coordinates so easily.

So if you display the map and you want to see the position of the robot in the map, you should look up /map -> /base_link or /base_footprint in tf.

More details of the coordinate frame specification are explained in REP 105