contact_radius_fit_pixelwise — DRIVE tacsim op

• Datenarten: normalmap × matrix × matrix × scalar × scalar → table

• Aufruf: import fullseye as fs; fs.ledger.contact_radius_fit_pixelwise(normals, X, Y, R: 'float', a0: 'float', centre_xy=(0.0, 0.0), r_max_over_a: 'float' = 2.5, excl_px: 'float' = 1.5) -> 'dict' (die Implementierung direkt: import tacsim; tacsim.contact_radius_fit_pixelwise(normals, X, Y, R: 'float', a0: 'float', centre_xy=(0.0, 0.0), r_max_over_a: 'float' = 2.5, excl_px: 'float' = 1.5) -> 'dict'; aus dem Register: opsdrive.get("contact_radius_fit_pixelwise"))

Verwendung

Liest den Kontaktradius, indem das Hertzsche Steigungsmodell dh/dr(r; a) mit kontinuierlichem a an die pixelweisen radialen Steigungen angepasst wird (Variante von contact_radius_fit ohne Bins; a0 ist deren Grobwert).

contact_radius_fit passt an Mittelwerte von Radius-Bins (Breite = Pixelpitch) an, daher wechselt das Vorzeichen des Bias jedes Mal, wenn a einen Pixelpitch überschreitet (−0.04 / +0.31 / −0.02 % bei P = 3.5 / 4.0 / 4.5 N). Auch wenn 0.3 % für den Wert von P selbst ausreicht, wirkt bei der Differenz zweier Bilder (F_x = P_L − P_R der 2 Greiffinger) die Steigung dP̂/dP von P̂, und die Bin-Version verfälschte die Steigung um 40 % (gemessen in der PoC pegtactile). Hier werden die Pixel mit r < r_max_over_a·a0 direkt verwendet, und die ±excl_px Pixel am Rand r ≈ a0 verworfen — die Steigung hat bei r = a eine unstetige Ableitung (Wurzelspitze außen), ihr Wert schwankt mit der Lage von Pixel und Rand, und bliebe sie drin, schwankte a periodisch mit dem Pixelpitch. SSE(a) wird per Goldenem Schnitt (Startintervall [0.8, 1.2]·a0, 40 Iterationen) minimiert. centre_xy ist der bekannte Mittelpunkt (x, y) in m. Rückgabe a, delta = a²/R, rms (Residuum der Steigung), n (Anzahl verwendeter Pixel). Raises ValueError: R, a0 ≤ 0, Formen passen nicht, weniger als 16 verwendbare Pixel.

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 (tacsim)

combined_modulus · hertz_sphere · hertz_force · hertz_cylinder · hertz_surface_uz · hertz_pressure · membrane_indent_sphere · membrane_indent_shape


*Provenance: tacsim.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.