transform base_link<->map not available, but both base_link<->odom and odom<->map are available (???)
Hi,
I'm using stage and slam_gmapping.
Frame hierarchy is: /map->/odom->/base_footprint->/base_link->/base_laser_link
.
I need to do some operations with the occupancy grid and the laser scan, and I need the position of the robot wrt the map.
Whenever I ask for the robot position (using the tf_echo program, or in C++ using TransformListener), I'm unable to retrieve the transform base_link<->map.
The error is (when running: rosrun tf tf_echo base_link map
):
Exception thrown:Lookup would require extrapolation into the past. Requested time 4.400000000 but the earliest data is at time 1358007388.064145711, when looking up transform from frame [/map] to frame [/base_link]
or (if I swap source and target frames): Exception thrown:Unable to lookup transform, cache is empty, when looking up transform from frame [/base_link] to frame [/map]
HOWEVER, when individually looking up transforms map<->odom and odom<->base_link, both transformations are found! How can this be?