fullseye

diabolo_spheroid — DRIVE diabolo op

使い方

棒の先 2 点(焦点)と糸の長さ → 補助の回転楕円体: a = l/2、c = x_L − x_R /2、b = √(a² − c²)(式 1 の正しい形)。

★原文の (1b) は b = √(a² − |x_L − x_R|/2) で、長さと長さの 2 乗の差なので次元が合わない。論文の実機寸法(糸 1.45 m、棒の間隔 1.10 m)を入れると根の中が負になる(NaN)。楕円の恒等式 a² = b² + c² の形に直した(公開実装も 2 乗で書いている)。原文の値は b_paper_literal に残す。原文の前文は「半長軸 b と半短軸 a」と名前が逆(a = l/2 が半長軸)で、式の側に従う。

返り {"center", "axis"(x_L − x_R の単位ベクトル), "a", "b", "c", "b_paper_literal"}。 Raises ValueError: 間隔 ≥ 糸、棒が重なる、有限でない入力。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

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

同カテゴリ(diabolo)

diabolo_params · spheroid_closest · diabolo_dynamics_step · diabolo_simulate · diabolo_state_sequence · diabolo_throw_catch_truth · string_tension_static · string_tension_from_sag


Provenance: diabolo.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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