From 68f70dcc552fd39b56ab6ea514419704066efc70 Mon Sep 17 00:00:00 2001 From: Joe DiPrima Date: Tue, 24 Feb 2026 15:53:07 -0600 Subject: [PATCH] Reduce neutral hold gains to 3x (10x caused motor distress) Co-Authored-By: Claude Opus 4.6 --- .../src/g1/g1_deploy_onnx_ref/src/g1_deploy_onnx_ref.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gear_sonic_deploy/src/g1/g1_deploy_onnx_ref/src/g1_deploy_onnx_ref.cpp b/gear_sonic_deploy/src/g1/g1_deploy_onnx_ref/src/g1_deploy_onnx_ref.cpp index 1adb0c1..20b5559 100644 --- a/gear_sonic_deploy/src/g1/g1_deploy_onnx_ref/src/g1_deploy_onnx_ref.cpp +++ b/gear_sonic_deploy/src/g1/g1_deploy_onnx_ref/src/g1_deploy_onnx_ref.cpp @@ -2829,10 +2829,9 @@ class G1Deploy { MotorCommand motor_command_tmp; // Neutral hold mode: bypass NN, command default angles directly (key 'n') - // Uses 10x gains for stiff hold — useful for visual joint calibration. - // Robot must be in test harness (free-hanging) for this mode. + // Uses 3x gains for firm hold — useful for visual joint calibration. if (g_neutral_hold_mode.load()) { - constexpr float neutral_gain_mult = 10.0f; + constexpr float neutral_gain_mult = 3.0f; for (int i = 0; i < G1_NUM_MOTOR; i++) { motor_command_tmp.q_target.at(i) = static_cast(default_angles[i]); motor_command_tmp.tau_ff.at(i) = 0.0;