1 # Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 @page dwx_sample_icp ICP (Iterative Closest Planes) Sample
5 The NVIDIA DriveWorks ICP sample shows how to obtain ICP transforms via the
6 DriveWorks ICP module. The sample determines the relative transform between
7 two consecutive spins of Lidar and then chains them over a longer period. The
8 sample uses a point-to-plane algorithm and expects the points to be in an
9 order that approximately preserves their relative proximity in 3D space.
11 
13 Call the sample with the following syntax:
15 `./sample_icp <lidar_sample.bin>`
17 If no file is provided in the call, the sample uses the default Lidar
18 file, which is included in this DriveWorks release, `lidar_sample.bin`.
20 The sample output is shown on the screen.
22 The ICP sample supports the following options:
24 --lidarFile, string, Path to the Lidar file, which must be DW captured Velodyne HDL-64E file.
25 --plyloc, string, If specified, use this directory to write ICP-fused ASCII-PLY file.
26 --init, int, Number of initial spins to skip before the first pair is fed to ICP.
27 Initial frames do not contain enough points for ICP.
29 --skip, int, Number of frames to skip before getting the second spin
30 in the pair. The first spin in a pair is the second spin
31 from the previous pair. In the case of the first pair,
32 the first spin is specified by the value of --init + 1
33 and the second is N frames later, where --skip specifies N.
35 --numFrames, int, These many pairs are used to perform ICP before stopping.
36 To process all frames, set to zero (0).
37 --maxIters, int, Number of ICP iterations to run.
40 To pause the sample, press `SPACE`.
42 To rotate and move the camera while the sample is paused, select and drag the image.