Ask Your Question
3

AMCL Localization, Drifts when turning

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

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

Comments

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

Francis G.

fxgovers gravatar imagefxgovers ( 2016-07-16 18:13:32 -0600 )edit

Hi, did you find the solution for this problem?

Dharmateja Kadem gravatar imageDharmateja Kadem ( 2016-09-19 18:09:40 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
4

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

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

Comments

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

Dharmateja Kadem gravatar imageDharmateja Kadem ( 2016-09-20 11:43:08 -0600 )edit
1

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 imageAkif ( 2016-09-21 01:33:37 -0600 )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 imagegleb ( 2016-09-26 08:16:20 -0600 )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 imageHenrique ( 2016-09-27 18:42:05 -0600 )edit

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

gleb gravatar imagegleb ( 2016-09-28 03:44:13 -0600 )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 imageHenrique ( 2016-09-29 08:33:18 -0600 )edit
0

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

Dharmateja Kadem gravatar image

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

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

edit flag offensive delete link more

Comments

1

You're welcome!

Akif gravatar imageAkif ( 2016-10-21 10:12:27 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

4 followers

Stats

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

Seen: 1,675 times

Last updated: Sep 26 '16