Ask Your Question

Laser Scan walls moving with robot

asked 2019-09-08 15:39:52 -0600

ChrisL8 gravatar image

updated 2019-09-08 15:49:59 -0600

In years past I was able to make maps with gmapping. Lately I cannot anymore. I've spent some months trying to tweak calibration and such to no avail.

This is a setup similar to a Turtlebot, using an Asus Xtion Pro as a fake "Laser Scanner", which should be functionally the same as a Kinect.

This is the problem:

  1. Run rviz
  2. Set the Global Options->Fixed Frame to "odom"
  3. Set the Kinect Camera "Decay Time" to something high.
  4. Rotate the robot.

In the past I once got a reasonable view of the room. Now I get this: image description

The walls appear to rotate WITH the robot. this makes a mess of any attempt to create a map, as gmapping interprets this as seen, adding weird double and triple corners and multiple instances of objects in the map.

Can somebody point me to what error in my input or robot description is causing this, and how I could adjust and test it?

I am at a loss and ready to scrap my project, which is very sad.

Thank you.

edit retag flag offensive close merge delete


Have you tried setting the Fixed Frame parameter to something static, like world?

jayess gravatar image jayess  ( 2019-09-08 19:56:02 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2019-10-08 02:39:54 -0600

moooeeeep gravatar image

updated 2019-10-08 03:01:43 -0600

Probably your odometry is inaccurate.

Improving odometry typically involves tweaking the wheel odometry calculation by using a better model or by adapting model parameters. Or by involving additional sensors, like IMU or some kind of visual odometry, potentially fused by a Kalman filter.

Alternatively, or in addition you could try to find another SLAM implementation that maybe works more robust with respect to bad odometry, e.g., hector_slam or nav2d or Cartographer.

edit flag offensive delete link more

answered 2019-10-07 11:23:00 -0600

Youssef_Lah gravatar image

I've encountered the same problem and resolve it by using diff_drive_controller instead of gazebo_ros_control and set fixed frame to WORLD.

edit flag offensive delete link more

answered 2019-09-08 21:33:40 -0600

This appears to be an IMU problem if I've ever seen one. If you don't have an IMU, then your odometry.

edit flag offensive delete link more


There is no IMU, just odometry.

Could you be more specific about what kind of problem with the odometry would cause this?

I've spent months calibrating it to be as accurate as possible. The robot can rotate a given set of degrees and drive a given distance correctly, so it must be something that I'm missing.

Thank you.

ChrisL8 gravatar image ChrisL8  ( 2019-09-09 09:53:44 -0600 )edit

I can't help much really beyond that, but I can give you some guiding questions I might ask. Are you sure the wheel radii and separation is correct? You say you've been using this robot for years, maybe a component is starting to fail? When you drive forward do you see some drift linearly? If not, the radii is correct. Do you see this when you spin at any speed? Does it get better or worse when you do?

stevemacenski gravatar image stevemacenski  ( 2019-09-09 12:31:41 -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



Asked: 2019-09-08 15:39:52 -0600

Seen: 412 times

Last updated: Oct 08 '19