-
Notifications
You must be signed in to change notification settings - Fork 87
Description
Desired behavior
The lidar sensor supports returning dual (or multiple) returns.
Alternatives considered
There are no good alternatives.
Implementation suggestion
Does anybody have an idea how this could be implemented? Have you seen any implementations?
For GPU lidar, I think it would need some quite advanced work with the depth buffer.
For raycasting lidars (once they're merged here), it could be a bit easier, but still some work.
It would also mean that the output of the lidar sensor would either be two (or multiple) pointcloud topics, or that the pointcloud being published would have to have the additional returns encoded into extra channels (this is preferable I think).
Additional context
E.g. Ouster OS-X Rev 6+ support dual returns. They offer multiple ordering options: STRONGEST_TO_WEAKEST, FURTHEST_TO_NEAREST, NEAREST_TO_FURTHEST. I think this ordering is just a minor implementation effort compared to the rendering part.
Even the old 2D lidar Sick LMS-151 can return dual returns. In our ancient fork https://github.com/peci1/LMS1xx/blob/c999ab90e059dc51dddd6f5ff578bb15e8de7733/src/LMS1xx_nodelet.cpp#L67 we published the second return as a separate LaserScan message, but I don't think that's necessary.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status