Skip to content

Adapt G1 sensor command and TF boundaries to CDR - #4711

Closed
TomCC7 wants to merge 1 commit into
cc/feat/cdr-teleop-recordingfrom
cc/feat/cdr-g1-boundaries
Closed

TomCC7 wants to merge 1 commit into
cc/feat/cdr-teleop-recordingfrom
cc/feat/cdr-g1-boundaries

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 20, 2026

Copy link
Copy Markdown
Member

G1 command, simulator sensor and live mount-TF ports now use generated CDR values, retaining the existing driver/simulator numerical interfaces behind explicit adapters. G1 and Go2 share the moved Unitree cloud/camera conversion code; supported point fields and image encodings remain intact.

Parent: #4710. Message encoding refactor.

Internal mount/waist math is unchanged. Each published mount set receives one integer-nanosecond wall stamp; simulated source timestamps remain source timestamps, including zero. Existing G1 rich move() callers still work; generated commands are converted only before the driver call. Whole-body motor/IMU graphs are a separate remaining layer, not claimed complete here.

Category Files Added Removed
G1 boundaries and shared Unitree adapters (own existing code moved from Go2) 5 212 114
Existing geometry invariants and actual local-wire tests 2 202 16
Existing installed-wheel CI 1 5 0

Offline manual acceptance from a configured checkout:

DIMOS_TRANSPORT=lcm LCM_DEFAULT_URL=memq:// uv run pytest --noconftest --import-mode=importlib -o addopts='' -q \
  dimos/robot/unitree/g1/test_cdr_boundaries.py \
  dimos/robot/unitree/g1/test_g1_tf_publisher.py \
  dimos/robot/unitree/go2/test_connection.py dimos/robot/unitree/test_mujoco_connection.py

36 source +36 isolated installed-wheel tests pass; strict typing5 production files, applicable hooks and wheel pass (Nix unavailable). Wheel SHA256 b21f75625e95a97eb93f560935ce5f38c42dfb234a816ec99bbb21b3825f7483.

Real local CDR transport runs on memq and discovery-disabled loopback Zenoh. Actual G1 modules consume fake simulator Subjects and produce generated odometry/TF/RGB images/colored clouds/calibration, and accept canonical drive to a mocked driver. The live TF publication loop retains the URDF geometric assertions and exact epoch+1ns metadata. Existing Go2 fidelity and MuJoCo shared-memory/process-cleanup regressions pass. Only external SDK/simulator/process boundaries are mocked; no actual simulator launch, SDK network/hardware, performance or human acceptance is claimed. MuJoCo3.10.0 was installed only into task-private test environments from official PyPI, matching the existing preserved environment and repository extra.

No CI polling or benchmark investigation. Remaining motor/collection/native-worker/other robot-simulation graph closures, fixtures, Gate B dependency retirement and final ancestry/PR organization remain open.

@TomCC7 TomCC7 closed this Oct 20, 2026
@TomCC7
TomCC7 deleted the cc/feat/cdr-g1-boundaries branch October 20, 2026 18:12
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