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

How to detect amcl localization mistake

asked 2016-11-04 05:55:21 -0600

trgtylcnky gravatar image

updated 2016-11-07 02:05:29 -0600

Hi, I want to localize my robot without the initial position is unknown. When I use amcl/global_localization service, the location found is usually incorrect. I want to detect this error and spread the points again until I found the correct spot. How can I do this?

Edit: To show what I am talking about; consider this image: image description

It is obvious that none of the rotation and position estimations matches with the laser scan. Estimation was good at first but it evolved to this (maybe i steer robot too fast). One possible solution came to my mind is to check this mismatch. I may take the PointCloud data from laser scan and do some image processing to match this data to map OccupancyGrid but I don't know how to do it (yet). I am also thinking to use this method to localize robot deterministically (then maybe publish under amcl initialpose topic).

edit retag flag offensive close merge delete

Comments

1

Hi, I try to solve the same problem and this link seems interesting : https://github.com/dejanpan/snap_map_icp. The guy use a technique called ICP (Iterative Closest Point) to get a corrected pose and reset amcl particule distribution (I haven't tested)

Inounx gravatar image Inounx  ( 2016-11-07 07:23:22 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-11-04 12:03:45 -0600

updated 2016-11-04 12:04:15 -0600

The default covariance for both x and y is set pretty low. You could try increasing these parameter to see if it will pick up on the correct location.

~initial_cov_xx (double, default: 0.50.5 meters)
Initial pose covariance (x
x), used to initialize filter with Gaussian distribution.
~initial_cov_yy (double, default: 0.50.5 meters)
Initial pose covariance (y
y), used to initialize filter with Gaussian distribution.

edit flag offensive delete link more

Comments

I think this way does not solve the problem. Because when I use global_localization the estimation points are spread uniformly. Your answer handles the initial estimations.

trgtylcnky gravatar image trgtylcnky  ( 2016-11-07 01:53:06 -0600 )edit

Question Tools

6 followers

Stats

Asked: 2016-11-04 05:55:21 -0600

Seen: 1,665 times

Last updated: Nov 07 '16