I'd like to continue the discussion started here about the potential to fix the confusing concept of ControllerManager (CM) to simply ControllerInterface in MoveIt!. Almost all MoveIt! users we know of only use the CM as a pass-through to a lower level controller manager, such as ros_control's ControllerManager. The pass-through is done using @mikeferguson's moveit_simple_controller_manager that just sends ROS Actions to different node.
However, the current CM in MoveIt! is not entirely inaptly named because it does in fact have the ability to switch controllers via switchControllers(), getActiveControllers()etc. In order to rename this part of MoveIt!, we would want to strip out those features too. I imagine instead of changing the CM class though, we create a new class along side it and simply deprecate the CM for the next MoveIt! version.
As @v4hn pointed out: "ros_control does its job quite well, so we could give up on that concept within MoveIt entirely". MoveIt! does suffer from some feature creep, so we could offload this part of MoveIt!
I'd be very interested in hearing @isucan's opinion on this.
Note: I don't think I have the time to make this change right now so its not necessarily urgent
I'd like to continue the discussion started here about the potential to fix the confusing concept of ControllerManager (CM) to simply ControllerInterface in MoveIt!. Almost all MoveIt! users we know of only use the CM as a pass-through to a lower level controller manager, such as ros_control's ControllerManager. The pass-through is done using @mikeferguson's moveit_simple_controller_manager that just sends ROS Actions to different node.
However, the current CM in MoveIt! is not entirely inaptly named because it does in fact have the ability to switch controllers via
switchControllers()
,getActiveControllers()
etc. In order to rename this part of MoveIt!, we would want to strip out those features too. I imagine instead of changing the CM class though, we create a new class along side it and simply deprecate the CM for the next MoveIt! version.As @v4hn pointed out: "ros_control does its job quite well, so we could give up on that concept within MoveIt entirely". MoveIt! does suffer from some feature creep, so we could offload this part of MoveIt!
I'd be very interested in hearing @isucan's opinion on this.
Note: I don't think I have the time to make this change right now so its not necessarily urgent