ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
are you setting your initialpose with amcl?
2 | No.2 Revision |
are you setting your initialpose with amcl?
EDIT: about your comment
The point of global localization is to align the sensor measurement to a prebuilt map. It seems amcl is really just keep the map roughly in place, but is incapable of a large adjust.
AMCL generates hypothesis of where the robot could be and how well the measurements of that hypothesis match the current measurement. When you call /global_localization
it spreads the hypothesis all over the map and, as the robot moves, it reevaluate its hypothesis and prunes the unlikely ones, eventually converging to a reduced set of particles concentrated on the actual position.
But it is not magical, depending on the map you have and the measurements you are using, it may converge to a local minima and then it is hard to escape from there.
Localizing in a featureless map is really hard for AMCL, imagine your map is a square, and the robot is facing a corner. In which corner of the square are you? The /initialpose gives a hint to your filter and it will more often than not, converge to the true position.
3 | No.3 Revision |
are you setting your initialpose with amcl?
EDIT: about your comment
The point of global localization is to align the sensor measurement to a prebuilt map. It seems amcl is really just keep the map roughly in place, but is incapable of a large adjust.
AMCL generates hypothesis of where the robot could be and how well the measurements of that hypothesis match the current measurement. When you call
it spreads the hypothesis all over the map and, as the robot moves, it reevaluate its hypothesis and prunes the unlikely ones, eventually converging to a reduced set of particles concentrated on the actual position./global_localizationrosservice call move_base/global_localization
But it is not magical, depending on the map you have and the measurements you are using, it may converge to a local minima and then it is hard to escape from there.
Localizing in a featureless map is really hard for AMCL, imagine your map is a square, and the robot is facing a corner. In which corner of the square are you? The /initialpose /initialpose
gives a hint to your filter and it will more often than not, converge to the true position.