Robotics StackExchange | Archived questions

[ERROR] TF Exception that should never happen for sensor frame

I've trying to run the navigation stack on a Single-Board Computer (ROS Indigo on Ubuntu 14.04 for ARMhf) after having successfully tested in simulation. As expected, things are not as smooth. But by tuning some parameters and relaxing some transform thresholds, I was able to at least launch amcl and move_base.

I've also been able to eliminate, or at least understand, most warnings and errors. The only exception is this:

[ERROR] TF Exception that should never happen for sensor frame: , cloud frame: base_laser_link, Lookup would require extrapolation into the past.  Requested time 1459895411.615842000 but the earliest data is at time 1459895412.108226572, when looking up transform from frame [base_laser_link] to frame [map]

The error is coming from costmap_2d, specifically the obstacle layer. More specifically, from observation_buffer.cpp (L185):

ROS_ERROR("TF Exception that should never happen for sensor frame: %s, cloud frame: %s, %s", sensor_frame_.c_str(), cloud.header.frame_id.c_str(), ex.what());

Why should this "never happen"? And why is sensor_frame_ empty? It's never happened in simulation so it must be related either to the laser publisher or to tf being slow on a single-board computer, right?

Update: tf view_frames right after this error. That's weird because a robot_state_publisher is responsible for publishing the rest of the tf tree: /base_footprint --> /base_link, /base_link --> /base_laser_link. I don't see how amcl kept functioning with the tf tree looking like this ...

image description

Asked by spmaniato on 2016-04-06 13:59:16 UTC

Comments

Can you post the result of view_frames?

Asked by DavidN on 2016-04-06 20:56:53 UTC

Hi David. Sure, I'll run view_frames next time this error pops up. In the meantime, this is what the tree looks like: /map --> /odom --> /base_footprint --> /base_link --> /base_laser_link

Asked by spmaniato on 2016-04-07 09:24:39 UTC

See updated question for TF tree right after the error occurred. So weird.

Asked by spmaniato on 2016-04-08 18:11:10 UTC

Answers