Browse by type
cuPCL has some libraries used to process points cloud with CUDA and some samples for their usage. There are several subfolders in the project and every subfolder has:
To get started, follow the instructions below.
Xavier, Orin, and Linux x86 are supported(For Jetpack 4.x, Jetpack 5.x, and Linux x86_64 library, please check the respective branch).
If you run into any issues please let us know.
To get started, follow these steps.
Install PCL (Eigen included)
$sudo apt-get update
$sudo apt-get install libpcl-dev
Enter any subfolder and then
make
sudo nvpmodel -m 0
sudo jetson_clocks
./demo [*.pcd]
$ strings lib* | grep version | grep lib
lib* version: 1.0 Jun 2 2019 09:30:19
Jetson Xavier AGX 8GB
Jetpack 4.4.1
CUDA 10.2
PCL 1.8
Eigen 3
This project provides:
The project provides:
NOTE: Now it supports two kinds of filters: PassThrough and VoxelGrid.
This package provides:
NOTE: Now it just supports SAC_RANSAC + SACMODEL_PLANE.
This package provides:
NOTE: Now it just supports Radius Search and Approx Nearest Search
This package provides:
NOTE:
This package provides:
| GPU | CPU-GICP | CPU-ICP | |
|---|---|---|---|
| count of points cloud | 7000 | 7000 | 7000 |
| maximum of iterations | 20 | 20 | 20 |
| cost time(ms) | 43.3 | 652.8 | 7746.0 |
| fitness_score(the lower the better) | 0.514 | 0.525 | 0.643 |
| GPU | CPU | |
|---|---|---|
| count of points cloud | 11w+ | 11w+ |
| down,up FilterLimits | (-0.5, 0.5) | (-0.5, 0.5) |
| limitsNegative | false | false |
| Points selected | 5110 | 5110 |
| cost time(ms) | 0.660954 | 2.97487 |
| GPU | CPU | |
|---|---|---|
| count of points cloud | 11w+ | 11w+ |
| LeafSize | (1,1,1) | (1,1,1) |
| Points selected | 3440 | 3440 |
| cost time(ms) | 3.12895 | 7.26262 |
| GPU | CPU | |
|---|---|---|
| segment by time(ms) | 14.9346 | 69.6264 |
| model coefficients | {-0.00273056, 0.0425288, 0.999092, 1.75528} | {-0.00273045, 0.0425287, 0.999092, 1.75528} |
| find points | 9054 | 9054 |
| GPU | CPU | |
|---|---|---|
| count of points cloud | 119978 | 119978 |
| down,up FilterLimits | (0.0,1.0) | (0.0,1.0) |
| limitsNegative | false | false |
| Points selected | 16265 | 16265 |
| cost time(ms) | 0.589752 | 2.82811 |
| GPU | CPU | |
|---|---|---|
| Count of points cloud | 17w+ | 17w+ |
| Cluster cost time(ms) | 10.3122 | 4016.85 |
| GPU | CPU | |
|---|---|---|
| count of points cloud | 7000 | 7000 |
| cost time(ms) | 34.7789 | 136.858 |
| fitness_score(the lower the better) | 0.538 | 0.540 |
https://developer.nvidia.com/blog/accelerating-lidar-for-robotics-with-cuda-based-pcl/ https://developer.nvidia.com/blog/detecting-objects-in-point-clouds-with-cuda-pointpillars/
$ claude mcp add cuPCL \
-- python -m otcore.mcp_server <graph>