puck opany × signal × table → tableimport 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' (実装を直接呼ぶなら 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'、台帳から引くなら opsdrive.get("striker_plan"))打点計画(規則): 予測の交点へ IK で関節角を出し、各サーボを一定角速度 ≤ ω_max で動かす。所要 = max|Δq|/ω_max。
交点の到着より先に着けば feasible。返り値 {"feasible","reason","q_target","dq","t_move","t_arrive","t_cross","E"}、
reason ∈ {“ok”,”no_crossing”,”unreachable”,”too_late”}。crossing = :func:puck_crossing_point の返り値(None 可)。
ω_max = 6 rad/s の既定は仮定。
py -3.11 examples/poc_air_hockey_intercept.pytable を入力に取れる)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 ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.