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

AMCL Localization, Drifts when turning

asked 2015-05-04 05:03:36 -0500

felixwatzlawik gravatar image

Hi people, I am using a differential drive robot with a sick laser scanner.

When I am driving him forwards everything is fine but when I start turning the LaserScan doesnt match with the map and it starts drifting.

I am only using AMCL and not robot_pose_ekf, do I need to use this?

Here is my current tf tree. image description

Here is a Screenshot when I drove forwards: image description

and once I am starting to turn the robot the laserscan (red boxes) dont match with the map anymore :/ I have really no idea where to look for the mistake: image description

Hope you can help, greeting

edit retag flag offensive close merge delete


I'm having much the same problem, if anyone can help.

Francis G.

fxgovers gravatar image fxgovers  ( 2016-07-16 18:13:32 -0500 )edit

Hi, did you find the solution for this problem?

Dharmateja Kadem gravatar image Dharmateja Kadem  ( 2016-09-19 18:09:40 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2016-09-20 04:18:51 -0500

Akif gravatar image

You can check your vehicle model. For example, wheelbase of the robot may be set incorrectly since you only have problem when rotating.

edit flag offensive delete link more


My robot's wheelbase is at the center of the back wheels, will that be any problem?

Dharmateja Kadem gravatar image Dharmateja Kadem  ( 2016-09-20 11:43:08 -0500 )edit

You may check the distance between two wheels in y-axis and x-axis (if any). Also you can share your odometry calculation method (vehicle model).

Akif gravatar image Akif  ( 2016-09-21 01:33:37 -0500 )edit

Hi Akif, I have the same problem. I am using a carlike robot simulated in gazebo. As odom_model_type I am using "diff". But amcl has no parameter specifying the wheelbase. Do you have any idea how to correct that localization drift? Tank you.

gleb gravatar image gleb  ( 2016-09-26 08:16:20 -0500 )edit

For car type robots, you need to write a custom odometry algorithm with the math based on ackerman equations. They can be simplified with bike equations.

Henrique gravatar image Henrique  ( 2016-09-27 18:42:05 -0500 )edit

Do you mean a custom amcl-odom-model-type?

gleb gravatar image gleb  ( 2016-09-28 03:44:13 -0500 )edit

No, amcl, infere its new position by odom pose of the robot (the position in the map that the robot think it is), plus laserscan and instant movement (in odom too). So what you need to do is to make your odom publish correct. (make a topic that reads the joint states and pubblish the correct odom)

Henrique gravatar image Henrique  ( 2016-09-29 08:33:18 -0500 )edit

answered 2016-09-19 13:40:15 -0500

Dharmateja Kadem gravatar image

updated 2016-09-26 12:04:45 -0500

The problem is solved by changing the wheel_base i.e distance between two wheels. thanks @Akif

edit flag offensive delete link more



You're welcome!

Akif gravatar image Akif  ( 2016-10-21 10:12:27 -0500 )edit

Question Tools



Asked: 2015-05-04 05:03:36 -0500

Seen: 3,257 times

Last updated: Sep 26 '16