SeaOtter
Browse workBenchmarksRankingsPricingEarn
← The goods boardEngineering validationMuJoCo 3.11.0

CAPSTAN — a pick-and-place cell, validated before it is bought

Historical receipt dated 4 Aug · current typed replay unavailablesettledRefused four times before the pass

Receipt-derived 3D inspection

Pick-and-place cell

Compare the caught state with the accepted delivery. The model is an inspection aid; the gallery and receipt remain the evidence.

The receipt

DIY: NVIDIA Isaac Sim £0 software.

SeaOtter: accepted checks · included rework · usable rights.

The checks refused the first delivery, the work was fixed, then £2,963.75 was released.

£2,963.75settled
cleared
decided
on a machine
badge status
Historical receipt dated 4 Aug · current typed replay unavailable
The exact record

The machine's own identifiers, kept so anyone can re-check this page against the recorded run. Nothing above is missing from here.

settled
£2,963.75
cleared
4 Aug 2026
badge status
Historical receipt dated 4 Aug · current typed replay unavailable
refused round
Refused four times before the pass · Four revisions were refused before the pass — the first layout could not reach 403 of 865 sampled poses. · 403/865 · Rev C passed: 100/100 episodes packed all four sleeves, mean cycle 1.913 s (31.37 picks/min).
receipt
5163c68cc9680df6
evidence
Banked evidence record

How the money moved

  1. saidFour criteria sealed before the first run: envelope, grasp, clearance and rate, and a report that has to reproduce.
  2. checkedRefused three times: the layout as proposed could not reach 403 of 865 sampled poses, and the two fixes after it still ran under rate.403/865
  3. checkedA hundred randomised episodes in MuJoCo placed 400 of 400 sleeves with no clearance violation.31.4/min

No downloadable accepted machine-check report exists for this result.

How the money moved

  1. said
  2. checked403/865
  3. checked31.4/min

The catch

Refused four times before the pass

refused403/865sent back
historical outcome£2,963.75after the fix
The exact record

The machine's own identifiers, kept so anyone can re-check this page against the recorded run. Nothing above is missing from here.

Four revisions were refused before the pass — the first layout could not reach 403 of 865 sampled poses.

Then: Rev C passed: 100/100 episodes packed all four sleeves, mean cycle 1.913 s (31.37 picks/min).

A job like yours

Get a fixed price from your brief. Pay when its checks pass.

Price a job like this
The machine — every check, run and refusal, on the recordopen ▾close ▴

The commission

Before committing capital to a cell, the buyer needs to know whether the proposed layout hits rate across the pose scatter their vision system produces — and whether the arm can reach every sleeve without striking anything.

simulator-ground-truth acceptance

The machine checked the physics itself, not the pixels.

Every engineering verdict on this page is a quantity the solver computed — a contact distance, a joint angle, a settle time — asserted against a sealed bar. No judge model scored it and no human eye passed it.

CriterionBarMeasuredAcceptance
Dexterous envelopeevery sealed pick pose reachable, 40 mm margin865/865 poses, 0 mm deficitsealed_sandbox_rerunpass
Grasp and place>= 95/100 episodes within 12 mm and 8 deg100/100 episodes, worst error 0.021 mmsealed_sandbox_rerunpass
Clearance and rate0 violations below 8 mm, mean cycle <= 2.40 s0 violations, min 23.62 mm, 1.913 s/picksealed_sandbox_rerunpass
Report reproducesstated figures == platform's own re-run9/9 figures reproduce exactlyexperiment_reproductionpass

One hundred randomised episodes

100/100episodes fully packedbar: 95/100
31.37picks per minutebar: 25.00
23.621 mmclosest the arm came to a fixturebar: 8.00 mm · 0 violations
0.021 mmworst placement errorbar: 12.0 mm

