Robot Action Representation & Composition
Build robot workflows visually, then run the same typed Workflow IR against a mock adapter, deterministic simulation, or a robot integration proof.
RoboArc keeps Blockly editor state, workflow semantics, and robot transport
details separate. The browser authoring surface compiles to a small,
versioned Workflow IR with sequence, wait, and capability nodes.
RoboArc is inspired by CyberDog VP.
Open the TIAGo "Look and say" demo ->
The image pairs the canonical Blockly workflow with a robot-side view from the same proof. Click it to open the full TIAGo "Look and say" demo.
- TIAGo: Look and say
- TIAGo: Reception greeting
- TIAGo: Observable reception greeting
- Reachy: Welcome gesture
- Mock runtime
- Deterministic simulation
RoboArc requires Python 3.11+ and Node.js for the Web workbench.
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
python -m pytestStart the runtime API in one terminal:
roboarc serve --host 127.0.0.1 --port 8000Start the Web workbench in another:
cd web
npm ci
npm run devOpen http://127.0.0.1:5173 to author and run a workflow. To inspect the
recorded catalog locally instead:
./scripts/serve_review.sh --host 0.0.0.0 --artifacts artifactsThen open http://127.0.0.1:5173/?review.
- A typed Workflow IR and generated JSON Schemas.
- A deterministic Python runtime with validation, events, deadlines, timeout, and truthful cancellation semantics.
- A React/Blockly workbench with capability discovery, project import/export, validation, run controls, and runtime telemetry.
- Observable Mock and simulation runs plus ROS 2, TIAGo Gazebo, and Reachy integration proofs that use the same workflow boundary.
- User guide — local setup, workbench, demos, and proof lanes.
- Architecture — layer boundaries and runtime shape.
- Workflow IR — canonical document format and examples.
- Runtime semantics — events, timeouts, cancellation, and adapter behavior.
MIT