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

ICP scan matching failure.

asked 2012-06-04 21:38:08 -0500

enddl22 gravatar image

Hello, ROS people.

I am using ROS laser_scan_matcher but faced this ICP failure.

Please have a look the following video.

YouTube video

Is there anyone who encountered this and any recommendations?


edit retag flag offensive close merge delete

6 Answers

Sort by ยป oldest newest most voted

answered 2012-06-05 10:01:36 -0500

updated 2012-06-08 07:11:06 -0500

(Warning: Shameless plug ahead) Not sure about ICP, but you could also try hector_mapping and see if it works better. We normally get good results with the Hokuyo UTM-30LX scanner and similar scenarios like that shown in your video.

/edit: Updated results with hector_mapping. I found that increasing the scan queue size from 5 to 25 gets rid of all errors, resulting in nice map without inconsistencies. It's a interesting question why that is though, considering that it takes only 4-8% of CPU (probably idling waiting for transforms). Map looks like this: image description

The results can be reproduced using this launch file. Similar to this tutorial, just start the launch file in one terminal:

roslaunch hector_slam_launch postproc_qut_logs.launch

and then play back your bagfile in another terminal:

rosbag play 2.5D_bag02.bag --clock
edit flag offensive delete link more


Thank you for reply. I tried to run with hector_mapping but it keeps complaining "lookupTransform base_footprint to laser timed out. Could not transform laser scan into base_frame." I might need time to run it with. If you could run it with the linked bag file, it would be great to see results.

enddl22 gravatar image enddl22  ( 2012-06-08 02:46:17 -0500 )edit

The bag file link is Thank you.

enddl22 gravatar image enddl22  ( 2012-06-08 02:52:36 -0500 )edit

answered 2012-06-05 04:06:03 -0500

phil0stine gravatar image

updated 2012-06-05 04:06:21 -0500

I've had problems using laser scan matcher in hallways as well, although the angular errors in your video are different than what weve seen.

Normally laser based ICP will fail by shortening the end wall as you approach, and lengthening it as you move away.

I think this is because, due to the nature of a 2D laser scanner, you will have points more densely packed closer to the robot than farther away down the wall, so ICP will tend to skew toward matching the closer points than the ones farther out.

If you have other odom sensors, try using something like robot_pose_ekf and adjust the covariances of your laser odom.

edit flag offensive delete link more


Unfortunately, I only have the laser scanner and IMU, no odometry. Probably hector_slam would be good option if it works.

enddl22 gravatar image enddl22  ( 2012-06-08 02:53:40 -0500 )edit

answered 2012-06-25 22:25:49 -0500

updated 2012-06-25 22:26:47 -0500

Well i can confirm that Hector Slam is really stable and robust. It is even that stable that you can use it on a Helicopter (Octocopter) like we did. Take a look here.

edit flag offensive delete link more


how did you build the 3d map by just hector_slam?

Bill5785 gravatar image Bill5785  ( 2017-02-28 18:26:35 -0500 )edit

answered 2012-06-25 21:18:57 -0500

enddl22 gravatar image
edit flag offensive delete link more


@enddl22 Hello! Which hector_slam packages did you use to achieve this 2.5D Map? I am working on it as well but I could only generate 2D map without pose estimation.

rosfun gravatar image rosfun  ( 2017-03-28 14:10:10 -0500 )edit

answered 2012-06-08 03:11:05 -0500

enddl22 gravatar image

updated 2012-06-08 13:45:20 -0500

image description

I could map entire large area with hector_mapping. Thank you for launch file and the self enplaning tutorial. I think it would be good to public if you could include this bag file and launch file to your repo then other ppl could have more idea from it. All bag files are free to use with copyrights. In addition, this would be good comparison with laser_scan_matcher(scan_tool) and gmapping since they were failed this particular environment(two parallel walls.). I also could generate demonstration footage for comparison. Cheers,


edit flag offensive delete link more


I edited my previous post, see result there.

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2012-06-08 03:34:23 -0500 )edit

Oh~ It looks very good and would be good comparison with scan_tool!

enddl22 gravatar image enddl22  ( 2012-06-08 06:37:58 -0500 )edit

answered 2012-06-08 20:13:05 -0500

enddl22 gravatar image

image description

As you mentioned before, something happens at the end of the hallway right corner(Please have a look the picture) but sometimes it works and creates nice map. Do you have any idea about it? Cheers.

edit flag offensive delete link more


Yes, that is the fault I was also seeing occassionally. If the bag is played back at lower speed or stepped through, this does not appear to happen. Can you check if it works better when you increase the scan queue size even more above 25?

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2012-06-08 20:49:56 -0500 )edit

I changed scan queue size as 100 to 1000 but still failed. Instead you could find a large bag file that works fine with hector_mapping at

enddl22 gravatar image enddl22  ( 2012-06-11 18:02:08 -0500 )edit

Also, it would be great if we could share this with the public then could get more idea. I have a question about height mapping. I want to generate 2.5D map with this bag file since there is already height information. Do Hector_mapping already support this such similar to this.

enddl22 gravatar image enddl22  ( 2012-06-11 18:06:07 -0500 )edit

Question Tools



Asked: 2012-06-04 21:38:08 -0500

Seen: 3,652 times

Last updated: Jun 25 '12