Files
cristhian eede2e5774 update dataflow-gamepad to drive the arm instead of the bench
It now runs joy, teleop and dora-ulite6 with the probe declared and the
console shut, so a pad can be checked against the arm that will actually
move. ROBOT_IP in both arm dataflows points at the bench arm.

The run recipe drops dora up + dora start: dora 1.0.1 refuses to start a
dataflow holding git: nodes from a coordinator, reporting that no build was
run straight after one that succeeded. That costs the file dora topic, which
needs a coordinator to read the wire.
2026-09-16 18:06:12 -03:00

60 lines
1.8 KiB
YAML

# The repo's own example, and what CI validates.
#
# Self-contained on purpose: teleop plus a bench stand-in for the arm and the
# browser, both built from this checkout, so `dora validate` resolves every
# manifest from `path:` and CI needs no gamepad, no robot and no sibling clones.
#
# There is **no gamepad here**, because the pad is another node and wiring it in
# by `git:` would cost this file the one property it has. For a real pad, use
# `dataflow-robot.yml`, or `dataflow-gamepad.yml` to check the pad with the
# probe — both of which drive a real arm.
#
# This is **not** the real stack. The bench answers services and publishes
# telemetry but never moves anything. README.md carries the four-node wiring a
# consumer actually uses.
strict_types: true
# Lets `dora topic echo` and `dora topic hz` read what is on the wire, so the
# velocities this node sends can be watched without the bench printing them —
# and without a robot. Costs nothing when nobody is looking.
debug:
enable_debug_inspection: true
nodes:
- id: teleop
path: dora-teleop
build: pip install .
inputs:
tick: dora/timer/millis/50
response: bench/response
robot_state: bench/robot_state
tcp_pose: bench/tcp_pose
joint_pose: bench/joint_pose
outputs:
- twist
- command
- jog
- request
- ui_state
env:
SPEED_MM_S: "60"
SPEED_DEG_S: "30"
# The console is served by this node. CI runs this dataflow, so it binds
# to localhost and stays off any interface a colleague could reach.
WEB_HOST: "127.0.0.1"
WEB_PORT: "7000"
- id: bench
path: examples/bench.py
inputs:
tick: dora/timer/millis/200
jog: teleop/jog
request: teleop/request
ui_state: teleop/ui_state
outputs:
- response
- robot_state
- tcp_pose
- joint_pose