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

tfListener::setExtrapolationLimit, Does this really allow forward extrapolation?

asked 2012-04-26 04:31:30 -0600

Drclewis gravatar image

My motion platform moves at a fairly constant rate. I receive data from the kinect much faster than I do from my position sensor and would like lookupTransform to extrapolate to determine the approximate transform between the fixed kinect and the moving platform.

Does setExtrapolationLimit() do this. I see that it sets max_extrapolation_distance_, but I couldn't see any place where this variable is used in any meaningful way.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2012-04-26 13:38:14 -0600

tfoote gravatar image

The extrapolation limit defaults to zero and is recommended to stay set as such. When looking up values tf uses linear interpolation to compute the result between the closest two data points. If a query is within the extrapolation limit of the closest datapoint it will use the linear interpolation to extrapolate.

Note this is very noisy and leads to very obscure bugs, and i have not seen it used successfully in any application.

edit flag offensive delete link more


I tried to turn on extrapolation with "setExtrapolationLimit(ros::Duration(.5))" but I still get these messages: "Lookup would require extrapolation into the future. Requested time 1359401058.315669537 but the latest data is at time 1359401058.214494031". The difference is only 101ms ...

brice rebsamen gravatar image brice rebsamen  ( 2013-02-16 12:19:02 -0600 )edit

Question Tools



Asked: 2012-04-26 04:31:30 -0600

Seen: 1,431 times

Last updated: Apr 26 '12