control_msgs icon indicating copy to clipboard operation
control_msgs copied to clipboard

Added IO Gripper Control and Configuration Messages, Services, and Actions

Open sachinkum0009 opened this issue 11 months ago • 6 comments

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 avatar Dec 21 '24 18:12 sachinkum0009

@sachinkum0009 Can you fix the pre-commit?

saikishor avatar Jan 02 '25 22:01 saikishor

Sorry forget to run pre-commit.

sachinkum0009 avatar Jan 03 '25 00:01 sachinkum0009

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.

github-actions[bot] avatar Mar 31 '25 12:03 github-actions[bot]

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.

github-actions[bot] avatar Jul 28 '25 12:07 github-actions[bot]

This pull request is in conflict. Could you fix it @sachinkum0009?

mergify[bot] avatar Sep 01 '25 11:09 mergify[bot]

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).

destogl avatar Sep 01 '25 14:09 destogl