Page tree
Skip to end of metadata
Go to start of metadata


The neo_localization package provides a simple but effective replacement for the standard AMCL localization. It is quite similar to a particle filter, except the particles are created from scratch on every update and each particle is optimized using multiple Gauss-Netwon iterations.

It's main purpose is to achieve a higher accuracy as well as more robustness in challenging environments. Depending on the quality of the map a localization accuracy of up to 1 mm can be achieved.

In addition it will automatically switch into a constrained 1D mode or even into 0D mode (continue with just odometry) in case of insufficient surroundings to localize with.

It is installed on Neobotix platforms as of April 2020 by default.





  • /tf  (if enabled, map frame with odom child)
  • /amcl_pose  (for backward-compatibility)
  • /map_pose  (same as /amcl_pose)
  • /map_tile
  • /particlecloud


  • /scan
  • /map
  • /initialpose



neo_localization can be launched in conjunction with move_base as follows:

roslaunch neo_mpo_700 navigation_basic_neo.launch

Or directly via:

roslaunch neo_mpo_700 neo_localization.launch

Please choose the correct package name depending on your platform.

  • No labels