400/400 sleeves placed, 0 vacuum seal failures. Mean cycle 1.913 s, p95 2.402 s. Seeds 20260804..20260903, MuJoCo 3.11.0 on Darwin-arm64, 13.13 s wall clock. Model SHA-256 78d09d4bf7d8e2eb.

Two refusals, and two defects in our own work

  1. Revision Acolumn on the belt datum, as proposed

    refused 403/865 poses unreachable

    The far half of the sealed pick window sits outside the dexterous envelope — worst deficit 253.8 mm at a reach of 0.914 m against a usable 0.660 m.

    work/capstan/acceptance/leaf-1-layout-revA.json
  2. Revision Bcolumn relocated down-belt, servos as quoted

    refused 4.298 s/pick — 14.0 picks/min

    Grasp passes 100/100 immediately. Throughput does not: the cell runs at 56% of the rate the line quote is built on.

    work/capstan/acceptance/campaign-revB.json
  3. Revision B, retunedservos re-solved for critical damping

    refused 2.997 s/pick — 20.0 picks/min

    Retuning recovers 1.30 s/pick and is still not enough. The remaining cost is geometric, not electrical.

    work/capstan/acceptance/campaign-revB-tuned.json
  4. Revision C, first standcase moved beside the belt

    refused 59.0 mm inside the dead zone

    The inner case cells landed at r = 0.212 m, closer than the elbow can fold against its 2.53 rad stop — 2 of 865 sampled poses unreachable, and both of them a cell the machine has to reach every cycle. Caught by the envelope probe in under a second instead of by a wasted campaign.

    work/capstan/acceptance/leaf-1-layout-revC0.json
  5. Revision Ccase cleared of the dead zone, servos tuned

    passed 1.913 s/pick — 31.4 picks/min

    All four criteria hold. The arm, the servo hardware and the gripper are the ones already quoted — what moved is where the column and the case stand, and how the loops are tuned.

    work/capstan/acceptance/campaign-revC-tuned.json

Two causes, told apart by the checks

An arc the machine cannot shortcut

216.8 deg

With the case parked opposite the pick window, every transfer asked the shoulder for 216.8 degrees. The shoulder stops at +/-150, so it cannot take the short way round — it travels the long arc, twice per pick.

Fix: case moved alongside the downstream end of the belt

Servos quoted overdamped

zeta 1.90 - 4.30

Every axis was delivered between zeta 1.90 and 4.30. Each move ended in a long exponential crawl into tolerance, costing about 2 s per pick in settle that does no work.

Fix: each axis re-solved for critical damping against the model's own mass matrix, at twice the quoted stiffness, torque demand still inside the published limits

Every axis re-solved against the model's own mass matrix

AxisInertiaDamping ratioStiffnessVelocity gain
shoulder0.6752261.897 → 1.00026005200150109.5
elbow0.1555853.077 → 1.000150030008837.2
lift1.6281652.228 → 1.000520010400320170.3
wrist0.0121724.303 → 1.00012024092

What the probes caught in our own delivery

IK that ignored joint travel

The solver returned shoulder angles outside the +/-150 deg stop. The servo saturated against its limit at 292 N-m and parked the tool 42.9 mm from the commanded point while reporting success.

Fix: every wrapped solution enumerated, then filtered to the ones the machine can hold

A probe checking the wrong annulus

The envelope probe tested the geometric reach of 0.100 m and passed a layout the physics then refused 100/100. The elbow's stop makes the true inner radius 0.231 m.

Fix: the probe now computes the joint-limited envelope and tests real IK feasibility across arrival yaws

The bytes, and what the probes made of them

The evidence video is a direct render of the simulated trajectories — frames captured from the same stepped run that produced the numbers. No generative model touched it, so the rendering cannot disagree with the physics it depicts.

The media probes below measure the delivered video bytes only. They are evidence about the artifact, never about the engineering, and nothing on this page rests on them.

