24 std::shared_ptr<DriverType>
loadDriver(
const std::string& parameter_name,
const std::string& default_plugin_name,
25 const std::string& driver_description,
26 const std::string& interface_description)
const
28 node_->declare_parameter(parameter_name, default_plugin_name);
29 const auto plugin_name =
node_->get_parameter(parameter_name).as_string();
31 RCLCPP_INFO(
node_->get_logger(),
"Loading %s plugin: %s", driver_description.c_str(), plugin_name.c_str());
33 auto driver_base =
loader_.createSharedInstance(plugin_name);
34 driver_base->initialize(
node_);
36 auto typed_driver = std::dynamic_pointer_cast<DriverType>(driver_base);
43 RCLCPP_INFO(
node_->get_logger(),
"Started %s plugin: %s", driver_description.c_str(), plugin_name.c_str());