From 4d8a9b77245da28a6b08e2b4fe8c59cbc35dc708 Mon Sep 17 00:00:00 2001 From: YikaiFu-cart Date: Thu, 30 Jul 2026 18:13:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=85=20RM75=20UDP=20?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E5=8F=8D=E9=A6=88=E5=B9=B4=E9=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xr_rm_teleop/test/test_joint_control.py | 7 +++++++ xr_rm_teleop/xr_rm_teleop/single_arm_velocity_teleop.py | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/xr_rm_teleop/test/test_joint_control.py b/xr_rm_teleop/test/test_joint_control.py index d88aef4..aefea68 100644 --- a/xr_rm_teleop/test/test_joint_control.py +++ b/xr_rm_teleop/test/test_joint_control.py @@ -136,12 +136,19 @@ def test_short_udp_timeout_repeats_last_limited_target_without_query() -> None: stop=lambda: pytest.fail("stop must not run"), ) teleop = _timeout_teleop(adapter) + warnings = [] + teleop.get_logger = lambda: SimpleNamespace( + warn=lambda message: warnings.append(message) + ) teleop._handle_stale_joint_feedback(0.2) assert sends == [([0.1] * 7, False)] assert teleop._last_joint_command_target == [0.1] * 7 assert teleop._grip_rearm_required + assert warnings == [ + "right_rm75 UDP关节反馈超时(age=200.0 ms),保持最后安全目标。" + ] def test_short_udp_timeout_without_active_target_stays_stopped() -> None: diff --git a/xr_rm_teleop/xr_rm_teleop/single_arm_velocity_teleop.py b/xr_rm_teleop/xr_rm_teleop/single_arm_velocity_teleop.py index 413645c..9a81dcd 100755 --- a/xr_rm_teleop/xr_rm_teleop/single_arm_velocity_teleop.py +++ b/xr_rm_teleop/xr_rm_teleop/single_arm_velocity_teleop.py @@ -1039,7 +1039,8 @@ class SingleArmVelocityTeleop(Node): self._grip_rearm_required = True if self._joint_feedback_ready: self.get_logger().warn( - f"{self._arm_name} UDP关节反馈超时,保持最后安全目标。" + f"{self._arm_name} UDP关节反馈超时" + f"(age={age * 1000.0:.1f} ms),保持最后安全目标。" ) self._joint_feedback_ready = False