21 namespace std_ph = std::placeholders;
25 plugin_name_(get_plugin_name_and_ns()),
49 trajectory_debug_pub_ = create_publisher<carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds>(
"debug/trajectory_planning", 1);
72 RCLCPP_INFO_STREAM(rclcpp::get_logger(
"inlanecruising_plugin"),
"InLaneCruisingPlugin Params" <<
config_);
78 auto level = rcutils_logging_get_logger_level(get_logger().get_name());
82 RCLCPP_INFO_STREAM(rclcpp::get_logger(
"inlanecruising_plugin"),
"InLaneCruisingPlugin Params After Accel Change" <<
config_);
85 [
this](
const carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds& msg) {
trajectory_debug_pub_->publish(msg); },
90 yield_client_ = create_client<carma_planning_msgs::srv::PlanTrajectory>(
"yield_plugin/plan_trajectory");
92 RCLCPP_INFO(rclcpp::get_logger(
"inlanecruising_plugin"),
"Yield Client Set");
95 return CallbackReturn::SUCCESS;
101 auto error_double = update_params<double>({
110 auto error_bool = update_params<bool>({
113 auto error_int = update_params<int>({
119 rcl_interfaces::msg::SetParametersResult result;
121 result.successful = !error_double && !error_bool && !error_int;
137 std::shared_ptr<rmw_request_id_t> srv_header,
138 carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr req,
139 carma_planning_msgs::srv::PlanTrajectory::Response::SharedPtr resp)
141 worker_->plan_trajectory_callback(req, resp);
147#include "rclcpp_components/register_node_macro.hpp"
virtual carma_wm::WorldModelConstPtr get_world_model() final
Method to return the default world model provided as a convience by this base class If this method or...
ROS node for the InLaneCruisingPlugin.
carma_ros2_utils::ClientPtr< carma_planning_msgs::srv::PlanTrajectory > yield_client_
InLaneCruisingPluginConfig config_
std::string get_version_id() override final
Returns the version id of this plugin.
carma_ros2_utils::CallbackReturn on_configure_plugin()
Method which is triggered when this plugin is moved from the UNCONFIGURED to INACTIVE states....
carma_ros2_utils::PubPtr< carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds > trajectory_debug_pub_
InLaneCruisingPluginNode(const rclcpp::NodeOptions &)
Node constructor.
rcl_interfaces::msg::SetParametersResult parameter_update_callback(const std::vector< rclcpp::Parameter > ¶meters)
std::shared_ptr< InLaneCruisingPlugin > worker_
bool get_availability() override
Get the availability status of this plugin based on the current operating environment....
void plan_trajectory_callback(std::shared_ptr< rmw_request_id_t > srv_header, carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr req, carma_planning_msgs::srv::PlanTrajectory::Response::SharedPtr resp) override
Extending class provided callback which should return a planned trajectory based on the provided traj...
Stuct containing the algorithm configuration values for the InLaneCruisingPlugin.
double buffer_ending_downtrack
int speed_moving_average_window_size
int turn_downsample_ratio
double lateral_accel_limit
double lat_accel_multiplier
double trajectory_time_length
double curve_resample_step_size
int curvature_moving_average_window_size
double max_accel_multiplier
int default_downsample_ratio
bool enable_object_avoidance
int tactical_plugin_service_call_timeout