drag orbit · right-drag pan · scroll zoom
origin = field center @ tile surface · +X → BLUE wall · +Y → far side wall
BIOBUZZ — SHOOTING ZONE
Where a POLLEN can be launched into the RED up-CELL.
Geometry controls are further down.
Best viewed on a computer. This 3D simulator needs a mouse
or trackpad and plenty of screen space. On a phone the field is cramped, the panel
covers most of the view, and orbit/zoom are hard to control — open it on a laptop or
desktop for the full experience.
The HIVE is a weight-triggered flipper. Each alliance's two
CELLs ride one beam on a central pivot + damper. You shoot into the high CELL
(opening 53.5–65.6″). Balls accumulate, the moment arm grows, and past a threshold
the beam flips — dumping the load and sending the other CELL high.
Consequence for your robot: after every flip the live target moves to the
opposite end of the beam, so it now faces the other side wall. A single fixed
shooting spot cannot feed both. Drag Seesaw tilt to see the swap.
Target surface
Cyan face = the surface a ball must pass through.
Yellow inner outline = what's left after POLLEN's 1.4″ radius — that is the
real target. Cyan arrow = outward normal.
Shooting zone
⚠ Calibration — the soft number
Every other dimension here is from the manual or derived from one.
Cd is a guess. These balls are
perforated, so air passes through the holes and the real value could be
anywhere in 0.4–0.8. Tune it below, or measure it.
—
How to get the right number
Film one shot and fit it. Three unknowns
(v0, launch angle, Cd) against 30–60 tracked points.
Work through the steps below, then type your fitted Cd into the
box above.
Shoot one ball across open space — flat and fast, not at your
game hood angle.
Film 60–240 fps, camera square to the plane of flight, no panning.
Put a metre stick in the plane of flight. Wrong pixels-per-metre
is the dominant error.
Track the ball centre in 15–40 frames; record t,x,y rows in
seconds and metres.
Fit v0, launch angle and Cd to those points —
any least-squares solver works — then repeat the shot ×3 and average
the results.
Why flat and fast: Cd precision (1σ,
3 mm tracking noise)
lofted 70°, 5.9 m/s
2.1 m span
±1.5%
medium 50°, 6.6 m/s
3.8 m
±0.8%
flat 30°, 9.0 m/s
5.9 m
±0.4%
very flat 15°, 12 m/s
6.5 m
±0.3%
A lofted shot only travels ~2 m, so there is little drag signal. Frame rate
barely matters (30 fps → ±0.6%); tracking precision matters more.
Bonus: the fit returns v0 too. Pair it
with the flywheel RPM you used and you have your RPM → exit-speed calibration —
which this model cannot predict, and which differs between POLLEN and NECTAR
because they differ in mass by 62%.
Weaker alternative: drop from 3 m and time the
fall. Only ~22 ms of drag signal (~5 frames at 240 fps); ±30% on
Cd moves it just ~7 frames. Needs many repeats.
ALL mode — your 1σ error budget:
Not computed yet.
tol ≥10%
8–10%
6–8%
4.5–6%
2–4.5%
<2%
both states
Click any tile to drop a shooter
there and draw the best trajectory.
Confirmed — from manual figures
Field, 6×6 × 24″ TILES
144 × 144″FIG
Frame width (X)
49.46″9-8
Frame depth (Y)
38.95″9-8
Pivot height
43.95″9-8
HIVE center-to-center
25.5″10-3
CELL pair total span
42.91″CELL
CELL extent / gap
12.04″ / 18.84″CELL
CELL opening width
20.0″9-11
CELL opening height (in-plane)
14.0″9-11
Gable shoulder height
7.61″9-11
Opening tilt callout
30°10-3
Top of opening (up CELL)
65.6″10-3
Bottom of opening (up CELL)
53.5″10-3
Bottom of HIVE (down CELL)
25.5″10-3
POLLEN / NECTAR dia.
2.8″ / 3.6″9-8
Derived
CELL center-to-center 12.04 + 18.84
30.88″DER
Beam half-length
15.44″DER
Opening plane tilt asin(12.1 / 14.0) — makes the
30° callout exact
59.87° from horiz.DER
Outward normal
30.13° above horiz.DER
Opening horizontal span
7.03″DER
Effective target, POLLEN less 2×1.4″ ball radius
11.2 × 17.2″DER
Mouth radius along the arm 14.0 / sin30.13° — CELL is
square to its arm
27.88″DER
Mouth offset from mast cross-check 15.44 + 12.04 = 27.48
24.11″DER
Outer-to-outer check 2×(15.44+12.04/2) = 42.91 ✓
42.91″MATCH
Pair symmetry center (25.5+65.6)/2 — 1.6″ above pivot
45.55″DER
UP opening center z
59.55″DER
DOWN opening 180° copy: 91.1−65.6 / 91.1−53.5
25.50 → 37.60″DER
DOWN opening center z
31.55″DER
Still estimated — tune & confirm
Beams run along Y;
RED up-CELL on +Y.
Corrected: openings are the outboard end faces of each
CELL box — they face OUT, not up. Normal sits 30° above horizontal. The arrows show it.
Still to verify:
1. Beams run along Y (side walls), 25.5″ apart along X (red↔blue) — read from
Fig 10-3-left's ~40″ base span matching Frame Depth 38.95″.
2. RED's up-CELL faces +Y, down-CELL faces −Y (pinwheel).
3. Every dimension is now either from the manual or derived from one — nothing
is a free estimate. The CELL is square to its support arm.
Views
Layers
Live CELL coordinates
Aperture center + outward normal n.
A shot scores when it crosses the mouth with velocity opposing n.
Legend
RED CELL
BLUE CELL
POLLEN 2.8″
FLOWER FIG manual DER derived
EST estimated
Shooting zone — colour code & tolerance
How every tile on the field gets its colour.
What the colour means
The colour encodes one number: launch-speed tolerance — how far
the exit speed can drift and still score. It is not distance, and not a
probability of scoring.
colour
tolerance
read it as
#2ecc71
≥ 10 %
wide margin — build here
#78d250
8 – 10 %
good
#c8d23c
6 – 8 %
workable
#f0b432
4.5 – 6 %
marginal — practical floor
#e67832
2 – 4.5 %
tight
#c83c32
< 2 %
not repeatable in a match
#7a4fd0
—
DUAL mode only: scores in both flip states
none
—
no shot exists from here
Tiles are drawn at 72 % opacity (80 % for purple).
Why speed tolerance and not "how centred is the shot"
The first version of this tool coloured tiles by how close the ball passed to the centre of
the opening. That metric saturated — the speed list almost always contains some value
that threads the middle, so nearly every tile scored full marks and the map was useless.
Speed tolerance is what actually limits a real shooter, so that is what is plotted.
How tolerance is computed
Build a trajectory table. For every hood angle 25–80° in 5° steps, and every launch
speed from 3.0 m/s to your max in 0.25 m/s steps, integrate one flight.
Trajectories do not depend on where the robot stands, so the table is built once and reused
for all tiles.
Integrate a point mass with quadratic drag, dt = 1.5 ms, resampled onto a
1-inch horizontal grid out to 160 in.
For one tile, aim at the opening centre, then walk the speed list at each hood and
test every trajectory against the seven scoring conditions below.
Find the longest unbroken run of speeds that all score. Gaps do not count — only a
continuous window is usable.
Convert to a percentage, then keep the best hood (or the one you pinned in
Fixed hood mode).
a = −g·ẑ − k·|v|·v k = ½·ρ·C_d·A / m
POLLEN d 2.8 in m 24 g C_d 0.55 → k = 0.0558 /m v_term 13.3 m/s
NECTAR d 3.6 in m 45 g C_d 0.55 → k = 0.0492 /m v_term 14.1 m/s
tolerance = 100 · ½ · (n · ΔV) / v_centre ΔV = 0.25 m/s
n = number of consecutive speeds that score
Worked example
Say a tile scores at 5.50, 5.75, 6.00, 6.25, 6.50, 6.75 and 7.00 m/s, and fails either side.
That is n = 7, centre 6.25 m/s, width 7 × 0.25 = 1.75 m/s:
Click any tile and the readout prints the window it found, so you can check this yourself.
Quantisation. With n discrete samples the true
continuous window lies between (n−1)·ΔV and (n+1)·ΔV. The tool reports
n·ΔV, the midpoint — so every tolerance carries about ±0.125 m/s of
grid error, which is roughly ±2 % at 6 m/s. Do not read the last digit as meaningful.
What counts as a score
All seven must hold:
Inward crossing. The path crosses the opening plane with v·n < 0 — moving
into the box, not out of it.
Inside the frame. The crossing point lies within the real gabled outline, inset by the
ball radius (1.4 in for POLLEN), so the ball clears the tube frame.
Entry angle ≥ 18° to the plane. Shallower than that and it skips off the lip.
Penetration. Carrying one full ball-diameter along the inward normal, the ball must
still be clear of the frame — it has to end up in the box, not graze the mouth.
No obstruction. The path is tested every 3 in against bounding boxes for the other
three CELLs and the sponsor banner.
Apex ≤ 84 in (adjustable). Without this the solver finds 124-inch moon shots that
score from behind the HIVE — geometrically real, practically nonsense.
Speed ≤ your max slider.
What the colour does not tell you
Gradient. Tolerance is evaluated at the tile centre only. Two yellow tiles can differ
wildly in how fast the required speed changes as the robot moves, so one forgives a 3-inch
localisation error and the other does not.
Aim error. Only launch speed is swept. Yaw and hood error are not folded in.
No spin. Backspin and Magnus lift are not modelled — real shots with heavy backspin
fly flatter and longer than this predicts.
Nominal seesaw. The map is computed with the HIVE level. Tilt it and recompute.
Numbers that are still estimates
quantity
value
source
Opening width across
22 in
estimated from Fig 10-3 right view
Opening offset from mast
18 in
estimated from CAD proportions
POLLEN mass / C_d
24 g / 0.55
estimated — perforated PE ball
Opening 53.5 – 65.6 in, 30° tilt
—
manual, Fig 10-3
Frame 49.46 × 38.95, pivot 43.95
—
manual, Fig 9-8
CELL 12.04 deep, 42.91 span
—
manual, Fig 9-9
Ball mass and drag coefficient scale the required speed directly. If you
weigh a real POLLEN and it is 30 g rather than 24 g, every speed here shifts — the
shape of the zone barely moves, but the numbers do.