RobotecGPULidar icon indicating copy to clipboard operation
RobotecGPULidar copied to clipboard

Update multi-return for more types of return and all RGL fields.

Open PawelLiberadzki opened this issue 1 year ago • 0 comments

Description

This PRs introduces an update to RGL multi-return - more types are handled now (first, second, last, strongest and second strongest) and all RGL fields are handled. Moreover, this vastly simplifies an amount of effort to introduce multi-return for ROS 2 and UDP publishing.

A temporary downgrade is that multi-return samples are allocated even if beam divergence is set to zero. However, that was the case also before this update. This will be solved in close future PRs.

Multi-return modes and beam divergences are configurable at runtime.

Testing

Run implemented unit tests - most important here is asyncStressTest. For runtime check I propose running cube_in_motion test from multiReturnTest suite - uncomment GTEST_SKIP there. Results are visible in RViz2 ("world" frame). Divergence is configured on beams, and return modes switch circularly in following order:

  • RGL_RETURN_FIRST
  • RGL_RETURN_LAST
  • RGL_RETURN_FIRST_LAST

PawelLiberadzki avatar Aug 02 '24 13:08 PawelLiberadzki