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.
|
Class containing primary business logic for the In-Lane Cruising Plugin. More...
#include <inlanecruising_plugin.hpp>
Public Member Functions | |
InLaneCruisingPlugin (std::shared_ptr< carma_ros2_utils::CarmaLifecycleNode > nh, carma_wm::WorldModelConstPtr wm, const InLaneCruisingPluginConfig &config, const DebugPublisher &debug_publisher=[](const auto &msg){}, const std::string &plugin_name="inlanecruising_plugin", const std::string &version_id="v1.0") | |
Constructor. More... | |
void | plan_trajectory_callback (carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr req, carma_planning_msgs::srv::PlanTrajectory::Response::SharedPtr resp) |
Service callback for trajectory planning. More... | |
void | set_yield_client (carma_ros2_utils::ClientPtr< carma_planning_msgs::srv::PlanTrajectory > client) |
set the yield service More... | |
Public Attributes | |
carma_planning_msgs::msg::VehicleState | ending_state_before_buffer_ |
Private Member Functions | |
FRIEND_TEST (InLaneCruisingPluginTest, rostest1) | |
Private Attributes | |
std::string | plugin_name_ |
std::string | version_id_ |
carma_wm::WorldModelConstPtr | wm_ |
InLaneCruisingPluginConfig | config_ |
carma_ros2_utils::ClientPtr< carma_planning_msgs::srv::PlanTrajectory > | yield_client_ |
DebugPublisher | debug_publisher_ |
carma_debug_ros2_msgs::msg::TrajectoryCurvatureSpeeds | debug_msg_ |
std::shared_ptr< carma_ros2_utils::CarmaLifecycleNode > | nh_ |
Class containing primary business logic for the In-Lane Cruising Plugin.
Definition at line 50 of file inlanecruising_plugin.hpp.
inlanecruising_plugin::InLaneCruisingPlugin::InLaneCruisingPlugin | ( | std::shared_ptr< carma_ros2_utils::CarmaLifecycleNode > | nh, |
carma_wm::WorldModelConstPtr | wm, | ||
const InLaneCruisingPluginConfig & | config, | ||
const DebugPublisher & | debug_publisher = [](const auto& msg){} , |
||
const std::string & | plugin_name = "inlanecruising_plugin" , |
||
const std::string & | version_id = "v1.0" |
||
) |
Constructor.
nh | Pointer to the lifecyle node |
wm | Pointer to intialized instance of the carma world model for accessing semantic map data |
config | The configuration to be used for this object |
debug_publisher | Callback which will publish a debug message. The callback defaults to no-op. |
plugin_name | Retrieved from the plugin node |
version_id | Retrieved from the plugin node |
Definition at line 40 of file inlanecruising_plugin.cpp.
|
private |
void inlanecruising_plugin::InLaneCruisingPlugin::plan_trajectory_callback | ( | carma_planning_msgs::srv::PlanTrajectory::Request::SharedPtr | req, |
carma_planning_msgs::srv::PlanTrajectory::Response::SharedPtr | resp | ||
) |
Service callback for trajectory planning.
srv_header | header |
req | The service request |
resp | The service response |
Definition at line 49 of file inlanecruising_plugin.cpp.
References InLaneCruisingPluginConfig::back_distance, InLaneCruisingPluginConfig::buffer_ending_downtrack, basic_autonomy::waypoint_generation::compose_detailed_trajectory_config(), basic_autonomy::waypoint_generation::compose_general_trajectory_config(), basic_autonomy::waypoint_generation::compose_lanefollow_trajectory_from_path(), config_, basic_autonomy::waypoint_generation::create_geometry_profile(), InLaneCruisingPluginConfig::curvature_moving_average_window_size, InLaneCruisingPluginConfig::curve_resample_step_size, debug_msg_, debug_publisher_, InLaneCruisingPluginConfig::default_downsample_ratio, InLaneCruisingPluginConfig::enable_object_avoidance, ending_state_before_buffer_, process_bag::i, InLaneCruisingPluginConfig::lat_accel_multiplier, InLaneCruisingPluginConfig::lateral_accel_limit, InLaneCruisingPluginConfig::max_accel, InLaneCruisingPluginConfig::max_accel_multiplier, InLaneCruisingPluginConfig::minimum_speed, basic_autonomy::waypoint_generation::modify_trajectory_to_yield_to_obstacles(), nh_, plugin_name_, InLaneCruisingPluginConfig::publish_debug, InLaneCruisingPluginConfig::speed_moving_average_window_size, InLaneCruisingPluginConfig::tactical_plugin_service_call_timeout, carma_cooperative_perception::to_string(), InLaneCruisingPluginConfig::trajectory_time_length, InLaneCruisingPluginConfig::turn_downsample_ratio, wm_, and yield_client_.
void inlanecruising_plugin::InLaneCruisingPlugin::set_yield_client | ( | carma_ros2_utils::ClientPtr< carma_planning_msgs::srv::PlanTrajectory > | client | ) |
set the yield service
yield_srv | input yield service |
Definition at line 135 of file inlanecruising_plugin.cpp.
References yield_client_.
|
private |
Definition at line 94 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback().
|
private |
Definition at line 97 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback().
|
private |
Definition at line 96 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback().
carma_planning_msgs::msg::VehicleState inlanecruising_plugin::InLaneCruisingPlugin::ending_state_before_buffer_ |
Definition at line 87 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback().
|
private |
Definition at line 98 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback().
|
private |
Definition at line 91 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback().
|
private |
Definition at line 92 of file inlanecruising_plugin.hpp.
|
private |
Definition at line 93 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback().
|
private |
Definition at line 95 of file inlanecruising_plugin.hpp.
Referenced by plan_trajectory_callback(), and set_yield_client().