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

With the extra information that a longer timeout doesn't work, and the fact that your able to transform slightly older data, I believe that you're running into the issue that you are blocking the execution of the python process while waiting. Without another thread running you're blocking the timer thread. But in blocking that thread you are preventing new incoming messages from arriving. Thus the new information that you're waiting on will never arrive. If you were to stop waiting and try again at the same time you'd likely succeed.

The c++ implementation of this does not run into this issue because it explicitly spins a special thread to listen by default.

For your sort of application the simplest thing to do is to query at time "0" which is a special case which will provide you with the transform for the latest common time across the spanning set.