You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# To report success, the joints must be within goal_tolerance of the
# final trajectory value. The goal must be achieved by time the
# trajectory ends plus goal_time_tolerance. (goal_time_tolerance
# allows some leeway in time, so that the trajectory goal can still
# succeed even if the joints reach the goal some time after the
# precise end time of the trajectory).
#
# If the joints are not within goal_tolerance after "trajectory finish
# time" + goal_time_tolerance, the goal aborts with error_code set to
# GOAL_TOLERANCE_VIOLATED
which is correct, but a little unclear in the case where the goal time tolerance is exceed prior to the last segment of the trajectory (e.g the execution hangs because of a hardware failure) then the goal does not get aborted and it will continue to hang indefinitely (unless a timeout was specified for the actionlib goal).
It seems like a more user-friendly behaviour would be to either:
support individual time tolerances for each segment, and/or
enforce the (global) goal_time_tolerance on all segments, and not just the last one
The text was updated successfully, but these errors were encountered:
Reading how state/time tolerances are checked at
ros_controllers/joint_trajectory_controller/include/joint_trajectory_controller/joint_trajectory_controller_impl.h
Lines 399 to 456 in 12a70ba
goal_time_tolerance
is only used on the last segment of the trajectory - insideelse if (segment_it == --curr_traj[i].end())
-.The goal documentation at http://docs.ros.org/diamondback/api/control_msgs/html/msg/FollowJointTrajectoryGoal.html specifies:
which is correct, but a little unclear in the case where the goal time tolerance is exceed prior to the last segment of the trajectory (e.g the execution hangs because of a hardware failure) then the goal does not get aborted and it will continue to hang indefinitely (unless a timeout was specified for the actionlib goal).
It seems like a more user-friendly behaviour would be to either:
goal_time_tolerance
on all segments, and not just the last oneThe text was updated successfully, but these errors were encountered: