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

AMCL with fake odometry

asked 2017-07-08 14:46:32 -0500

hiwak gravatar image

Hi everyone,

AMCL needs odometry and we only have laser scanners (encoders are unreliable). I tried to fake odometry for AMCL by using /cmd_vel topic. The fake odometry seems to be correct but AMCL is not localizing any good. I know that I can use laser_scan_matcher to get odometry but there are some places in environment that laser scan matcher is not working correctly. With these being said, here are my questions :

  1. Will AMCL ever work with fake odometry ?
  2. Will adding fake odometry to laser_scan_matcher help it not to get lost when laser is blocked (like when laser is facing a wall and robot moves sideways) ?
  3. Is AMCL really using laser data to correct it's position ? Because it seems to be working only based on odometry it receives.

Thanks in advance

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2017-07-17 02:23:06 -0500

Procópio gravatar image

When you say "tried to fake odometry for AMCL by using /cmd_vel topic", what exactly do you mean? If you are using the /cmd_vel to generate a new /odom topic, make sure you are also broadcasting the odom->base_link transform.

  1. It depends on how good is your fake odometry, but it should work.
  2. Yes (see 1.). You can also try other laser odometry packages, as the polar_scan_matcher, hector_slam or rf2o_laser_odometry.

  3. It is. But it will only update the filter and the robot position after moving over a threshold. You can tweak those parameters (update_min_d and update_min_a)to always updated the filter (setting them to negative values), even if the robot is not moving, but the load on your CPU will greatly increase.

edit flag offensive delete link more

Question Tools



Asked: 2017-07-08 14:44:43 -0500

Seen: 975 times

Last updated: Jul 17 '17