[Backport release/0.0.14] fix(hardware): transport adapters follow the active pub/sub backend - #4109
github-actions[bot] wants to merge 1 commit into
Conversation
|
| dof: int = 3, | ||
| hardware_id: str = "base", | ||
| transport_cls: type = LCMTransport, | ||
| transport_cls: Callable[[str, type], Any] = make_transport, |
There was a problem hiding this comment.
If DIMOS_TRANSPORT=zenoh, this default constructs Zenoh transports for the Go2 adapter, while the Go2 coordinator still explicitly maps /go2/cmd_vel and /go2/odom to LCM. The two backends use separate topic namespaces, so velocity commands and odometry cannot reach their corresponding subscribers. Keep the adapter and coordinator mappings on the same backend before merging.
Knowledge Base Used:
Artifacts
Transport mismatch evidence source
- The focused Python source constructs the affected adapters under the Zenoh configuration and traces the coordinator transport mappings.
Transport mismatch execution output
- The execution output reports Zenoh adapter transports and explicit LCM Go2 coordinator mappings, demonstrating that the endpoints are isolated.
| def transport_lcm_factory(**kwargs: Any) -> TransportWholeBodyAdapter: | ||
| """Factory for the ``transport_lcm`` adapter (see ``_registry.py``).""" | ||
| kwargs.setdefault("transport_cls", LCMTransport) | ||
| kwargs.setdefault("transport_cls", make_transport) |
There was a problem hiding this comment.
If DIMOS_TRANSPORT=zenoh, the G1 whole-body adapter constructs Zenoh transports for motor state, IMU, and motor commands, while the G1 coordinator keeps those /g1/* channels on LCM. The separate backends cannot communicate, so motor commands do not reach the robot-side connection and state does not return to the coordinator. Keep the complete G1 path on one backend before merging.
Knowledge Base Used:
Artifacts
Transport mismatch evidence source
- The focused Python source constructs the affected adapters under the Zenoh configuration and traces the coordinator transport mappings.
Transport mismatch execution output
- The execution output reports Zenoh adapter transports and explicit LCM G1 coordinator mappings, demonstrating that the endpoints are isolated.
Description
Backport of #4070 to
release/0.0.14.