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... | |
![]() | |
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 66 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 76 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(), arbitrator::maneuver_type_to_string(), neighbor_generator_, osm_transform::root, search_strategy_, target_plan_duration_, and carma_cooperative_perception::to_string().
|
protected |
Definition at line 93 of file tree_planner.hpp.
Referenced by generate_plan().
|
protected |
Definition at line 94 of file tree_planner.hpp.
Referenced by generate_plan().
|
protected |
Definition at line 95 of file tree_planner.hpp.
Referenced by generate_plan().
|
protected |
Definition at line 96 of file tree_planner.hpp.
Referenced by generate_plan().