Tactile Fusion¶
Tactile fusion — contact detection, grip stability, surface classification.
Cluster: Physical AI | Type: component | MCP Tools: 8
Overview¶
Simulated tactile data
tactile_fusion processes tactile arrays supplied by callers. It does not include hardware drivers for real tactile sensors.
Tactile sensing and simulated grip-control block that processes caller-supplied taxel-grid pressure data into high-level contact state. Detects contact events and spatial slip heuristics, estimates grip stability, classifies surface texture, computes centre-of-pressure and contact area, and computes adaptive proportional grip-control deltas. It is useful for prototyping manipulation workflows, but it is not a hardware driver or safety controller.
When to use:
- Detecting contact and slip during robotic grasping to trigger reactive grip adjustment
- Classifying surface material (smooth, rough, compliant) from tactile pressure patterns
- Computing simulated grip-force adjustments before handing decisions to a separate motor-control or hardware layer
Example:
from mvp.tactile_fusion import TactileFusionBlock, TactileFusionInput
block = TactileFusionBlock(name="tactile_fusion")
result = block.infer(TactileFusionInput(
op="estimate_grip_stability",
taxel_grid=[[0.1, 0.4, 0.1], [0.5, 0.9, 0.5], [0.1, 0.4, 0.1]],
total_force=4.2,
))
# result.value.grip_stability → float [0, 1]; result.value.slip_detected → bool
Works well with: sensory_fusion, motor_control, embodiment
Public API¶
TactileFusionInput(BaseModel)¶
Input for tactile fusion operations.
| Field | Type | Default |
|---|---|---|
op | Literal['detect_contact', 'estimate_grip_stability', 'classify_surface', 'adaptive_grip', 'fuse_tactile', 'calibrate', 'get_contact_history', 'set_thresholds', 'get_info', 'get_capabilities', 'reset'] | 'detect_contact' |
taxel_grid | list[list[float]] | Field(default_factory=list) |
total_force | float | 0.0 |
force_xyz | list[float] | Field(default_factory=list) |
torque_xyz | list[float] | Field(default_factory=list) |
target_force | float | 0.0 |
current_force | float | 0.0 |
force_profiles | list[dict] | Field(default_factory=list) |
contact_threshold | float \| None | None |
kp_gain | float \| None | None |
metadata | dict | Field(default_factory=dict) |
TactileFusionOutput(BaseModel)¶
Output from tactile fusion operations.
| Field | Type | Default |
|---|---|---|
op | str | required |
maturity | str | 'simulation_only' |
prohibited_use | list[str] | Field(default_factory=lambda: ['live_grip_control']) |
permitted_use | list[str] | Field(default_factory=lambda: ['simulation']) |
contact_detected | bool | False |
grip_stability | float | 0.0 |
surface_class | str | '' |
force_delta | float | 0.0 |
fused_reading | dict | Field(default_factory=dict) |
contact_history | list[dict] | Field(default_factory=list) |
thresholds | dict | Field(default_factory=dict) |
capabilities | dict | Field(default_factory=dict) |
slip_detected | bool | False |
center_of_pressure | list[float] | Field(default_factory=list) |
contact_area | float | 0.0 |
metadata | dict | Field(default_factory=dict) |
degraded | bool | False |
degradation_reason | str \| None | None |
confidence | float | 0.0 |
confidence_applicable | bool | True |
calibration_source | str \| None | None |
requires_handoff_warning | bool | False |
requires_review | bool | False |
agentic_evidence | dict \| None | None |
TactileFusionBlock(AIBlock[TactileFusionInput, TactileFusionOutput, dict])¶
Tactile sensing with contact detection, grip stability, and surface classification.
| Field | Type | Default |
|---|---|---|
name | str | 'tactile_fusion' |
state | dict | field(default_factory=dict) |
resource_bounds | ResourceBounds | field(default_factory=ResourceBounds) |
usage | ResourceUsage | field(default_factory=ResourceUsage) |
planner | TactileFusionSurfacePlanner \| None | None |
Methods:
infer(data: TactileFusionInput) -> Result[TactileFusionOutput]¶
MCP Tools¶
| Operation | Source |
|---|---|
ops | tactile_fusion_mcp |
help | tactile_fusion_mcp |
classify_surface | tactile_fusion_mcp |
get_info | tactile_fusion_mcp |
get_capabilities | tactile_fusion_mcp |
list_patterns | tactile_fusion_mcp |
explain_classification | tactile_fusion_mcp |
list_strategies | tactile_fusion_mcp |