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

Using hector_slam with known map gives bad accuracy

asked 2022-08-03 08:38:55 -0600

phixxx6 gravatar image

Hello, I implemented the navigation stack on a omni-wheeled robot. When using hector_slam I was able to reach very good localization accuracy under 1 cm error. However, hector_slam builds a new map on every startup with origin and orientation depending on the robot location.

I need to get the location of the robot in a predefined coordinate system where one corner of the room is defined as point (0,0). So I assume I need to prerecord a map and align it with my wanted coordinate system and then locate the robot on this map. Unfortunately it is not possible to use hector_slam with a known map apparently.

Therefore I followed this Q&A to use hector as a odometry source for amcl localization. The amcl localization with 1-5 cm translation error seems much more inaccurate than the hector_slam localization.

Do you have ideas on how to improve the amcl accuracy or is there another option how I could use hector's accuracy to locate on a prerecorded map?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-08-08 04:02:18 -0600

phixxx6 gravatar image

Apparently there is a branch of the hector_slam package that has functionality for loading an existing map into hector so the coordinate system is consistent in every run. See this pull request. By using this I solved my problem.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2022-08-03 08:38:55 -0600

Seen: 120 times

Last updated: Aug 08 '22