Mobirise Website Builder

How does the camera triangulation behind Gungnirdarts work?

In our previous post we gave the short version: cameras around the edge of
the board work together to determine where a dart lands. Time to dig a bit
deeper, because the way this actually happens involves some pretty neat
math.

Not a top-down view, but an edge-on view

A common assumption is that these systems look down at the board from
above, like a security camera. That's not the case with Gungnirdarts. The
cameras — up to four — are built into the ring around the board, at
roughly the height of the board surface itself, and look almost
horizontally across the board. Each camera covers a big part of the board
and has a fixed, known position within the system.

To make sure every camera sits at exactly the right height, a calibration tool
is used that is placed on the board and points to where the camera should be.
The camera can then be moved up or down until it sits at the correct height.

From pixels to an angle

Each camera continuously maintains a calm "background image" of the board.
The moment something changes — a dart landing, or a hand pulling a dart
out — that difference is detected and analyzed. Based on the shape, area
and outline of that difference, the system determines whether it's a dart
that just landed, or a dart being removed (an important distinction: you
don't want the act of pulling darts out to be mistaken for a new throw).

On a valid hit, the camera then calculates an angle: from that camera's
fixed position to the dart position in the camera view.

Where the lines cross

Camera position plus the angle to the dart together form an imaginary line (a
"ray") running from the camera toward the dart. One line alone isn't
enough to pin down a point — but with two or more cameras each
contributing their own line, the system can calculate the intersection.
When more than two usable lines are available, all the pairwise
intersections are compared, and the largest, most consistent cluster is
used as the best estimate of the hit position. Lines that run nearly
parallel to each other — which would produce an unreliable intersection —
are automatically excluded.

The result: a position on the board that can then simply be converted into
a score, since the rings (bull, triples, doubles) and the 20 sectors have
already been calibrated.

Why this matters

This kind of detail might sound like something only engineers care about,
but it explains exactly why camera placement, mounting height and
calibration get so much attention in the development of Gungnirdarts: a
few millimeters of error in camera height, or a sector that isn't quite
perfectly calibrated, directly affects the accuracy of every single throw.
Once calibrated the system usually stays calibrated until a board change
or rotation. No need to calibrate every time before matches or when a
camera is bumped. Easy does it!

© Copyright 2024 - Gungnirdarts. All Rights Reserved.