Nav2 Navigation Stack - rolling  main
ROS 2 Navigation Stack
Public Member Functions | Protected Attributes | List of all members
nav2_route::DynamicEdgesScorer Class Reference

Rejects edges that are in the closed set of edges for navigation to prevent routes from containing paths blocked or otherwise deemed not currently traversable. More...

#include <nav2_route/include/nav2_route/plugins/edge_cost_functions/dynamic_edges_scorer.hpp>

Inheritance diagram for nav2_route::DynamicEdgesScorer:
Inheritance graph
[legend]
Collaboration diagram for nav2_route::DynamicEdgesScorer:
Collaboration graph
[legend]

Public Member Functions

 DynamicEdgesScorer ()=default
 Constructor.
 
virtual ~DynamicEdgesScorer ()=default
 destructor
 
void configure (const nav2::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.
 
bool score (const EdgePtr edge, const RouteRequest &route_request, const EdgeType &edge_type, float &cost) override
 Main scoring plugin API. More...
 
std::string getName () override
 Get name of the plugin for parameter scope mapping. More...
 
void closedEdgesCb (const std::shared_ptr< rmw_request_id_t > request_header, const std::shared_ptr< nav2_msgs::srv::DynamicEdges::Request > request, std::shared_ptr< nav2_msgs::srv::DynamicEdges::Response > response)
 Service callback to process edge changes. More...
 
- Public Member Functions inherited from nav2_route::EdgeCostFunction
 EdgeCostFunction ()=default
 Constructor.
 
virtual ~EdgeCostFunction ()=default
 Virtual destructor.
 
virtual void prepare ()
 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("DynamicEdgesScorer")}
 
std::string name_
 
std::set< unsigned int > closed_edges_
 
std::unordered_map< unsigned int, float > dynamic_penalties_
 
nav2::ServiceServer< nav2_msgs::srv::DynamicEdges >::SharedPtr service_
 

Additional Inherited Members

- Public Types inherited from nav2_route::EdgeCostFunction
using Ptr = std::shared_ptr< nav2_route::EdgeCostFunction >
 

Detailed Description

Rejects edges that are in the closed set of edges for navigation to prevent routes from containing paths blocked or otherwise deemed not currently traversable.

Definition at line 37 of file dynamic_edges_scorer.hpp.

Member Function Documentation

◆ closedEdgesCb()

void nav2_route::DynamicEdgesScorer::closedEdgesCb ( const std::shared_ptr< rmw_request_id_t >  request_header,
const std::shared_ptr< nav2_msgs::srv::DynamicEdges::Request >  request,
std::shared_ptr< nav2_msgs::srv::DynamicEdges::Response >  response 
)

Service callback to process edge changes.

Parameters
requestService request containing newly closed edges or opened edges
responseResponse to service (empty)

Definition at line 42 of file dynamic_edges_scorer.cpp.

Referenced by configure().

Here is the caller graph for this function:

◆ getName()

std::string nav2_route::DynamicEdgesScorer::getName ( )
overridevirtual

Get name of the plugin for parameter scope mapping.

Returns
Name

Implements nav2_route::EdgeCostFunction.

Definition at line 87 of file dynamic_edges_scorer.cpp.

Referenced by configure().

Here is the caller graph for this function:

◆ score()

bool nav2_route::DynamicEdgesScorer::score ( const EdgePtr  edge,
const RouteRequest route_request,
const EdgeType &  edge_type,
float &  cost 
)
overridevirtual

Main scoring plugin API.

Parameters
edgeThe edge pointer to score, which has access to the start/end nodes and their associated metadata and actions
costof the edge scored
Returns
bool if this edge is open valid to traverse

Implements nav2_route::EdgeCostFunction.

Definition at line 69 of file dynamic_edges_scorer.cpp.


The documentation for this class was generated from the following files: