-
Notifications
You must be signed in to change notification settings - Fork 79
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
Support for accessing and mutating the timestamp mode on the LiDAR #36
Support for accessing and mutating the timestamp mode on the LiDAR #36
Conversation
The on-LiDAR `timestamp_mode` can now be set in the config file. Additionally, its state is fedback in the `GetMetadata` service. I HIL-tested these changes via visual inspection and everything seems to be working correctly. I see that in #10 there is a plan add some automated testing. I think this is a *very good* idea. I'll add some comments to that issue shortly. Closes: #34
Looks good- the only other ask I think is also supporting a ROS time as well. It won’t be well synchronized but if they’re not using PTP then the clocks could diverge either way. |
In terms of implementation for a ROS timestamp... I suggest we add a separate parameter (bool flag, default Also, I would suggest we separate that out into its own PR as it sort of conflates issues. This PR focuses on which stamp is applied by the LiDAR. The subsequent one would handle whether or not use use the LiDAR stamp or a ROS timestamp (at time of data reception, not when the data are sampled). LMK what you think. |
I guess we could add something like |
That sounds reasonable. I mostly wanted in enum to be clean, I’m fine with a warning though. It also may be valuable in the readme to explicitly describe what those 3 modes do and why time syncing is important. I’ve run into PTP before from having clock skew issues but I wonder if its something we should specially mention the importance of and a one liner to enable on the host machine so the lidar can be a slave. |
I’m working on a write up that I’ll post publicly on this topic specifically — PTP time sync using a Linux host as the PTP grandmaster and an Ouster LIDAR as a slave. It will be easiest to link to it from the README once I publish, it’s more than a one-liner (it will happen this week). PTP claims accuracy to w/in +/- 1 usec while the Ouster docs claim +/- 50 usec. I want to characterize the OS1 specifically and see how to best tune it. What I have seen so far is that it oscillates rather wildly (+/- 200 usec) around the set point (0, offset from master). I still have more analysis to do. Depending upon what I find out I may see if Ouster will expose some more knobs to the underlying ptp4l configuration so we can tune the servo params over the tcp interface. |
@SteveMacenski There is a change I'd like to make to the last commit. Please hold-off on merging. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just an update on the warning. I want it to be less scary looking.
… given LiDAR scan will get the same ROS timestamp so they can be time correlated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm OK with this when you are.
I'm good. |
Thanks! I also added you as a collaborator if you check your email linked to github. Welcome and thanks! |
Thanks Steve. Happy to collaborate with you. |
The on-LiDAR
timestamp_mode
can now be set in the config file. Additionally,its state is fedback in the
GetMetadata
service.I HIL-tested these changes via visual inspection and everything seems to
be working correctly. I see that in #10 there is a plan add some
automated testing. I think this is a very good idea. I'll add some comments
to that issue shortly.
Closes: #34