Carma-platform v4.2.0
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
arbitrator::PluginNeighborGenerator< T > Class Template Reference

Implementation of the NeighborGenerator interface using plugins. More...

#include <plugin_neighbor_generator.hpp>

Inheritance diagram for arbitrator::PluginNeighborGenerator< T >:
Inheritance graph
Collaboration diagram for arbitrator::PluginNeighborGenerator< T >:
Collaboration graph

Public Member Functions

 PluginNeighborGenerator (std::shared_ptr< T > ci)
 
std::vector< carma_planning_msgs::msg::ManeuverPlan > generate_neighbors (carma_planning_msgs::msg::ManeuverPlan plan, const VehicleState &initial_state) const
 
- Public Member Functions inherited from arbitrator::NeighborGenerator
virtual std::vector< carma_planning_msgs::msg::ManeuverPlan > generate_neighbors (carma_planning_msgs::msg::ManeuverPlan plan, const VehicleState &initial_state) const =0
 Generate the list of neighbors/children that a given node in the search graph expands to. More...
 
virtual ~NeighborGenerator ()
 Virtual destructor provided for memory safety. More...
 

Private Attributes

std::shared_ptr< T > ci_
 

Detailed Description

template<class T>
class arbitrator::PluginNeighborGenerator< T >

Implementation of the NeighborGenerator interface using plugins.

Queries plugins via the CapabilitiesInterface to contribute additional maneuvers as the potential child/neighbor nodes of a plan in progress.

Template Parameters
TThe type of CapabilitiesInterface to use. Templated to enable testing

Definition at line 36 of file plugin_neighbor_generator.hpp.

Constructor & Destructor Documentation

◆ PluginNeighborGenerator()

template<class T >
arbitrator::PluginNeighborGenerator< T >::PluginNeighborGenerator ( std::shared_ptr< T >  ci)
inline

Constructor for PluginNeighborGenerator

Parameters
ciA capabilties interface for accessing the plugins

Definition at line 43 of file plugin_neighbor_generator.hpp.

43 :
44 ci_(ci) {};

Member Function Documentation

◆ generate_neighbors()

template<class T >
std::vector< carma_planning_msgs::msg::ManeuverPlan > arbitrator::PluginNeighborGenerator< T >::generate_neighbors ( carma_planning_msgs::msg::ManeuverPlan  plan,
const VehicleState initial_state 
) const
virtual

Generates a list of neighbor states for the given plan using the plugins available to the system

Parameters
planThe plan that is the current search state
initial_stateThe initial state of the vehicle at the start of plan. This will be provided to planners for specific use when plan is empty
Returns
A list of subsequent plans building on top of the input plan

Implements arbitrator::NeighborGenerator.

Member Data Documentation

◆ ci_

template<class T >
std::shared_ptr<T> arbitrator::PluginNeighborGenerator< T >::ci_
private

Definition at line 55 of file plugin_neighbor_generator.hpp.


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