Skip to content

registration

How each new scan is aligned to the map. This covers the voxel grid the map is stored in and the iterated extended Kalman filter update that matches a scan against it.

Option Default Starter
max_iter 4
neighbors_max_range 5m
map
  resolution 50cm yes
  resolution.type Multi
  capacity 262144 yes
  distribution_update_sensitivity 10.0

registration.max_iter

Maximum filter correction iterations per scan.

Type: integer.

Minimum: 0 (inclusive).

registration.neighbors_max_range

Largest distance at which a map voxel is still considered a neighbor of a point. The default is fine unless you reduce map.resolution by a lot.

Type: length.

registration.map

registration.map.resolution

Edge length of one voxel, which is also the size of the smallest feature registration can resolve. This is the option with the largest effect on both accuracy and runtime, so change it before anything else.

Type: length.

Part of the starter configuration.

registration.map.resolution.type

Single: one fixed-resolution map. Multi: scales of 0.5x, 1x, 2x and 4x resolution.

Accepted values: single, multi

Accepted values are case-insensitive.

registration.map.capacity

How many voxels of the resolution above the map holds at any time. Once it is full, older voxels are dropped, so memory stays bounded on a long run. With CUDA enabled and Single resolution this is rounded up to the next power of two. The multiresolution map keeps the exact total instead.

Type: integer.

Minimum: 0 (inclusive).

Part of the starter configuration.

registration.map.distribution_update_sensitivity

How strongly a new scan moves the distribution stored in a voxel. Higher values track changes in the environment faster and keep less history.

Type: number.