physicalai-runtime-adding-a-robot-integration

Installation
SKILL.md

Adding a Robot Integration

Robots satisfy the structural Robot protocol in src/physicalai/robot/interface.py — no base class inheritance required. References: src/physicalai/robot/so101/, src/physicalai/robot/trossen/ (WidowX). Connection helpers: src/physicalai/robot/connect.py; validation: src/physicalai/robot/verify.py.

Workflow

  1. Read references/robot-protocol.md and an existing integration (SO-101 for serial servos, WidowX for arms).
    • Done when: required methods and observation shape are listed.
  2. Implement connect lifecycle: idempotent connect(), disconnect(), is_connected().
  3. Observations: return a type exposing joint_positions, timestamp (time.monotonic()), optional sensor_data / images; implement state property when inference expects more than positions.
  4. Actions: send_action(action, *, goal_time=...) with action shape matching training data conventions; document joint order via joint_names.
  5. Optional extra in pyproject.toml (physicalai[so101], physicalai[trossen]); lazy-import vendor SDKs.
  6. Export public class from physicalai.robot when user-facing.
  7. Tests under tests/unit/robot/ with mocked hardware.
    • Done when: uv run pytest tests/unit/robot -k <name> passes.
  8. Verification CLI/docs — wire verify.py patterns if the robot supports automated checks.

Required checks

Installs
14
GitHub Stars
2
First Seen
Aug 19, 2026
physicalai-runtime-adding-a-robot-integration — open-edge-platform/skills