Hi!
I'm looking into time synchronization on multi-machine setup (that might or might not have access to internet while it's running). Let's assume 3 computers for the time being and no internet access.
The idea I've been playing with is to use one machine as NTP server (ideally the same that runs the ROS master) - that way I take the master's computer's time as system time.
With this setup I don't have any control over the boot time - sometimes the master machine might boot up after the slave machines are running. Since on the slave machines I'm waiting for roscore to launch on the master machine this slightly helps but not quite. If the time difference between machines is significant what can often happen is that the time gets step changed after all the slave nodes are running, which breaks the timers and what not.
Did anyone of you had an issue like this? How did you solve it? I'm using chrony, and on large time differences between server and client the skew doesn't seem to work and jumps tend to break things. Is there any solid way I can ensure clocks are synchronized before running any nodes?
↧