THROW-RIG_
A spring-loaded arm that releases an object onto a repeatable 3 m ballistic arc, so a perception loop can be tested against something that does not get tired. Landing scatter is the specification; everything else on the rig exists to hold it.
- Landing scatter
- 14 mm
- 95% radius on the floor plane at 3 m, n = 200 throws
- Throw distance
- 3.0 m
- release point to first contact, tape, mean of 200
- Cadence
- 5.20 s/throw
- median of 200 throws including magazine index
- Build
- 11 d
- Brief → 200-throw logged run
- △3 · 03-20
- Cut a 55° stop block for high, slow arcs. Used to collect 3,100 of the detector training frames.
- △2 · 03-01
- Added a hardware trigger out so every throw carries a timestamp on the camera clock.
- △1 · 02-24
- Release moved from a servo-commanded angle to a ground hard stop. Scatter 61 mm → 14 mm.
- Release speed
- 5.40 m/s · 240 fps video, two-frame differential, n = 200
- Speed spread
- 1.40% · coefficient of variation of release speed, n = 200 throws
- Release angle
- 42 ° · set by a ground hard stop, checked with a digital level
- Throws logged
- 2400 · controller counter, through 2026-04
- Arm length
- 620 mm
- Height
- 1180 mm
- Mass
- 21.5 kg · scale, n=1
- Parts
- 74
What we were asked for.
We built this before BDR-26-04 had a brief, to answer a question that came first: can a throw be fixtured repeatably enough that a perception loop can be tested against it, rather than against nine people with different arms.
A test fixture is a machine. It has a tolerance, it has a failure mode, and if the tolerance is not tighter than the thing it measures, it is furniture. The number we needed was landing scatter well inside the impact error we expected the bin to have.
The targets, and what we actually hit.
| Constraint | Target | Achieved | How measured |
|---|---|---|---|
| Landing scatter at 3 m | ± 20 mm | ± 14 mm | 95% radius, carbon paper on the floor plane, n = 200 |
| Release speed spread | < 2% | 1.4% | coefficient of variation from 240 fps video, n = 200 |
| Cadence | < 6 s/throw | 5.2 s | median including magazine index, 200 throws |
| Unattended run before a jam | 500 throws | 180 throwsMissed | four unattended runs, stopped at first magazine jam |
| One person can move it between rooms | Under 25 kg, no tools | 21.5 kg, four thumb screws | scale, and two people timed carrying it upstairs |
Targets were set at kickoff, before the first part was cut. A target we missed stays on the sheet with the number we actually got.
How it moves.
A torsion spring drives a 620 mm arm into a ground hard stop, and the object leaves the arm at the stop rather than at a commanded position. Every version of this rig that tried to set the release with a servo was worse: the servo repeats its position to within a tenth of a degree and the object still leaves whenever it feels like it, because what matters is the instant the retaining finger clears, not where the arm is.
Release angle is set by swapping a ground stop block, not by a control parameter. Three blocks cover 32°, 42° and 55°. This is the same reasoning as the folding cell in BDR-26-03 and it is the one design habit we would defend hardest: where repeatability beats flexibility, put the number in steel.
What it runs on.
One board, two-layer, doing three things: cock the arm with a geared DC motor, fire the solenoid that holds the finger, and stamp the release instant onto the same clock the camera rig uses. The third of those is the whole reason the board exists — a throw with no timestamp is a throw you cannot correlate against a frame.
| Subsystem | Specification |
|---|---|
| Board | 2-layer, 60 × 84 mm, 1 spin |
| MCU | STM32G031 |
| Cocking drive | 12 V geared DC, current-limited, 4.8 s |
| Release | Solenoid, 8 ms to finger clear |
| Sync | Hardware trigger out, shared clock with the camera rig |
| Magazine | Gravity feed, 12 objects |
Measured, and where it fails.
Where it fails
- Soft or compliant objects deform against the magazine finger and index crooked. That is the jam that ends every unattended run.
- Below about 12 °C the torsion spring rate shifts enough to move the landing point 30 mm long. We warm the rig up for ten minutes and throw twenty before logging anything.
- The rig throws one object shape at a time. Changing shape means a new magazine finger, which is a twenty-minute print and a recalibration.
What it did.
14 mm of landing scatter at 3 m over 200 logged throws, against a 20 mm target. That is roughly a fifth of the impact error BDR-26-04 predicts from vision, which is the margin that makes the rig usable as a reference rather than as a second source of error.
It logged 2,400 throws in its first two months and produced the frames the bin detector was trained on. The unattended-run target was missed by a wide margin and stayed missed: the magazine jams on soft objects roughly every 180 throws, and we chose to keep feeding it by hand rather than spend three days on an indexer for a rig that had already done its job.
Elapsed days between recorded milestones, drawn to scale from the dates. The overall dimension runs from the brief to the last entry.
What changed since.
| Rev | Date | Change | By |
|---|---|---|---|
| △3 | 2026-03-20 | Cut a 55° stop block for high, slow arcs. Used to collect 3,100 of the detector training frames. | DZ |
| △2 | 2026-03-01 | Added a hardware trigger out so every throw carries a timestamp on the camera clock. | RM |
| △1 | 2026-02-24 | Release moved from a servo-commanded angle to a ground hard stop. Scatter 61 mm → 14 mm. | DZ |
What we would do next
The magazine is the whole problem. A rotary escapement with a positive object grip instead of a gravity finger would take the unattended run past 500 and is about two days of work.
We would put a thermistor on the spring and correct the commanded cocking angle for temperature, rather than warming the rig up by hand.
A second release stop at 20° would let us test flat, fast throws, which is the arc the bin currently handles worst.
Who built it, and when.
- Entry
- TOOL
- Status
- ● SHIPPED
- Brief
- 2026-02-16
- Demo
- 2026-02-27
- Elapsed
- 11 d
- Built by
- DZ, RM
- MEC
- Mechanical design
- FAB
- Fabrication and finishing
- ELE
- Electronics and PCB
- FRM
- Firmware
- CTL
- Controls and motion