You are here

Application:icp-slam

1 Description


icp-slam is a front-end application to the MRPT C++ library class mrpt::slam::CMetricMapBuilderICP. This SLAM algorithm builds a map incrementally by aligning new range scans to either a point point or an occupancy grid map using the ICP algorithm. The ICP implementation itself can be found in the class mrpt::slam::CICP. See this tutorial describing the algorithm.



2 Demo


To run one of the demos included in MRPT, execute:

$ cd MRPT/share/mrpt/config_files/icp-slam/
$ icp-slam icp-slam_demo_classic.ini

or to use that same configuration with your own data set:

$ icp-slam icp-slam_demo_classic.ini YOUR_DATASET.rawlog

Check out the comments in the configuration files provided in MRPT/share/mrpt/config_files/icp-slam/ for further reference. Note that both ICP can be configured to use either a points or occupancy grid map to perform the scan alignment. And even using one of them, the other map type can be also built simultaneously.

NOTE: The rawlog "2007-05MAY-17_SENA_Floor2.3_1laser.rawlog" used in the demo video below is not included by default in the MRPT package, please grab it separately from the collection of datasets (this one).
 

2.1 Video


ICP-SLAM showing evolution in a 3D view in real-time.
[jwplayer |file=/videos/DEMO_icp-slam1.flv |image=/videos/DEMO_icp-slam1.jpg |width=640 |height=480]


2.2 Configuration files


Please, refer to the examples in MRPT/share/mrpt/config_files/icp-slam/.