Revert B=180-B (Phase 2): gerade Hand ist b=pi, nicht 0
Die Phase-2-Umstellung (Commits549d10b,2197a89) war falsch: sie machte gerade Hand = b=0. Hardware-Daten zeigen aber gerade = B~180 (z.B. G92 ... B179.20). Folge: G28 fuhr nach b=0 -> ~179 Grad Einklappen -> Hand schlug in den Arm (Crash). Zurueck auf den verifizierten Stand933a017: - IK: this.b = Math.acos(cosB) - FK: rotateAroundAxis(vecUnterarm, n, this.b) - G28: robot.b = Math.PI Verifiziert mit echten Daten: G92 B179.20 -> b=179.20; G28 -> b=180 (Weg 0.8 Grad, kein Slam); IK-Round-Trip exakt; 452/452 Tests gruen. Logs nicht enthalten. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -102,7 +102,7 @@ describe('GCode.receiveGCode', () => {
|
||||
expect(robot.alpha).toBe(0)
|
||||
expect(robot.beta).toBe(0)
|
||||
expect(robot.a).toBe(0)
|
||||
expect(robot.b).toBe(0) // gerade Hand (Phase-2-Konvention: b=0)
|
||||
expect(robot.b).toBe(Math.PI) // gerade Hand (Phase-1-Konvention)
|
||||
expect(robot.c).toBe(0)
|
||||
// Greifer unverändert -> kein Finger-Slam am Anschlag
|
||||
expect(robot.e).toBe(7)
|
||||
|
||||
Reference in New Issue
Block a user