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 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 में दिए गए हैं।
• 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
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
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.