neka-nat / cupoch

Robotics with GPU computing
MIT License
918 stars 107 forks source link

Pointcloud example fails #84

Closed jediofgever closed 3 years ago

jediofgever commented 3 years ago

Hi, Sorry to bother, I met issue while testing pointcloud example which basically estimates the normals and visualizes. The first issue is, the removeNonePoints, wipes out all the points leaving no points in the cluoud hence it fails. So I disable the removeNonePoints, by setting it to false in function signature.

The second issue I meet is, attached in the picture.

882023C3-15A2-4351-8D33-D3E9002F6B85

The cloud is relatively large including close to 2 ml points, but I am not sure if that the reason for this error, have tested that example ?

neka-nat commented 3 years ago

There seems to be an architectural mismatch. https://stackoverflow.com/questions/33047441/about-error-code-invalid-device-function-by-nvcc-with-compute-and-sm-compile Try to compile it with cmake, specifying the architecture. (where XX is the version of the architecture in your environment.)

cmake -D CUDA_ARCH_BIN="XX" -D CUDA_ARCH_PTX="XX" ..
jediofgever commented 3 years ago

Thank you @neka-nat. Indeed, my GPU is quite outdated so changed it to 50 from 52 which is the default.

The example does visualize the cloud but can't see any normals on the cloud, does the visualizer has the capability of visualizing normals?

Here is what the cloud looks like Screenshot from 2021-10-12 10-47-59

Edit; Ah ok,DrawGeometries(), accepts args for customized visualization.

Had to change default args as below, visualization::DrawGeometries({pcd}, "Copoch", 640, 480, 50, 50, true, true, false); can now see the normals;

neka-nat commented 3 years ago

Hi, Pressing the n key in the visualizer will draw the normals.