control_msgs
control_msgs copied to clipboard
Added IO Gripper Control and Configuration Messages, Services, and Actions
This pull request introduces new msgs, srvs and actions for control_msgs package. These changes are aimed at enhancing gripper control and configuration functionality.
@sachinkum0009 Can you fix the pre-commit?
Sorry forget to run pre-commit.
This PR is stale because it has been open for 45 days with no activity. Please tag a maintainer for help on completing this PR, or close it if you think it has become obsolete.
This PR is stale because it has been open for 45 days with no activity. Please tag a maintainer for help on completing this PR, or close it if you think it has become obsolete.
This pull request is in conflict. Could you fix it @sachinkum0009?
So here the answers:
1. In the command action you're requesting engage/disengage but in the result you don't know which kind of engage/disengage the gripper ends up in.
This is good, thanks, I have added this as string output. And you always know which one you end up in because you request a certain state so that either succeeds or not. But this is the logic of the controller itself. (see ros-controls/ros2_controllers#1439)
2. `GPIOToolControllerState` has a string state. How do you know if that's an engaged or disengaged state?
The user is defining these states in the controller, so they will know the meaning of each state. As this is not only for grippers, there is a freedom for users to define the names. Having this solved with a boolean or similar is a problem, as there are multiple engaged states possible (in case of gripper empty or full).
The solution to both might be breaking down the way the engaged state is described into a main state (engaged/disengaged) and the variant state.
I don't understand what you mean here.
Lastly, can we get some links to the implementation or an example of the problem trying to be solved here?
See the PR linked above. Documentation is missing, but the test controllers configurations are given for the two use-cases. There is much more use basically; you can control anydevice that is controlled using GPIOs (digital or analog).