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

Revision history [back]

click to hide/show revision 1
initial version

I am also trying to do the same thing: autonomous navigation with a partially known map. I am currently trying two alternatives for my quadrotor:

Solution 1

Use AMCL to localize on my partially known map. move_base navigation node uses this map as the global map to compute global paths. In the meantime, I run hector_mapping only for the map creation. At the end of the process, I can compare the map created by hector_mapping with the initial static map and therefore identify the new elements.

Challenges: if the obstacles (ie. elements not included in the static map used by AMCL) are too numerous, the AMCL localization is struggling and has to rely only on odometry. Sometimes the localization system crashes...

Solution 2

Don't use AMCL but only hector_mapping to localize and create the map. In order to make use of the already partially known map in the path planning, I use it as the global map for move_base.

Challenges: In order for the system to remain consistent along the navigation, the map created by hector_mapping (and therefore the local map frame) and the global static map have to remain aligned. So far, I haven't find a way to efficiently compare the 2 maps and publish a transform between the two. Two issues have to be taken into account: possible deformations of the hector_mapping's map and the small size of hector map at the beginning of the process

Any advise or feedback on that will be warmly welcomed! Hope it will help somebody!