-
Notifications
You must be signed in to change notification settings - Fork 109
Description
Is your feature request related to a problem? Please describe.
Currently the package only provides support for rclcpp::Node and rclcpp_lifecycle::LifecycleNode. I would like to suggest adding support for nav2_utils::Lifecycle. I am primarily interested in the Bond connection concept introduced in this version of lifecycle nodes.
Describe the solution you'd like
Adding template specializations for nav2_utils::LifecycleNode in NodeCanopenDriver and relevant derived classes.
Adding a new class that inherits from both CanopenDriverInterface and nav2_utils::LifecycleNode
Describe alternatives you've considered
Perhaps adding bond functionality manually to each new driver node. (unpractical).
Creating a separate package that introduces a new child of NodeCanopenDriverInterface and a new child of CanopenDriverInterface. (Somewhat goes against the inheritance chain logic setup in this package as well as the templating of NodeCanopenDriverInterface classes).
Additional context
I saw comments in the code suggesting that NodeCanopenDriverInterface child classes should work with classes that inherit from rclcpp_lifecycle::LifecycleNode but I believe that template specialization is required to support new classes that inherit from rclcpp::Node or rclcpp_lifecycle::LifecycleNode.