pegtactile op• データ種: signal × signal × table → table
• 呼び出し: import fullseye as fs; fs.ledger.peg_wrench_to_pad_loads(F_pad, M_pad, pad: 'dict') -> 'dict' (実装を直接呼ぶなら import pegtactile; pegtactile.peg_wrench_to_pad_loads(F_pad, M_pad, pad: 'dict') -> 'dict'、台帳から引くなら opsdrive.get("peg_wrench_to_pad_loads"))
2 つのパッドがペグに加えるレンチ(グリッパ系、把持点まわり)→ 各パッドの (法線力 P、膜が受けるせん断 q = (q_u, q_v))。
釣り合い(導出): パッド R(+x)はペグに −N_R x̂ と T_R、L(−x)は +N_L x̂ と T_L。F_x = N_L − N_R、F_y = T_Ry + T_Ly、
F_z = T_Rz + T_Lz、M_y = −w(T_Rz − T_Lz)、M_z = w(T_Ry − T_Ly)、M_x = ねじり(半分ずつ)。法線は把持力で N = G₀ ∓ F_x/2。
返り: `R・L(各 P・q(膜が受ける = −T)・slip_ratio = |q|/(μP)・torsion(膜が受けるねじり)・torsion_ratio`
= |ねじり| / 全滑りトルク (3π/16)μPa)、`torsion(ペグへのねじりの半分 M_x/2)、ok(両方 |q| < μP)、min_margin`、
`torsion_ok`。滑り(|q| ≥ μP)とねじりの全滑りは印で返す(例外にしない: 合成は比例載荷・無滑りねじりの模型)。
Raises ValueError: 形が (3,) でない・有限でない、どちらかのパッドの法線力が 0 以下(パッドが離れる = この写像の外。fail-closed)。
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_peg_insertion_tactile — py -3.11 examples/poc_peg_insertion_tactile.py
table を入力に取れる)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pegtactile)pad_params · pad_context · pad_loads_to_peg_wrench · pad_shear_asymmetry · pad_marker_displacement · pad_tactile_frame · pad_tactile_read · contact_candidates
*Provenance: pegtactile.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.