Skip to content

feat(manipulation): UFactory Lite 6 support - #4053

Queued
leshy wants to merge 3 commits into
mainfrom
ivan/feat/lite6
Queued

leshy wants to merge 3 commits into
mainfrom
ivan/feat/lite6

Conversation

@leshy

@leshy leshy commented Sep 10, 2026

Copy link
Copy Markdown
Member

The Lite 6 speaks the xArm SDK

New blueprints: coordinator-lite6, lite6-planner-coordinator, keyboard-teleop-lite6. Address comes from --lite6-ip

The Lite 6 speaks the xArm SDK, so it rides the existing XArmAdapter — the
adapter now detects it on connect (axis 6 + device_type 9) and drives its
gripper over tool GPIO, which is open/close with no position feedback, so
reads echo the last command. Model config selects robot_type=lite in the
xacro (no xArm gripper collision pairs, they don't exist on this arm).

Blueprints: coordinator-lite6, lite6-planner-coordinator,
keyboard-teleop-lite6. Address comes from --lite6-ip.

Review: mypy + pytest-fast green.
Test plan: unit tests cover Lite 6 detection, the GPIO gripper path and the
lite model config; ran keyboard-teleop-lite6 against the arm at 10.55.1.40.
@codecov

codecov Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.43750% with 1 line in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
dimos/hardware/manipulators/xarm/adapter.py 93.75% 0 Missing and 1 partial ⚠️
@@            Coverage Diff             @@
##             main    #4053      +/-   ##
==========================================
+ Coverage   79.54%   79.56%   +0.01%     
==========================================
  Files        1492     1494       +2     
  Lines      141416   141583     +167     
  Branches    12122    13009     +887     
==========================================
+ Hits       112487   112648     +161     
- Misses      25508    25512       +4     
- Partials     3421     3423       +2     
Components Coverage Δ
Tests 95.36% <100.00%> (+<0.01%) ⬆️
Flag Coverage Δ
OS-ubuntu-24.04-arm 75.17% <89.06%> (+0.03%) ⬆️
OS-ubuntu-latest 75.99% <89.06%> (+0.01%) ⬆️
Py-3.10 75.77% <89.06%> (+0.02%) ⬆️
Py-3.11 75.97% <89.06%> (+0.02%) ⬆️
Py-3.12 75.98% <89.06%> (+0.02%) ⬆️
SelfHosted-Large 30.62% <43.75%> (+0.01%) ⬆️
SelfHosted-Linux 36.66% <56.25%> (+0.01%) ⬆️
SelfHosted-macOS 37.00% <56.25%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
dimos/core/global_config.py 90.62% <100.00%> (+0.07%) ⬆️
dimos/hardware/manipulators/xarm/test_adapter.py 100.00% <100.00%> (ø)
dimos/robot/all_blueprints.py 100.00% <ø> (ø)
dimos/robot/manipulators/xarm/blueprints/basic.py 100.00% <100.00%> (ø)
dimos/robot/manipulators/xarm/blueprints/teleop.py 100.00% <100.00%> (ø)
dimos/robot/manipulators/xarm/config.py 93.25% <100.00%> (+0.48%) ⬆️
dimos/robot/manipulators/xarm/test_model_config.py 100.00% <100.00%> (ø)
dimos/hardware/manipulators/xarm/adapter.py 52.04% <93.75%> (+3.36%) ⬆️

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@leshy
leshy marked this pull request as ready for review September 10, 2026 08:50
@greptile-apps

greptile-apps Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

Not safe to merge until the Lite 6 gripper command cache is reset across reconnects.

Findings

  1. P1 Reset Lite 6 cache

Summary

  • This PR adds UFACTORY Lite 6 support through the existing xArm integration, including configuration, blueprints, robot-description selection, and gripper support. One reconnect defect remains: a newly connected Lite 6 controller does not receive the first gripper command when it matches the command sent before reconnecting.

Reviews (1) · Last reviewed commit: "feat(manipulation): UFactory Lite 6 supp..."

Comment thread dimos/hardware/manipulators/xarm/adapter.py
Comment thread dimos/core/global_config.py
Comment thread dimos/hardware/manipulators/xarm/adapter.py
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Sep 10, 2026
mustafab0
mustafab0 previously approved these changes Sep 11, 2026
@TomCC7
TomCC7 enabled auto-merge September 11, 2026 04:05
@TomCC7
TomCC7 added this pull request to the merge queue Sep 11, 2026
Any commits made after this event will not be merged.
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 11, 2026
@TomCC7 TomCC7 added the backport:skip Skip creating a backport to any release branches label Sep 18, 2026
# Conflicts:
#	dimos/robot/all_blueprints.py
@github-actions github-actions Bot removed the ready-to-merge Required CI checks have passed on this PR label Sep 18, 2026
@TomCC7
TomCC7 requested a review from mustafab0 September 18, 2026 02:26
paul-nechifor
paul-nechifor previously approved these changes Sep 18, 2026
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Sep 18, 2026
@paul-nechifor
paul-nechifor added this pull request to the merge queue Sep 18, 2026
Any commits made after this event will not be merged.
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks Sep 18, 2026
@TomCC7
TomCC7 added this pull request to the merge queue Sep 18, 2026
Any commits made after this event will not be merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip Skip creating a backport to any release branches ready-to-merge Required CI checks have passed on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants