From 962673b1e429b872ea7d807a0081125e589b6cf2 Mon Sep 17 00:00:00 2001 From: Jacob Larsen Date: Thu, 21 Aug 2025 07:29:20 +0000 Subject: [PATCH 1/4] Added PID gains for the SJTC velocity interface The gains are set to work for all e-series robots, but will not work for UR15/20/30. As far as I can tell, those models do not support this kind of control. --- ur_robot_driver/config/ur_controllers.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ur_robot_driver/config/ur_controllers.yaml b/ur_robot_driver/config/ur_controllers.yaml index 858f4610a..20e98d522 100644 --- a/ur_robot_driver/config/ur_controllers.yaml +++ b/ur_robot_driver/config/ur_controllers.yaml @@ -87,7 +87,7 @@ joint_trajectory_controller: - $(var tf_prefix)wrist_2_joint - $(var tf_prefix)wrist_3_joint command_interfaces: - - position + - velocity state_interfaces: - position - velocity @@ -137,6 +137,14 @@ scaled_joint_trajectory_controller: $(var tf_prefix)wrist_2_joint: { trajectory: 0.2, goal: 0.1 } $(var tf_prefix)wrist_3_joint: { trajectory: 0.2, goal: 0.1 } speed_scaling_interface_name: $(var tf_prefix)speed_scaling/speed_scaling_factor + gains: + # These values will work for all e-series robots, but will not work for UR15/20/30 + $(var tf_prefix)shoulder_pan_joint: {p: 5.0, i: 0.3, d: 0.01, ff_velocity_scale: 1.0, i_clamp: 1.0, antiwindup_strategy: conditional_integration} + $(var tf_prefix)shoulder_lift_joint: {p: 5.0, i: 0.3, d: 0.01, ff_velocity_scale: 1.0, i_clamp: 1.0, antiwindup_strategy: conditional_integration} + $(var tf_prefix)elbow_joint: {p: 5.0, i: 0.3, d: 0.01, ff_velocity_scale: 1.0, i_clamp: 1.0, antiwindup_strategy: conditional_integration} + $(var tf_prefix)wrist_1_joint: {p: 5.0, i: 0.3, d: 0.01, ff_velocity_scale: 1.0, i_clamp: 1.0, antiwindup_strategy: conditional_integration} + $(var tf_prefix)wrist_2_joint: {p: 5.0, i: 0.3, d: 0.01, ff_velocity_scale: 1.0, i_clamp: 1.0, antiwindup_strategy: conditional_integration} + $(var tf_prefix)wrist_3_joint: {p: 5.0, i: 0.3, d: 0.01, ff_velocity_scale: 1.0, i_clamp: 1.0, antiwindup_strategy: conditional_integration} passthrough_trajectory_controller: ros__parameters: From cdfd3b12d51532d57ee7b26496ee526c1317dfd5 Mon Sep 17 00:00:00 2001 From: Jacob Larsen Date: Thu, 21 Aug 2025 08:15:07 +0000 Subject: [PATCH 2/4] Add doc entry about using velocity interface --- ur_controllers/doc/index.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ur_controllers/doc/index.rst b/ur_controllers/doc/index.rst index 0e192a98d..ded9575c5 100644 --- a/ur_controllers/doc/index.rst +++ b/ur_controllers/doc/index.rst @@ -104,6 +104,11 @@ the fraction determined by the current speed scaling. If speed scaling is curren interpolation of the current control cycle will start half a time step after the beginning of the previous control cycle. +Using velocity as command interface +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The controller is able to use velocity as the sole command interface, and gains for that control mode have been specified, that work with all e-series robots. +The UR15, UR20 and UR30 robot models, however, do not support this control mode. + .. _io_and_status_controller: ur_controllers/GPIOController From 8690391b3ebc404d02c768a069da5babdc8d505d Mon Sep 17 00:00:00 2001 From: URJala <159417921+URJala@users.noreply.github.com> Date: Tue, 16 Sep 2025 07:51:13 +0200 Subject: [PATCH 3/4] Update ur_controllers/doc/index.rst add UR8 Long Co-authored-by: Felix Exner --- ur_controllers/doc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ur_controllers/doc/index.rst b/ur_controllers/doc/index.rst index ded9575c5..09db1d138 100644 --- a/ur_controllers/doc/index.rst +++ b/ur_controllers/doc/index.rst @@ -107,7 +107,7 @@ previous control cycle. Using velocity as command interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The controller is able to use velocity as the sole command interface, and gains for that control mode have been specified, that work with all e-series robots. -The UR15, UR20 and UR30 robot models, however, do not support this control mode. +The UR8 Long, UR15, UR20 and UR30 robot models, however, do not support this control mode. .. _io_and_status_controller: From e09232bf5a6146db9eabc41989855d8fa442dff8 Mon Sep 17 00:00:00 2001 From: Jacob Larsen Date: Tue, 16 Sep 2025 05:54:31 +0000 Subject: [PATCH 4/4] Change back command interface of JTC --- ur_robot_driver/config/ur_controllers.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ur_robot_driver/config/ur_controllers.yaml b/ur_robot_driver/config/ur_controllers.yaml index 20e98d522..dc3862cba 100644 --- a/ur_robot_driver/config/ur_controllers.yaml +++ b/ur_robot_driver/config/ur_controllers.yaml @@ -87,7 +87,7 @@ joint_trajectory_controller: - $(var tf_prefix)wrist_2_joint - $(var tf_prefix)wrist_3_joint command_interfaces: - - velocity + - position state_interfaces: - position - velocity