torsion_partial_slip — DRIVE cuttouch op

• Data kinds: scalar × scalar × table → table

• Call: import fullseye as fs; fs.ledger.torsion_partial_slip(M: 'float', P: 'float', pad: 'dict | None' = None, ctx=None, field: 'bool' = False, na: 'int' = 64, from_no_slip_read: 'bool' = False, contact: 'dict | None' = None) -> 'dict' (implementation को सीधे call करना हो तो import cuttouch; cuttouch.torsion_partial_slip(M: 'float', P: 'float', pad: 'dict | None' = None, ctx=None, field: 'bool' = False, na: 'int' = 64, from_no_slip_read: 'bool' = False, contact: 'dict | None' = None) -> 'dict', registry से लेना हो तो opsdrive.get("torsion_partial_slip"))

उपयोग

spherical pad (Hertz, normal बल P) पर normal के चारों ओर torsion M [N·m] लगाने पर partial slip: stick त्रिज्या c, twist कोण β, और पूरे slip तक का अनुपात।

संख्यात्मक हल मॉड्यूल के आरंभ में है (na वलयों का प्रभाव-आव्यूह; एक ही आयामहीन वक्र, केवल एक बार)। वापसी: ratio = |M| / ((3π/16)μPa), c_over_a, beta (आंशिक फिसलन का मरोड़ कोण [rad]), beta_no_slip = 3M/(16Ga³) (Reissner–Sagoci), read_bias = β/β_no_slip (बिना फिसलन वाले संबंध से पढ़ने पर M के अधिक आकलन का गुणक), a / p0 / M_full, slipping (अनुपात ≥ 1 = पूर्ण फिसलन। अपवाद नहीं, चिह्न —— फिसलन घटित होने वाली अवस्था है, इनपुट की त्रुटि नहीं। β निर्धारित नहीं होता, इसलिए nan), readable (चिपका वृत्त पढ़ने के कर्नेल r < 0.6a को समाहित करता है)। field=True हो तो ctx (pegtactile.pad_context) के ग्रिड पर परिधीय कर्षण को Cerruti कर्नेल से संवलित करके प्राप्त सतह विस्थापन ux / uy [m], और मार्करों की संदर्भ स्थितियों पर u_markers (N, 2) [m] भी लौटाए जाते हैं (संश्लेषण के लिए। पूर्ण फिसलन में नहीं बनते)। from_no_slip_read=True हो तो M को बिना फिसलन वाले संबंध से पढ़ा गया मान (Reissner–Sagoci, pegtactile.pad_tactile_read का torsion_model="no_slip") मानकर, आंशिक फिसलन के M में बदलकर वही तालिका लौटाई जाती है (M = सुधारा गया मान, M_read = दिया गया पाठ्यांक। पाठ्यांक पूर्ण फिसलन की छवि से अधिक हो तो M = पूर्ण फिसलन का बल-आघूर्ण और slipping)। ratio_table_max तालिका की अंतिम पंक्ति का अनुपात है (इससे आगे चिपका वृत्त 1 वलय से छोटा होता है और क्षेत्र नहीं बनता)। पैड के बजाय contact={"a": 接触半径 [m], "mu": 摩擦係数, "G": せん断弾性率 [Pa]} देने पर, ज्ञात संपर्क त्रिज्या वाले Hertz संपर्क (दाब p₀√(1 − r²/a²), p₀ = 3P/(2πa²)) के रूप में वही संख्यात्मक हल लौटाया जाता है —— tactorque.torque_decompose के Mz का सुधार इसी प्रवेश-द्वार से गुज़रता है (field=True को पैड का ग्रिड चाहिए, इसलिए केवल pad के साथ)। Raises ValueError: P ≤ 0 / अपरिमित, M अपरिमित, pad pegtactile.pad_params की तालिका नहीं, pad और contact दोनों / दोनों में से कोई नहीं, contact के a / mu / G धनात्मक परिमित नहीं, field=True पर pad नहीं, na < 24।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_knife_tactile_toughness — py -3.11 examples/poc_knife_tactile_toughness.py

• poc_tactile_dipole_torque — py -3.11 examples/poc_tactile_dipole_torque.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

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

इसी category के (cuttouch)

knife_load_from_pads · toughness_from_pads


*Provenance: cuttouch.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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