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.
|
The class responsible for generating cooperative lanechange trajectories from received lane change maneuvers. More...
#include <cooperative_lanechange_node.hpp>
Public Member Functions | |
CooperativeLaneChangePlugin (const rclcpp::NodeOptions &) | |
CooperativeLaneChangePlugin constructor. More... | |
rcl_interfaces::msg::SetParametersResult | parameter_update_callback (const std::vector< rclcpp::Parameter > ¶meters) |
Callback for dynamic parameter updates. More... | |
std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > | plan_lanechange (carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr req) |
Creates a vector of Trajectory Points from maneuver information in trajectory request. More... | |
double | find_current_gap (long veh2_lanelet_id, double veh2_downtrack, carma_planning_msgs::msg::VehicleState &ego_state) const |
Calculates distance between subject vehicle and vehicle 2. More... | |
void | mobilityresponse_cb (const carma_v2x_msgs::msg::MobilityResponse::UniquePtr msg) |
Callback to subscribed mobility response topic. More... | |
carma_v2x_msgs::msg::MobilityRequest | create_mobility_request (std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > &trajectory_plan, carma_planning_msgs::msg::Maneuver &maneuver) |
Creates a mobility request message from planned trajectory and requested maneuver info. More... | |
carma_v2x_msgs::msg::Trajectory | trajectory_plan_to_trajectory (const std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > &traj_points) const |
Converts Trajectory Plan to (Mobility) Trajectory. More... | |
carma_v2x_msgs::msg::LocationECEF | trajectory_point_to_ecef (const carma_planning_msgs::msg::TrajectoryPlanPoint &traj_point) const |
Converts Trajectory Point to ECEF frame using map projection. More... | |
void | add_trajectory_to_response (carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr req, carma_planning_msgs::srv::PlanTrajectory::Response::SharedPtr resp, const std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > &planned_trajectory_points) |
Adds the generated trajectory plan to the service response. More... | |
void | georeference_cb (const std_msgs::msg::String::UniquePtr msg) |
Callback for map projection string to define lat/lon -> map conversion. More... | |
void | plan_trajectory_callback (std::shared_ptr< rmw_request_id_t >, 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 trajectory planning request. More... | |
bool | get_availability () override |
Get the availability status of this plugin based on the current operating environment. Method must be overriden by extending classes. More... | |
std::string | get_version_id () override |
Returns the version id of this plugin. More... | |
carma_ros2_utils::CallbackReturn | on_configure_plugin () |
This method should be used to load parameters and will be called on the configure state transition. More... | |
FRIEND_TEST (CooperativeLaneChangePlugin, TestLaneChangefunctions) | |
FRIEND_TEST (CooperativeLaneChangePlugin, Testcurrentgapcb) | |
FRIEND_TEST (CooperativeLaneChangePlugin, TestNoPath_roadwayobject) | |
Public Member Functions inherited from carma_guidance_plugins::TacticalPlugin | |
TacticalPlugin (const rclcpp::NodeOptions &) | |
TacticalPlugin constructor. More... | |
virtual | ~TacticalPlugin ()=default |
Virtual destructor for safe deletion. More... | |
virtual 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)=0 |
Extending class provided callback which should return a planned trajectory based on the provided trajectory planning request. More... | |
std::string | get_capability () override |
Get the capability string representing this plugins capabilities Method must be overriden by extending classes. Expectation is that abstract plugin type parent classes will provide a default implementation. More... | |
uint8_t | get_type () override final |
Returns the type of this plugin according to the carma_planning_msgs::Plugin type enum. Extending classes for the specific type should override this method. More... | |
carma_ros2_utils::CallbackReturn | handle_on_configure (const rclcpp_lifecycle::State &) override final |
carma_ros2_utils::CallbackReturn | handle_on_activate (const rclcpp_lifecycle::State &) override final |
carma_ros2_utils::CallbackReturn | handle_on_deactivate (const rclcpp_lifecycle::State &) override final |
carma_ros2_utils::CallbackReturn | handle_on_cleanup (const rclcpp_lifecycle::State &) override final |
carma_ros2_utils::CallbackReturn | handle_on_shutdown (const rclcpp_lifecycle::State &) override final |
carma_ros2_utils::CallbackReturn | handle_on_error (const rclcpp_lifecycle::State &, const std::string &exception_string) override final |
Public Member Functions inherited from carma_guidance_plugins::PluginBaseNode | |
PluginBaseNode (const rclcpp::NodeOptions &) | |
PluginBaseNode constructor. More... | |
virtual | ~PluginBaseNode ()=default |
Virtual destructor for safe deletion. More... | |
virtual std::shared_ptr< carma_wm::WMListener > | get_world_model_listener () final |
Method to return the default world model listener provided as a convience by this base class If this method or get_world_model() are not called then the world model remains uninitialized and will not create unnecessary subscriptions. More... | |
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 get_world_model_listener() are not called then the world model remains uninitialized and will not create unnecessary subscriptions. More... | |
virtual bool | get_activation_status () final |
Returns the activation status of this plugin. The plugins API callbacks will only be triggered when this method returns true. More... | |
virtual uint8_t | get_type () |
Returns the type of this plugin according to the carma_planning_msgs::Plugin type enum. Extending classes for the specific type should override this method. More... | |
std::string | get_plugin_name_and_ns () const |
Return the name of this plugin with namespace. NOTE: If only the name of the plugin is required, use get_plugin_name() More... | |
std::string | get_plugin_name () const |
Return the name of this plugin. More... | |
virtual bool | get_availability ()=0 |
Get the availability status of this plugin based on the current operating environment. Method must be overriden by extending classes. More... | |
virtual std::string | get_capability ()=0 |
Get the capability string representing this plugins capabilities Method must be overriden by extending classes. Expectation is that abstract plugin type parent classes will provide a default implementation. More... | |
virtual std::string | get_version_id ()=0 |
Returns the version id of this plugin. More... | |
virtual carma_ros2_utils::CallbackReturn | on_configure_plugin ()=0 |
Method which is triggered when this plugin is moved from the UNCONFIGURED to INACTIVE states. This method should be used to load parameters and is required to be implemented. More... | |
virtual carma_ros2_utils::CallbackReturn | on_activate_plugin () |
Method which is triggered when this plugin is moved from the INACTIVE to ACTIVE states. This method should be used to prepare for future callbacks for plugin's capabilites. More... | |
virtual carma_ros2_utils::CallbackReturn | on_deactivate_plugin () |
Method which is triggered when this plugin is moved from the ACTIVE to INACTIVE states. This method should be used to disable any functionality which should cease execution when plugin is inactive. More... | |
virtual carma_ros2_utils::CallbackReturn | on_cleanup_plugin () |
Method which is triggered when this plugin is moved from the INACTIVE to UNCONFIGURED states. This method should be used to fully reset the plugin such that a future call to on_configure_plugin would leave the plugin in a fresh state as though just launched. More... | |
virtual carma_ros2_utils::CallbackReturn | on_shutdown_plugin () |
Method which is triggered when this plugin is moved from any state to FINALIZED This method should be used to generate any shutdown logs or final cleanup. More... | |
virtual carma_ros2_utils::CallbackReturn | on_error_plugin (const std::string &exception_string) |
Method which is triggered when an unhandled exception occurs in this plugin This method should be used to cleanup such that the plugin could be moved to UNCONFIGURED state if possible. More... | |
carma_ros2_utils::CallbackReturn | handle_on_configure (const rclcpp_lifecycle::State &) override |
carma_ros2_utils::CallbackReturn | handle_on_activate (const rclcpp_lifecycle::State &) override |
carma_ros2_utils::CallbackReturn | handle_on_deactivate (const rclcpp_lifecycle::State &) override |
carma_ros2_utils::CallbackReturn | handle_on_cleanup (const rclcpp_lifecycle::State &) override |
carma_ros2_utils::CallbackReturn | handle_on_shutdown (const rclcpp_lifecycle::State &) override |
carma_ros2_utils::CallbackReturn | handle_on_error (const rclcpp_lifecycle::State &, const std::string &exception_string) override |
FRIEND_TEST (carma_guidance_plugins_test, connections_test) | |
Public Attributes | |
double | current_speed_ |
geometry_msgs::msg::PoseStamped | pose_msg_ |
bool | is_lanechange_accepted_ = false |
carma_planning_msgs::msg::VehicleState | ending_state_before_buffer_ |
Private Member Functions | |
void | pose_cb (const geometry_msgs::msg::PoseStamped::UniquePtr msg) |
Callback for the pose subscriber, which will store latest pose locally. More... | |
void | twist_cb (const geometry_msgs::msg::TwistStamped::UniquePtr msg) |
Callback for the twist subscriber, which will store latest twist locally. More... | |
void | bsm_cb (const carma_v2x_msgs::msg::BSM::UniquePtr msg) |
Callback for the BSM subscriber, which will store the latest BSM Core Data broadcasted by the host vehicle. More... | |
std::string | bsmIDtoString (carma_v2x_msgs::msg::BSMCoreData bsm_core) |
Method for extracting the BSM ID from a BSM Core Data object and converting it to a string. More... | |
Private Attributes | |
carma_ros2_utils::SubPtr< geometry_msgs::msg::PoseStamped > | pose_sub_ |
carma_ros2_utils::SubPtr< geometry_msgs::msg::TwistStamped > | twist_sub_ |
carma_ros2_utils::SubPtr< carma_v2x_msgs::msg::MobilityResponse > | incoming_mobility_response_sub_ |
carma_ros2_utils::SubPtr< std_msgs::msg::String > | georeference_sub_ |
carma_ros2_utils::SubPtr< carma_v2x_msgs::msg::BSM > | bsm_sub_ |
carma_ros2_utils::PubPtr< carma_v2x_msgs::msg::MobilityRequest > | outgoing_mobility_request_pub_ |
carma_ros2_utils::PubPtr< carma_planning_msgs::msg::LaneChangeStatus > | lanechange_status_pub_ |
Config | config_ |
carma_wm::WorldModelConstPtr | wm_ |
std::string | map_georeference_ {""} |
std::shared_ptr< lanelet::projection::LocalFrameProjector > | map_projector_ |
double | traj_freq_ = 10 |
std::string | DEFAULT_STRING_ = "" |
rclcpp::Time | request_sent_time_ |
bool | request_sent_ = false |
double | maneuver_fraction_completed_ = 0 |
bool | clc_called_ = false |
std::string | clc_request_id_ = "default_request_id" |
carma_v2x_msgs::msg::BSMCoreData | bsm_core_ |
std::unordered_map< std::string, LaneChangeManeuverOriginalValues > | original_lc_maneuver_values_ |
The class responsible for generating cooperative lanechange trajectories from received lane change maneuvers.
Definition at line 67 of file cooperative_lanechange_node.hpp.
|
explicit |
CooperativeLaneChangePlugin constructor.
Definition at line 22 of file cooperative_lanechange_node.cpp.
References cooperative_lanechange::Config::back_distance, cooperative_lanechange::Config::buffer_ending_downtrack, config_, cooperative_lanechange::Config::control_plugin_name, cooperative_lanechange::Config::curvature_calc_lookahead_count, cooperative_lanechange::Config::curvature_moving_average_window_size, cooperative_lanechange::Config::curve_resample_step_size, cooperative_lanechange::Config::desired_time_gap, cooperative_lanechange::Config::destination_range, cooperative_lanechange::Config::downsample_ratio, cooperative_lanechange::Config::lanechange_time_out, cooperative_lanechange::Config::lateral_accel_limit, cooperative_lanechange::Config::max_accel, cooperative_lanechange::Config::maximum_lookahead_distance, cooperative_lanechange::Config::maximum_lookahead_speed, cooperative_lanechange::Config::mid_fraction, cooperative_lanechange::Config::min_desired_gap, cooperative_lanechange::Config::min_timestep, cooperative_lanechange::Config::minimum_lookahead_distance, cooperative_lanechange::Config::minimum_lookahead_speed, cooperative_lanechange::Config::minimum_speed, cooperative_lanechange::Config::speed_moving_average_window_size, cooperative_lanechange::Config::starting_downtrack_range, cooperative_lanechange::Config::starting_fraction, cooperative_lanechange::Config::trajectory_time_length, cooperative_lanechange::Config::turn_downsample_ratio, and cooperative_lanechange::Config::vehicle_id.
void cooperative_lanechange::CooperativeLaneChangePlugin::add_trajectory_to_response | ( | carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr | req, |
carma_planning_msgs::srv::PlanTrajectory::Response::SharedPtr | resp, | ||
const std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > & | planned_trajectory_points | ||
) |
Adds the generated trajectory plan to the service response.
req | The plan trajectory service request |
resp | The plan trajectory service response |
planned_trajectory_points | The generated trajectory plan points, which are added to the service response |
Definition at line 425 of file cooperative_lanechange_node.cpp.
References config_, cooperative_lanechange::Config::minimum_speed, and carma_cooperative_perception::to_string().
Referenced by plan_trajectory_callback().
|
private |
Callback for the BSM subscriber, which will store the latest BSM Core Data broadcasted by the host vehicle.
msg | Latest BSM message |
Definition at line 257 of file cooperative_lanechange_node.cpp.
References bsm_core_.
Referenced by on_configure_plugin().
|
private |
Method for extracting the BSM ID from a BSM Core Data object and converting it to a string.
bsm_core | The BSM Core Data object from which the BSM ID is converted to a string |
Definition at line 643 of file cooperative_lanechange_node.cpp.
References process_bag::i, and carma_cooperative_perception::to_string().
Referenced by create_mobility_request().
carma_v2x_msgs::msg::MobilityRequest cooperative_lanechange::CooperativeLaneChangePlugin::create_mobility_request | ( | std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > & | trajectory_plan, |
carma_planning_msgs::msg::Maneuver & | maneuver | ||
) |
Creates a mobility request message from planned trajectory and requested maneuver info.
trajectory_plan | A vector of lane change trajectory points |
The | mobility request message created from trajectory points, for publishing |
Definition at line 443 of file cooperative_lanechange_node.cpp.
References bsm_core_, bsmIDtoString(), clc_request_id_, config_, DEFAULT_STRING_, maneuver_fraction_completed_, map_projector_, cooperative_lanechange::Config::mid_fraction, pose_msg_, cooperative_lanechange::Config::starting_fraction, carma_cooperative_perception::to_string(), trajectory_plan_to_trajectory(), trajectory_point_to_ecef(), and cooperative_lanechange::Config::vehicle_id.
Referenced by plan_trajectory_callback().
double cooperative_lanechange::CooperativeLaneChangePlugin::find_current_gap | ( | long | veh2_lanelet_id, |
double | veh2_downtrack, | ||
carma_planning_msgs::msg::VehicleState & | ego_state | ||
) | const |
Calculates distance between subject vehicle and vehicle 2.
veh2_lanelet_id | Current lanelet id of vehicle 2 |
veh2_downtrack | Downtrack of vehicle 2 in its current lanelet |
ego_state | vehicle state of the ego vehicle |
Definition at line 188 of file cooperative_lanechange_node.cpp.
References wm_.
Referenced by plan_trajectory_callback().
cooperative_lanechange::CooperativeLaneChangePlugin::FRIEND_TEST | ( | CooperativeLaneChangePlugin | , |
Testcurrentgapcb | |||
) |
cooperative_lanechange::CooperativeLaneChangePlugin::FRIEND_TEST | ( | CooperativeLaneChangePlugin | , |
TestLaneChangefunctions | |||
) |
cooperative_lanechange::CooperativeLaneChangePlugin::FRIEND_TEST | ( | CooperativeLaneChangePlugin | , |
TestNoPath_roadwayobject | |||
) |
void cooperative_lanechange::CooperativeLaneChangePlugin::georeference_cb | ( | const std_msgs::msg::String::UniquePtr | msg | ) |
Callback for map projection string to define lat/lon -> map conversion.
msg The proj string defining the projection.
Definition at line 634 of file cooperative_lanechange_node.cpp.
References map_georeference_, and map_projector_.
Referenced by on_configure_plugin().
|
overridevirtual |
Get the availability status of this plugin based on the current operating environment. Method must be overriden by extending classes.
Implements carma_guidance_plugins::PluginBaseNode.
Definition at line 652 of file cooperative_lanechange_node.cpp.
|
overridevirtual |
Returns the version id of this plugin.
Implements carma_guidance_plugins::PluginBaseNode.
Definition at line 656 of file cooperative_lanechange_node.cpp.
void cooperative_lanechange::CooperativeLaneChangePlugin::mobilityresponse_cb | ( | const carma_v2x_msgs::msg::MobilityResponse::UniquePtr | msg | ) |
Callback to subscribed mobility response topic.
msg | Latest mobility response message |
Definition at line 161 of file cooperative_lanechange_node.cpp.
References clc_called_, clc_request_id_, is_lanechange_accepted_, and lanechange_status_pub_.
Referenced by on_configure_plugin().
|
virtual |
This method should be used to load parameters and will be called on the configure state transition.
Implements carma_guidance_plugins::PluginBaseNode.
Definition at line 98 of file cooperative_lanechange_node.cpp.
References cooperative_lanechange::Config::back_distance, bsm_cb(), bsm_sub_, cooperative_lanechange::Config::buffer_ending_downtrack, config_, cooperative_lanechange::Config::control_plugin_name, cooperative_lanechange::Config::curvature_calc_lookahead_count, cooperative_lanechange::Config::curvature_moving_average_window_size, cooperative_lanechange::Config::curve_resample_step_size, cooperative_lanechange::Config::desired_time_gap, cooperative_lanechange::Config::destination_range, cooperative_lanechange::Config::downsample_ratio, georeference_cb(), georeference_sub_, carma_guidance_plugins::PluginBaseNode::get_world_model(), incoming_mobility_response_sub_, lanechange_status_pub_, cooperative_lanechange::Config::lanechange_time_out, cooperative_lanechange::Config::lateral_accel_limit, cooperative_lanechange::Config::max_accel, cooperative_lanechange::Config::maximum_lookahead_distance, cooperative_lanechange::Config::maximum_lookahead_speed, cooperative_lanechange::Config::mid_fraction, cooperative_lanechange::Config::min_desired_gap, cooperative_lanechange::Config::min_timestep, cooperative_lanechange::Config::minimum_lookahead_distance, cooperative_lanechange::Config::minimum_lookahead_speed, cooperative_lanechange::Config::minimum_speed, mobilityresponse_cb(), outgoing_mobility_request_pub_, parameter_update_callback(), pose_cb(), pose_sub_, cooperative_lanechange::Config::speed_moving_average_window_size, cooperative_lanechange::Config::starting_downtrack_range, cooperative_lanechange::Config::starting_fraction, cooperative_lanechange::Config::trajectory_time_length, cooperative_lanechange::Config::turn_downsample_ratio, twist_cb(), twist_sub_, cooperative_lanechange::Config::vehicle_id, and wm_.
rcl_interfaces::msg::SetParametersResult cooperative_lanechange::CooperativeLaneChangePlugin::parameter_update_callback | ( | const std::vector< rclcpp::Parameter > & | parameters | ) |
Callback for dynamic parameter updates.
Definition at line 57 of file cooperative_lanechange_node.cpp.
References cooperative_lanechange::Config::back_distance, cooperative_lanechange::Config::buffer_ending_downtrack, config_, cooperative_lanechange::Config::control_plugin_name, cooperative_lanechange::Config::curvature_calc_lookahead_count, cooperative_lanechange::Config::curvature_moving_average_window_size, cooperative_lanechange::Config::curve_resample_step_size, cooperative_lanechange::Config::desired_time_gap, cooperative_lanechange::Config::destination_range, cooperative_lanechange::Config::downsample_ratio, cooperative_lanechange::Config::lanechange_time_out, cooperative_lanechange::Config::lateral_accel_limit, cooperative_lanechange::Config::max_accel, cooperative_lanechange::Config::maximum_lookahead_distance, cooperative_lanechange::Config::maximum_lookahead_speed, cooperative_lanechange::Config::mid_fraction, cooperative_lanechange::Config::min_desired_gap, cooperative_lanechange::Config::min_timestep, cooperative_lanechange::Config::minimum_lookahead_distance, cooperative_lanechange::Config::minimum_lookahead_speed, cooperative_lanechange::Config::minimum_speed, cooperative_lanechange::Config::speed_moving_average_window_size, cooperative_lanechange::Config::starting_downtrack_range, cooperative_lanechange::Config::starting_fraction, cooperative_lanechange::Config::trajectory_time_length, cooperative_lanechange::Config::turn_downsample_ratio, and cooperative_lanechange::Config::vehicle_id.
Referenced by on_configure_plugin().
std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > cooperative_lanechange::CooperativeLaneChangePlugin::plan_lanechange | ( | carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr | req | ) |
Creates a vector of Trajectory Points from maneuver information in trajectory request.
req | The service request |
Definition at line 564 of file cooperative_lanechange_node.cpp.
References cooperative_lanechange::Config::back_distance, cooperative_lanechange::Config::buffer_ending_downtrack, basic_autonomy::waypoint_generation::compose_detailed_trajectory_config(), basic_autonomy::waypoint_generation::compose_general_trajectory_config(), basic_autonomy::waypoint_generation::compose_lanechange_trajectory_from_path(), config_, basic_autonomy::waypoint_generation::create_geometry_profile(), cooperative_lanechange::Config::curvature_moving_average_window_size, cooperative_lanechange::Config::curve_resample_step_size, cooperative_lanechange::Config::downsample_ratio, ending_state_before_buffer_, cooperative_lanechange::Config::lateral_accel_limit, maneuver_fraction_completed_, cooperative_lanechange::Config::max_accel, cooperative_lanechange::Config::minimum_speed, original_lc_maneuver_values_, request_sent_, cooperative_lanechange::Config::speed_moving_average_window_size, cooperative_lanechange::Config::trajectory_time_length, cooperative_lanechange::Config::turn_downsample_ratio, and wm_.
Referenced by plan_trajectory_callback().
|
overridevirtual |
Extending class provided callback which should return a planned trajectory based on the provided trajectory planning request.
srv_header | RCL header for services calls. Can usually be ignored by implementers. |
req | The service request containing the maneuvers to plan trajectories for and current vehicle state |
resp | The response containing the planned trajectory |
Implements carma_guidance_plugins::TacticalPlugin.
Definition at line 262 of file cooperative_lanechange_node.cpp.
References add_trajectory_to_response(), clc_called_, config_, create_mobility_request(), current_speed_, cooperative_lanechange::Config::desired_time_gap, cooperative_lanechange::Config::destination_range, find_current_gap(), process_bag::i, is_lanechange_accepted_, lanechange_status_pub_, cooperative_lanechange::Config::lanechange_time_out, cooperative_lanechange::LaneChangeManeuverOriginalValues::maneuver_id, cooperative_lanechange::Config::min_desired_gap, cooperative_lanechange::Config::minimum_speed, original_lc_maneuver_values_, cooperative_lanechange::LaneChangeManeuverOriginalValues::original_start_dist, cooperative_lanechange::LaneChangeManeuverOriginalValues::original_starting_lane_id, outgoing_mobility_request_pub_, plan_lanechange(), request_sent_, request_sent_time_, cooperative_lanechange::Config::starting_downtrack_range, and wm_.
|
private |
Callback for the pose subscriber, which will store latest pose locally.
msg | Latest pose message |
Definition at line 247 of file cooperative_lanechange_node.cpp.
References pose_msg_.
Referenced by on_configure_plugin().
carma_v2x_msgs::msg::Trajectory cooperative_lanechange::CooperativeLaneChangePlugin::trajectory_plan_to_trajectory | ( | const std::vector< carma_planning_msgs::msg::TrajectoryPlanPoint > & | traj_points | ) | const |
Converts Trajectory Plan to (Mobility) Trajectory.
traj_points | vector of Trajectory Plan points to be converted to Trajectory type message |
Definition at line 521 of file cooperative_lanechange_node.cpp.
References process_bag::i, and trajectory_point_to_ecef().
Referenced by create_mobility_request().
carma_v2x_msgs::msg::LocationECEF cooperative_lanechange::CooperativeLaneChangePlugin::trajectory_point_to_ecef | ( | const carma_planning_msgs::msg::TrajectoryPlanPoint & | traj_point | ) | const |
Converts Trajectory Point to ECEF frame using map projection.
traj_points | A Trajectory Plan point to be converted to Trajectory type message |
std::invalid_argument | If the map_projector_ member variable has not been set |
Definition at line 549 of file cooperative_lanechange_node.cpp.
References map_projector_.
Referenced by create_mobility_request(), and trajectory_plan_to_trajectory().
|
private |
Callback for the twist subscriber, which will store latest twist locally.
msg | Latest twist message |
Definition at line 252 of file cooperative_lanechange_node.cpp.
References current_speed_.
Referenced by on_configure_plugin().
|
private |
Definition at line 114 of file cooperative_lanechange_node.hpp.
Referenced by bsm_cb(), and create_mobility_request().
|
private |
Definition at line 76 of file cooperative_lanechange_node.hpp.
Referenced by on_configure_plugin().
|
private |
Definition at line 108 of file cooperative_lanechange_node.hpp.
Referenced by mobilityresponse_cb(), and plan_trajectory_callback().
|
private |
Definition at line 111 of file cooperative_lanechange_node.hpp.
Referenced by create_mobility_request(), and mobilityresponse_cb().
|
private |
Definition at line 83 of file cooperative_lanechange_node.hpp.
Referenced by CooperativeLaneChangePlugin(), add_trajectory_to_response(), create_mobility_request(), on_configure_plugin(), parameter_update_callback(), plan_lanechange(), and plan_trajectory_callback().
double cooperative_lanechange::CooperativeLaneChangePlugin::current_speed_ |
Definition at line 147 of file cooperative_lanechange_node.hpp.
Referenced by plan_trajectory_callback(), and twist_cb().
|
private |
Definition at line 96 of file cooperative_lanechange_node.hpp.
Referenced by create_mobility_request().
carma_planning_msgs::msg::VehicleState cooperative_lanechange::CooperativeLaneChangePlugin::ending_state_before_buffer_ |
Definition at line 155 of file cooperative_lanechange_node.hpp.
Referenced by plan_lanechange().
|
private |
Definition at line 75 of file cooperative_lanechange_node.hpp.
Referenced by on_configure_plugin().
|
private |
Definition at line 74 of file cooperative_lanechange_node.hpp.
Referenced by on_configure_plugin().
bool cooperative_lanechange::CooperativeLaneChangePlugin::is_lanechange_accepted_ = false |
Definition at line 153 of file cooperative_lanechange_node.hpp.
Referenced by mobilityresponse_cb(), and plan_trajectory_callback().
|
private |
Definition at line 80 of file cooperative_lanechange_node.hpp.
Referenced by mobilityresponse_cb(), on_configure_plugin(), and plan_trajectory_callback().
|
private |
Definition at line 105 of file cooperative_lanechange_node.hpp.
Referenced by create_mobility_request(), and plan_lanechange().
|
private |
Definition at line 89 of file cooperative_lanechange_node.hpp.
Referenced by georeference_cb().
|
private |
Definition at line 90 of file cooperative_lanechange_node.hpp.
Referenced by create_mobility_request(), georeference_cb(), and trajectory_point_to_ecef().
|
private |
Definition at line 117 of file cooperative_lanechange_node.hpp.
Referenced by plan_lanechange(), and plan_trajectory_callback().
|
private |
Definition at line 79 of file cooperative_lanechange_node.hpp.
Referenced by on_configure_plugin(), and plan_trajectory_callback().
geometry_msgs::msg::PoseStamped cooperative_lanechange::CooperativeLaneChangePlugin::pose_msg_ |
Definition at line 150 of file cooperative_lanechange_node.hpp.
Referenced by create_mobility_request(), and pose_cb().
|
private |
Definition at line 72 of file cooperative_lanechange_node.hpp.
Referenced by on_configure_plugin().
|
private |
Definition at line 102 of file cooperative_lanechange_node.hpp.
Referenced by plan_lanechange(), and plan_trajectory_callback().
|
private |
Definition at line 99 of file cooperative_lanechange_node.hpp.
Referenced by plan_trajectory_callback().
|
private |
Definition at line 93 of file cooperative_lanechange_node.hpp.
|
private |
Definition at line 73 of file cooperative_lanechange_node.hpp.
Referenced by on_configure_plugin().
|
private |
Definition at line 86 of file cooperative_lanechange_node.hpp.
Referenced by find_current_gap(), on_configure_plugin(), plan_lanechange(), and plan_trajectory_callback().