21#include <carma_planning_msgs/msg/trajectory_plan.hpp>
22#include <carma_planning_msgs/msg/trajectory_plan_point.hpp>
24#include <carma_planning_msgs/srv/plan_trajectory.hpp>
27#include <unordered_set>
28#include <carma_debug_ros2_msgs/msg/trajectory_curvature_speeds.hpp>
30#include <carma_ros2_utils/timers/TimerFactory.hpp>
36using DebugPublisher = std::function<void(
const carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds&)>;
60 std::shared_ptr<carma_ros2_utils::timers::TimerFactory> timer_factory);
70 bool plan_trajectory_cb(carma_planning_msgs::srv::PlanTrajectory::Request& req, carma_planning_msgs::srv::PlanTrajectory::Response& resp);
84 carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds
debug_msg_;
Class containing primary business logic for the Platooning Tactical Plugin for trajectory generation.
carma_planning_msgs::msg::VehicleState ending_state_before_buffer_
carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds debug_msg_
std::shared_ptr< carma_ros2_utils::timers::TimerFactory > timer_factory_
DebugPublisher debug_publisher_
PlatooningTacticalPlugin(carma_wm::WorldModelConstPtr wm, PlatooningTacticalPluginConfig config, std::shared_ptr< carma_ros2_utils::timers::TimerFactory > timer_factory)
Constructor.
carma_wm::WorldModelConstPtr wm_
void set_config(PlatooningTacticalPluginConfig config)
Set the current config.
carma_planning_msgs::msg::VehicleState ending_state_before_buffer
bool plan_trajectory_cb(carma_planning_msgs::srv::PlanTrajectory::Request &req, carma_planning_msgs::srv::PlanTrajectory::Response &resp)
Service callback for trajectory planning.
PlatooningTacticalPluginConfig config_
std::shared_ptr< const WorldModel > WorldModelConstPtr
std::function< void(const carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds &)> DebugPublisher
Stuct containing the algorithm configuration values for the PlatooningTacticalPlugin.
Convenience class for pairing 2d points with speeds.
lanelet::BasicPoint2d point