puck op• Data kinds: signal × table → any
• Call: import fullseye as fs; fs.ledger.fivebar_ik(E, link: 'dict', *, branch: 'str' = 'out') (to call the implementation directly, import puck; puck.fivebar_ik(E, link: 'dict', *, branch: 'str' = 'out'); from the registry, opsdrive.get("fivebar_ik"))
Inverse kinematics: tip E → (q₁, q₂). Elbow of arm i = circle(Aᵢ, l₁) ∩ circle(E, l₂); "out" puts the elbow outside (arm 1 on the −y side, arm 2 on the +y side), "in" the opposite. None if out of reach (fail-closed). The region where FK∘IK = identity is the workspace (fivebar_workspace).
• 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.
• poc_air_hockey_intercept — py -3.11 examples/poc_air_hockey_intercept.py
any as input)course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road
puck)puck_table · puck_wall_bounce · puck_slide_predict · puck_state_at · puck_crossing_point · puck_mirror_path · puck_stop_distance · puck_camera
*Provenance: puck.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.