To follow the solution 2, probably best solution is to add a new ROS service addNewAction . With this one external node can "add a new action in the system". The service msg will be composed by the ActionGeneric information (name, joint pos refs, joint Involved, optionally fingers involved). Some validation will be performed (is the action name already in use? are the joint names coherent with the joint names of the hand?), and if passed, the action "inserted in the system" (and maybe emitted in a yaml file).
Since now, the user can request to command this new action like the other ones (thus, without specifying position references but only the name of the action and the percentage)
To follow the solution 2, probably best solution is to add a new ROS service addNewAction . With this one external node can "add a new action in the system". The service msg will be composed by the ActionGeneric information (name, joint pos refs, joint Involved, optionally fingers involved). Some validation will be performed (is the action name already in use? are the joint names coherent with the joint names of the hand?), and if passed, the action "inserted in the system" (and maybe emitted in a yaml file).
Since now, the user can request to command this new action like the other ones (thus, without specifying position references but only the name of the action and the percentage)
Originally posted by @torydebra in https://github.com/ADVRHumanoids/ROSEndEffectors-ModelAndControl/issues/65#issuecomment-701277718