puck opsignal × table → anyimport fullseye as fs; fs.ledger.fivebar_ik(E, link: 'dict', *, branch: 'str' = 'out') (実装を直接呼ぶなら import puck; puck.fivebar_ik(E, link: 'dict', *, branch: 'str' = 'out')、台帳から引くなら opsdrive.get("fivebar_ik"))逆運動学: 先端 E → (q₁, q₂)。腕 i の肘 = 円(Aᵢ, l₁) ∩ 円(E, l₂)、”out” は肘が外側(腕 1 は −y 側、腕 2 は +y 側)、
“in” はその逆。届かなければ None(fail-closed)。FK∘IK = 恒等になる領域が作業域(:func:fivebar_workspace)。
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.