PRBonn/kiss-icp

Question about CPU Usage Related to Max Scan Range?

Closed this issue · 2 comments

Hi, I've been trying to tweak some configs to get kiss_icp running with a lower cpu load for an Ouster OS1 64 beam sensor.

Counter-intuitively, I noticed that when I increase the max scan range from 100m to say 200m, the compute actually gets significantly faster and I was wondering why that might be? My intuition would say that increasing this range means there is more points to process per iteration (less filtered in pre-processing).

But im seeing like 4X faster compute times using this with basically no odometry performance loss.

Thanks, no isse, just curious.

@JordySehn while I am not the author, I would suggest looking into how many ICP (alignClouds) iterations get performed. If you get better features at longer range, maybe you get faster convergence? Though I guess it can be heavily environment-dependent.

The reason is quite simple

config.mapping.voxel_size = float(config.data.max_range / 100.0)

In KISS ICP we compute the voxel size according to the max range. More details can be found in the paper

But increasing the max range increase the voxel size of the internal map and thus it gets soarser