Skip to content

Apply full TCP transforms through planning and readback - #43

Merged
Jepson2k merged 10 commits into
mainfrom
feat/tcp-calibration
Sep 19, 2026
Merged

Jepson2k merged 10 commits into
mainfrom
feat/tcp-calibration

Conversation

@Jepson2k

@Jepson2k Jepson2k commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Implements queued full TCP correction and readback across the controller, planner, FK/IK, client and preview. A program can set translation and intrinsic XYZ orientation, then confirm the applied value before using it. Earlier queued motion retains its frame, cancelled pending corrections do not leak into planning, and a tool/variant change clears the correction.

The XYZ API remains available and clears user rotation. Both TCP queries now fail explicitly when the controller does not answer. Tool status includes its applied variant, with legacy status decoding preserved, so a calibration cannot silently bind to different jaws.

Validation: real fake-serial workflows cover full-transform readback, stationary status, local FK, rotated TRF motion, preview, cancellation, legacy XYZ behavior, variant changes and hostile wire values. All 42 selected regression tests pass, including protocol compatibility and existing motion/tool workflows; pre-commit passes.

Depends on #42 and the companion waldoctl contract PR. Uses waldoctl v0.14.0; release the contracts first, then PAROL6 v0.8.0, before Commander adopts those release pins. Same branch name across the companion PRs enables branch-matched CI.

Companion PRs: waldoctl, PAR6, Commander.

Jepson2k and others added 7 commits September 11, 2026 05:59
The planner subprocess applies SET_TCP_TRANSFORM (and tool/shape changes)
when it plans a command, while that command is still queued. A user STOP
or software Estop cancelled the queue but left the planner holding the
transform, so every later plan was solved against a TCP the controller
never applied and reported. Only the hardware E-stop input and reset
resynced; all three cancellation paths now share one resync.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A full user TCP transform is part of every client contract now, so
there is no flag to advertise.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N8zt66KjkzgZLtQuSfJd9r
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N8zt66KjkzgZLtQuSfJd9r
@Jepson2k
Jepson2k marked this pull request as ready for review September 18, 2026 03:20
The math conversions and the gripper config classes were imported
inside the methods that use them although their modules are already
imported at the top; nothing here cycles.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N8zt66KjkzgZLtQuSfJd9r
@Jepson2k
Jepson2k changed the base branch from feat/python-skill-library to main September 19, 2026 01:19
@Jepson2k
Jepson2k merged commit 48ddcc7 into main Sep 19, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants