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.
|
Implementation of PlanningStrategy using a generic tree search algorithm. More...
#include <tree_planner.hpp>
Public Member Functions | |
TreePlanner (std::shared_ptr< CostFunction > cf, std::shared_ptr< NeighborGenerator > ng, std::shared_ptr< SearchStrategy > ss, rclcpp::Duration target) | |
Tree planner constructor. More... | |
carma_planning_msgs::msg::ManeuverPlan | generate_plan (const VehicleState &start_state) |
Utilize the configured cost function, neighbor generator, and search strategy, to generate a plan by means of tree search. More... | |
Public Member Functions inherited from arbitrator::PlanningStrategy | |
virtual carma_planning_msgs::msg::ManeuverPlan | generate_plan (const VehicleState &start_state)=0 |
Generate a plausible maneuver plan. More... | |
virtual | ~PlanningStrategy () |
Virtual destructor provided for memory safety. More... | |
Protected Attributes | |
std::shared_ptr< CostFunction > | cost_function_ |
std::shared_ptr< NeighborGenerator > | neighbor_generator_ |
std::shared_ptr< SearchStrategy > | search_strategy_ |
rclcpp::Duration | target_plan_duration_ |
Implementation of PlanningStrategy using a generic tree search algorithm.
The fundamental components of this tree search are individually injected into this class at construction time to allow for fine-tuning of the algorithm and ensure better testability and separation of algorithmic concerns
Definition at line 40 of file tree_planner.hpp.
|
inline |
Tree planner constructor.
cf | Shared ptr to a CostFunction implementation |
ng | Shared ptr to a NeighborGenerator implementation |
ss | Shared ptr to a SearchStrategy implementation |
target | The desired duration of finished plans |
Definition at line 50 of file tree_planner.hpp.
|
virtual |
Utilize the configured cost function, neighbor generator, and search strategy, to generate a plan by means of tree search.
start_state | The starting state of the vehicle to plan for |
Implements arbitrator::PlanningStrategy.
Definition at line 25 of file tree_planner.cpp.
References cost_function_, arbitrator_utils::get_plan_end_time(), arbitrator_utils::get_plan_start_time(), neighbor_generator_, search_strategy_, and target_plan_duration_.
|
protected |
Definition at line 67 of file tree_planner.hpp.
Referenced by generate_plan().
|
protected |
Definition at line 68 of file tree_planner.hpp.
Referenced by generate_plan().
|
protected |
Definition at line 69 of file tree_planner.hpp.
Referenced by generate_plan().
|
protected |
Definition at line 70 of file tree_planner.hpp.
Referenced by generate_plan().