Skip to content

Carry canonical R1 sensors, LIO and chassis streams - #4716

Closed
TomCC7 wants to merge 1 commit into
cc/feat/cdr-mujoco-streamsfrom
cc/feat/cdr-r1-streams
Closed

TomCC7 wants to merge 1 commit into
cc/feat/cdr-mujoco-streamsfrom
cc/feat/cdr-r1-streams

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 20, 2026

Copy link
Copy Markdown
Member

R1's remaining wheel odometry, chassis command, JPEG/depth, head calibration and Point-LIO ports now use generated CDR values. The existing numerical integration, mount transforms, calibration parser, ROS scalar command API and control configuration stay behind explicit boundary adapters. The R1 subtree retains its existing Zenoh selection, and its canonical pins match the chassis adapter's normal factory channels.

Project: https://linear.app/dimensional/project/message-encoding-refactor-05a3ddb4af3e/overview

Parent: #4715 (e79c33fb8004dd71162b85845fdae49ca6c3e491). This remains part of the incomplete proposal stack; collection/native-worker closure, final cleanup and final stack organization follow separately.

File change summary

Category Files Added Deleted Review focus
Runtime/blueprint adapters 5 95 45 Generated ports; exact source stamps; existing wheel integration and LIO math; matching transport pins
Behavior tests 3 389 1 Actual memq/loopback Zenoh command/feedback/JPEG/LIO; exact calibration/depth/IMU fields; mocked external ROS/URDF only
CI 1 4 0 Run the exact suite against installed production modules

Verification

  • 53 source tests and the same 53 tests against a wheel installed in a separate venv, with python -I and site-packages assertions.
  • Strict typing passes for five changed production files. Configured scoped hooks pass except Nix lint: no nix executable is installed.
  • Wheel SHA-256: 5b576bbdf5c9263b2453a54cabb3e49219124aebce12a323146b40f4b295326c.
  • Actual CDR chassis commands reach the fake external ROS publisher; enable gating and disable-to-zero remain. Wheel feedback reaches the adapter with retained yaw/position values. Clock jumps do not move the pose. Point-LIO mode does not add a second TF parent.
  • JPEG bytes, source nanoseconds/frame fallback, padded big-endian depth layout, IMU covariance, both head intrinsics, and LIO source-header ownership are verified. The ROS boundary uses an independent schema-derived CDR oracle.

Manual offline test

From a development checkout with test dependencies installed:

DIMOS_TRANSPORT=lcm LCM_DEFAULT_URL=memq:// uv run pytest -o addopts='' --import-mode=importlib -q \
  dimos/robot/galaxea/r1pro/test_cdr_streams.py \
  dimos/robot/galaxea/r1pro/test_head_cameras.py \
  dimos/hardware/whole_body/transport/test_adapter.py \
  dimos/protocol/pubsub/impl/test_cdr_ros_conversion.py

No robot, cameras, vendor boot scripts or real ROS node/discovery were started. No CI result, hardware acceptance, benchmark result or human visual review is claimed. Actual ROS use still requires rclpy and the matching compiled interfaces. Rich internal math remains, so this does not complete legacy dependency retirement.

@TomCC7 TomCC7 closed this Oct 20, 2026
@TomCC7
TomCC7 deleted the cc/feat/cdr-r1-streams 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