Hand the arm to a human, from a gamepad or a browser #1

Merged
cristhian merged 10 commits from feat/gamepad-and-web-teleop into main 2026-09-15 21:27:52 +00:00
Showing only changes of commit ac2540629e - Show all commits
+26
View File
@@ -201,6 +201,32 @@ is printed and forgotten. It closes the loop so this node's behaviour can be wat
the lease changing hands, the deadman firing when you let go — not so the arm can be
pretended at.
### Watching the wire
`dataflow.yml` sets `debug: enable_debug_inspection: true`, so dora will let you read what
is actually on the wire without the bench printing anything. Run it under a coordinator
rather than `dora run`:
```bash
dora up
dora start dataflow.yml --uv --name teleop-bench
```
Then, in another terminal:
```bash
dora topic list -d teleop-bench # every edge in the graph
dora topic echo -d teleop-bench teleop/jog # every velocity, live
dora topic echo -d teleop-bench teleop/ui_state # what the console would draw
dora topic hz -d teleop-bench teleop/jog --duration 10 # the re-send cadence
```
`hz` is the one that checks the timings this node promises. The `get_state` poll measures
at 1.88 Hz against a configured `STATE_POLL_S` of 0.5, and with a pad held over the
deadzone `teleop/jog` should sit near the 50 ms tick.
Tear it down with `dora stop --name teleop-bench && dora down`.
## Development
```bash