pad_tactile_read — DRIVE pegtactile op

• データ種: table × table → table

• 呼び出し: import fullseye as fs; fs.ledger.pad_tactile_read(frame: 'dict', pad: 'dict', ctx=None, track=None, pixelwise: 'bool' = True, torsion_model: 'str' = 'partial_slip') -> 'dict' (実装を直接呼ぶなら import pegtactile; pegtactile.pad_tactile_read(frame: 'dict', pad: 'dict', ctx=None, track=None, pixelwise: 'bool' = True, torsion_model: 'str' = 'partial_slip') -> 'dict'、台帳から引くなら opsdrive.get("pad_tactile_read"))

使い方

パッド 1 枚の像 → (P̂, q̂, ねじり)。

P̂ = 陰影 → photometric の法線(:func:tacsim.membrane_recover)→ 接触半径(中心は既知 = パッド中央;`pixelwise` なら

:func:tacsim.contact_radius_fit_pixelwise、偽ならビン版 :func:tacsim.contact_radius_fit = 罠の対照)→ :func:tacsim.hertz_force。

q̂ = マーカー追跡(:func:tacslip.marker_track、`track` で渡せば省く)→ 法線荷重の ūr(P̂ から閉形式)を引く → 2 成分の Mindlin

当てはめ(:func:tacslip.mindlin_fit_vector)。ねじり = 当てはめたせん断場を引いた残りに、固着核(r < 0.6 â)で剛体回転

(:func:tactorque.rigid_rotation_fit)→ 無滑りの関係 M = (16Gâ³/3)ω(Reissner–Sagoci)が `torsion_no_slip`。

★`torsion_model="partial_slip"(既定、2026-10-06 から)では、それを部分滑りの数値解(:func:cuttouch.torsion_partial_slip` の

`from_no_slip_read)で直した値を torsion` に返す —— Hertz 接触のねじりは縁から必ず滑るので、無滑りの関係のままだと M を過大に

読む(全滑りまでの比 0.5 で +33 %、0.8 で +85 %)。`"no_slip" は 0.4.0 までの値(torsion = torsion_no_slip`)。

`torsion_c_over_a(固着円の半径 / a)と torsion_readable`(固着円が当てはめの核 r < 0.6a を含み全滑りでない —— 偽なら数は返すが

当てにならない)も返す。第 2 実装 `Q_stick = 固着核の一様変位 δ̂ を Mindlin の δx 式で逆に解いた値(μ は較正値)。返り P・a`・

`q(2,)・Q・phi・torsion・torsion_no_slip・torsion_model・torsion_c_over_a・torsion_readable・c_over_a`・

`Q_stick・matched・rms_px(当てはめの残差)・track。**Raises** ValueError: frame に rgb・shading` が無い、

追跡できたマーカーが 3 未満、torsion_model の綴り違い。

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

• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。

• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。

• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。

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

• poc_knife_tactile_toughness — py -3.11 examples/poc_knife_tactile_toughness.py

• poc_peg_insertion_tactile — py -3.11 examples/poc_peg_insertion_tactile.py

型が繋がる次の 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 · 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.