Field-Robotics-Lab / nps_uw_multibeam_sonar

Multibeam sonar plugin with NVIDIA Cuda library
Apache License 2.0
35 stars 20 forks source link

GpuRay based Multibeam Sonar #19

Closed woensug-choi closed 2 years ago

woensug-choi commented 2 years ago

Work in progress...

Related Issue : https://github.com/Field-Robotics-Lab/nps_uw_multibeam_sonar/issues/18 and https://github.com/Field-Robotics-Lab/nps_uw_multibeam_sonar/issues/4

woensug-choi commented 2 years ago

Generic gpu_ray sensor does not provide correct vertical data

There were some discussions about this long ago. I hoped it was fixed. But it was not. Related links : https://answers.gazebosim.org//question/12068/how-can-simulation-multi-layervertical-using-gpu_ray-sensor/ Also, most of the issue links are broken making it difficult to understand the status. e.g. https://bitbucket.org/osrf/gazebo/issues/946/gpu-ray-sensor-vertical-ranges

My testing with generic gpu_ray showed strange point cloud data.

Using Velodyne's lidar sensor to create a point cloud

Current results

ray_based_mbs

Other notes

woensug-choi commented 2 years ago

Fixed distortion! Need clean up and comparisons with previous depth_camera's results. It was due to different azimuthal angles since the rays by the gpu_ray are sent at each vertex of scene capture, where for the depth_camera the ray were pixel centers. image

woensug-choi commented 2 years ago

Current status

Limitations

Todo

woensug-choi commented 2 years ago

For normal calculation, the previous calculation function methods does work on the depth image created from point cloud too. Don't mind the orientation. As long as we are using cosine function to apply the incident angle effect, the sign of the normal vector does not matter.

image

image

woensug-choi commented 2 years ago

GPU Ray (Velodyne lidar) vs Raster (Depth camera)

image

woensug-choi commented 2 years ago

Number of rays

Bug

image image image

woensug-choi commented 2 years ago

To do: