Additional lidar_handler to set the timestamp of the pointcloud from specific rotation angle #73
+34
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related Issues & PRs
Summary of Changes
I added an additional
lidar_handler
which enables the user to precisely set the point cloud time stamp to a specific rotation angle (within configured azimuth range).This helps if one would like to sync a camera with the LiDAR.
E.g. If the camera is triggered at 270deg of LiDAR rotation. The user could now set
time_reference_angle:=270.0
and the published point cloud will be stamped with the time when it swiped the 270° and hence exactly when the camera was triggered.In combination with phase_lock this is quite handy. Comparable to an issue within the velodyne driver: ros-drivers/velodyne#242
Validation
I tested it with an OS0-128 with FW 2.4
If an azimuth range is configured and the user provided time_reference_angle is out of range it will fall back to the default driver behavior.
I hope you see the benefit this provides for many real life applications.
Looking forward to discuss 😃