You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a Zenoh-based peer-to-peer mesh layer so every Robot() instance auto-discovers and communicates with peers on the network. This enables agent-to-agent tool calls across mixed sim+real fleets.
Motivation
Today Robot("so100") is a solo actor. With the mesh:
fromstrands_robotsimportRobotstriker=Robot("unitree_g1", peer_id="striker")
mid_1=Robot("unitree_g1", peer_id="mid_1")
# Peers auto-discover — no config, no brokerprint(striker.mesh.peers) # → [{'peer_id': 'mid_1', ...}]# Agent-to-agent tool callstriker.mesh.tell("mid_1", "pass the ball to me")
# Safety — broadcasts to all peersstriker.mesh.emergency_stop()
Summary
Add a Zenoh-based peer-to-peer mesh layer so every
Robot()instance auto-discovers and communicates with peers on the network. This enables agent-to-agent tool calls across mixed sim+real fleets.Motivation
Today
Robot("so100")is a solo actor. With the mesh:Design
Topic namespace (frozen contract — PRs #48 and #52 already consume these)
Key components
mesh_session.pyzenoh.Session, ref-countedzenoh_mesh.py→Meshclasssend/tell/broadcast)subscribe/publish_step)meshintoRobot.__init__(opt-out viamesh_enabled=False)Implementation plan (6 small PRs)
mesh_session.pypeers()Prototype
A validated 691-line prototype exists (
zenoh_mesh.py) with:Dependencies
eclipse-zenoh>=0.11as optional extra[mesh]Related
🤖 AI agent response. Strands Agents. Feedback welcome!