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.
|
#include <guidance_controller.hpp>
Public Member Functions | |
GuidanceControllerNode ()=delete | |
~GuidanceControllerNode ()=default | |
GuidanceControllerNode (const rclcpp::NodeOptions &options) | |
Constructor. Set explicitly to support node composition. More... | |
cr2::CallbackReturn | handle_on_configure (const rclcpp_lifecycle::State &) |
cr2::CallbackReturn | handle_on_activate (const rclcpp_lifecycle::State &) |
cr2::CallbackReturn | handle_on_deactivate (const rclcpp_lifecycle::State &) |
cr2::CallbackReturn | handle_on_cleanup (const rclcpp_lifecycle::State &) |
cr2::CallbackReturn | handle_on_shutdown (const rclcpp_lifecycle::State &) |
Public Member Functions inherited from subsystem_controllers::BaseSubsystemController | |
BaseSubsystemController ()=delete | |
BaseSubsystemController (const rclcpp::NodeOptions &options) | |
Constructor. Set explicitly to support node composition. More... | |
~BaseSubsystemController ()=default | |
void | set_config (BaseSubSystemControllerConfig config) |
virtual void | on_system_alert (const carma_msgs::msg::SystemAlert::UniquePtr msg) |
virtual carma_ros2_utils::CallbackReturn | handle_on_configure (const rclcpp_lifecycle::State &prev_state) |
virtual carma_ros2_utils::CallbackReturn | handle_on_activate (const rclcpp_lifecycle::State &prev_state) |
virtual carma_ros2_utils::CallbackReturn | handle_on_deactivate (const rclcpp_lifecycle::State &prev_state) |
virtual carma_ros2_utils::CallbackReturn | handle_on_cleanup (const rclcpp_lifecycle::State &prev_state) |
virtual carma_ros2_utils::CallbackReturn | handle_on_error (const rclcpp_lifecycle::State &prev_state, const std::string &exception_string) |
virtual carma_ros2_utils::CallbackReturn | handle_on_shutdown (const rclcpp_lifecycle::State &prev_state) |
Private Attributes | |
std::shared_ptr< PluginManager > | plugin_manager_ |
Plugin manager to handle all the plugin specific discovery and reporting. More... | |
GuidanceControllerConfig | config_ |
Config for user provided parameters. More... | |
cr2::SubPtr< carma_planning_msgs::msg::Plugin > | plugin_discovery_sub_ |
ROS handles. More... | |
cr2::ServicePtr< carma_planning_msgs::srv::PluginList > | get_registered_plugins_server_ |
cr2::ServicePtr< carma_planning_msgs::srv::PluginList > | get_active_plugins_server_ |
cr2::ServicePtr< carma_planning_msgs::srv::PluginActivation > | activate_plugin_server_ |
cr2::ServicePtr< carma_planning_msgs::srv::GetPluginApi > | get_strategic_plugins_by_capability_server_ |
cr2::ServicePtr< carma_planning_msgs::srv::GetPluginApi > | get_tactical_plugins_by_capability_server_ |
cr2::ServicePtr< carma_planning_msgs::srv::GetPluginApi > | get_control_plugins_by_capability_server_ |
Additional Inherited Members | |
Protected Member Functions inherited from subsystem_controllers::BaseSubsystemController | |
std::vector< std::string > | get_nodes_in_namespace (const std::string &node_namespace) const |
Returns the list of fully qualified node names for all ROS2 nodes in the provided namespace. More... | |
std::vector< std::string > | get_non_intersecting_set (const std::vector< std::string > &set_a, const std::vector< std::string > &set_b) const |
Returns all elements of the provided set_a which are NOT contained in the provided set_b. More... | |
Protected Attributes inherited from subsystem_controllers::BaseSubsystemController | |
ros2_lifecycle_manager::Ros2LifecycleManager | lifecycle_mgr_ |
Lifecycle Manager which will track the managed nodes and call their lifecycle services on request. More... | |
rclcpp::Subscription< carma_msgs::msg::SystemAlert >::SharedPtr | system_alert_sub_ |
The subscriber for the system alert topic. More... | |
BaseSubSystemControllerConfig | base_config_ |
The configuration struct. More... | |
bool | trigger_managed_nodes_configure_from_base_class_ = true |
Collection of flags which, if true, will cause the base class to make lifecycle service calls to managed nodes. More... | |
bool | trigger_managed_nodes_activate_from_base_class_ = true |
bool | trigger_managed_nodes_deactivate_from_base_class_ = true |
bool | trigger_managed_nodes_cleanup_from_base_class_ = true |
Definition at line 38 of file guidance_controller.hpp.
|
delete |
|
default |
|
explicit |
Constructor. Set explicitly to support node composition.
options | The node options to use for configuring this node |
Definition at line 25 of file guidance_controller.cpp.
References subsystem_controllers::GuidanceControllerConfig::auto_activated_plugins, config_, subsystem_controllers::GuidanceControllerConfig::required_plugins, and subsystem_controllers::BaseSubsystemController::trigger_managed_nodes_configure_from_base_class_.
|
virtual |
Reimplemented from subsystem_controllers::BaseSubsystemController.
Definition at line 137 of file guidance_controller.cpp.
References subsystem_controllers::BaseSubsystemController::handle_on_activate(), and plugin_manager_.
|
virtual |
Reimplemented from subsystem_controllers::BaseSubsystemController.
Definition at line 200 of file guidance_controller.cpp.
References subsystem_controllers::BaseSubsystemController::handle_on_cleanup(), and plugin_manager_.
|
virtual |
Reimplemented from subsystem_controllers::BaseSubsystemController.
Definition at line 35 of file guidance_controller.cpp.
References subsystem_controllers::PluginManager::activate_plugin(), activate_plugin_server_, subsystem_controllers::GuidanceControllerConfig::auto_activated_plugins, subsystem_controllers::BaseSubsystemController::base_config_, subsystem_controllers::BaseSubSystemControllerConfig::call_timeout_ms, config_, subsystem_controllers::PluginManager::get_active_plugins(), get_active_plugins_server_, subsystem_controllers::PluginManager::get_control_plugins_by_capability(), get_control_plugins_by_capability_server_, subsystem_controllers::BaseSubsystemController::get_non_intersecting_set(), subsystem_controllers::PluginManager::get_registered_plugins(), get_registered_plugins_server_, subsystem_controllers::PluginManager::get_strategic_plugins_by_capability(), get_strategic_plugins_by_capability_server_, subsystem_controllers::PluginManager::get_tactical_plugins_by_capability(), get_tactical_plugins_by_capability_server_, subsystem_controllers::BaseSubsystemController::handle_on_configure(), subsystem_controllers::BaseSubsystemController::lifecycle_mgr_, plugin_discovery_sub_, plugin_manager_, subsystem_controllers::GuidanceControllerConfig::required_plugins, subsystem_controllers::BaseSubSystemControllerConfig::service_timeout_ms, subsystem_controllers::BaseSubSystemControllerConfig::subsystem_namespace, and subsystem_controllers::PluginManager::update_plugin_status().
|
virtual |
Reimplemented from subsystem_controllers::BaseSubsystemController.
Definition at line 169 of file guidance_controller.cpp.
References subsystem_controllers::BaseSubsystemController::handle_on_deactivate(), and plugin_manager_.
|
virtual |
Reimplemented from subsystem_controllers::BaseSubsystemController.
Definition at line 231 of file guidance_controller.cpp.
References subsystem_controllers::BaseSubsystemController::handle_on_shutdown(), and plugin_manager_.
|
private |
Definition at line 78 of file guidance_controller.hpp.
Referenced by handle_on_configure().
|
private |
Config for user provided parameters.
Definition at line 68 of file guidance_controller.hpp.
Referenced by GuidanceControllerNode(), and handle_on_configure().
|
private |
Definition at line 76 of file guidance_controller.hpp.
Referenced by handle_on_configure().
|
private |
Definition at line 84 of file guidance_controller.hpp.
Referenced by handle_on_configure().
|
private |
Definition at line 74 of file guidance_controller.hpp.
Referenced by handle_on_configure().
|
private |
Definition at line 80 of file guidance_controller.hpp.
Referenced by handle_on_configure().
|
private |
Definition at line 82 of file guidance_controller.hpp.
Referenced by handle_on_configure().
|
private |
ROS handles.
Definition at line 72 of file guidance_controller.hpp.
Referenced by handle_on_configure().
|
private |
Plugin manager to handle all the plugin specific discovery and reporting.
Definition at line 65 of file guidance_controller.hpp.
Referenced by handle_on_activate(), handle_on_cleanup(), handle_on_configure(), handle_on_deactivate(), and handle_on_shutdown().