# Cartographer: how to minimize impact of robot rotation in map

Hi, I'm using cartographer (without odom, ie. cartographer itself provides odom) + nav2d, to SLAM + autonomous navigation.

Linear movement of the robot is handled pretty well by cartographer, but rotations usually cause the map to break, in the form of a second room being mapped, rotated from the previous one (instead of the robot rotating inside the existing room).

I see the laser scan data seems accurate, but rotations cause a lot of log entries similar to this one:

I0820 11:16:35.175624  4240 constraint_builder_2d.cc:267] Node (0, 100) with 202 points on submap (0, 0) differs by translation 0.02 rotation 0.005 with score 39.5%.


(actual numbers may differ, sometimes the score or the translation/rotation numbers as higher or lower)

It seems as if rotations almost are invalidating the map, and lots of entries like the one above appear in the log. When this entries stop, the map "stabilizes" again, but the result is a newly "rotated" room, while also preserving the previously mapped one. I see that if I constrain the robot angular velocity (maybe by a lot) the problem is somewhat mitigated, but not really resolved.

Is this a common problem? (dealing with rotations causing a lot of noise in the map and "phantom" rooms being added to it). Are there any general guidelines for addressing this type of problem?

Thanks!

edit retag close merge delete

Sort by » oldest newest most voted

IMU should improve results significantly

more