From 18f5504cb5824dad5e04cb3686578f8f440df1a3 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Thu, 3 Jun 2021 17:44:08 -0700 Subject: [PATCH 1/3] Add JointGroupCommand action --- control_msgs/action/JointGroupCommand.action | 33 ++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 control_msgs/action/JointGroupCommand.action diff --git a/control_msgs/action/JointGroupCommand.action b/control_msgs/action/JointGroupCommand.action new file mode 100644 index 0000000..9cd5202 --- /dev/null +++ b/control_msgs/action/JointGroupCommand.action @@ -0,0 +1,33 @@ +# Used in time-stamping the goal. +Header header + +# Name list of the joints. You don't need to specify all joints of the +# robot. Joint names are case-sensitive. +string[] joint_names + +# A command to the joints listed in joint_names. +# The order must be identical. +float64[] command + +# Command duration / timeout +# Set to 0 for no timeout. +duration timeout +--- +int32 error_code +int32 SUCCESSFUL = 0 +int32 INVALID_GOAL = -1 +int32 INVALID_JOINTS = -2 +int32 OLD_HEADER_TIMESTAMP = -3 + +# Human readable description of the error code. Contains complementary +# information that is especially useful when execution fails, for instance: +# - INVALID_GOAL: The reason for the invalid goal (e.g., the requested +# command violates the controller limits). +# - INVALID_JOINTS: The mismatch between the expected controller joints +# and those provided in the goal. +string error_string + +--- +Header header +string[] joint_names +control_msgs/JointControllerState[] states From c32f81dc484806f13bb1086720d453f0157a2048 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 4 Jun 2021 18:38:49 -0700 Subject: [PATCH 2/3] Switch feedback to JointTrajectoryPoint, actually build the action file --- control_msgs/CMakeLists.txt | 3 ++- control_msgs/action/JointGroupCommand.action | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/control_msgs/CMakeLists.txt b/control_msgs/CMakeLists.txt index 76f96ee..c449451 100644 --- a/control_msgs/CMakeLists.txt +++ b/control_msgs/CMakeLists.txt @@ -8,7 +8,8 @@ add_action_files(DIRECTORY action FILES GripperCommand.action JointTrajectory.action PointHead.action - SingleJointPosition.action) + SingleJointPosition.action + JointGroupCommand.action) add_message_files(DIRECTORY msg FILES GripperCommand.msg diff --git a/control_msgs/action/JointGroupCommand.action b/control_msgs/action/JointGroupCommand.action index 9cd5202..77dbb35 100644 --- a/control_msgs/action/JointGroupCommand.action +++ b/control_msgs/action/JointGroupCommand.action @@ -30,4 +30,5 @@ string error_string --- Header header string[] joint_names -control_msgs/JointControllerState[] states +float64[] desired +trajectory_msgs/JointTrajectoryPoint actual From b42d29ffdc3630db6f8eed08470a421a4022da0b Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Thu, 12 Aug 2021 15:56:36 -0700 Subject: [PATCH 3/3] Made command type (i.e. position, velocity, effort) explicit --- control_msgs/action/JointGroupCommand.action | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/control_msgs/action/JointGroupCommand.action b/control_msgs/action/JointGroupCommand.action index 77dbb35..9272637 100644 --- a/control_msgs/action/JointGroupCommand.action +++ b/control_msgs/action/JointGroupCommand.action @@ -6,12 +6,12 @@ Header header string[] joint_names # A command to the joints listed in joint_names. +# Can be position, velocity, effort, and/or acceleration. # The order must be identical. -float64[] command - -# Command duration / timeout +# time_from_start is the command duration / timeout # Set to 0 for no timeout. -duration timeout +trajectory_msgs/JointTrajectoryPoint command + --- int32 error_code int32 SUCCESSFUL = 0 @@ -30,5 +30,5 @@ string error_string --- Header header string[] joint_names -float64[] desired +trajectory_msgs/JointTrajectoryPoint desired trajectory_msgs/JointTrajectoryPoint actual