Skip to content

refactor(robot): add YAM, OpenArm, and Metal connection modules - #4959

Closed
TomCC7 wants to merge 1 commit into
cc/feat/metal-learning-integrationfrom
cc/refactor/damiao-connections
Closed

TomCC7 wants to merge 1 commit into
cc/feat/metal-learning-integrationfrom
cc/refactor/damiao-connections

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Superseded by #4960, which is based directly on main and excludes the learning stack.

Stacked on #4900. Target this integration branch while the learning stack is open; retarget to main after it lands.

YAM, OpenArm, and MakerMods Metal currently let the coordinator own their Damiao adapters directly. Add standard connection modules and dedicated *-connection-control blueprints so the connection owns CAN, activation, state publication, deadman holds, and shutdown. Follow the connection-module approach in #4958 while retaining the existing adapters, MIT gains, gravity compensation, and normalized gripper openings. Existing blueprints and learning compositions are unchanged.

The control models expose logical 0–1 gripper coordinates without changing physical finger geometry. Reuse the model-backed gripper support from #4939 (27d3753ca1) so coordinator gripper tasks work over connection streams.

Validation:

  • 56 new mocked tests cover command mapping, partial holds, gains, limits, grippers, coordinator routing, estop, deadman, feedback faults, CAN selection, and cleanup.
  • 208 applicable regression tests and 5 blueprint-generation tests pass. Four marked tests were excluded; one unchanged Metal adapter test is blocked by the local can-motor-control 0.0.8 environment, which lacks the required >=0.0.11 MotorProfile API.
  • Mypy passes for the 11 changed production files; pre-commit passes. Cached official models resolve to 7 Metal, 7 YAM, and 16 OpenArm control coordinates.
  • No physical robot actuation or hardware acceptance testing. No dependencies were installed or upgraded.

Run commands and interface details: Damiao connections.

Keep existing Damiao adapters, MIT gains, gravity compensation and normalized gripper semantics behind standard connection ports. Add dedicated coordinator blueprints and lifecycle tests without changing existing learning compositions.

Reuse model-backed gripper support from PR #4939, commit 27d3753. Based on Metal integration PR #4900 at 40bd5e0.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go2 replay realtime (arm64)

Details
Benchmark suite Current: 735b9fb Previous: d2fb73c Ratio
peak memory 1740.656 MB 1737.02 MB 1.00
peak threads 376 threads 371 threads 1.01
network (transport) 2725.82 MB 2733.743 MB 1.00
disk write 14.285 MB 1.699 MB 8.41
instructions 138.097 G 136.49 G 1.01

This comment was automatically generated by workflow using github-action-benchmark.

This branch was previously deployed

1 inactive deployment
cachix — 735b9fb6 Deployed Oct 31, 2026 by TomCC7 via cachix-build #15387
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