You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After #1979 there is still one remaining problem:
The on_shutdown callback never gets executed, because the derived class is destroyed before the controller_interface_base. Moving that to controller_interface does not help, controllers are still derived from that.
For me it seems that even the controller_manager never calls the shutdown transition explicitly for controllers? So we never trigger that transition from any controller, and every on_shutdown override just never gets executed. (resource manager does that for hardware components).
Maybe we just need to trigger shutdown instead of cleanup here:
In this transition state the callback onShutdown will be executed. This method is expected to do any cleanup necessary before destruction. It may be entered from any Primary State except Finalized, the originating state will be passed to the method.
So if we are going to destruct the node it seems that the shutdown method should be called instead of cleanup.
Exactly, before unloading it should be in finalized state, i.e. we should call the shutdown transition which is valid from active, inactive, and unconfigured state. @Wiktor-99 do you want to fix that?
After #1979 there is still one remaining problem:
The
on_shutdown
callback never gets executed, because the derived class is destroyed before the controller_interface_base. Moving that to controller_interface does not help, controllers are still derived from that.For me it seems that even the controller_manager never calls the shutdown transition explicitly for controllers? So we never trigger that transition from any controller, and every
on_shutdown
override just never gets executed. (resource manager does that for hardware components).Maybe we just need to trigger shutdown instead of cleanup here:
ros2_control/controller_manager/src/controller_manager.cpp
Lines 707 to 730 in 6e1059c
The text was updated successfully, but these errors were encountered: