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

AMCL drift rotation

asked 2019-11-16 17:57:02 -0500

mateusguilherme gravatar image

updated 2019-11-17 17:27:42 -0500

Hello

I have an AMCL drift problem when the robot rotates around itself. The most serious problem occurs if it performs small rotations, for example <15º, as this video I recorded. If the robot moves back and forth AMCL works perfectly.

video showing the problem

rqt_graph

rqt_tf_tree

I have already checked the wheelbase and it is correct.

Is this expected? or is there a parameter to fix this problem?

thanks

edit retag flag offensive close merge delete

Comments

Are you sure you have your robot otherwise set up correctly?

stevemacenski gravatar image stevemacenski  ( 2019-11-17 13:53:16 -0500 )edit

Thanks for your time. If that helps, I added some images from "rqt_graph / rqt_tf_tree". Do not hesitate to ask me for more information, I am learning ROS and I have many doubts

mateusguilherme gravatar image mateusguilherme  ( 2019-11-17 17:36:22 -0500 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2019-11-17 18:04:30 -0500

Before integrating with AMCL I would suggest to take a look at section 1 on the Navigation Stack Troubleshooting page, this will make sure that you are estimating the odometry correctly:

  1. Is My Odometry Good Enough for AMCL Problem: The robot doesn't seem to be localized properly. Its position estimate jumps around a lot in rviz and the navigation stack doesn't seem able to follow the plans produced by the global planner. Is this a problem with AMCL or my robot's odometry.

Solution: There are a couple of tests that are helpful to run to see how good the odometry of a robot is:

Test 1: Open up rviz and make sure that you're subscribed to the laser scan topic for your robot. Next, set the decay time to something like 30 seconds. Also set the fixed frame to the odom frame. Perform an in-place rotation with the robot and look at the laser scans. If odometry is fairly accurate, you should see scans from the previous rotation overlap with those generated on the current rotation. You'll want to do this in an area where you have distinctive features in your laser scan.

Test 2:Set up rviz the same way as the previous test. Point the robot at a wall and drive it towards it. With good odometry, the wall should stay in about the same place as the robot moves towards it. If you see a lot of movement in the positions of the scans relative to the wall that means odometry is poor.

Test 3: Drive the robot straight down a hallway. The laser scans of the hallway should stay straight. If you see them move a lot, it means your odometry is poor.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2019-11-16 17:57:02 -0500

Seen: 1,185 times

Last updated: Nov 17 '19