Robotics StackExchange | Archived questions

Global planner / global map does not inflate static obstacles at all.

I am using "global_planner/GlobalPlanner" to compute global plans on a static map I publish from a png height map using map_server. My ros version in melodic.

My global planner config file looks like:

planners:
      - name: 'global_planner'
type: 'global_planner/GlobalPlanner'
planner_patience: 10.0

global_planner:
     allow_unknown: false
     default_tolerance: 0.0
     visualize_potential: true
     use_dijkstra: true
     use_quadratic: true
     use_grid_path: false
    old_navfn_behaviour: false
    lethal_cost: 253
    neutral_cost: 66
    cost_factor: 0.55

My global planner config file looks like:

global_costmap:
    global_frame: map
    robot_base_frame: base_link
    update_frequency: 10.0
    publish_frequency: 2.0
    static_map: true
    rolling_window: false
    width: 65.0
    height: 65.0
    resolution: 0.15

plugins:
  - name: static_layer
    type: costmap_2d::StaticLayer
  - name: inflator
    type: costmap_2d::InflationLayer

static_layer:
    map_topic: "map"
    subscribe_to_updates: false

inflator:
    inflation_radius: 1
    lethal_cost_threshold: 200

But the path generated does not respect inflation parameter specification. The global path always gets too close to the static obstacles. I couldn't upload an image of the generated plan due to lack of karma points. Hope someone can help me understand how to configure global planner and global cost map to inflate the static obstacles.

Asked by Arul Selvam on 2019-12-04 12:32:49 UTC

Comments

Answers

I fixed this issue by setting cost_scaling_factor to a smaller value (negative exponential of a small value results in higher cost as described here)

Asked by Arul Selvam on 2019-12-17 06:21:08 UTC

Comments

What was the original cost_scaling_factor that you used. In the yaml you posted, you haven't specified any value so I'm assuming it was using the default value of 10 which is good enough to inflate static obstacles. So it must be some other reason that prevented from correctly computing the inflation costs.

Asked by Namal Senarathne on 2020-01-09 22:15:38 UTC