# AMCL Localization, Drifts when turning

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.

Here is a Screenshot when I drove forwards:

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:

Hope you can help, greeting

Originally posted by felixwatzlawik on ROS Answers with karma: 201 on 2015-05-04

Post score: 3

Comment by fxgovers on 2016-07-16:
I'm having much the same problem, if anyone can help.

Francis G.

Comment by Dharmateja Kadem on 2016-09-19:
Hi, did you find the solution for this problem?

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

Originally posted by Akif with karma: 3561 on 2016-09-20

This answer was ACCEPTED on the original site

Post score: 4

Comment by Dharmateja Kadem on 2016-09-20:
My robot's wheelbase is at the center of the back wheels, will that be any problem?

Comment by Akif on 2016-09-21:
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).

Comment by gleb on 2016-09-26:
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.

Comment by Henrique on 2016-09-27:
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.

Comment by gleb on 2016-09-28:
Do you mean a custom amcl-odom-model-type?

Comment by Henrique on 2016-09-29:
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)