Skip to content

Commit 3ce3621

Browse files
driver: use default rate for JTC goal monitor. (UniversalRobots#221)
The old values overrode the default of 20 Hz, which is low and leads to a worst-case delay of approx 100 ms between a goal state change and action clients being notified of that change. This restores the rate to the default of 20 Hz. If a higher update-rate would be desirable for a particular application, users should change it in their own configuration of the controllers.
1 parent bb0a735 commit 3ce3621

File tree

6 files changed

+48
-109
lines changed

6 files changed

+48
-109
lines changed

ur_robot_driver/config/ur10_controllers.yaml

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ scaled_pos_traj_controller:
4343
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
4444
stop_trajectory_duration: 0.5
4545
state_publish_rate: *loop_hz
46-
action_monitor_rate: 10
46+
action_monitor_rate: 20
4747

4848
pos_traj_controller:
4949
type: position_controllers/JointTrajectoryController
@@ -59,7 +59,7 @@ pos_traj_controller:
5959
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
6060
stop_trajectory_duration: 0.5
6161
state_publish_rate: *loop_hz
62-
action_monitor_rate: 10
62+
action_monitor_rate: 20
6363

6464
scaled_vel_traj_controller:
6565
type: velocity_controllers/ScaledJointTrajectoryController
@@ -73,9 +73,6 @@ scaled_vel_traj_controller:
7373
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
7474
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
7575
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
76-
stop_trajectory_duration: 0.5
77-
state_publish_rate: *loop_hz
78-
action_monitor_rate: 10
7976
gains:
8077
#!!These values have not been optimized!!
8178
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -84,7 +81,6 @@ scaled_vel_traj_controller:
8481
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8582
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8683
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
87-
8884
# Use a feedforward term to reduce the size of PID gains
8985
velocity_ff:
9086
shoulder_pan_joint: 1.0
@@ -93,10 +89,9 @@ scaled_vel_traj_controller:
9389
wrist_1_joint: 1.0
9490
wrist_2_joint: 1.0
9591
wrist_3_joint: 1.0
96-
97-
# state_publish_rate: 50 # Defaults to 50
98-
# action_monitor_rate: 20 # Defaults to 20
99-
#stop_trajectory_duration: 0 # Defaults to 0.0
92+
stop_trajectory_duration: 0.5
93+
state_publish_rate: *loop_hz
94+
action_monitor_rate: 20
10095

10196
vel_traj_controller:
10297
type: velocity_controllers/JointTrajectoryController
@@ -110,9 +105,6 @@ vel_traj_controller:
110105
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
111106
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
112107
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
113-
stop_trajectory_duration: 0.5
114-
state_publish_rate: *loop_hz
115-
action_monitor_rate: 10
116108
gains:
117109
#!!These values have not been optimized!!
118110
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -121,7 +113,6 @@ vel_traj_controller:
121113
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
122114
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
123115
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
124-
125116
# Use a feedforward term to reduce the size of PID gains
126117
velocity_ff:
127118
shoulder_pan_joint: 1.0
@@ -130,10 +121,9 @@ vel_traj_controller:
130121
wrist_1_joint: 1.0
131122
wrist_2_joint: 1.0
132123
wrist_3_joint: 1.0
133-
134-
# state_publish_rate: 50 # Defaults to 50
135-
# action_monitor_rate: 20 # Defaults to 20
136-
#stop_trajectory_duration: 0 # Defaults to 0.0
124+
stop_trajectory_duration: 0.5
125+
state_publish_rate: *loop_hz
126+
action_monitor_rate: 20
137127

138128
# Pass an array of joint velocities directly to the joints
139129
joint_group_vel_controller:

ur_robot_driver/config/ur10e_controllers.yaml

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ scaled_pos_traj_controller:
4343
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
4444
stop_trajectory_duration: 0.5
4545
state_publish_rate: *loop_hz
46-
action_monitor_rate: 10
46+
action_monitor_rate: 20
4747

4848
pos_traj_controller:
4949
type: position_controllers/JointTrajectoryController
@@ -59,7 +59,7 @@ pos_traj_controller:
5959
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
6060
stop_trajectory_duration: 0.5
6161
state_publish_rate: *loop_hz
62-
action_monitor_rate: 10
62+
action_monitor_rate: 20
6363

6464
scaled_vel_traj_controller:
6565
type: velocity_controllers/ScaledJointTrajectoryController
@@ -73,9 +73,6 @@ scaled_vel_traj_controller:
7373
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
7474
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
7575
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
76-
stop_trajectory_duration: 0.5
77-
state_publish_rate: *loop_hz
78-
action_monitor_rate: 10
7976
gains:
8077
#!!These values have not been optimized!!
8178
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -84,7 +81,6 @@ scaled_vel_traj_controller:
8481
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8582
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8683
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
87-
8884
# Use a feedforward term to reduce the size of PID gains
8985
velocity_ff:
9086
shoulder_pan_joint: 1.0
@@ -93,10 +89,9 @@ scaled_vel_traj_controller:
9389
wrist_1_joint: 1.0
9490
wrist_2_joint: 1.0
9591
wrist_3_joint: 1.0
96-
97-
# state_publish_rate: 50 # Defaults to 50
98-
# action_monitor_rate: 20 # Defaults to 20
99-
#stop_trajectory_duration: 0 # Defaults to 0.0
92+
stop_trajectory_duration: 0.5
93+
state_publish_rate: *loop_hz
94+
action_monitor_rate: 20
10095

10196
vel_traj_controller:
10297
type: velocity_controllers/JointTrajectoryController
@@ -110,9 +105,6 @@ vel_traj_controller:
110105
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
111106
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
112107
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
113-
stop_trajectory_duration: 0.5
114-
state_publish_rate: *loop_hz
115-
action_monitor_rate: 10
116108
gains:
117109
#!!These values have not been optimized!!
118110
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -121,7 +113,6 @@ vel_traj_controller:
121113
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
122114
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
123115
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
124-
125116
# Use a feedforward term to reduce the size of PID gains
126117
velocity_ff:
127118
shoulder_pan_joint: 1.0
@@ -130,10 +121,9 @@ vel_traj_controller:
130121
wrist_1_joint: 1.0
131122
wrist_2_joint: 1.0
132123
wrist_3_joint: 1.0
133-
134-
# state_publish_rate: 50 # Defaults to 50
135-
# action_monitor_rate: 20 # Defaults to 20
136-
#stop_trajectory_duration: 0 # Defaults to 0.0
124+
stop_trajectory_duration: 0.5
125+
state_publish_rate: *loop_hz
126+
action_monitor_rate: 20
137127

138128
# Pass an array of joint velocities directly to the joints
139129
joint_group_vel_controller:

ur_robot_driver/config/ur3_controllers.yaml

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ scaled_pos_traj_controller:
4343
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
4444
stop_trajectory_duration: 0.5
4545
state_publish_rate: *loop_hz
46-
action_monitor_rate: 10
46+
action_monitor_rate: 20
4747

4848
pos_traj_controller:
4949
type: position_controllers/JointTrajectoryController
@@ -59,8 +59,7 @@ pos_traj_controller:
5959
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
6060
stop_trajectory_duration: 0.5
6161
state_publish_rate: *loop_hz
62-
action_monitor_rate: 10
63-
62+
action_monitor_rate: 20
6463

6564
scaled_vel_traj_controller:
6665
type: velocity_controllers/ScaledJointTrajectoryController
@@ -74,9 +73,6 @@ scaled_vel_traj_controller:
7473
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
7574
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
7675
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
77-
stop_trajectory_duration: 0.5
78-
state_publish_rate: *loop_hz
79-
action_monitor_rate: 10
8076
gains:
8177
#!!These values have not been optimized!!
8278
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -85,7 +81,6 @@ scaled_vel_traj_controller:
8581
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8682
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8783
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
88-
8984
# Use a feedforward term to reduce the size of PID gains
9085
velocity_ff:
9186
shoulder_pan_joint: 1.0
@@ -94,10 +89,9 @@ scaled_vel_traj_controller:
9489
wrist_1_joint: 1.0
9590
wrist_2_joint: 1.0
9691
wrist_3_joint: 1.0
97-
98-
# state_publish_rate: 50 # Defaults to 50
99-
# action_monitor_rate: 20 # Defaults to 20
100-
#stop_trajectory_duration: 0 # Defaults to 0.0
92+
stop_trajectory_duration: 0.5
93+
state_publish_rate: *loop_hz
94+
action_monitor_rate: 20
10195

10296
vel_traj_controller:
10397
type: velocity_controllers/JointTrajectoryController
@@ -111,9 +105,6 @@ vel_traj_controller:
111105
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
112106
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
113107
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
114-
stop_trajectory_duration: 0.5
115-
state_publish_rate: *loop_hz
116-
action_monitor_rate: 10
117108
gains:
118109
#!!These values have not been optimized!!
119110
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -122,7 +113,6 @@ vel_traj_controller:
122113
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
123114
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
124115
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
125-
126116
# Use a feedforward term to reduce the size of PID gains
127117
velocity_ff:
128118
shoulder_pan_joint: 1.0
@@ -131,10 +121,9 @@ vel_traj_controller:
131121
wrist_1_joint: 1.0
132122
wrist_2_joint: 1.0
133123
wrist_3_joint: 1.0
134-
135-
# state_publish_rate: 50 # Defaults to 50
136-
# action_monitor_rate: 20 # Defaults to 20
137-
#stop_trajectory_duration: 0 # Defaults to 0.0
124+
stop_trajectory_duration: 0.5
125+
state_publish_rate: *loop_hz
126+
action_monitor_rate: 20
138127

139128
# Pass an array of joint velocities directly to the joints
140129
joint_group_vel_controller:

ur_robot_driver/config/ur3e_controllers.yaml

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ scaled_pos_traj_controller:
4343
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
4444
stop_trajectory_duration: 0.5
4545
state_publish_rate: *loop_hz
46-
action_monitor_rate: 10
46+
action_monitor_rate: 20
4747

4848
pos_traj_controller:
4949
type: position_controllers/JointTrajectoryController
@@ -59,7 +59,7 @@ pos_traj_controller:
5959
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
6060
stop_trajectory_duration: 0.5
6161
state_publish_rate: *loop_hz
62-
action_monitor_rate: 10
62+
action_monitor_rate: 20
6363

6464
scaled_vel_traj_controller:
6565
type: velocity_controllers/ScaledJointTrajectoryController
@@ -73,9 +73,6 @@ scaled_vel_traj_controller:
7373
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
7474
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
7575
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
76-
stop_trajectory_duration: 0.5
77-
state_publish_rate: *loop_hz
78-
action_monitor_rate: 10
7976
gains:
8077
#!!These values have not been optimized!!
8178
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -84,7 +81,6 @@ scaled_vel_traj_controller:
8481
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8582
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
8683
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
87-
8884
# Use a feedforward term to reduce the size of PID gains
8985
velocity_ff:
9086
shoulder_pan_joint: 1.0
@@ -93,10 +89,9 @@ scaled_vel_traj_controller:
9389
wrist_1_joint: 1.0
9490
wrist_2_joint: 1.0
9591
wrist_3_joint: 1.0
96-
97-
# state_publish_rate: 50 # Defaults to 50
98-
# action_monitor_rate: 20 # Defaults to 20
99-
#stop_trajectory_duration: 0 # Defaults to 0.0
92+
stop_trajectory_duration: 0.5
93+
state_publish_rate: *loop_hz
94+
action_monitor_rate: 20
10095

10196
vel_traj_controller:
10297
type: velocity_controllers/JointTrajectoryController
@@ -110,9 +105,6 @@ vel_traj_controller:
110105
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
111106
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
112107
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
113-
stop_trajectory_duration: 0.5
114-
state_publish_rate: *loop_hz
115-
action_monitor_rate: 10
116108
gains:
117109
#!!These values have not been optimized!!
118110
shoulder_pan_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
@@ -121,7 +113,6 @@ vel_traj_controller:
121113
wrist_1_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
122114
wrist_2_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
123115
wrist_3_joint: {p: 5.0, i: 0.05, d: 0.1, i_clamp: 1}
124-
125116
# Use a feedforward term to reduce the size of PID gains
126117
velocity_ff:
127118
shoulder_pan_joint: 1.0
@@ -130,10 +121,9 @@ vel_traj_controller:
130121
wrist_1_joint: 1.0
131122
wrist_2_joint: 1.0
132123
wrist_3_joint: 1.0
133-
134-
# state_publish_rate: 50 # Defaults to 50
135-
# action_monitor_rate: 20 # Defaults to 20
136-
#stop_trajectory_duration: 0 # Defaults to 0.0
124+
stop_trajectory_duration: 0.5
125+
state_publish_rate: *loop_hz
126+
action_monitor_rate: 20
137127

138128
# Pass an array of joint velocities directly to the joints
139129
joint_group_vel_controller:

0 commit comments

Comments
 (0)