From d6b4641d9b319900dc4a1aa5934f8dde9ab0bc21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=B8=D0=BB=20=D0=93=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=B0=D1=80=D1=8C?= Date: Thu, 14 May 2026 08:01:58 +0300 Subject: [PATCH] Update FRI configuration parameters for improved joint control and synchronization --- src/iiwa_config/config/setting.yaml | 4 ++-- src/iiwa_controller/src/FRIClient.cpp | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/iiwa_config/config/setting.yaml b/src/iiwa_config/config/setting.yaml index a9d686b..d3e00c5 100644 --- a/src/iiwa_config/config/setting.yaml +++ b/src/iiwa_config/config/setting.yaml @@ -3,8 +3,8 @@ robot: ip: "192.170.10.2" port: 30200 command_mode: "position" # torque, position - fri_cycle_ms: 10 # период FRI-цикла: 5 мс (200 Гц) или 10 мс (100 Гц) - joint_position_tau: 0.01 # постоянная времени фильтра позиций [с]: больше → плавнее, медленнее + fri_cycle_ms: 5 # период FRI-цикла: 5 мс (200 Гц) или 10 мс (100 Гц) + joint_position_tau: 0.04 # постоянная времени фильтра позиций [с]: больше → плавнее, медленнее description: pkg://iiwa_description/urdf/iiwa7.urdf.xacro diff --git a/src/iiwa_controller/src/FRIClient.cpp b/src/iiwa_controller/src/FRIClient.cpp index 324a1db..f70ac30 100644 --- a/src/iiwa_controller/src/FRIClient.cpp +++ b/src/iiwa_controller/src/FRIClient.cpp @@ -57,10 +57,8 @@ void FRIClient::captureCommandingData() snapshot_.ipo_pos.data(), robotState().getIpoJointPosition(), N_JOINTS * sizeof(double)); snapshot_.ipo_valid = true; - - // Open-loop: JTC видит filtered_pos_ как «измеренную» позицию. - // Это устраняет расхождение между лагающим реальным датчиком и сглаженной командой — - // JTC не генерирует коррекций для статичных осей при переходах между траекториями. + // Open-loop: JTC видит filtered_pos_ как «измеренную» позицию — как в lbr_fri_ros2_stack. + // Благодаря этому JTC не видит расхождения и не генерирует коррекций. snapshot_.measured_pos = filtered_pos_; }