puck opsignal × table → anyimport fullseye as fs; fs.ledger.fivebar_fk(q, link: 'dict', *, branch: 'str' = 'forward') (実装を直接呼ぶなら import puck; puck.fivebar_fk(q, link: 'dict', *, branch: 'str' = 'forward')、台帳から引くなら opsdrive.get("fivebar_fk"))順運動学: 関節角 (q₁, q₂)(各腕の近位リンクの x 軸からの角)→ 先端 E。肘 Bᵢ = Aᵢ + l₁(cos qᵢ, sin qᵢ)、
E = 円(B₁, l₂) ∩ 円(B₂, l₂) の “forward”(x が大きい側)か “back”。返り値 {"E", "B1", "B2"}、交わらなければ None。
py -3.11 examples/poc_air_hockey_intercept.pyany を入力に取れる)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. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.