This package contains code for NDT Fuser - a maximum-likelihood mapping approach with frame-to-model registration.


This package implements NDT fusion - a maximum-likelihood mapping approach. There are two main templated classes NDTFuser and NDTFuserHMT. The first class fuses masurements into one single fixed size map. The second class extends this approach by using a grid of submaps that are dynamically stored and loaded from disk. For more details on the NDT Fuser, check out the code API, as well as the tutorials.


This package provides one node - ndt_fuser.


fuses 2D or 3D range information into an NDT map

Subscribed Topics

~/points (sensor_msgs/PointCloud2)
  • 3D point clouds to fuse into the model
~/laser_scan (sensor_msgs/LaserScan)
  • laser scans if used in a 2D setting and enabled
~/odometry (nav_msgs/Odometry)
  • vehicle odometry, if available and enabled

Published Topics

/tf (tf/tfMessage)
  • publishes a transform from frame /test to /world with the corrected vehicle position
/ndt_map (ndt_map/NDTMapMsg)
  • publishes a NDT Map


~/save_map (std_srvs/Empty)
  • request the fuser to save the current map

For detailed description and list of parameters, see the tutorial.


A tutorial describing how to set-up an NDT fuser node and use it with your robot is available - Using NDT Fuser to create an NDT map.

Wiki: ndt_fuser (last edited 2014-10-16 16:09:45 by TomaszKucner)