contact_state_from_wrench — DRIVE pegtactile op

• Datenarten: table × signal × signal × signal × signal × signal → table

• Aufruf: import fullseye as fs; fs.ledger.contact_state_from_wrench(kp, F, M_g, g, tip, axis, f_air: 'float' = 0.05, tau: 'float' = 0.35, tol: 'float' = 8e-05, geometry: 'bool' = True, tol_l: 'float' = 5e-05) -> 'dict' (die Implementierung direkt: import pegtactile; pegtactile.contact_state_from_wrench(kp, F, M_g, g, tip, axis, f_air: 'float' = 0.05, tau: 'float' = 0.35, tol: 'float' = 8e-05, geometry: 'bool' = True, tol_l: 'float' = 5e-05) -> 'dict'; aus dem Register: opsdrive.get("contact_state_from_wrench"))

Verwendung

> Für diesen Operator gibt es noch keine Übersetzung. Es folgt der Originaltext unverändert.

接触レンチ(ペグが穴から受ける 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。

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_peg_insertion_tactile — py -3.11 examples/poc_peg_insertion_tactile.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

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

Gleiche Kategorie (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. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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