Skip to content

strands-robots

One Robot object drives any robot, in simulation or on real hardware, through six contracts, on about twenty thousand lines of code, and one command proves it works against real backends with no mocks.

from strands_robots import Robot, make_policy

arm = Robot("so101", mode="sim")          # the SO-101 MJCF in MuJoCo
arm.act({"shoulder_pan": 0.3})            # position control, one tick
obs = arm.observe()                       # joints, cameras, sensors, typed
arm.preflight(make_policy("mock", dof=6)) # refuses a unit mismatch BEFORE motion
python3 -m pip install "strands-robots[sim]"

Get started

Install one extra, move an arm in MuJoCo, then the same four lines on a real SO-101.

Six contracts

Robot, Driver, Policy, SimEngine, Transport, Recorder. Generated from the source at build.

Coverage matrix

Which policy runs on which robot, sim / real / twin, with a witness mark per cell. A table, never a promise.

Agent tools

Fourteen tools over one facade. mode="sim" and dry_run=True by default; real motion needs confirm=True.

Acceptance

bash acceptance/all.sh runs the real thing and prints what it verified: ACCEPTANCE GREEN (n real / m skipped).

Architecture

Seven layers, one rule: a module imports only from layers below it. CI is the referee.