fix(arm): also negate motor direction for reversed J1 motor

Previous +290 fix handled static position mapping but motion direction was still reversed. Correct formula: motor = -height - 290. This handles both: position endpoints (height -290/-0 maps correctly) AND motion direction (increasing height now moves arm up instead of down).

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-06-19 10:20:18 +08:00
parent 6a0ff886f3
commit 3cafa82e16
2 changed files with 2 additions and 2 deletions

View File

@@ -128,7 +128,7 @@ class ArmJointState:
def to_udp_message(self) -> bytes: def to_udp_message(self) -> bytes:
"""转换为 UDP 消息""" """转换为 UDP 消息"""
return ( return (
f"JXB:{self.height + 290}:{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" f"{self.j5}:{self.j6}:0:0:EZHY\n"
).encode("utf-8") ).encode("utf-8")

View File

@@ -310,7 +310,7 @@ class KeyboardUdpControlNode(Node):
def build_arm_cmd(self): def build_arm_cmd(self):
joints = self.arm_joints joints = self.arm_joints
return ( return (
f"JXB:{self.arm_height + 290}:" f"JXB:{-self.arm_height - 290}:"
f"{joints[0]}:{joints[1]}:{joints[2]}:" f"{joints[0]}:{joints[1]}:{joints[2]}:"
f"{joints[3]}:{joints[4]}:0:0:EZHY\n" f"{joints[3]}:{joints[4]}:0:0:EZHY\n"
).encode() ).encode()