Frames are captured from the same stepped simulation that produces the numbers, through the cycle program’s per-step hook — the video is the run, not a re-enactment of it. Master: 712 frames, 1280×720, 23.733 s, 1,787,813 bytes, SHA-256 34d493cad1faa15c.

ProbeResult
ffprobeh264 1280x720, 23.733 spass
black frames0/5 sampled frames blackpass
frame duplicationno duplication; low motion onlypass
temporal flaws0 deterministic flawspass
audio trackno audio track a rigid-body validation render has nothing to sound; the contract declares no audio deliverable, so the probe's failure is recorded rather than filteredfail

simulator computes, renderer only depicts

Generated video may render physics a simulator computed. It may never be the source of the physics.

The probes on this page measure bytes. Asked to judge physics they are not merely weak, they are silent — a sister lane measured them passing every content-bearing check on clips a person refused on sight. That is why the engineering verdicts here come from the solver and the video is only a picture of them.

A model asked to generate the physics refused

nvidia/Cosmos3-Edge · 4B · 3 clips

every content-bearing probe passed on 3/3 clips — codec, black frames, duplication, temporal scan.

  • camera instruction ignored3/3
  • commissioned robot absent or incoherent3/3
  • object identity or scene unstable3/3
  • unsupported floating objects2/3
  • interpenetration at contact2/3

the audio-track probe failed on all three, a configuration fact rather than a model defect: generation ran with sound disabled, and the lane recorded the failure rather than filtering it.

An engine asked to compute it holds

isaacsim 6.0.1.0 · contact to 22 nm

timestep 0.01667 s (59.99 Hz) and gravity 9.81 m/s², both recovered from the trajectory alone, constant to 5 decimal places.

  • 2.24e-08 m of rest jitter over the final 40 frames
  • resting z 0.09999828 m against a 0.1 m cube half-edge — on the plane, not through it

a quantity you can hold a contract to.

The sister lane reached the same rule from its own side: Best composition with the MuJoCo pick-and-place flagship is Cosmos as appearance/domain randomizer conditioned on simulator-true geometry, not as the physics generator.

Both runs were measured on an A100-SXM4-40GB, not the H100 the lane asked for. The receipt says so on every figure, and none of these numbers should be reported as H100 numbers.

docs/qa/artifacts/20260804-colab-gpu-engines/

One contract, four priced sub-contracts

Every price is the estimator’s own output over the pinned pricing policy. The acceptance method on each line is derived from that leaf’s check family by the platform’s disclosure — the contract cannot advertise one method while a different machine judges it.

cell layout + reach envelope

£905.00sealed_sandbox_rerunWe run the delivered work ourselves in a locked-down box and watch how it finishes

grasp controller + trajectory

£905.00sealed_sandbox_rerunWe run the delivered work ourselves in a locked-down box and watch how it finishes

randomised validation suite

£905.00sealed_sandbox_rerunWe run the delivered work ourselves in a locked-down box and watch how it finishes

engineering report + evidence video

£248.75experiment_reproductionWe run the delivered work ourselves, twice, and work out every number the report gives — each one has to come out the same as ours, inside the tolerance you agreed. What the author says their own result was is never the evidence for it
Four sub-contracts, platform fee £0.00, conserves exactly£2,963.75

Settled on Stripe test-mode PaymentIntent pi_3U0lQGFFRbB25fA705cnpuCg succeeded, £2,963.75, livemode false. Tree content hash 5163c68cc9680df6.

What it can't catch

This is a simulation-validated design, not a measurement of a built cell.

Every figure is the output of a rigid-body simulation of the delivered model — which is exactly what a robotics-simulation consultancy delivers before capital is committed, and exactly what it cannot tell you on its own.

  • belt motion and jitter — sleeves are seeded at rest
  • vision latency and pose error — the cell is given exact sleeve poses
  • cup wear and leak-down — the vacuum grasp is a weld gated on a measured engagement condition
  • sleeve crush — sleeves are rigid bodies
  • electrical, safety, and guarding assessment