Skip to content

fix(dimsim): bridge simulator sensors and commands to Zenoh - #4127

Draft
ruthwikdasyam wants to merge 1 commit into
mainfrom
ruthwik/fix/dimsim-zenoh
Draft

fix(dimsim): bridge simulator sensors and commands to Zenoh#4127
ruthwikdasyam wants to merge 1 commit into
mainfrom
ruthwik/fix/dimsim-zenoh

Conversation

@ruthwikdasyam

Copy link
Copy Markdown
Contributor

Contribution path

Fixes #4124.

Problem

DimSim speaks LCM, so Zenoh runs miss sensors and movement commands.

Solution

Relay simulator topics to Zenoh and commands back to LCM; preserve direct LCM behavior and fix log-pipe shutdown ordering.

How to Test

dimos --transport zenoh --simulation dimsim --dimsim-scene=empty --no-dimsim-headless run unitree-go2 keyboard-teleop

Open http://localhost:8090/, drive from the Keyboard Teleop window, and check camera/LiDAR in Rerun (enable world/lidar).

Pre-commit, 5 focused tests, and mypy passed. A real headless smoke test verified changing sensors and simulated movement over Zenoh.

AI assistance

Checklist

  • I have read and approved the CLA.

@codecov

codecov Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.24413% with 8 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
dimos/simulation/dimsim/test_dimsim_process.py 85.18% 2 Missing and 2 partials ⚠️
dimos/robot/unitree/dimsim_connection.py 96.36% 1 Missing and 1 partial ⚠️
dimos/simulation/dimsim/dimsim_process.py 50.00% 0 Missing and 2 partials ⚠️
@@            Coverage Diff             @@
##             main    #4127      +/-   ##
==========================================
+ Coverage   78.63%   78.90%   +0.26%     
==========================================
  Files        1467     1473       +6     
  Lines      138746   139143     +397     
  Branches    11931    12040     +109     
==========================================
+ Hits       109108   109790     +682     
+ Misses      26278    25948     -330     
- Partials     3360     3405      +45     
Components Coverage Δ
Tests 94.82% <97.40%> (+0.20%) ⬆️
Flag Coverage Δ
OS-ubuntu-24.04-arm 74.86% <96.24%> (+0.03%) ⬆️
OS-ubuntu-latest 75.56% <96.24%> (+0.03%) ⬆️
Py-3.10 75.33% <96.24%> (+0.03%) ⬆️
Py-3.11 75.54% <96.24%> (+0.03%) ⬆️
Py-3.12 75.55% <96.24%> (+0.03%) ⬆️
SelfHosted-Large 30.74% <15.96%> (-0.02%) ⬇️
SelfHosted-Linux 36.28% <15.96%> (+0.59%) ⬆️
SelfHosted-macOS 35.61% <15.96%> (+0.62%) ⬆️

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

Files with missing lines Coverage Δ
dimos/robot/unitree/test_dimsim_connection.py 100.00% <100.00%> (ø)
dimos/robot/unitree/dimsim_connection.py 87.60% <96.36%> (ø)
dimos/simulation/dimsim/dimsim_process.py 49.36% <50.00%> (ø)
dimos/simulation/dimsim/test_dimsim_process.py 85.18% <85.18%> (ø)

... and 30 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.

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.

DimSim sensors and movement do not work with Zenoh transport

1 participant