Class CostmapScorer

Inheritance Relationships

Base Type

Class Documentation

class CostmapScorer : public nav2_route::EdgeCostFunction

Scores edges by the average or maximum cost found while iterating over the edge’s line segment in the global costmap.

Public Functions

CostmapScorer() = default

Constructor.

virtual ~CostmapScorer() = default

destructor

virtual void configure(const rclcpp_lifecycle::LifecycleNode::SharedPtr node, const std::shared_ptr<tf2_ros::Buffer> tf_buffer, std::shared_ptr<nav2_costmap_2d::CostmapSubscriber> costmap_subscriber, const std::string &name) override

Configure.

virtual bool score(const EdgePtr edge, const RouteRequest &route_request, const EdgeType &edge_type, float &cost) override

Main scoring plugin API.

Parameters:
  • edge – The edge pointer to score, which has access to the start/end nodes and their associated metadata and actions

  • cost – of the edge scored

Returns:

bool if this edge is open valid to traverse

virtual std::string getName() override

Get name of the plugin for parameter scope mapping.

Returns:

Name

virtual void prepare() override

Prepare for a new cycle, by resetting state, grabbing data to use for all immediate requests, or otherwise prepare for scoring.

Protected Attributes

rclcpp::Logger logger_ = {rclcpp::get_logger("CostmapScorer")}
rclcpp::Clock::SharedPtr clock_
std::string name_
bool use_max_
bool invalid_on_collision_
bool invalid_off_map_
float weight_
float max_cost_
std::shared_ptr<nav2_costmap_2d::CostmapSubscriber> costmap_subscriber_
std::shared_ptr<nav2_costmap_2d::Costmap2D> costmap_ = {nullptr}
unsigned int check_resolution_ = {1u}