puck op• Data kinds: any × signal × table → table
• Call: import fullseye as fs; fs.ledger.striker_plan(crossing, q_now, link: 'dict', *, omega_max: 'float' = 6.0, t_now: 'float' = 0.0, margin: 'float' = 0.0) -> 'dict' (implementation को सीधे call करना हो तो import puck; puck.striker_plan(crossing, q_now, link: 'dict', *, omega_max: 'float' = 6.0, t_now: 'float' = 0.0, margin: 'float' = 0.0) -> 'dict', registry से लेना हो तो opsdrive.get("striker_plan"))
strike planning (rule-based): अनुमानित crossing बिंदु के लिए IK से joint कोण निकालता है और हर servo को स्थिर angular velocity ≤ ω_max से चलाता है। आवश्यक समय = max|Δq|/ω_max। crossing बिंदु पर puck के आने से पहले पहुँचे तो feasible। return value {"feasible","reason","q_target","dq","t_move","t_arrive","t_cross","E"}, reason ∈ {"ok","no_crossing","unreachable","too_late"}। crossing = puck_crossing_point की return value (None भी चलता है)। default ω_max = 6 rad/s एक मान्यता है।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_air_hockey_intercept — py -3.11 examples/poc_air_hockey_intercept.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
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 note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.