Skip to content

Report the nearest arm point to each keep-out - #57

Merged
Jepson2k merged 5 commits into
mainfrom
feat/wc-scene-element
Oct 24, 2026
Merged

Jepson2k merged 5 commits into
mainfrom
feat/wc-scene-element

Conversation

@Jepson2k

Copy link
Copy Markdown
Collaborator
  • Robot.clearances (waldoctl's new API): for every keep-out, the arm or tool part closest to it, with both nearest points and the signed distance. It uses pinokin 0.1.9's CollisionChecker.nearest_points on the keep-out pairs only. The keep-out list is rebuilt when the shapes or the tool change, not on every call.
  • Larger command buffer: the controller read commands into a 1024-byte buffer, so a SET_SHAPES with about a dozen keep-outs failed with "Input data was truncated". The buffer now holds 65535 bytes, still allocated once.
  • Pins: pinokin 0.1.9 and waldoctl 0.16.0.

Waldo Commander uses this for clearance lines (Jepson2k/Waldo-Commander#84).

— written by Claude on behalf of @Jepson2k

🤖 Generated with Claude Code

https://claude.ai/code/session_01Q4aXBLJyxHmGVUxK4KJqgn

Jepson2k and others added 5 commits October 11, 2026 21:20
The controller read commands into a 1024-byte buffer, and the kernel
truncates a longer datagram to fit. A SET_SHAPES carrying about a dozen
keep-outs is longer than that, so a whole workcell failed with "Decode
error: Input data was truncated". The buffer now holds 65535 bytes,
allocated once as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4aXBLJyxHmGVUxK4KJqgn
Robot.clearances(q) returns, for every keep-out of either layer, the arm
or tool geometry closest to it: both witness points in world metres and
the signed distance, nearest first, named as colliding_pairs names them.
It asks pinokin's nearest_points for the keep-out pairs only, and the
keep-out list is cached when shapes or the tool change, not per call.

Needs pinokin's CollisionChecker.nearest_points (pinokin 6f88065).

Implemented by Codex from Claude's spec.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4aXBLJyxHmGVUxK4KJqgn
Robot.clearances calls CollisionChecker.nearest_points, which first
ships in pinokin 0.1.9.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4aXBLJyxHmGVUxK4KJqgn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4aXBLJyxHmGVUxK4KJqgn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4aXBLJyxHmGVUxK4KJqgn
@Jepson2k
Jepson2k merged commit 6f17f41 into main Oct 24, 2026
31 of 39 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.

1 participant