diff --git a/config/arm/v10/control_gains.yaml b/config/arm/v10/control_gains.yaml new file mode 100644 index 0000000..7364f59 --- /dev/null +++ b/config/arm/v10/control_gains.yaml @@ -0,0 +1,41 @@ +# Copyright 2026 Enactic, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +joint1: + kp: 70.0 + kd: 2.75 + +joint2: + kp: 70.0 + kd: 2.5 + +joint3: + kp: 70.0 + kd: 2.0 + +joint4: + kp: 60.0 + kd: 2.0 + +joint5: + kp: 10.0 + kd: 0.7 + +joint6: + kp: 10.0 + kd: 0.6 + +joint7: + kp: 10.0 + kd: 0.5 diff --git a/urdf/robot/openarm_robot.xacro b/urdf/robot/openarm_robot.xacro index 9b2049f..e0ff3a9 100644 --- a/urdf/robot/openarm_robot.xacro +++ b/urdf/robot/openarm_robot.xacro @@ -3,6 +3,7 @@ ${left_arm_prefix} ${hand} ${can_fd} + ${control_gains['joint1']['kp']} + ${control_gains['joint2']['kp']} + ${control_gains['joint3']['kp']} + ${control_gains['joint4']['kp']} + ${control_gains['joint5']['kp']} + ${control_gains['joint6']['kp']} + ${control_gains['joint7']['kp']} + ${control_gains['joint1']['kd']} + ${control_gains['joint2']['kd']} + ${control_gains['joint3']['kd']} + ${control_gains['joint4']['kd']} + ${control_gains['joint5']['kd']} + ${control_gains['joint6']['kd']} + ${control_gains['joint7']['kd']} @@ -78,6 +93,20 @@ ${right_arm_prefix} ${hand} ${can_fd} + ${control_gains['joint1']['kp']} + ${control_gains['joint2']['kp']} + ${control_gains['joint3']['kp']} + ${control_gains['joint4']['kp']} + ${control_gains['joint5']['kp']} + ${control_gains['joint6']['kp']} + ${control_gains['joint7']['kp']} + ${control_gains['joint1']['kd']} + ${control_gains['joint2']['kd']} + ${control_gains['joint3']['kd']} + ${control_gains['joint4']['kd']} + ${control_gains['joint5']['kd']} + ${control_gains['joint6']['kd']} + ${control_gains['joint7']['kd']} diff --git a/urdf/ros2_control/openarm.ros2_control.xacro b/urdf/ros2_control/openarm.ros2_control.xacro index 18c2352..223c331 100644 --- a/urdf/ros2_control/openarm.ros2_control.xacro +++ b/urdf/ros2_control/openarm.ros2_control.xacro @@ -3,6 +3,7 @@ ${arm_prefix} ${hand} ${can_fd} + ${control_gains['joint1']['kp']} + ${control_gains['joint2']['kp']} + ${control_gains['joint3']['kp']} + ${control_gains['joint4']['kp']} + ${control_gains['joint5']['kp']} + ${control_gains['joint6']['kp']} + ${control_gains['joint7']['kp']} + ${control_gains['joint1']['kd']} + ${control_gains['joint2']['kd']} + ${control_gains['joint3']['kd']} + ${control_gains['joint4']['kd']} + ${control_gains['joint5']['kd']} + ${control_gains['joint6']['kd']} + ${control_gains['joint7']['kd']}