Depth Camera Tracking
With NICP library you have a complete tracking system. Thanks to the innovative error function used by NICP, our tracker is more accurate and robust than most recent methods. A tracking system combines a registration and a mapping algorithm. Each time a new cloud is available, the tracker registers it on an augmented reference scene and then it adds the new data to the scene. Using local maps helps to reduce drift in the transformation estimate. In addition to this, NICP implements a novel method to sparsify a point cloud, this prevent the linear growth of points in the cloud. As you can see from the video on the right, NICP deviates from the true trajectory (green) of a small amount, thus reconstructing almost an optimal path. Get your hands on it reading the Depth Camera Tracking Tutorial.
3D Laser Scan Registration
NICP can work only with 3D laser data. By using a particular kind of depth image, the spherical depth image, NICP can store in a single image point clouds with an horizontal field of view of even 360°. Similarly to depth cameras, a 3D laser provides for each point azimuth, elevation and the range d measured at that elevation. Usually, both azimuth and elevation are subject to quantization, for this reason one can think a 3D scan as a depth image where azimuth and elevation represent the coordinates of a pixel on a spherical surface. The value d of the pixel is its depth.
Interactive Testing Tools
NICP provides a set of interactive testing tools that help the user to understand how the algorithm is behaving. All this can be done while changing online input and/or parameters of the algorithm. Look at the video below how it is possible, using the nicp_aligner_gui example delivered with the library, to register point clouds while showing statistics like normals, curvatures and correspondences. Just change the parameters to meet your needs and check the results!