JointTrajectoryController: error_string in Result is not populated when the goal is aborted for violated tolerances
The error_string field in the result of control_msgs/FollowJointTrajectory.action - http://docs.ros.org/api/control_msgs/html/action/FollowJointTrajectory.html - does not seem to get populated when a goal is aborted because of either PATH_TOLERANCE_VIOLATED or GOAL_TOLERANCE_VIOLATED, i.e during https://github.com/ros-controls/ros_controllers/blob/12a70baee38bf198ad434ad704b353621b23c61a/joint_trajectory_controller/include/joint_trajectory_controller/joint_trajectory_controller_impl.h#L399-L456
Only the error_code is.
This is contrary to the documentation:
# 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
# trajectory is in the past).
# - INVALID_JOINTS: The mismatch between the expected controller joints
# and those provided in the goal.
# - PATH_TOLERANCE_VIOLATED and GOAL_TOLERANCE_VIOLATED: Which joint
# violated which tolerance, and by how much.
string error_string
We'd be very happy to review a PR on this for ROS Noetic and I can do the necessary backporting and releases for Melodic as well.