17#ifndef __ARBITRATOR_INCLUDE_TREE_PLANNER_HPP__
18#define __ARBITRATOR_INCLUDE_TREE_PLANNER_HPP__
21#include <carma_planning_msgs/msg/maneuver_plan.hpp>
27#include <boost/uuid/uuid.hpp>
28#include <boost/uuid/uuid_io.hpp>
29#include <boost/uuid/uuid_generators.hpp>
30#include <rclcpp/rclcpp.hpp>
41 case carma_planning_msgs::msg::Maneuver::LANE_FOLLOWING:
42 return "LANE_FOLLOWING";
43 case carma_planning_msgs::msg::Maneuver::LANE_CHANGE:
45 case carma_planning_msgs::msg::Maneuver::INTERSECTION_TRANSIT_STRAIGHT:
46 return "INTERSECTION_TRANSIT_STRAIGHT";
47 case carma_planning_msgs::msg::Maneuver::INTERSECTION_TRANSIT_LEFT_TURN:
48 return "INTERSECTION_TRANSIT_LEFT_TURN";
49 case carma_planning_msgs::msg::Maneuver::INTERSECTION_TRANSIT_RIGHT_TURN:
50 return "INTERSECTION_TRANSIT_RIGHT_TURN";
51 case carma_planning_msgs::msg::Maneuver::STOP_AND_WAIT:
52 return "STOP_AND_WAIT";
77 std::shared_ptr<NeighborGenerator> ng,
78 std::shared_ptr<SearchStrategy> ss,
79 rclcpp::Duration target):
Generic interface representing a strategy for arriving at a maneuver plan.
Implementation of PlanningStrategy using a generic tree search algorithm.
rclcpp::Duration target_plan_duration_
TreePlanner(std::shared_ptr< CostFunction > cf, std::shared_ptr< NeighborGenerator > ng, std::shared_ptr< SearchStrategy > ss, rclcpp::Duration target)
Tree planner constructor.
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 ...
std::shared_ptr< SearchStrategy > search_strategy_
std::shared_ptr< NeighborGenerator > neighbor_generator_
std::shared_ptr< CostFunction > cost_function_
std::string maneuver_type_to_string(uint8_t type)
Convert maneuver type enum to string representation.
Struct defining the vehicle state required for maneuver planning.