spin_from_marker_sequence — DRIVE balltrack op

• Data kinds: any → table

• Call: import fullseye as fs; fs.ledger.spin_from_marker_sequence(dirs, dt: 'float', *, lag: 'int' = 4, max_angle: 'float' = 0.5) -> 'dict' (implementation को सीधे call करना हो तो import balltrack; balltrack.spin_from_marker_sequence(dirs, dt: 'float', *, lag: 'int' = 4, max_angle: 'float' = 0.5) -> 'dict', registry से लेना हो तो opsdrive.get("spin_from_marker_sequence"))

उपयोग

frames के क्रम की marker दिशाओं dirs[k] ((M_k, 3) unit vectors, जिन frames में नहीं मिला वहाँ None) से angular velocity पढ़ता है (2 stages)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

1 段目: 隣のコマ同士で、向きが max_angle [rad] 以内で最も近い模様を組にして Kabsch(spin_from_markers)、その中央値を ω₁ とする。2 段目: lag コマ離れた組を、前のコマを ω₁ で回した予測に最も近い模様(max_angle/2 以内)と組んで当て直す —— 回転角が lag 倍になるので、模様の位置の誤差が効く割合は 1/lag。★1 コマの回転角は max_angle より十分小さいこと(模様の取り違え)、lag コマの回転は π より小さいこと(Kabsch は最短の回転を返す)。返り値 {"omega", "omega_stage1", "n_pairs", "per_pair" (N, 3)}(ω は dirs と同じ座標系)。組が 1 つも無ければ ω は NaN。模様が見えた向きの組が要るので、各コマ 2 個以上の模様が要る。

संदर्भ (sample data, साहित्य)

• 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 में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_table_tennis_bounce — py -3.11 examples/poc_table_tennis_bounce.py

• poc_table_tennis_spin — py -3.11 examples/poc_table_tennis_spin.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

इसी category के (balltrack)

ball_detect · ball_track · kalman_ca · triangulate_dlt · track_triangulate · bounce_detect · marker_direction · spin_from_markers


*Provenance: balltrack.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.