LSSR Toolkit Documentation

Introduction

This software delivers tools to build surface reconstructions from point cloud data and a simple viewer to display the results. Additionally, the found surfaces can be classified into categories in terms of floor, ceiling walls etc.. The main aim of this project is to deliver fast and accurate surface extraction algorithms for robotic applications such as teleoperation in unknown environments and localization.

LSSR is under permanent development and runs under Linux and MacOS. A Windows version will be made available soon. The software is currently under heavy reorganization, so it may happen that some interfaces change. Additionally, not all features have been ported to the new structure, so some functionalities may not be available at all times.

In the current version the previously available plane clustering and classification algorithms are not available. Please use the previous release (0.1) if your are interested in these functionalities. The missing features will be re-integrated in the next release.

Compiling the software

This software uses cmake [http://www.cmake.org]. The easiest way to build LSSR is to perform an out of source build:

 * mkdir build
 * cd build
 * cmake .. && make
 * 

External library dependencies:

Software Usage

LSSR comes with a tool to reconstruct surfaces from unorganized points and two viewer applications. To build a surface from the provided example data set, just call from the program directory

 * bin/reconstruct dat/points.pts -v5
 * 

This command will produce a triangle mesh of the data points stored in a file called "triangle_mesh.ply". The data set and the reconstruction can be displayed with one of the provided viewers. Important parameters for "reconstruct" are

--help Prints a short description of all relevant parameters.
-v or -i

These parameters affect the accuracy of the reconstruction. -i defines the number of intersections on the longest side of the scanned scene and determines the corresponding voxelsize. Using this parameter is useful if the scaling of a scene is unknown. A value of about 100 will usually generate coarse surface. Experiment with this value to get a tradeoff between accuracy and mesh size. If you know the scaling of the objects, you can set a fixed voxelsize by using the -v parameter.

--ki, --kn, --kd These parameters determine the number of nearest neighbors used for initial normal estimation (--kn), normal interpolation (--ki) and distance value evaluation (--kd). In data sets with a lot of noise, increasing these values can lead to better approximations at the cost of running time. Increasing --kd usually helps to generate more continuous surfaces in sparse scans, but yields in a lot of smoothing, i.e. in the reconstuctions, sharp features will be smoothed out.

API Description

A detailed API documentation will be made available soon.

Tutorials

A set of tutorials how to use LSSR will be made available soon.

 All Classes Files Functions Variables Typedefs Defines