fullseye

contact_state_from_wrench — DRIVE pegtactile op

使い方

接触レンチ(ペグが穴から受ける F と把持点 g まわりの M、世界系)→ 接触状態(学習なしの規則)。

単一の点接触なら、その点まわりのモーメントは 0(点に偶力なし)。幾何的に触れうる候補点 c(:func:contact_candidates)ごとの 正規化残差 e(c) = |M_g − (c − g) × F| / (|F| r) の最小が tau 未満なら一点(先端の縁で深さ < W なら面取り)、どの候補でも説明 できず先端と胴の両方に有効な候補があれば二点、|F| < f_air なら無接触。geometry なら Whitney の幾何を優先する: 傾き θ で 先端が最狭部から l₂(θ) − tol_l より深ければ両側に触れるしかない(二点を強制)。くさびの境目 θ = c/μ では先端の摩擦円錐の縁が 口の接触点を通り(口と先端を結ぶ線の傾き c/θ = μ)、二点のレンチが「口の一点」と区別できない —— レンチだけの規則の原理的な死角。 返り state(:data:CONTACT_STATES)、e_tip・e_mouth、where(“none” / “tip” / “mouth” / “tip+mouth” / “?”)、 c(当たった点、一点のとき)、Fmag・depth・forced。Raises ValueError: ベクトルが有限の 3 成分でない、tau ≤ 0。

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

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

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

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

同カテゴリ(pegtactile)

pad_params · pad_context · peg_wrench_to_pad_loads · pad_loads_to_peg_wrench · pad_shear_asymmetry · pad_marker_displacement · pad_tactile_frame · pad_tactile_read


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

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