From 6a0ff886f30b2d58d8dbe90a65e2e8758550ca19 Mon Sep 17 00:00:00 2001 From: FallenSigh Date: Fri, 19 Jun 2026 10:17:58 +0800 Subject: [PATCH] fix(arm): compensate for reversed J1 motor direction J1 motor rotation is reversed after replacement: code height=0 now maps to physical bottom (was -290). Fix by adding +290 offset in UDP command (to_udp_message and keyboard_control). User-facing coordinate system (-290=bottom, 0=top) is unchanged; FK/IK/state tracking unaffected. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- ros2/src/udp_teleop/udp_teleop/arm_control.py | 2 +- ros2/src/udp_teleop/udp_teleop/keyboard_control.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ros2/src/udp_teleop/udp_teleop/arm_control.py b/ros2/src/udp_teleop/udp_teleop/arm_control.py index 744b935..89884a3 100644 --- a/ros2/src/udp_teleop/udp_teleop/arm_control.py +++ b/ros2/src/udp_teleop/udp_teleop/arm_control.py @@ -128,7 +128,7 @@ class ArmJointState: def to_udp_message(self) -> bytes: """转换为 UDP 消息""" return ( - f"JXB:{self.height}:{self.j2}:{self.j3}:{self.j4}:" + f"JXB:{self.height + 290}:{self.j2}:{self.j3}:{self.j4}:" f"{self.j5}:{self.j6}:0:0:EZHY\n" ).encode("utf-8") diff --git a/ros2/src/udp_teleop/udp_teleop/keyboard_control.py b/ros2/src/udp_teleop/udp_teleop/keyboard_control.py index 6229345..a2c12c8 100644 --- a/ros2/src/udp_teleop/udp_teleop/keyboard_control.py +++ b/ros2/src/udp_teleop/udp_teleop/keyboard_control.py @@ -310,7 +310,7 @@ class KeyboardUdpControlNode(Node): def build_arm_cmd(self): joints = self.arm_joints return ( - f"JXB:{self.arm_height}:" + f"JXB:{self.arm_height + 290}:" f"{joints[0]}:{joints[1]}:{joints[2]}:" f"{joints[3]}:{joints[4]}:0:0:EZHY\n" ).encode()