-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Synchronization service call has undefined behavior #183
Comments
Hi @JD-ETH As you've discovered, the O3X offers device-based time synchronization via an NTP server. The The If you want to truly time synchronize multiple devices, the only viable solution is using the device-side mechanism with a common NTP server. |
@theseankelly thanks for the quick response! We tested the hardware synchronization first, and couldn't get it to work reliably. I'm describing our procedure here and please let me know if anything's wrong:
We are sure the ntp server is available, and the host has access to internet. Could you give some suggestions? I will be closing this thread afterwards, as the nondeterminism seems inevitable and shouldn't be viewed as an issue. |
I'll defer to @graugans on the NTP questions. |
As I described in #96 the NTP server needs to be available when the camera is booting up. Otherwise the camera does not sync due to the risk of time jump effects. I wonder why you do have a sync time of several minutes. This is not intended behaviour. I can check this on monday when I am in the office. |
I have found a fix to the problem. Indeed, the syncing fails if the ntp server is unavailable. Which is to be expected on a mobile robot platform by the way, how would your PC boots up earlier than your sensor? The interesting and unexpected fact of the ifms is however, when rebooting the sensor I can confirm however, by deactivating and reactivating the SynchronizationActivated flag the ifms can immediately be synchronized with the server. The command I ended up using was:
Feel free to close this MR, as I have found my fix. But there is obviously something unexpected going on, so I will let you decide whether you want to close this thread here. @graugans . |
Support for retrieving O3R Diagnostics over XMLRPC Closes #183 See merge request syntron/support/csr/ifm3d/ifm3d!181
Support for retrieving O3R Diagnostics over XMLRPC Closes #183 See merge request syntron/support/csr/ifm3d/ifm3d!181
We observe strong non-deterministic behavior when trying to trigger the synchronization. The resulting time delay is much more than expected (~0.7 s instead of ~0.1s).
Hardware:
Linux Ubuntu 18.04, ifm o3x100.
On sensor configuration:
The relevant setting here is SynchronizationActivated, and is set to "false". This conflicts otherwise with the software disable. sync_clocks flag is enabled in the ros launch file.
Problem description
The synchronization seems to give reasonable result when the sensor boots up. however, when for some reason the
ifm3d_ros
interface is relaunched, or when thesyncClocks
is called as a service, the time stamp starts to jump around. We examine the delay between system time (ROS time) and sensor time (message time) using the ros diagnostics tool. Videos and small descriptions are attached under the following link.The issue is posted here as it more closely relates to the underlying ifm3d library then the ros wrapper.
The text was updated successfully, but these errors were encountered: