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

TF will accept transform data out of order. Remapping /tf will not resolve your problem of having two clocks that are not synchronized.

You should not be publishing multiple clocks that are not synchronized. The /clock topic is designed to be an authoritative source of time. And time has certain semantics such as being monotonic. If you jump from 2:14 to 1:52 anything that's keeping a time history of data needs to reset as any data collected in the last 22 seconds is now in the future and thus invalid. This usually happens when you're playing back a bag file and you loop, or you've reset your simulation to an earlier point in time. The TF libraries are principaled and this is something that they need to respond to. Anything else with state should be clearing their state when time jumps backwards too.

I suggest reading a little bit more about the Clock at http://wiki.ros.org/Clock

Your multiple sources of time will also screw up any timers that are active in the system. On a running system you can't have two different timelines active. The most common way to resolve this sort of issue is to coordinate your simulators to run in lock step. The simplest way to do that is to pick the one that goes slower and have it publish the /clock and have the other one wait for it to step forward.