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

amcl and odometry

asked 2017-06-14 06:58:25 -0600

MIN LATT gravatar image

Hi all, Based on amcl wiki, odometry data is used in amcl algorithm as follow:

initialpose (geometry_msgs/PoseWithCovarianceStamped) Mean and covariance with which to (re-)initialize the particle filter.

It is used for "initialize the particle filter". When does amcl initialize the particle filter? Upon program startup only?Could anyone guide me the location of the source code ? It is used for "re-initialize the particle filter" When does amcl re-initialize the particle filter? Could anyone guide me the location of the source code ?

Based on above descriptions, can I assume that odometry data is not required for amcl algorithm processing? If I set the initial pose to some known position in the map, do I still need odometry data for amcl algorithm processing?

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2017-06-15 01:49:59 -0600

Procópio gravatar image

You have some misunderstandings.

At startup AMCL loads an initial pose that defaults to (0, 0, 0) from the param server, as detailed here. That is when AMCL initializes the particle filter.

The odometry is not used as you have stated. The initialpose is not a nav_msgs/Odometry, but a geometry_msgs/PoseWithCovarianceStamped. The AMCL will subscribes to that topic and reinitialize the particle filter if a pose is published on that topic.

You are wrong assuming odometry is not required. AMCL is very dependent on it, but it uses the odometry from your TF tree, not from a topic, as shown here.

The source code can be found here.

edit flag offensive delete link more


Thanks a lot, Procópio. Basically if nobody publishes geometry_msgs/PoseWithCovarianceStamped, AMCL uses (0,0,0) as initial pose. Am I right?

MIN LATT gravatar image MIN LATT  ( 2017-06-15 03:02:49 -0600 )edit

yes, that's right! but note that geometry_msgs/PoseWithCovarianceStamped is just the type, you may have several topics with the same type but different names, AMCL only subscribes to the one named /initialpose

Procópio gravatar image Procópio  ( 2017-06-15 08:29:29 -0600 )edit

@Procópio Hello, sir. Is it possible to use the laser_scan_matcher as an odometry estimatortor?

anonymous userAnonymous ( 2019-03-28 07:23:45 -0600 )edit

@Bryant, yes you can.

Procópio gravatar image Procópio  ( 2019-04-03 02:52:22 -0600 )edit

Question Tools

1 follower


Asked: 2017-06-14 06:58:25 -0600

Seen: 2,628 times

Last updated: Jun 15 '17