diabolo_throw_catch_truth — DRIVE diabolo op

• Data kinds: signal × signal × matrix × table → table

• Call: import fullseye as fs; fs.ledger.diabolo_throw_catch_truth(p0, v0, sticks, params: 'dict', *, t_min: 'float' = 0.0, t_max: 'float' = 5.0, n_grid: 'int' = 2001) -> 'dict' (to call the implementation directly, import diabolo; diabolo.diabolo_throw_catch_truth(p0, v0, sticks, params: 'dict', *, t_min: 'float' = 0.0, t_max: 'float' = 5.0, n_grid: 'int' = 2001) -> 'dict'; from the registry, opsdrive.get("diabolo_throw_catch_truth"))

• GPU: none (CPU reference implementation only)

Usage

The first time at which the parabola (closed form) from the release state (p0, v0), after its apex, enters the region "below the plane joining the sticks and s < c_F" relative to the catching sticks sticks (fixed (2, 3)) (the paper's FLYING → ON_STRING condition + the plane rule; the caller checks that the string is taut).

Also returns the apex t_apex = v_z/g and the height v_z²/(2g). The root is found by looking for a sign change on a grid of n_grid points and refined by bisection (80 iterations). If there is no catch, t_catch = NaN. Raises ValueError: shape, t_max ≤ t_min, n_grid < 3.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_diabolo_model_and_vision — py -3.11 examples/poc_diabolo_model_and_vision.py

Ops the type connects to (they accept table as input)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Same category (diabolo)

diabolo_params · diabolo_spheroid · spheroid_closest · diabolo_dynamics_step · diabolo_simulate · diabolo_state_sequence · string_tension_static · string_tension_from_sag


*Provenance: diabolo.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.