Showcase · D3 · robot dog
The third rung of the ladder: a quadruped with twelve servo joints, from an empty design. An AI agent (Claude Opus 5.5) built it in six stages with nothing but Polykrom's tools: the body, one leg, then four, a standing pose found by inverse kinematics and a crawl gait keyed on the twelve servos. It checked in Polykrom that the dog stands and keeps its balance through every step of the gait. Then the design went to MuJoCo, an independent physics engine, with nothing holding the body up. It stands, and it walks.
MuJoCo 3, running the MJCF Polykrom exported, with the base free. Polykrom's Crawl study is replayed as the twelve servos' targets, 0.05 s per step, three cycles. Nothing holds the body up: physics decides whether it walks.
An AI agent (Claude Opus 5.5) running headless, with Polykrom's MCP tools as its only tools, built the dog in six stages, each picking up the design the stage before had saved. Times, costs and tool calls are from the agent's run records.
| Stage | What the agent did | Time | Cost | Calls |
|---|---|---|---|---|
| 1. Body | A 230 × 110 × 55 mm chassis in printed PLA under a black 2 mm cover held by 6 M3 screws; a Raspberry Pi 4 on four M2.5 standoffs, a 2S LiPo under a printed strap, the four hip-abduction STS3215 servos on printed bulkheads (16 M2 screws), and the pixel-p badge. | 7.9 min | $2.39 | 43 |
| 2. One leg | The front-left leg: a hip bracket, hip-flex and knee STS3215 servos, a 100 mm upper and a 110 mm lower leg, a 20 mm TPU foot. Joints FL_abd ±30°, FL_hip ±90°, FL_knee −150° to 0°. It swept every joint and fixed the collision it found: a screw head hit the chassis at hip +90° with abduction past 24.3°. | 17.6 min | $3.44 | 57 |
| 3. Four legs | The three other legs, by mirroring: twelve independent joints, 142 bodies, no interferences. | 31.2 min | $4.55 | 74 |
| 4. Stand | The standing pose by inverse kinematics, hip 57.61° and knee −107.72°, with the body's underside 120 mm up. It split each servo horn into a part of its own, so the horn turns with its joint. | 47.3 min | $3.74 | 57 |
| 5. Gait | A Crawl study of 160 steps, keyed on the twelve joints only, with the inverse kinematics stored as design parameters. | 17.3 min | $3.11 | 41 |
| 6. Export | The MJCF for MuJoCo (a free base, twelve position actuators), the render and the bill of materials. | 2.6 min | $1.68 | 43 |
| Total | 2 h 4 min | $18.91 | 315 |
The agent checked the dog with Polykrom's statics: the four feet as the support, the ground at z = 0, the servos' rated stall torque of 1.912 N·m. Then MuJoCo, a physics engine that knows nothing of Polykrom, ran the MJCF the agent exported.
The agent's Crawl study, keyed only on the twelve joints. Polykrom's motion studies can't yet move a free-floating base, so here the body stays still and only the feet move. The walk at the top of the page is MuJoCo's.
Live: the URDF Polykrom exported from the agent's design, driven by the Crawl study's recorded joint values. Drag to orbit, scroll to zoom.
154 parts, 1.428 kg, from assembly.bom: twelve 55 g servos, a 46 g Raspberry Pi 4, a 120 g battery and a 274.4 g chassis. The servos and screws come from Polykrom's library with their part numbers. The rest were modelled for this dog and have no part number yet; the printed ones are PLA, the feet TPU. The Pi and the battery are envelopes with their masses.
| Part | Qty |
|---|---|
| STS3215 servo, with its horn | 12 |
| ISO 4762 M2 × 8 | 48 |
| ISO 4762 M3 × 6 | 50 |
| ISO 4762 M3 × 8 | 6 |
| ISO 4762 M2.5 × 6 | 4 |
| Part | Qty |
|---|---|
| Body (chassis) | 1 |
| Cover | 1 |
| Pixel-p badge | 1 |
| Battery strap | 1 |
| Hip bracket | 4 |
| Upper leg | 4 |
| Lower leg | 4 |
| Foot, TPU | 4 |
| Servo horn, its own part | 12 |
| Raspberry Pi 4 | 1 |
| 2S LiPo battery | 1 |

A walking machine finds what a printer didn't. These turned up during the run; the last three are open issues being fixed.
Polykrom's gait study can't move the body.
A motion study can't move a free-floating base, so in the Crawl study, its video and the 3D view above, the body stays still and the feet move. Polykrom's statics showed the dog keeps its balance at every step, but only MuJoCo, with the body free, shows that it really walks.
The render is a preview.
The agent's render is preview quality: no shadows, a flat studio.
Small edits re-evaluated the whole assembly.
Renames and resizes re-evaluated the whole assembly: 79 of the run's 124 minutes were spent inside Polykrom's tools. → #169
Servo horns were fused to the case.
A library servo's horn was part of its case, so it couldn't turn with its joint. In the stand stage the agent split each of the twelve horns into a part of its own. → #170
The agent's design as it left it, the bill of materials, the Crawl study's joint values, the MJCF it exported, and the script that replays the study on it in MuJoCo (after pip install mujoco numpy "imageio[ffmpeg]": python3 mujoco-replay.py dog.polykrom dog/dog.xml Crawl 3 0.05 walk.mp4).