Skip to content

Microduck

Open Duck class biped, driven through the on-robot robotd daemon (NDJSON JSON-RPC).

python3 -m pip install "strands-robots[microduck]"
from strands_robots import Robot

duck = Robot("microduck", mode="real", port="ssh://radxa@10.0.0.5")   # forwards robotd's socket
obs = duck.observe()
duck.act({"vx": 0.1, "wz": 0.0})            # a bounded twist, kept alive past the 0.5 s deadman
duck.close()                                 # relax
from strands_robots import Robot

duck = Robot("microduck", mode="sim")       # MuJoCo model + the ONNX locomotion policy
fact value
wire robotd JSON-RPC, api_version pinned
joints 14 servos (the 15 to 14 mouth map is in the protocol)
twist bounds validated before the wire; robotd clamps nothing
policy microduck provider: ONNX, self-configured from checkpoint metadata