Robotics StackExchange | Archived questions

hector localization package against known map

Hi, I would like to ask, if there is solution from hector group to localize the robot against the known map. As the hectorslam provides excellent localization, but it also builds new map at the same time, on the other hand, the amcl package of ros does not work well with my robot (a segway omni platform), especially compared to the hectorslam, so I try to directly use the hectorslam with the known map (by just ignoring the produced map and only use the localization results), but the map being built does not always match the known map, therefore the localization is not as expected. Thus I need a better solution for this (not only from hector). I use ros-hydro on ubuntu 13.04 32bit. Thanks a lot for viewing! (As far as I know, hectorlocalization package does not do this job.)

Asked by Mike Gao on 2014-06-25 12:25:26 UTC

Comments

Did you make any process since this?

Asked by ne0h on 2015-11-17 07:19:14 UTC

I am also interested in that! And I will ask an additional question: Is it possible to localize the vehicule within a know map without providing the exact starting point?

Asked by quentin on 2015-11-17 21:53:02 UTC

Should I assume nothing has happened with this?

Asked by Icehawk101 on 2016-07-15 10:39:05 UTC

Anyone got any updates on this?

Asked by jjbecomespheh on 2020-06-08 02:49:09 UTC

Answers

Yes, there is a solution. You can use hector with a map_server and amcl. You can check out my launch file at [https://github.com/ne0h/hmmwv/blob/master/ros_workspace/src/hmmwv/launch/prebuildmap.launch] But there are still two problems: - You need to tell hector (I use rviz for that) where the robot is on the map. Must be the perfect position - You need to drive a little but around so that hector can find itself on the map

Asked by ne0h on 2016-07-15 16:28:43 UTC

Comments

Hi neoh,

Do you implement any link between map and mapcurrent of your code?

Because I tried to do something only relying on static transform (and a perfectly known initial position). But when the map grows bigger, the maps drift from one another.

I thought of adding a ICP algo to create the transform between map (the known one in which amcl compute the pose) and the mapcurrent. But i never managed to implement it...

In case it is unclear, my motivation is the following: - a have partially known map of an environment - i want to create a map of the environment, including the bit not provided in my map - i want to perform efficient path planning, relying on as much info as possible: both the partially known map AND the elements gathered during the flight and stored in the new map

Asked by quentin on 2016-08-05 05:15:56 UTC

Comments

There is a hector branch with this functionality. You can find the discussion about it in this Pull Request. You can checkout the branch and then add the following in your hector launch file:

<node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
   ...
   <param name="use_static_map" value="true" />
   ...
</node>

Asked by phixxx6 on 2022-08-11 03:34:52 UTC

Comments