Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions control_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,17 @@ set(action_files
action/ParallelGripperCommand.action
action/FollowJointTrajectory.action
action/GripperCommand.action
action/IOGripperCommand.action
action/JointTrajectory.action
action/PointHead.action
action/SetIOGripperConfig.action
action/SingleJointPosition.action
)

set(srv_files
srv/QueryCalibrationState.srv
srv/QueryTrajectoryState.srv
srv/SetIOGripperConfig.srv
)

rosidl_generate_interfaces(${PROJECT_NAME}
Expand Down
18 changes: 18 additions & 0 deletions control_msgs/action/IOGripperCommand.action
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# This action interface is defined for controlling the io gripper controller to open or close the gripper

# The io_gripper_controller follows a set of states to open/close the gripper
# The states are defined as follows:
# IDLE (0): The gripper is in an idle state, not performing any action.
# SET_BEFORE_COMMAND (1): The gripper is preparing to execute a command.
# CLOSE_GRIPPER (2): The gripper is closing.
# CHECK_GRIPPER_STATE (3): The gripper is checking its current state.
# OPEN_GRIPPER (4): The gripper is opening.
# SET_AFTER_COMMAND (5): The gripper is finalizing the command execution.
# HALTED (6): The gripper has halted due to an error or stop command.
sachinkum0009 marked this conversation as resolved.
Show resolved Hide resolved

bool open # boolean value to indicate if the gripper should be opened or closed (e.g. true for open, false for close)
---
bool success # true for performing the gripper command successfully and vice versa
string message # informational, e.g. for success or error messages
---
uint8 state # state of the gripper as defined above
21 changes: 21 additions & 0 deletions control_msgs/action/SetIOGripperConfig.action
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# This action interface is defined for setting the configuration of the io gripper controller
# In yaml file of the io_gripper_controller, the configuration is defined as a list of strings
# e.g. configurations: ["stichmass_125", "stichmass_250"]
sachinkum0009 marked this conversation as resolved.
Show resolved Hide resolved
# The action request is called with the name of the configuration to be set

# The io_gripper_controller follows a set of states to reconfigure the gripper
# The states are defined as follows:
# Enum representing the states of the reconfiguration process.
# States:
# - IDLE (0): The reconfiguration process is idle, not performing any action.
# - FIND_CONFIG (1): Finding the configuration settings.
# - SET_COMMAND (2): Setting the command based on the configuration.
# - CHECK_STATE (3): Checking the state after setting the command.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please adjust as above.

Also, do we really need “find” state, I mean this takes a few microseconds so we will never get this feedback or see this. Or am I understanding something wrong?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I agree the "find" state should not take long and can be removed.



string config_name # information about which configuration is being set for the gripper controller
---
bool result # indicate success for setting the configuration of the gripper controller and vice versa
string status # informational, e.g. for success or error messages
---
uint8 state # state of the gripper as defined above
9 changes: 9 additions & 0 deletions control_msgs/srv/SetIOGripperConfig.srv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This service interface is defined for setting the configuration of the io gripper controller
# In yaml file of the io_gripper_controller, the configuration is defined as a list of strings
# e.g. configurations: ["stichmass_125", "stichmass_250"]
sachinkum0009 marked this conversation as resolved.
Show resolved Hide resolved
# The service request is called with the name of the configuration to be set

string config_name # information about which configuration is being set for the gripper controller
---
bool result # indicate success for setting the configuration of the gripper controller and vice versa
string status # informational, e.g. for success or error messages
Loading