RemoveInCollisionGoals
Looks over the input port goals
and removes any waypoint that has a point or footprint cost above a certain threshold.
This may be used to cull goal points passed from ComputePathThroughPoses
to avoid waiting indefinitely on occupied waypoints.
Input Ports
- service_name:
Type
Default
string
/global_costmap/get_cost_global_costmap
- Description
costmap service name responsible for getting the cost.
- input_goals:
Type
Default
geometry_msgs::msg::PoseStamped
N/A
- Description
A vector of goals to check if in collision
- cost_threshold:
Type
Default
double
254.0
- Description
The cost threshold above which a waypoint is considered in collision and should be removed. If
use_footprint = false
, consider setting to 253 for occupied.
- use_footprint:
Type
Default
bool
true
- Description
Whether to use the footprint cost or the point cost.
- consider_unknown_as_obstacle:
Type
Default
bool
false
- Description
Whether to consider unknown cost (255) as obstacle.
Output Ports
- output_goals:
Type
Default
geometry_msgs::msg::PoseStamped
N/A
- Description
A vector of goals containing only those that are not in collision.
Example
<RemoveInCollisionGoals input_goals="{goals}" output_goals="{goals}" cost_threshold="254.0" use_footprint="true" service_name="/global_costmap/get_cost_global_costmap" />