DimSim sensors and movement do not work with Zenoh transport
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python
- Domain
- distributed-systems, robotics
Research direction
Start by running the documented DimOS Zenoh reproduction command and read dimos/robot/unitree/dimsim_connection.py to trace simulator LCM sensor subscriptions, transport publishing, and movement handling. Done means camera, LiDAR, odometry, TF, and movement work over Zenoh, while LCM remains functional without duplicate messages or feedback loops and shutdown is clean.
Written by the indexing model from the issue text.
Description
Problem
DimSim’s bridge publishes sensors and consumes movement commands over LCM. With DimOS using Zenoh, the scene renders, but camera, LiDAR, and odometry do not reach the Zenoh-based stack. Movement commands also lack a forwarding path.
Reproduction
dimos --transport zenoh --simulation dimsim --dimsim-scene=apartment --no-dimsim-headless run unitree-go2-agentic
Open http://localhost:8090/ and connect Rerun.
Actual: The scene renders, but simulated sensor data is absent from the Zenoh-based visualization/mapping stack.
Expected: Sensors and movement work with either supported transport.
Suspected cause
dimos/robot/unitree/dimsim_connection.py relies on the simulator publishing directly to shared LCM topics:
- Camera and LiDAR observable streams are not populated.
- The odometry subscription follows the selected transport rather than explicitly consuming simulator LCM.
move()returns success without forwarding commands.
Sensor absence was observed during local use; the missing Zenoh movement path was identified by code inspection.
Proposed fix
Bridge simulator LCM sensors into the active DimOS transport and forward movement commands back to LCM. Preserve TF/frame conventions and prevent duplicate publishing or feedback loops in LCM mode.
Acceptance criteria
- Camera, LiDAR, odometry, and TF reach Zenoh subscribers.
- Zenoh movement commands move the simulated robot.
- LCM mode remains functional without duplicate messages or loops.
- Subscriptions and transports shut down cleanly.
Workaround
Launch with --transport lcm or DIMOS_TRANSPORT=lcm.
- Dominant language
- Python
- Stars
- 4.5k
- Forks
- 808
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 224
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dimensionalOS/dimos
-
bug mac
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
dimensionalOS/dimos#4134 ·
-
bug rust
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
dimensionalOS/dimos#4055 ·
-
bug install
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
dimensionalOS/dimos#3971 ·
-
bug mac
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
dimensionalOS/dimos#3918 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
dimensionalOS/dimos#3898 · 1 comment ·
All issues in dimensionalOS/dimos
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100