ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

use navigation stack with different method for localization

asked 2014-10-02 11:19:23 -0600

Marcus gravatar image

Hello everyone,

I am pretty sure that it is possible to use the navigation stack ( with another localization method than AMCL ( since I have seen that people already tried to use hector SLAM. However, I was not able to understand how they realized this "switch". Does anyone have an idea where I should start? I have been using the navigation stack with some success but wanted to try out another localization technique.

Cheers Marcus

edit retag flag offensive close merge delete



I'm the same question about how to fusion or use AMCL and Hector_mapping

ingcavh gravatar image ingcavh  ( 2014-10-03 00:50:26 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2014-10-02 11:58:02 -0600

David Lu gravatar image

The typical Nav setup has at least three tf frames: One for the map, one for the odometry root, and one for the robot. As described on this page, the link between odom and robot usually comes from the robot's odometry, and the link between the map and the odom comes from AMCL. In order to use an alternate localization method, you just need something else that provides that transform.

edit flag offensive delete link more


Hey David, thank you for your quick answer. I was already suspecting something like this, since I tried to run my simulation without AMCL and ros demands the transform from base_footprint to map. I was just not aware that it might be that simple. Thanks, Marcus

Marcus gravatar image Marcus  ( 2014-10-03 09:40:59 -0600 )edit

Hey David, I was wondering if we can use the robot_state_publisher instead of multiple tf in Markus case ?

jamman gravatar image jamman  ( 2014-11-07 04:32:00 -0600 )edit

I'm not sure what you're asking. Can you open up a new question instead?

David Lu gravatar image David Lu  ( 2014-11-07 07:49:39 -0600 )edit

answered 2014-10-02 11:40:25 -0600

l0g1x gravatar image

Its mostly just searching around and looking at what other people are doing, and then going and checking out that package/algorithm. I started by just looking around this forum (ros answers).

It really depends on what your system/enviornment consists of. If you want to localize yourself off laser data, but there is not always objects in the scan of your laser, you want to your gmapping_slam which uses your wheel odometry to fill in your pose estimate when there are no objects in your laser scan, or it for some reason can't match the scans.

Hector slam, however, by default uses just your laser scan data. That means that your environment has to have a good amount of objects, so that hector slam can constantly localize, or else it will crash (this should probably be fixed, and it should try to restart in my opinion, being re-initialized with your last most reliable pose estimate value).

edit flag offensive delete link more


Thanks for your answer. I was looking more into using my labs inhouse SLAM method for localization, so I will actually not need either AMCL or Hector. Anyways, your explanation helped me to understand some differences. Marcus

Marcus gravatar image Marcus  ( 2014-10-03 09:36:36 -0600 )edit

Question Tools

1 follower


Asked: 2014-10-02 11:19:23 -0600

Seen: 2,692 times

Last updated: Oct 02 '14