ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
As you may have seen, the documentation for global_planner
states:
~<name>/allow_unknown
(bool
, default:true
)
Specifies whether or not to allow the planner to create plans that traverse unknown space. NOTE: if you are using a layeredcostmap_2d
costmap with a voxel or obstacle layer, you must also set thetrack_unknown_space
param for that layer to betrue
, or it will convert all your unknown space to free space (which planner will then happily go right through)
What you may have missed is that your cost map does contain layers, even when defined with pre-Hydro parameters. From the costmap_2d
wiki:
Pre-Hydro Parameters
Hydro and later releases use plugins for all
costmap_2d
layers. If you don't provide aplugins
parameter then the initialization code will assume that your configuration is pre-Hydro and will load a default set of plugins with default namespaces. Your parameters will be moved to the new namespaces automagically. The default namespaces arestatic_layer
,obstacle_layer
andinflation_layer
. Some tutorials (and books) still refer to pre-Hydro parameters, so pay close attention. To be safe, be sure to provide aplugins
parameter.
Therefore, it seems you'll still need to set track_unknown_space
to true
in the obstacle_layer
namespace.