target_time The time to which the data should be transformed. (0 will get the latest)
if target_time is 0, the function will get the latest time to transform. So target_time 0 should be the same with ros::Time::now(). But the result is different, The function checks tf data in a loop. If target_time is 0, the function compares tf data with current time in each loop, not the time when lookupTransform was called. So you will get an Extrapolation Error if target_time is set to 0.
From the document
target_time The time to which the data should be transformed. (0 will get the latest)
if target_time is 0, the function will get the latest time to transform. So target_time 0 should be the same with
ros::Time::now()
. But the result is different, The function checks tf data in a loop. If target_time is 0, the function compares tf data with current time in each loop, not the time when lookupTransform was called. So you will get an Extrapolation Error if target_time is set to 0.See this issue as reference.
I'm not sure which is the expected behavior.