From 54c9bd07be75a3c9bab397dc0c94cda0af5cc54d Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Fri, 29 Nov 2024 10:33:29 +0100 Subject: [PATCH 01/18] Added IOGripperController msgs. --- control_msgs/CMakeLists.txt | 2 ++ control_msgs/msg/IoGripperSensor.msg | 1 + control_msgs/srv/SetConfig.srv | 4 ++++ 3 files changed, 7 insertions(+) create mode 100644 control_msgs/msg/IoGripperSensor.msg create mode 100644 control_msgs/srv/SetConfig.srv diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index 52240e06..e3748948 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -39,6 +39,7 @@ set(msg_files msg/SingleDOFStateStamped.msg msg/SteeringControllerStatus.msg msg/SpeedScalingFactor.msg + msg/IoGripperSensor.msg ) set(action_files @@ -53,6 +54,7 @@ set(action_files set(srv_files srv/QueryCalibrationState.srv srv/QueryTrajectoryState.srv + srv/SetConfig.srv ) rosidl_generate_interfaces(${PROJECT_NAME} diff --git a/control_msgs/msg/IoGripperSensor.msg b/control_msgs/msg/IoGripperSensor.msg new file mode 100644 index 00000000..aed19c31 --- /dev/null +++ b/control_msgs/msg/IoGripperSensor.msg @@ -0,0 +1 @@ +bool state \ No newline at end of file diff --git a/control_msgs/srv/SetConfig.srv b/control_msgs/srv/SetConfig.srv new file mode 100644 index 00000000..de99242e --- /dev/null +++ b/control_msgs/srv/SetConfig.srv @@ -0,0 +1,4 @@ +string config_name +--- +bool result +string status \ No newline at end of file From 92a3d47051285d8db931c2d75b2e8895d02e8b2c Mon Sep 17 00:00:00 2001 From: Manuel Muth Date: Wed, 11 Dec 2024 10:11:30 +0000 Subject: [PATCH 02/18] Update actions, add action for Gripper (open/close) and setting a configuration of a gripepr for gripper_io_controller --- control_msgs/CMakeLists.txt | 2 ++ control_msgs/action/Gripper.action | 6 ++++++ control_msgs/action/SetGripperConfig.action | 6 ++++++ 3 files changed, 14 insertions(+) create mode 100644 control_msgs/action/Gripper.action create mode 100644 control_msgs/action/SetGripperConfig.action diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index e3748948..314a9183 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -49,6 +49,8 @@ set(action_files action/JointTrajectory.action action/PointHead.action action/SingleJointPosition.action + action/Gripper.action + action/SetGripperConfig.action ) set(srv_files diff --git a/control_msgs/action/Gripper.action b/control_msgs/action/Gripper.action new file mode 100644 index 00000000..f8a6fdb6 --- /dev/null +++ b/control_msgs/action/Gripper.action @@ -0,0 +1,6 @@ +bool open +--- +bool success +string message +--- +uint8 state \ No newline at end of file diff --git a/control_msgs/action/SetGripperConfig.action b/control_msgs/action/SetGripperConfig.action new file mode 100644 index 00000000..e8324141 --- /dev/null +++ b/control_msgs/action/SetGripperConfig.action @@ -0,0 +1,6 @@ +string config_name +--- +bool result +string status +--- +uint8 state \ No newline at end of file From a26a01a69d04806141dbb51e87199f229784b267 Mon Sep 17 00:00:00 2001 From: sachinkum0009 Date: Sat, 21 Dec 2024 19:45:36 +0100 Subject: [PATCH 03/18] fix: standardize end-of-file formatting in control_msgs --- control_msgs/action/Gripper.action | 2 +- control_msgs/action/SetGripperConfig.action | 2 +- control_msgs/msg/IoGripperSensor.msg | 2 +- control_msgs/srv/SetConfig.srv | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/control_msgs/action/Gripper.action b/control_msgs/action/Gripper.action index f8a6fdb6..635cab16 100644 --- a/control_msgs/action/Gripper.action +++ b/control_msgs/action/Gripper.action @@ -3,4 +3,4 @@ bool open bool success string message --- -uint8 state \ No newline at end of file +uint8 state diff --git a/control_msgs/action/SetGripperConfig.action b/control_msgs/action/SetGripperConfig.action index e8324141..a54ce2c3 100644 --- a/control_msgs/action/SetGripperConfig.action +++ b/control_msgs/action/SetGripperConfig.action @@ -3,4 +3,4 @@ string config_name bool result string status --- -uint8 state \ No newline at end of file +uint8 state diff --git a/control_msgs/msg/IoGripperSensor.msg b/control_msgs/msg/IoGripperSensor.msg index aed19c31..119c8395 100644 --- a/control_msgs/msg/IoGripperSensor.msg +++ b/control_msgs/msg/IoGripperSensor.msg @@ -1 +1 @@ -bool state \ No newline at end of file +bool state diff --git a/control_msgs/srv/SetConfig.srv b/control_msgs/srv/SetConfig.srv index de99242e..fd8bf8d0 100644 --- a/control_msgs/srv/SetConfig.srv +++ b/control_msgs/srv/SetConfig.srv @@ -1,4 +1,4 @@ string config_name --- bool result -string status \ No newline at end of file +string status From d0f726f7b2fe0309a65d815f70cad39b7f965cbc Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Thu, 2 Jan 2025 12:11:02 +0100 Subject: [PATCH 04/18] Update CMakeLists.txt --- control_msgs/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index 314a9183..e789a06f 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -39,7 +39,7 @@ set(msg_files msg/SingleDOFStateStamped.msg msg/SteeringControllerStatus.msg msg/SpeedScalingFactor.msg - msg/IoGripperSensor.msg + msg/IOGripperSensor.msg ) set(action_files From 594967640b7be3c4dec77aeacdb00eeba465bf5d Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Thu, 2 Jan 2025 12:11:18 +0100 Subject: [PATCH 05/18] Rename IoGripperSensor.msg to IOGripperSensor.msg --- control_msgs/msg/{IoGripperSensor.msg => IOGripperSensor.msg} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename control_msgs/msg/{IoGripperSensor.msg => IOGripperSensor.msg} (100%) diff --git a/control_msgs/msg/IoGripperSensor.msg b/control_msgs/msg/IOGripperSensor.msg similarity index 100% rename from control_msgs/msg/IoGripperSensor.msg rename to control_msgs/msg/IOGripperSensor.msg From 7fc20db5a6103aef92fd0b518065648fd0ad14fa Mon Sep 17 00:00:00 2001 From: sachinkum0009 Date: Thu, 2 Jan 2025 22:45:50 +0100 Subject: [PATCH 06/18] renamed interface names and added doc --- control_msgs/CMakeLists.txt | 7 +++--- control_msgs/action/Gripper.action | 6 ----- control_msgs/action/IOGripperCommand.action | 18 +++++++++++++++ control_msgs/action/SetGripperConfig.action | 6 ----- control_msgs/action/SetIOGripperConfig.action | 22 +++++++++++++++++++ control_msgs/msg/IOGripperSensor.msg | 1 - control_msgs/srv/SetConfig.srv | 4 ---- control_msgs/srv/SetIOGripperConfig.srv | 9 ++++++++ 8 files changed, 52 insertions(+), 21 deletions(-) delete mode 100644 control_msgs/action/Gripper.action create mode 100644 control_msgs/action/IOGripperCommand.action delete mode 100644 control_msgs/action/SetGripperConfig.action create mode 100644 control_msgs/action/SetIOGripperConfig.action delete mode 100644 control_msgs/msg/IOGripperSensor.msg delete mode 100644 control_msgs/srv/SetConfig.srv create mode 100644 control_msgs/srv/SetIOGripperConfig.srv diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index e789a06f..9cc357b3 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -39,24 +39,23 @@ set(msg_files msg/SingleDOFStateStamped.msg msg/SteeringControllerStatus.msg msg/SpeedScalingFactor.msg - msg/IOGripperSensor.msg ) 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 - action/Gripper.action - action/SetGripperConfig.action ) set(srv_files srv/QueryCalibrationState.srv srv/QueryTrajectoryState.srv - srv/SetConfig.srv + srv/SetIOGripperConfig.srv ) rosidl_generate_interfaces(${PROJECT_NAME} diff --git a/control_msgs/action/Gripper.action b/control_msgs/action/Gripper.action deleted file mode 100644 index 635cab16..00000000 --- a/control_msgs/action/Gripper.action +++ /dev/null @@ -1,6 +0,0 @@ -bool open ---- -bool success -string message ---- -uint8 state diff --git a/control_msgs/action/IOGripperCommand.action b/control_msgs/action/IOGripperCommand.action new file mode 100644 index 00000000..173c038d --- /dev/null +++ b/control_msgs/action/IOGripperCommand.action @@ -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. + +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 diff --git a/control_msgs/action/SetGripperConfig.action b/control_msgs/action/SetGripperConfig.action deleted file mode 100644 index a54ce2c3..00000000 --- a/control_msgs/action/SetGripperConfig.action +++ /dev/null @@ -1,6 +0,0 @@ -string config_name ---- -bool result -string status ---- -uint8 state diff --git a/control_msgs/action/SetIOGripperConfig.action b/control_msgs/action/SetIOGripperConfig.action new file mode 100644 index 00000000..1749b756 --- /dev/null +++ b/control_msgs/action/SetIOGripperConfig.action @@ -0,0 +1,22 @@ +# 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"] +# 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. + + +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 diff --git a/control_msgs/msg/IOGripperSensor.msg b/control_msgs/msg/IOGripperSensor.msg deleted file mode 100644 index 119c8395..00000000 --- a/control_msgs/msg/IOGripperSensor.msg +++ /dev/null @@ -1 +0,0 @@ -bool state diff --git a/control_msgs/srv/SetConfig.srv b/control_msgs/srv/SetConfig.srv deleted file mode 100644 index fd8bf8d0..00000000 --- a/control_msgs/srv/SetConfig.srv +++ /dev/null @@ -1,4 +0,0 @@ -string config_name ---- -bool result -string status diff --git a/control_msgs/srv/SetIOGripperConfig.srv b/control_msgs/srv/SetIOGripperConfig.srv new file mode 100644 index 00000000..fc8b3bd6 --- /dev/null +++ b/control_msgs/srv/SetIOGripperConfig.srv @@ -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"] +# 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 From 651b4ce9eefb477eee8b33ee5689d3c19424e111 Mon Sep 17 00:00:00 2001 From: sachinkum0009 Date: Fri, 3 Jan 2025 01:51:58 +0100 Subject: [PATCH 07/18] removed whitespace line --- control_msgs/action/SetIOGripperConfig.action | 1 - 1 file changed, 1 deletion(-) diff --git a/control_msgs/action/SetIOGripperConfig.action b/control_msgs/action/SetIOGripperConfig.action index 1749b756..e10c8e2d 100644 --- a/control_msgs/action/SetIOGripperConfig.action +++ b/control_msgs/action/SetIOGripperConfig.action @@ -6,7 +6,6 @@ # 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. From b5570d72141ebbb0e0c9ebf407295630e92920e8 Mon Sep 17 00:00:00 2001 From: Sachin Kumar Date: Thu, 9 Jan 2025 19:10:25 +0100 Subject: [PATCH 08/18] Update code for states Co-authored-by: Dr. Denis --- control_msgs/action/IOGripperCommand.action | 26 ++++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/control_msgs/action/IOGripperCommand.action b/control_msgs/action/IOGripperCommand.action index 173c038d..ab568a2d 100644 --- a/control_msgs/action/IOGripperCommand.action +++ b/control_msgs/action/IOGripperCommand.action @@ -1,14 +1,22 @@ # 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. +# The grippers are going through the different states during opening and closing process. +# Those are returned as feedback. + +# The gripper is in an idle state, not performing any action. +uint8 IDLE=0 +# The gripper is setting command interfaces to be able to perform open or close action, e.g., disabling breaks. +uint8 SET_BEFORE_COMMAND=1 +# The close comand is sent to gripper on its command interfaces. +uint8 CLOSE_GRIPPER=2 +# The controller is checking its current gripper's state on state interfaces. +uint8 CHECK_GRIPPER_STATE=3 +# The open comand is sent to gripper on its command interfaces. +uint8 OPEN_GRIPPER=4 +# The gripper is setting "after" commands when open or close process if finished, e.g., engaging breaks. +uint8 SET_AFTER_COMMAND=5 +# The gripper has halted due to an error or stop command. +uint8 HALTED=6 bool open # boolean value to indicate if the gripper should be opened or closed (e.g. true for open, false for close) --- From 22c0466a6c6a4e758c8b0dee050a9ab1401e60fe Mon Sep 17 00:00:00 2001 From: Sachin Kumar Date: Thu, 9 Jan 2025 19:12:21 +0100 Subject: [PATCH 09/18] configuration names modified Co-authored-by: Dr. Denis --- control_msgs/srv/SetIOGripperConfig.srv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/control_msgs/srv/SetIOGripperConfig.srv b/control_msgs/srv/SetIOGripperConfig.srv index fc8b3bd6..8747e7d0 100644 --- a/control_msgs/srv/SetIOGripperConfig.srv +++ b/control_msgs/srv/SetIOGripperConfig.srv @@ -1,6 +1,6 @@ # 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"] +# e.g. configurations: ["narrow_objects", "wide_objects"] # 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 From 4007594587e3d536cb6b0d2c99f354305664d5e6 Mon Sep 17 00:00:00 2001 From: Sachin Kumar Date: Thu, 9 Jan 2025 23:04:52 +0100 Subject: [PATCH 10/18] configuration names modified Co-authored-by: Dr. Denis --- control_msgs/action/SetIOGripperConfig.action | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/control_msgs/action/SetIOGripperConfig.action b/control_msgs/action/SetIOGripperConfig.action index e10c8e2d..afb81dbf 100644 --- a/control_msgs/action/SetIOGripperConfig.action +++ b/control_msgs/action/SetIOGripperConfig.action @@ -1,6 +1,6 @@ # 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"] +# e.g. configurations: ["narrow_objects", "wide_objects"] # 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 From 90c1beab27f1c859e767d4a4f6a1a6f09adb4b06 Mon Sep 17 00:00:00 2001 From: sachinkum0009 Date: Thu, 9 Jan 2025 23:02:51 +0100 Subject: [PATCH 11/18] pre-commit fix --- control_msgs/action/IOGripperCommand.action | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/control_msgs/action/IOGripperCommand.action b/control_msgs/action/IOGripperCommand.action index ab568a2d..ec9df335 100644 --- a/control_msgs/action/IOGripperCommand.action +++ b/control_msgs/action/IOGripperCommand.action @@ -4,14 +4,14 @@ # Those are returned as feedback. # The gripper is in an idle state, not performing any action. -uint8 IDLE=0 +uint8 IDLE=0 # The gripper is setting command interfaces to be able to perform open or close action, e.g., disabling breaks. uint8 SET_BEFORE_COMMAND=1 -# The close comand is sent to gripper on its command interfaces. +# The close command is sent to gripper on its command interfaces. uint8 CLOSE_GRIPPER=2 # The controller is checking its current gripper's state on state interfaces. uint8 CHECK_GRIPPER_STATE=3 -# The open comand is sent to gripper on its command interfaces. +# The open command is sent to gripper on its command interfaces. uint8 OPEN_GRIPPER=4 # The gripper is setting "after" commands when open or close process if finished, e.g., engaging breaks. uint8 SET_AFTER_COMMAND=5 From 01bfd7515f0e17d06ea80b692206cd346a32ceda Mon Sep 17 00:00:00 2001 From: sachinkum0009 Date: Thu, 9 Jan 2025 23:09:44 +0100 Subject: [PATCH 12/18] doc updated for states --- control_msgs/action/SetIOGripperConfig.action | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/control_msgs/action/SetIOGripperConfig.action b/control_msgs/action/SetIOGripperConfig.action index afb81dbf..2bae546d 100644 --- a/control_msgs/action/SetIOGripperConfig.action +++ b/control_msgs/action/SetIOGripperConfig.action @@ -7,10 +7,12 @@ # 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. +# The reconfiguration process is idle, not performing any action. +uint8 IDLE=0 +# Setting the command based on the configuration. +uint8 SET_COMMAND=1 +# Checking the state after setting the command. +uint8 CHECK_STATE=2 string config_name # information about which configuration is being set for the gripper controller From 36d81f6ea842492ef6a333f9fc5f0d4e15c9cb1a Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Fri, 17 Jan 2025 16:06:45 +0100 Subject: [PATCH 13/18] Update messges to have better status from the gripper. --- control_msgs/CMakeLists.txt | 2 ++ control_msgs/action/IOGripperCommand.action | 17 +-------------- control_msgs/action/SetIOGripperConfig.action | 12 +---------- control_msgs/msg/IOGripperControllerState.msg | 7 +++++++ control_msgs/msg/IOGripperState.msg | 21 +++++++++++++++++++ 5 files changed, 32 insertions(+), 27 deletions(-) create mode 100644 control_msgs/msg/IOGripperControllerState.msg create mode 100644 control_msgs/msg/IOGripperState.msg diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index 9cc357b3..6940d7b4 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -26,6 +26,8 @@ set(msg_files msg/DynamicJointState.msg msg/GripperCommand.msg msg/InterfaceValue.msg + msg/IOGripperControllerState.msg + msg/IOGripperState.msg msg/JointComponentTolerance.msg msg/JointControllerState.msg msg/JointJog.msg diff --git a/control_msgs/action/IOGripperCommand.action b/control_msgs/action/IOGripperCommand.action index ec9df335..64150e89 100644 --- a/control_msgs/action/IOGripperCommand.action +++ b/control_msgs/action/IOGripperCommand.action @@ -3,24 +3,9 @@ # The grippers are going through the different states during opening and closing process. # Those are returned as feedback. -# The gripper is in an idle state, not performing any action. -uint8 IDLE=0 -# The gripper is setting command interfaces to be able to perform open or close action, e.g., disabling breaks. -uint8 SET_BEFORE_COMMAND=1 -# The close command is sent to gripper on its command interfaces. -uint8 CLOSE_GRIPPER=2 -# The controller is checking its current gripper's state on state interfaces. -uint8 CHECK_GRIPPER_STATE=3 -# The open command is sent to gripper on its command interfaces. -uint8 OPEN_GRIPPER=4 -# The gripper is setting "after" commands when open or close process if finished, e.g., engaging breaks. -uint8 SET_AFTER_COMMAND=5 -# The gripper has halted due to an error or stop command. -uint8 HALTED=6 - 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 +IOGripperState transition # state of the gripper during transition as defined above diff --git a/control_msgs/action/SetIOGripperConfig.action b/control_msgs/action/SetIOGripperConfig.action index 2bae546d..bde7fb13 100644 --- a/control_msgs/action/SetIOGripperConfig.action +++ b/control_msgs/action/SetIOGripperConfig.action @@ -4,20 +4,10 @@ # 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: -# The reconfiguration process is idle, not performing any action. -uint8 IDLE=0 -# Setting the command based on the configuration. -uint8 SET_COMMAND=1 -# Checking the state after setting the command. -uint8 CHECK_STATE=2 - 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 +IOGripperState transition # state of the gripper during transition as defined above diff --git a/control_msgs/msg/IOGripperControllerState.msg b/control_msgs/msg/IOGripperControllerState.msg new file mode 100644 index 00000000..a8cfa316 --- /dev/null +++ b/control_msgs/msg/IOGripperControllerState.msg @@ -0,0 +1,7 @@ +# Name of the gripper open close state. Note that it can have mutliple "closed" states. If empty, then transition is happening and check the state of the transition. +string open_close +IOGripperState open_close_transition + +# Name of the gripper's current configuration. If empty, then transition is happening and check the state of the transition. +string configuration +IOGripperState configuration_transition \ No newline at end of file diff --git a/control_msgs/msg/IOGripperState.msg b/control_msgs/msg/IOGripperState.msg new file mode 100644 index 00000000..d3cc9a34 --- /dev/null +++ b/control_msgs/msg/IOGripperState.msg @@ -0,0 +1,21 @@ +# The grippers are going through the different states during opening, closing, and configuraiton chnages process. + +# The gripper is in an idle state, not performing any action. +uint8 IDLE=0 +# The gripper is setting command interfaces to be able to perform open or close action, e.g., disabling breaks. +uint8 SET_BEFORE_COMMAND=1 +# (optional) Check if brfore command is set correctly and confirmed by the sensors. +uint8 CHECK_BEFORE_COMMAND=2 +# Set command to gripper's command interfaces. +uint8 SET_COMMAND=11 +# The controller is checking its current gripper's state on state interfaces. +uint8 CHECK_COMMAND=12 +# The gripper is setting "after" commands when open or close process if finished, e.g., engaging breaks. +uint8 SET_AFTER_COMMAND=21 +# (optional) Check if after command is set correctly and confirmed by the sensors. +uint8 CHECK_AFTER_COMMAND=22 +# The gripper has halted due to an error or stop command. +uint8 HALTED=100 + +# state of the gripper during transitions as defined above +uint8 state From 6cb4c50f2b13cdeffa1a3f4799679476908f3da3 Mon Sep 17 00:00:00 2001 From: sachinkum0009 Date: Mon, 20 Jan 2025 08:47:28 +0100 Subject: [PATCH 14/18] pre-commit fix --- control_msgs/msg/IOGripperControllerState.msg | 4 ++-- control_msgs/msg/IOGripperState.msg | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/control_msgs/msg/IOGripperControllerState.msg b/control_msgs/msg/IOGripperControllerState.msg index a8cfa316..8ff868b4 100644 --- a/control_msgs/msg/IOGripperControllerState.msg +++ b/control_msgs/msg/IOGripperControllerState.msg @@ -1,7 +1,7 @@ -# Name of the gripper open close state. Note that it can have mutliple "closed" states. If empty, then transition is happening and check the state of the transition. +# Name of the gripper open close state. Note that it can have multiple "closed" states. If empty, then transition is happening and check the state of the transition. string open_close IOGripperState open_close_transition # Name of the gripper's current configuration. If empty, then transition is happening and check the state of the transition. string configuration -IOGripperState configuration_transition \ No newline at end of file +IOGripperState configuration_transition diff --git a/control_msgs/msg/IOGripperState.msg b/control_msgs/msg/IOGripperState.msg index d3cc9a34..cd3bd6e6 100644 --- a/control_msgs/msg/IOGripperState.msg +++ b/control_msgs/msg/IOGripperState.msg @@ -1,10 +1,10 @@ -# The grippers are going through the different states during opening, closing, and configuraiton chnages process. +# The grippers are going through the different states during opening, closing, and configuration changes process. # The gripper is in an idle state, not performing any action. uint8 IDLE=0 # The gripper is setting command interfaces to be able to perform open or close action, e.g., disabling breaks. uint8 SET_BEFORE_COMMAND=1 -# (optional) Check if brfore command is set correctly and confirmed by the sensors. +# (optional) Check if before command is set correctly and confirmed by the sensors. uint8 CHECK_BEFORE_COMMAND=2 # Set command to gripper's command interfaces. uint8 SET_COMMAND=11 From 6efde4965c4fd46ba6ed913f277fb9846a99b0b2 Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Thu, 12 Jun 2025 14:42:30 +0200 Subject: [PATCH 15/18] Renamed IO Gripper Controller to GPIO tool controller. --- control_msgs/CMakeLists.txt | 10 ++++----- control_msgs/action/GPIOToolCommand.action | 10 +++++++++ control_msgs/action/IOGripperCommand.action | 11 ---------- control_msgs/action/SetGPIOToolConfig.action | 11 ++++++++++ control_msgs/action/SetIOGripperConfig.action | 13 ------------ control_msgs/msg/GPIOToolControllerState.msg | 7 +++++++ control_msgs/msg/GPIOToolTransition.msg | 21 +++++++++++++++++++ control_msgs/msg/IOGripperControllerState.msg | 7 ------- control_msgs/msg/IOGripperState.msg | 21 ------------------- control_msgs/srv/SetGPIOToolConfig.srv | 9 ++++++++ control_msgs/srv/SetIOGripperConfig.srv | 9 -------- 11 files changed, 63 insertions(+), 66 deletions(-) create mode 100644 control_msgs/action/GPIOToolCommand.action delete mode 100644 control_msgs/action/IOGripperCommand.action create mode 100644 control_msgs/action/SetGPIOToolConfig.action delete mode 100644 control_msgs/action/SetIOGripperConfig.action create mode 100644 control_msgs/msg/GPIOToolControllerState.msg create mode 100644 control_msgs/msg/GPIOToolTransition.msg delete mode 100644 control_msgs/msg/IOGripperControllerState.msg delete mode 100644 control_msgs/msg/IOGripperState.msg create mode 100644 control_msgs/srv/SetGPIOToolConfig.srv delete mode 100644 control_msgs/srv/SetIOGripperConfig.srv diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index 6940d7b4..07191faa 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -26,8 +26,8 @@ set(msg_files msg/DynamicJointState.msg msg/GripperCommand.msg msg/InterfaceValue.msg - msg/IOGripperControllerState.msg - msg/IOGripperState.msg + msg/GPIOToolControllerState.msg + msg/GPIOToolTransition.msg msg/JointComponentTolerance.msg msg/JointControllerState.msg msg/JointJog.msg @@ -47,17 +47,17 @@ set(action_files action/ParallelGripperCommand.action action/FollowJointTrajectory.action action/GripperCommand.action - action/IOGripperCommand.action + action/GPIOToolCommand.action action/JointTrajectory.action action/PointHead.action - action/SetIOGripperConfig.action + action/SetGPIOToolConfig.action action/SingleJointPosition.action ) set(srv_files srv/QueryCalibrationState.srv srv/QueryTrajectoryState.srv - srv/SetIOGripperConfig.srv + srv/SetGPIOToolConfig.srv ) rosidl_generate_interfaces(${PROJECT_NAME} diff --git a/control_msgs/action/GPIOToolCommand.action b/control_msgs/action/GPIOToolCommand.action new file mode 100644 index 00000000..350710ef --- /dev/null +++ b/control_msgs/action/GPIOToolCommand.action @@ -0,0 +1,10 @@ +# This action interface is for commanding GPIOToolController to disengage or engage the tool. +# The tools are going through the predefed transitions in during disengaging and engaging processes. +# Those are returned as feedback. + +bool engage # boolean value to indicate if the tool should engaged (true) or disengaged (false). true for open, false for close) +--- +bool success # true for performing the tool command successfully and vice versa +string message # informational, e.g. for success or error messages +--- +GPIOToolTransition transition # current transition of the gripper during enagagin/disengaging processes diff --git a/control_msgs/action/IOGripperCommand.action b/control_msgs/action/IOGripperCommand.action deleted file mode 100644 index 64150e89..00000000 --- a/control_msgs/action/IOGripperCommand.action +++ /dev/null @@ -1,11 +0,0 @@ -# This action interface is defined for controlling the io gripper controller to open or close the gripper - -# The grippers are going through the different states during opening and closing process. -# Those are returned as feedback. - -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 ---- -IOGripperState transition # state of the gripper during transition as defined above diff --git a/control_msgs/action/SetGPIOToolConfig.action b/control_msgs/action/SetGPIOToolConfig.action new file mode 100644 index 00000000..10abffcb --- /dev/null +++ b/control_msgs/action/SetGPIOToolConfig.action @@ -0,0 +1,11 @@ +# This action interface is defined for setting the configuration of the GPIOToolController. +# In yaml file of the controller, the configurations are defined as a list of strings, for example a gripper might have the following configurations: ["narrow_objects", "wide_objects"], or a lift unit on a mobile base might have configurations like ["with_payload", "without_payload"]. +# The action request is called with the name of the configuration to be set. +# During the configuration change, the gripper is going through a set of transitions, which are defined in the GPIOToolTransition message. + +string config_name # information about which configuration is being set for the tool +--- +bool success # indicate success for setting the configuration of the tool and vice versa +string message # informational, e.g. for success or error messages +--- +GPIOToolTransition transition # current transition of the tool during reconfiguration process diff --git a/control_msgs/action/SetIOGripperConfig.action b/control_msgs/action/SetIOGripperConfig.action deleted file mode 100644 index bde7fb13..00000000 --- a/control_msgs/action/SetIOGripperConfig.action +++ /dev/null @@ -1,13 +0,0 @@ -# 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: ["narrow_objects", "wide_objects"] -# 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 - -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 ---- -IOGripperState transition # state of the gripper during transition as defined above diff --git a/control_msgs/msg/GPIOToolControllerState.msg b/control_msgs/msg/GPIOToolControllerState.msg new file mode 100644 index 00000000..41d371ce --- /dev/null +++ b/control_msgs/msg/GPIOToolControllerState.msg @@ -0,0 +1,7 @@ +# Name of the tool's disengaged or engaged state. +# Note that a tool can have multiple "enagaged" states that can be detected by a sensor, for example: gripper is engaged (closed) with or without an object; a lift unit on a mobile base can be lifted with or without payload. +string state +# Name of the tool's current configuration. +string configuration +# Current transition if the tool is going through a state or configuration change. +GPIOToolTransition current_transition diff --git a/control_msgs/msg/GPIOToolTransition.msg b/control_msgs/msg/GPIOToolTransition.msg new file mode 100644 index 00000000..3163889e --- /dev/null +++ b/control_msgs/msg/GPIOToolTransition.msg @@ -0,0 +1,21 @@ +# The tools are going through the different transition phases when changing states or configurations. + +# The tool is in an idle state, not performing any action. +uint8 IDLE=0 +# The tool is setting command interfaces to be able to perform state changes (disengaged or engaged), e.g., disabling breaks. +uint8 SET_BEFORE_COMMAND=1 +# (optional) Check if before command is set correctly and confirmed by the sensors. +uint8 CHECK_BEFORE_COMMAND=2 +# Set command to tool's command interfaces. +uint8 SET_COMMAND=11 +# The controller is checking its current tool's state on state interfaces is set. +uint8 CHECK_COMMAND=12 +# The tool is setting "after" commands when ostate changes (disengaged or engaged) is finished, e.g., engaging breaks. +uint8 SET_AFTER_COMMAND=21 +# (optional) Check if after command is set correctly and confirmed by the sensors. +uint8 CHECK_AFTER_COMMAND=22 +# The tool has halted due to an error or stop command. +uint8 HALTED=100 + +# state of the tool during transitions as defined above +uint8 state diff --git a/control_msgs/msg/IOGripperControllerState.msg b/control_msgs/msg/IOGripperControllerState.msg deleted file mode 100644 index 8ff868b4..00000000 --- a/control_msgs/msg/IOGripperControllerState.msg +++ /dev/null @@ -1,7 +0,0 @@ -# Name of the gripper open close state. Note that it can have multiple "closed" states. If empty, then transition is happening and check the state of the transition. -string open_close -IOGripperState open_close_transition - -# Name of the gripper's current configuration. If empty, then transition is happening and check the state of the transition. -string configuration -IOGripperState configuration_transition diff --git a/control_msgs/msg/IOGripperState.msg b/control_msgs/msg/IOGripperState.msg deleted file mode 100644 index cd3bd6e6..00000000 --- a/control_msgs/msg/IOGripperState.msg +++ /dev/null @@ -1,21 +0,0 @@ -# The grippers are going through the different states during opening, closing, and configuration changes process. - -# The gripper is in an idle state, not performing any action. -uint8 IDLE=0 -# The gripper is setting command interfaces to be able to perform open or close action, e.g., disabling breaks. -uint8 SET_BEFORE_COMMAND=1 -# (optional) Check if before command is set correctly and confirmed by the sensors. -uint8 CHECK_BEFORE_COMMAND=2 -# Set command to gripper's command interfaces. -uint8 SET_COMMAND=11 -# The controller is checking its current gripper's state on state interfaces. -uint8 CHECK_COMMAND=12 -# The gripper is setting "after" commands when open or close process if finished, e.g., engaging breaks. -uint8 SET_AFTER_COMMAND=21 -# (optional) Check if after command is set correctly and confirmed by the sensors. -uint8 CHECK_AFTER_COMMAND=22 -# The gripper has halted due to an error or stop command. -uint8 HALTED=100 - -# state of the gripper during transitions as defined above -uint8 state diff --git a/control_msgs/srv/SetGPIOToolConfig.srv b/control_msgs/srv/SetGPIOToolConfig.srv new file mode 100644 index 00000000..196ff6f1 --- /dev/null +++ b/control_msgs/srv/SetGPIOToolConfig.srv @@ -0,0 +1,9 @@ +# This action interface is defined for setting the configuration of the GPIOToolController. +# In yaml file of the controller, the configurations are defined as a list of strings, for example a gripper might have the following configurations: ["narrow_objects", "wide_objects"], or a lift unit on a mobile base might have configurations like ["with_payload", "without_payload"]. +# The action request is called with the name of the configuration to be set. +# During the configuration change, the gripper is going through a set of transitions, which are defined in the GPIOToolTransition message. + +string config_name # information about which configuration is being set for tool +--- +bool success # indicate success for setting the configuration of the tool and vice versa +string message # informational, e.g. for success or error messages diff --git a/control_msgs/srv/SetIOGripperConfig.srv b/control_msgs/srv/SetIOGripperConfig.srv deleted file mode 100644 index 8747e7d0..00000000 --- a/control_msgs/srv/SetIOGripperConfig.srv +++ /dev/null @@ -1,9 +0,0 @@ -# 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: ["narrow_objects", "wide_objects"] -# 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 From 353e1dbb3ae4e998192e2984345e93b525554617 Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Mon, 1 Sep 2025 13:48:35 +0200 Subject: [PATCH 16/18] Update control_msgs/CMakeLists.txt Co-authored-by: Xavier Guay --- control_msgs/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index 909f2a75..6eab928a 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -16,10 +16,10 @@ set(msg_files msg/DynamicInterfaceGroupValues.msg msg/DynamicInterfaceValues.msg msg/DynamicJointState.msg - msg/GripperCommand.msg - msg/InterfaceValue.msg msg/GPIOToolControllerState.msg msg/GPIOToolTransition.msg + msg/GripperCommand.msg + msg/InterfaceValue.msg msg/JointComponentTolerance.msg msg/JointControllerState.msg msg/JointJog.msg From 12ce27f8f12cbb0e630655d1eb3795bdcdb3ee2d Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Mon, 1 Sep 2025 13:48:43 +0200 Subject: [PATCH 17/18] Update control_msgs/CMakeLists.txt Co-authored-by: Xavier Guay --- control_msgs/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index 6eab928a..5ca97092 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -45,8 +45,8 @@ set(msg_files set(action_files action/ExecuteMotionPrimitiveSequence.action action/FollowJointTrajectory.action - action/GripperCommand.action action/GPIOToolCommand.action + action/GripperCommand.action action/JointTrajectory.action action/FollowJointWrenchTrajectory.action action/ParallelGripperCommand.action From 1623562aab889f850460e9d431235ab831b2e26f Mon Sep 17 00:00:00 2001 From: "Dr. Denis" Date: Mon, 1 Sep 2025 16:31:42 +0200 Subject: [PATCH 18/18] Add name of the final state and configuration in the action. --- control_msgs/action/GPIOToolCommand.action | 1 + control_msgs/action/SetGPIOToolConfig.action | 1 + 2 files changed, 2 insertions(+) diff --git a/control_msgs/action/GPIOToolCommand.action b/control_msgs/action/GPIOToolCommand.action index 350710ef..30e6bc3f 100644 --- a/control_msgs/action/GPIOToolCommand.action +++ b/control_msgs/action/GPIOToolCommand.action @@ -5,6 +5,7 @@ bool engage # boolean value to indicate if the tool should engaged (true) or disengaged (false). true for open, false for close) --- bool success # true for performing the tool command successfully and vice versa +string resulting_state_name # name of the resulting state after the action is finished, empty when state cannot be determined string message # informational, e.g. for success or error messages --- GPIOToolTransition transition # current transition of the gripper during enagagin/disengaging processes diff --git a/control_msgs/action/SetGPIOToolConfig.action b/control_msgs/action/SetGPIOToolConfig.action index 10abffcb..30c6d999 100644 --- a/control_msgs/action/SetGPIOToolConfig.action +++ b/control_msgs/action/SetGPIOToolConfig.action @@ -6,6 +6,7 @@ string config_name # information about which configuration is being set for the tool --- bool success # indicate success for setting the configuration of the tool and vice versa +string resulting_state_name # name of the resulting configuration after the action is finished, empty when configuration cannot be determined string message # informational, e.g. for success or error messages --- GPIOToolTransition transition # current transition of the tool during reconfiguration process