torque_decompose — DRIVE tactorque op

• 資料種類:matrix × matrix × scalar × scalar × scalar → table

• 呼叫: import fullseye as fs; fs.ledger.torque_decompose(pts, u, area: 'float', G: 'float', nu: 'float', a: 'float | None' = None, window=None, radius: 'float | None' = None, coef: 'float | None' = None, P: 'float | None' = None, mu: 'float | None' = None, torsion_model: 'str' = 'partial_slip') -> 'dict'(要直接呼叫實作,import tactorque; tactorque.torque_decompose(pts, u, area: 'float', G: 'float', nu: 'float', a: 'float | None' = None, window=None, radius: 'float | None' = None, coef: 'float | None' = None, P: 'float | None' = None, mu: 'float | None' = None, torsion_model: 'str' = 'partial_slip') -> 'dict';從台帳取用則 opsdrive.get("torque_decompose"))

用法

> 該運算子的說明尚無譯文,以下照原文給出。

マーカー場を 3 つの力学量に分ける: `translation = 窓内の平均変位(せん断 Q、単向成分)、omega` = 剛体回転角

(:func:rigid_rotation_fit)→ ねじり `Mz(a が要る; omega_curl` = 平均 curl/2 は参考)、

`D = 発散双極子(面積重み)→ 傾き M1 = D / coef(coef 既定 = 半空間の閉形式 −(1−2ν)/(2G)、実機は較正値を渡す)、tau` = (−M1_y, M1_x)。

発散・curl は平均変位を引いても変わらない(定数の微分は 0)ので順序に依らない。窓 (cx, cy, R) は接触円に限る(半空間では純せん断が

窓全体に発散双極子を作るため、モジュール docstring 参照)。`radius` = 発散の近傍半径(必須)。

ねじり: 無滑りの関係(Reissner–Sagoci)M = (16Ga³/3)ω を `Mz_no_slip に残す。★torsion_model="partial_slip"`(既定、2026-10-06 から)

では、Hertz 接触(法線力 `P、摩擦 mu、接触半径 a)の部分滑りの数値解(:func:cuttouch.torsion_partial_slip` の

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

M を過大に読む(全滑りまでの比 0.5 で +33 %、0.8 で +85 %)。`Mz_ratio(全滑りまでの比)、Mz_c_over_a`(固着円の半径 / a)、

`Mz_readable`(全滑りでなく、固着円が当てはめの窓の半径を含む —— 偽なら数は返すが当てにならない。窓が無ければ偽)も返す。

a を渡して P か mu が無いと補正できないので ValueError(黙って無滑りの値を返さない)。`"no_slip"` は 0.4.0 までの値

(`Mz = Mz_no_slip`)—— 平頭押し込み子(全滑りの 8/(3π) 倍まで無滑りが厳密)や接着した円盤の場合。

Raises ValueError: area, G ≤ 0、ν が [0, 0.5] の外、点の形、radius 無し、窓内の点が 3 未満、torsion_model の綴り違い、

partial_slip で a があるのに P・mu が正の有限でない。

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_tactile_dipole_torque — py -3.11 examples/poc_tactile_dipole_torque.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

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

同類別(tactorque)

punch_pressure · punch_surface_uz · hertz_pressure_shifted · ellipse_pressure_shifted · pressure_first_moment · boussinesq_kernel · boussinesq_surface_displacement · surface_divergence_closed_form


*Provenance: tactorque.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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