CoRL 2026 ยท Spotlight

Visible Touch: Rendering Contact for Visuomotor Policies

Metin Alp Dogan* Edward Sun* Feng Xu* Daniel Wu Allen Peng Dennis Hong Yuchen Cui

University of California, Los Angeles

*Equal contribution

TL;DR Visible Touch renders contact as an image-space overlay on the policy's RGB observations, adding touch to any image-conditioned policy, including pretrained VLAs, with no architectural changes.
+15.7ppBC-Transformer on LIBERO (2‑view)
+25.3ppminiVLA fine-tuning on LIBERO
+30.3ppπ0.5 on four real-world tasks
<$50open-source sensor, fully assembled

Abstract

Integrating contact information into visuomotor policies remains an open problem. Touch is essential to robust manipulation, yet most modern policies, including pretrained vision-language-action (VLA) models, operate from vision and proprioception alone. Existing approaches to closing this gap require specialized tactile hardware, add separate tactile encoders, or commit to non-image policy backbones, all incompatible with the modern paradigm of image-conditioned policies built on pretrained 2D visual representations. Our key insight is that the bottleneck is not the contact information itself, but how it is delivered: when contact signals are exposed in the same spatial frame as the scene the policy already attends to, they become directly usable by any image-conditioned policy without architectural changes. We operationalize this insight in Visible Touch, paired with a custom low-cost magnetic contact sensor that is open-sourced and fabricated from off-the-shelf parts via a parametric CAD-to-mold pipeline. Across the LIBERO benchmark, Visible Touch improves BC-Transformer success by 15.7 percentage points on average in the 2-view setting, with similar gains in the 1-view setting; controlled comparisons show that the contact-integration strategy strongly affects how effectively tactile information is used. The pattern holds when fine-tuning pretrained VLAs: miniVLA on LIBERO gains 25 percentage points on average, and π0.5 on four real-world contact-rich tasks gains 30 percentage points with our custom sensor.

Keywords: Imitation Learning; Contact-Rich Manipulation; Tactile Sensing; Vision-Language-Action Models; Visual Overlays

Sample Policy Rollouts (3x Speed)

The clips below show successful π0.5 rollouts on the real-world tasks and the corresponding contact-overlay renderings used by Visible Touch. Overlay videos make the tactile signal visible in the same RGB frame consumed by the policy. Multi-arrows renders one arrow per taxel (9 per finger), Avg. Arrow renders a single per-finger arrow, and Binbars renders a bar of height proportional to the per-finger contact magnitude at a fixed image location. Tac-View is the separate-stream baseline.

Lift

Rollout Success

Multi-arrows Overlay

Put Mug in Dishwasher

Rollout Success

Multi-arrows Overlay

Avg. Arrow Overlay

Binbars Overlay

Tac-View (separate image stream)

Transfer Tube

Rollout Success

Multi-arrows Overlay

Plug Charger

Rollout Success

Multi-arrows Overlay

Method

Overview of Visible Touch method

Figure 1: Overview of Visible Touch. A low-cost magnetic contact sensor captures per-taxel contact, which we render as an image-space overlay on the policy's RGB observations. The augmented images are drop-in inputs for fine-tuning pretrained VLAs, requiring no architectural changes. Contact overlays improve average task success by +25.3pp on LIBERO fine-tuning suites and +30.3pp on real-world contact-rich manipulation tasks.

Visible Touch has two coupled components: a rendering pipeline that projects per-element contact measurements onto the policy's RGB observations as a spatial overlay, and a low-cost magnetic tactile sensor that drives the pipeline on real hardware. The rendering pipeline is sensor-agnostic: it operates on raw per-element 3-axis measurements (simulated contact forces or raw magnetic flux deflections) without calibration to physical force units. Each sensing element is projected into camera coordinates using the robot's live forward kinematics and calibrated camera parameters, then alpha-blended onto the image as an arrow anchored at its projected position. The wrist-camera extrinsic is updated each timestep from the robot's joint configuration; the external-camera extrinsic is calibrated once offline. Screen-space arrow length reflects both measurement intensity and perspective foreshortening at the element's depth, giving a depth-consistent cue. Projected position markers are rendered even when the measurement is zero, and distinct per-finger colors (left finger cyan/blue, right finger magenta/red) let the policy recover finger identity from color alone.

The scale factor is tuned once per sensor source so that typical contact events produce visible arrows; no further force calibration is required. Because the augmented image preserves the original resolution, channel count, and pixel range, no additional tactile encoder, state vector dimension, or policy architecture change is required. The same pipeline transfers unmodified across three policy families: BC-Transformer, miniVLA, and π0.5.

Overlay variants. We study three variants spanning a granularity spectrum. Multi-arrows renders one arrow per sensing element, preserving spatial structure at the cost of visual clutter. Avg. Arrow renders a single per-finger arrow at the projected finger center using the per-finger aggregate. Binbars discards both location and direction, rendering a vertical bar of height proportional to the per-finger magnitude at a fixed image location, isolating whether the policy uses the overlay as a directional cue or as a contact-event signal.

Contributions

Key Findings

Experiments are designed around three research questions.

Q1

Does Visible Touch improve visuomotor policy performance, and does the improvement transfer across architectures?

Q2

How does image-space contact rendering compare with alternative contact-integration strategies?

Q3

When and how do overlays help most?

Q1 Image-space contact improves BC-Transformer across camera settings.

Setup. We use all four LIBERO suites. Since LIBERO exposes no native tactile observations, we extract per-contact force vectors from the MuJoCo contact array (filtered to gripper-finger geometries) as the per-element measurements. BC-Transformer is trained in the multitask configuration with 3 seeds, evaluating final-epoch checkpoints with 20 rollouts per task. We compare three input conditions: Plain (LIBERO's default RGB with 8-D proprioception), Proprio (Plain plus a 12-D contact wrench concatenated to the state), and Visible Touch (Plain plus our image-space overlay; default Avg. Arrow), in both 1-view (agentview) and 2-view (agentview + wrist) configurations.

In LIBERO simulation, Visible Touch outperforms the plain baseline in every suite and both camera configurations. In 2-view, Visible Touch adds +15.7pp on average (+33.7pp on LIBERO_LONG); 1-view shows the same pattern (+12.5pp average), confirming the benefit does not require a wrist camera. The wrist camera and the overlay are complementary rather than substitutable: adding the wrist alone yields modest gains (+4.1pp average, -7.9pp on OBJECT), while wrist-plus-overlay is best on every suite; Visible Touch benefits from the wrist camera on every suite (+7.3pp average, including +3.2pp on OBJECT).

Table 5: BC-Transformer success rates (%) on LIBERO suites across camera configurations (n=3 seeds).
Suite 1-view (agentview) 2-view (agentview + wrist)
Plain Visible Touch Plain Proprio Visible Touch
OBJECT90.7 ± 4.495.0 ± 0.982.8 ± 7.080.0 ± 2.098.2 ± 1.2
GOAL79.3 ± 3.291.7 ± 0.386.8 ± 4.181.5 ± 4.392.8 ± 2.5
SPATIAL79.0 ± 2.090.5 ± 0.484.8 ± 4.080.0 ± 1.492.3 ± 2.7
LONG41.8 ± 6.163.8 ± 1.252.8 ± 2.142.8 ± 5.186.5 ± 2.3
Average72.785.276.871.192.5
BC-Transformer LIBERO results

Figure 3: BC-Transformer on LIBERO across camera configurations (n=3 seeds, error bars are std). Orange bars show Visible Touch (ours); gray bars show plain baselines; blue bars show the Proprio baseline that receives an aggregated 12-D contact wrench through the proprioceptive state. Visible Touch consistently improves over plain images in both 1-view and 2-view, with the largest gain on LIBERO_LONG (+33.7pp 2-view).

Q2 Image-space delivery outperforms a compact state-vector baseline.

The Proprio baseline concatenates an aggregated 12-D contact wrench to the proprioceptive state. In the 2-view setting, Visible Touch exceeds Proprio by +21.4pp on average, with the largest gap on LIBERO_LONG (+43.7pp). Notably, Proprio underperforms the plain 2-view baseline on every suite (-5.7pp on average), suggesting that direct concatenation of contact information to the state vector is a relatively weak integration strategy in this setup (-2.8pp OBJECT, -5.3pp GOAL, -4.8pp SPATIAL, -10.0pp LONG; it even trails the 1-view plain baseline, 71.1% vs. 72.7%). Overlays also stabilize training: Visible Touch 2v has a median cross-seed SD of 2.4% versus 4.1% for plain 2v and 3.2% for Proprio. This comparison does not establish superiority over learned tactile encoders or other feature-level fusion mechanisms.

Q1 The same pattern transfers to miniVLA.

For miniVLA (Qwen2.5 0.5B backbone, DINOv2 + SigLIP encoders at 224 px), we pretrain from scratch on LIBERO_90 (vs. the publicly released minivla-libero90-prismatic baseline) and separately fine-tune the pretrained model on each suite with and without overlays. Our overlay-pretrained miniVLA reaches 63.2% on LIBERO_90 versus 48.3% for the released Stanford checkpoint evaluated in the matched single-image, no-chunking configuration (+14.9pp, 90 tasks × 20 trials). Suite-level fine-tuning yields a +25.3pp average gain (+34.1pp on LIBERO_LONG), raising the average from 50.9% to 76.2%.

Table 1: miniVLA success rates (%) on LIBERO across pretraining and fine-tuning. LIBERO_90 pretraining results are from single runs. For fine-tuning, baseline entries are the strongest single-run baselines available per suite, while Visible Touch results are mean ± s.e. over 5 training seeds using the suite-specific headline recipe.
Method Pretraining Fine-tuning
LIBERO_90 OBJECT GOAL SPATIAL LONG Avg.
Baseline48.3%51.0%48.5%71.5%32.5%50.9%
Visible Touch63.2%70.6 ± 4.6%80.5 ± 4.3%87.0 ± 1.8%66.6 ± 2.2%76.2%

Additional miniVLA comparison: Under the VQ-h8 + history-2 architecture used for the headline LIBERO_90 result in the original miniVLA work, fine-tuning the released checkpoint on contact-overlay LIBERO_90 data reaches 86.3% mean success (10 trials per task), while the released checkpoint obtains 72.2% under the identical evaluation pipeline (+14.1pp; the original work reports 82% on its own harness). Contact overlays remain effective under a different miniVLA architectural configuration.

Q3a Overlay benefit scales with task headroom and grasp structure.

For BC-Transformer, the per-task improvement across all 40 LIBERO tasks (2-view) correlates strongly with task headroom (r = 0.924, p < 10-3): overlays help most where vision-only performance is lowest. Bucketing tasks by gripper-close events reveals the same pattern through task structure: multi-grasp tasks (n = 7) show +43.3pp. After controlling for headroom, contact-event count (r = -0.571) and trajectory length (r = -0.368) retain independent predictive power. The grasp-structure pattern replicates on miniVLA across the 90 LIBERO_90 tasks: 1-grasp tasks (n = 78) show +17pp and 2+-grasp tasks (n = 4) show +23.8pp.

BC-Transformer grasp bucket results
(a) BC-Transformer on LIBERO suites (40 tasks).
miniVLA grasp bucket results
(b) miniVLA on LIBERO_90 (90 tasks).

Figure 4: Success rates of Visible Touch (Avg. Arrow overlay) over plain baselines, bucketed by gripper-close events. Tasks with no grasps show no benefit; single-grasp tasks show modest gains; multi-grasp tasks show the largest gains. The pattern holds across both BC-Transformer (a) and a pretrained miniVLA on LIBERO_90 (b).

Q3b Overlay granularity has a non-monotonic optimum in simulation.

The coarser Binbars representation is competitive with the default Avg. Arrow, matching it within noise on three suites and falling behind only on LIBERO_LONG (-7.7pp). The finer Multi-arrows representation underperforms Avg. Arrow, with the largest deficit on LIBERO_LONG (-10.3pp). An intermediate level of detail (per-finger averaging) outperforms both coarser bars and finer per-contact-point arrows, suggesting that excess spatial detail can introduce visual clutter when simulated contacts appear at inconsistent mesh locations. The optimum reverses in the real world (below).

Table 2: Success rates (%) for overlay variants on LIBERO suites (BC-Transformer, 2-view, n=3 seeds).
Visible Touch variant OBJECT GOAL SPATIAL LONG Avg.
Multi-arrows94.3 ± 5.691.8 ± 0.590.2 ± 1.076.2 ± 2.788.1
Avg. Arrow98.2 ± 1.292.8 ± 2.592.3 ± 2.786.5 ± 2.392.5
Binbars98.0 ± 0.992.7 ± 1.794.5 ± 1.578.8 ± 2.691.0

Q1 Visible Touch transfers to real-world contact-rich manipulation.

We fine-tune π0.5 (pi05_droid checkpoint, 2.3B) with LoRA on two image views and compare eight input conditions on four contact-rich tasks, 30 trials per condition, scored at the sub-task level. Visible Touch improves over the Baseline on nearly every sub-task, with Multi-arrows strictly outperforming Baseline everywhere. The largest gains appear on multi-stage tasks: on Transfer Tube, Multi-arrows reaches 24/30 on Pick (vs. 5/30) and 16/30 on Insert (vs. 0/30); on Put Mug in Dishwasher, the three stages improve by 7, 11, and 10 trials; on Plug Charger (the hardest task), Multi-arrows is the only condition that completes any Inserts (2/30) and doubles Baseline success on Pick (18/30 vs. 9/30). The simpler Lift task shows a more modest gain (24/30 vs. 20/30). Macro-averaged across tasks, Multi-arrows improves over Baseline by +30.3pp.

Real-world contact-rich tasks
(a) Real-world tasks (yellow areas highlight initial state randomization).
Visible Touch real-world overlays
(b) Variants of Visible Touch contact overlay.

Figure 5: Real-world experimental setup. (a) Contact-rich manipulation tasks: Lift, Transfer Tube, Put Mug in Dishwasher, and Plug Charger. (b) Example contact overlays rendered onto external and wrist camera views.

Real-world evaluation results across eight input conditions

Figure 7: Real-world evaluation of π0.5 fine-tuning across four contact-rich manipulation tasks (successes out of 30 trials per condition, sub-task scored). Final-stage success corresponds to complete end-to-end task success. Hatched bars denote the binary ablations of the matching solid variant: Binary Contact (1x) and (9x) keep only per-finger and per-taxel contact occurrence, respectively.

Table 15: Real-world evaluation of π0.5 fine-tuning across four contact-rich manipulation tasks (30 trials per condition, sub-task scored). Final-stage success corresponds to complete end-to-end task success. Binary Contact (1x) and (9x) denote aggregate per-finger and per-taxel binary contact, respectively.
Method Lift Transfer Tube Put Mug in Dishwasher Plug Charger
Pick Pick Insert Pull Pick Place Pick Insert
Baseline20/305/300/3021/3011/3011/309/300/30
Tac-View16/309/300/3022/3018/3016/3017/300/30
Position-Only22/3021/307/3017/3014/3011/309/300/30
Visible Touch: Binbars23/3010/301/3024/3015/3015/309/300/30
Visible Touch: Binary Contact (1x)19/3017/302/3013/305/304/3016/300/30
Visible Touch: Avg. Arrow23/3017/303/3023/3014/3012/3013/300/30
Visible Touch: Binary Contact (9x)9/306/300/3025/3013/3012/3011/300/30
Visible Touch: Multi-arrows24/3024/3016/3028/3022/3021/3018/302/30

Component ablations. Position-Only, which renders the projected markers without contact information, improves over the plain baseline on several stages, most notably Transfer Tube, indicating that geometrically registered visual markers themselves provide useful end-effector localization. However, binary contact representations are substantially weaker than their full-vector counterparts: Avg. Arrow generally outperforms Binary Contact (1x), while Multi-arrows substantially outperforms Binary Contact (9x). Localization and contact occurrence explain part of the benefit, but preserving contact direction and magnitude becomes important in contact-rich real-world manipulation.

Encoder-architecture robustness. The overlay benefit holds across both convolutional (BC-Transformer's ResNet-18) and attention-based (miniVLA's DINOv2 + SigLIP ViT and π0.5's SigLIP-So400m) vision encoders, suggesting that the effectiveness depends on rendering contact at a geometrically meaningful image location rather than on specific feature-extraction mechanics.

Tac-View separate tactile rendering
Figure 6: Tac-View renders contact arrows as a separate image. Arrow colors encode the normalized z-reading of each taxel, from green (0) to red (1).

Q2 Image-space overlays outperform separate-stream tactile rendering.

Tac-View provides the same per-taxel contact arrows as Multi-arrows through a separate image stream in one of π0.5's camera slots, mirroring how vision-based tactile sensors are typically integrated. It improves over the Baseline on three of four tasks (notably +7 on Dishwasher Pick and +8 on Plug Pick), confirming that the contact information itself is useful. However, Multi-arrows strictly outperforms Tac-View on every sub-task, with the largest gaps on the Transfer Tube stages (Pick 24/30 vs. 9/30, Insert 16/30 vs. 0/30). The coarser variants (Binbars and Avg. Arrow) beat Tac-View on the simpler Lift and Tube sub-tasks but lose to it on the more spatially complex Dishwasher Pick, Dishwasher Place, and Plug Pick sub-tasks: rendering contact as a spatial overlay on the scene the policy already attends to is more effective than a parallel visual channel, provided the overlay preserves enough spatial detail.

Q3b Optimal granularity reverses in the real world. Multi-arrows, which renders all 9 per-taxel readings per finger, is strongest in every column, reversing the simulation finding where Avg. Arrow dominated. The Binary Contact (9x) ablation shows that finer spatial granularity alone is insufficient: preserving per-taxel occurrence without direction or magnitude performs substantially worse. We attribute the reversal to the spatial consistency of the contact signal: in simulation, MuJoCo contacts arise anywhere on the finger collision mesh, so per-contact arrows occupy inconsistent image locations across timesteps; on real hardware, signals arrive at fixed taxel positions, and the per-taxel rendering carries spatially stable information that the per-finger average discards.

Emergent retry behavior. On Transfer Tube Pick, the policy re-attempts after a missed grasp only when tactile observations are present; without them the transparent tube provides little visual grasp-failure signal and the trial expires unused. This qualitative benefit of contact sensing goes beyond raw success-rate gains.

Hardware

The real-world experiments use a low-cost magnetic tactile sensor with a 3×3 taxel grid per finger. External forces deform a soft silicone elastomer pad (XP-565) embedded with permanent magnets, and a custom PCB housing a matching array of 3-axis magnetometers (Allegro A31031) records the field changes; an ESP32 microcontroller polls the array via I2C and streams raw flux at 50 Hz. The sensor maintains a slim 4 mm profile and decouples the reusable sensing electronics from the replaceable elastomer contact interface. It costs under $5 in parts (excluding the PCB) or under $50 assembled, and is open-sourced.

A parametric CAD-to-mold pipeline programmatically generates multi-stage 3D-printable casting molds from dimension and magnet-layout inputs, accommodating sensor geometries beyond the 3×3 instance used here. The elastomer is cast in a base mold, semi-cured (40% of curing time), then transferred to a secondary mold where magnets are seated and encapsulated by a top pour. After curing, the pad is bonded to a PLA spacer (Loctite SF 770 primer, Loctite 406 cyanoacrylate), an anti-slip skin is applied, and the assembly is fastened to the PCB and gripper with machine screws. XP-565 is mixed 10:1 by weight (6 g + 0.6 g for the first pour, 4 g + 0.4 g for the second), degassed for 20 minutes at 0.6 bar below ambient, partially cured 6.5 hours before magnet seating, then fully cured 16 hours; the bonded assembly rests 24 hours for adhesive curing. The full workflow, excluding print time, takes roughly 48 hours of elapsed time, dominated by elastomer curing. We release the CAD-to-mold pipeline and the PCB layout for the 3×3 magnetometer array.

Build your own sensor The parametric CAD-to-mold pipeline generates 3-part casting molds for tactile sensor bodies from a single YAML configuration file.
View on GitHub
Visible Touch hardware system

Figure 2: Hardware system. (a) Visuo-tactile setup: UFactory xArm7 with two RealSense cameras and two tactile sensors mounted on the gripper fingers. (b) Custom tactile sensor with anti-slip skin. (c) Internal structure of the tactile sensor. (d) Our parametric CAD-to-mold pipeline: CAD-generated alternative casting molds (top) and the 3D-printed molds with the fabricated sensor pads (bottom). (e) Physical characteristics of the sensor.

Fabrication steps of the custom tactile sensor

Figure 8: Fabrication steps of our custom tactile sensor. (a) 3D-printed molds 1–3; (b–c) elastomer mixing, degassing, and first pour; (d–e) magnet seating and second pour to the fill line; (f–g) adhesion primer and bonding to the PLA spacer; (h) anti-slip skin application.

Sensor characterization. Four independently fabricated sensors were pressed by a flat 14 mm × 14 mm PLA probe on a BOTA BFT-ROKA-SER-M8 six-axis force-torque sensor in 0.1 mm increments up to 1.6 mm indentation, 20 repeat trials per depth. The response metric is the L2 norm of the baseline-subtracted 27-D flux vector across all nine magnetometers. All four exhibit a monotonically increasing and smooth aggregate flux response across the full range, with trial-to-trial standard deviation in the 10–30 µT range. Unit-to-unit differences in absolute response reach roughly 20%, which per-channel normalization from dataset statistics absorbs without dedicated calibration hardware.

Sensor characterization experiments

Figure 9: Sensor characterization experiments. (a) Experiment setup: UFactory xArm7 equipped with BOTA force-torque sensor and our custom tactile sensor, used to collect ground-truth contact normal force data. (b) Standard deviation of the 4 independently fabricated sensor readings under different contact normal forces.

Appendix Tables

The tables below collect appendix details from the arXiv paper: hardware costs, training settings, per-task diagnostics, seed-level simulation results, miniVLA recipe comparisons, and real-world data/evaluation parameters.

Hardware bill of materials
Table 3: Bill of materials for one tactile sensor (3×3 configuration). Sensor pad components are consumable and can be replaced without replacing the PCB. PCB costs are rough estimates and vary significantly with order quantity.
ComponentSpecQtyUnit priceSubtotal
XP-565 silicone elastomer10:1 base/activator10 g$0.05/g$0.50
Neodymium magnets2 mm × 1 mm9$0.07/ea$0.63
PLA filament (molds + spacer)-20 g$0.013/g$0.26
Loctite SF 770-1 ml$0.50/ml$0.50
Loctite 406-0.5 ml$1.65/ml$0.83
Anti-slip skin-1 ml$0.10/ml$0.10
Machine screwsM2×64$0.20/ea$0.80
Sensor pad subtotal$3.62
Magnetometer array PCB3×3 Allegro A310311$20$20
Microcontroller boardESP32-based1$20$20
Flexible flat cable10 pin 0.5 mm, 15 mm length1$1/ea$1
Electronics subtotal$41
Total (fully assembled)<$50
BC-Transformer training configuration
Table 4: BC-Transformer training configuration for LIBERO multitask experiments.
Component / HyperparameterValue
Visual backboneResNet-18 (random init, remove_layer_num=4, no stride change)
Language fusionFiLM conditioning on visual features
Language encoder1-layer MLP (input 768, hidden 128, output 128)
Transformer layers4
Hidden / embed dimension64 token embed; MLP hidden 256
Attention heads6 (per-head dim 64)
Action headGMM head, 2 MLP layers, hidden 1024, 5 modes, softplus, min_std=1e-4
Proprio inputsgripper_states, joint_states (eye_in_hand + agentview RGB)
OptimizerAdamW, beta1=0.9, beta2=0.999
Learning rate1e-4 cosine annealing to eta_min=1e-5
Weight decay / dropout1e-4 / 0.1 transformer dropout
Gradient clipping100.0
Batch size / epochs32 / 20
Sequence length10 frames (transformer_max_seq_len=10, seq_len=10)
Frame stack / action chunking1 / none (single-step action prediction)
Action scale1.0
Image resolution128 × 128
Data augmentationBatch-wise color jitter + translation augmentation
Lifelong configurationMultitask (all tasks jointly via learn_all_tasks); eval_in_train=false
LIBERO task diagnostics
Table 6: Rescue outliers: tasks where Avg. Arrow produces the largest gain over plain 2-view within each suite. All four involve visually ambiguous grasp configurations (slippery, small, occluded, or perched objects).
SuiteTaskPlain 2vVisible Touch 2vΔ (pp)
OBJECTbutter to basket48%98%+50
GOALwine to top of cabinet83%100%+17
SPATIALbowl on ramekin to plate62%93%+32
LONGcheese + butter to basket8%95%+87

OBJECT 2-view training instability: the anomalous 2-view plain result on LIBERO_OBJECT (82.8 ± 7.0%) is driven largely by the butter-to-basket task, whose seed-to-seed variability indicates training instability; excluding it, the 2-view plain average on the remaining 9 tasks is 87%, consistent with 1-view.

Table 7: Per-task correlations between Δ = Visible Touch 2v - plain 2v and task properties, pooled across all 40 LIBERO tasks. After controlling for headroom, only #contact onsets and trajectory length retain independent predictive signal.
FeatureRaw PearsonPartial, controlling for headroom
rprp
Headroom+0.924< 1e-3--
#grasps+0.633< 1e-3-0.0940.562
Trajectory length+0.4580.003-0.3680.019
%contact+0.3600.022+0.2140.186
#contact onsets+0.3290.038-0.571< 1e-3
Table 8: Effect of camera configuration on the plain (no-overlay) BC-Transformer baseline. Mean success rate (%) over 3 seeds per cell, 10 tasks per suite.
Suite1-view Plain2-view PlainΔ (2v - 1v)
OBJECT90.782.8-7.9
GOAL79.386.8+7.5
SPATIAL79.084.8+5.8
LONG41.852.8+11.0
Average72.776.8+4.1
Seed-level BC-Transformer results
Tables 9–11: Per-seed success rates (%) for the three headline 2-view BC-Transformer conditions (Plain, Proprio, Visible Touch with default Avg. Arrow overlay).
ConditionSuiteSeed 12345Seed 23456Seed 34567MeanSD
PlainOBJECT84.573.590.582.87.0
PlainGOAL90.089.581.086.84.1
PlainSPATIAL90.582.082.084.84.0
PlainLONG50.552.555.552.82.1
ProprioOBJECT82.577.580.080.02.0
ProprioGOAL84.075.585.081.54.3
ProprioSPATIAL82.079.079.080.01.4
ProprioLONG50.038.540.042.85.1
Visible TouchOBJECT99.099.096.598.21.2
Visible TouchGOAL96.092.590.092.82.5
Visible TouchSPATIAL96.091.589.592.32.7
Visible TouchLONG84.086.089.586.52.3

Plain 2v shows the largest per-seed variation (OBJECT spans 73.5% to 90.5%). Visible Touch 2v has the narrowest cross-seed spreads on every suite (SD between 1.2% and 2.7%), indicating that the overlay both improves average performance and stabilizes training.

miniVLA pretraining and recipe comparison

Visible Touch-miniVLA (Qwen2.5-0.5B with fused DINOv2 + SigLIP 224 px encoder) was pretrained from scratch on contact-overlay LIBERO_90 on 4× NVIDIA L40S GPUs at global batch 32 for 200k steps (11 epochs). The released Stanford baseline was trained on 8× A100 GPUs at global batch 256 for 60k steps (26 epochs). Despite the lower compute budget, head-to-head re-evaluation on all 90 tasks gives 63.2% vs. 48.3% (+14.9pp, 20 trials per task). Because the two models were trained on differently oriented images, the evaluation harness applies a per-model orientation transform (ROT180 for ours, FLIPUD for the Stanford checkpoint); a probe on task 2 confirmed FLIPUD is the only transform under which the Stanford checkpoint succeeds (5/5 vs. 0/5 for the others).

Per-task LIBERO_90 comparison of Visible Touch miniVLA vs Stanford baseline

Figure 10: Per-task success rates on LIBERO_90: Visible Touch-miniVLA (contact-overlay pretraining) vs. the re-evaluated Stanford miniVLA baseline.

Table 12: Per-recipe comparison for History-2 miniVLA on LIBERO suites. Baseline: clean non-contact fine-tuning with clean evaluation. Visible Touch: contact-overlay fine-tuning with overlay-augmented evaluation. For the suite-specific recipes used in the main results, Visible Touch performance is mean ± standard error over 5 training seeds; all other entries are single runs.
SuiteRecipeBaselineVisible TouchΔ
OBJECTb8 1-epoch47.0%57.5%+10.5 pp
OBJECTDDP-4 b16 cosine51.0%70.6 ± 4.6%+19.6 pp
GOALb8 1-epoch48.5%74.0%+25.5 pp
GOALDDP-4 b16 cosine37.4%80.5 ± 4.3%+43.1 pp
SPATIAL2-phase71.5%87.0 ± 1.8%+15.5 pp
SPATIALDDP-4 b16 cosine55.0%87.5%+32.5 pp
LONGb8 1-epoch32.5%58.0%+25.5 pp
LONGDDP-4 b16 cosine26.0%66.6 ± 2.2%+40.6 pp

Contact-overlay fine-tuning improves over non-contact fine-tuning for every suite and recipe evaluated, with gains from +10.5 pp to +43.1 pp, indicating that the improvement is not specific to a particular fine-tuning recipe.

Real-world fine-tuning and evaluation details
Table 13: π0.5 LoRA fine-tuning hyperparameters. All 32 runs (4 tasks × 8 input variants) share these settings; only the input variant differs.
SettingValue
Base checkpointpi05_droid
Fine-tuning methodLoRA (backbone r=16, action expert r=32)
LoRA targetsAttention and FFN projections
Image resolution224 × 224 × 3, 3 cameras
Action horizon10 steps (1.0 s at 10 Hz)
Batch size8
OptimizerAdamW
Gradient clippingGlobal norm ≤ 1.0
LR scheduleCosine with linear warmup
Warmup / peak LR / final LR500 steps / 1e-4 / 1e-5
Decay steps20,000
EMADisabled
Maximum training steps20,000
Checkpoint interval2,000 steps
Early stopping<0.5% relative improvement in the 1000-step rolling-window mean loss for two consecutive checks, after step 3,000

π0.5 is a flow-matching VLA (~2.3B parameters) coupling a SigLIP-So400m vision encoder with a Gemma-2B backbone (initialized from PaliGemma) and a 311M-parameter Gemma-based action expert. We initialize from pi05_droid (pretrained on DROID with knowledge insulation), which adapted more readily to our xArm7 setup than the LIBERO-pretrained checkpoint. LoRA adapters (r=16, α=16 on the backbone; r=32, α=32 on the action expert) are applied to attention and feed-forward projections; all base weights are frozen, keeping the base model byte-identical across variants. Observations are three 224 × 224 RGB streams (agent-view, wrist, and a zero-padded masked slot) plus an 8-D state [ee_pos, ee_axis_angle, grasp, grasp]; actions are 7-D world-frame deltas [Δxyz, Δaxis_angle, grasp] over a 10-step horizon at 10 Hz. Runs trained on 4× H200 GPUs each; most early-stopped between 5,100 and 7,900 steps (roughly 2–4 epochs), with the longest configurations reaching the full 20,000-step cap.

Table 14: Per-task demonstration statistics (post-acceptance, post-idle-trim). Length is mean ± standard deviation in control steps and seconds at 10 Hz.
TasknLength (steps)Duration (s)Min/Max (steps)
cube100131 ± 8613.1 ± 8.690 / 972
tube97190 ± 1419.0 ± 1.4166 / 238
charger100238 ± 2823.8 ± 2.7182 / 329
dishwasher100281 ± 3228.1 ± 3.2236 / 554
All397210 ± 7421.0 ± 7.490 / 972

Demonstrations were collected with TeleDex, a smartphone-based teleoperation interface, 100 per task. Raw sensor streams are logged and overlay variants applied post-hoc so all conditions train on the same data. Raw magnetometer readings are normalized per channel in two steps before rendering: a resting-state offset recorded at the start of each episode is subtracted, then each channel is scaled by its maximum absolute value across the demonstration dataset, mapping it to [-1, 1]. A demonstration is accepted if it contains at least one gripper open-to-close transition and at least 5 non-paused control steps remain after trimming leading idle frames; no task-success label is used. 397 of 400 demonstrations (99.25%) pass the filter; the three rejected episodes were tube episodes with no executed motion.

Per-stage success criteria. Lift: object lifted above a threshold height. Transfer Tube: Pick when the tube clears the holder, Insert when placed at the target location. Put Mug in Dishwasher: Pull when the rack reaches the target region, Pick when the mug is lifted and held stably, Place when seated in the rack. Plug Charger: Pick when the charger is held securely, Insert when the plug is fully seated. A trial is terminated early and marked failed if the robot collides with the object or table. Object poses are reset by sampling uniformly from a pre-marked distribution region.

Table 16: Rollout budget and action scale per real-world task.
TaskStep budgetAction scale
Lift1500.8
Transfer Tube4000.4
Put Mug in Dishwasher6000.8
Plug Charger6000.6

Conclusion

We introduce Visible Touch, a method that renders contact information as image-space overlays on the policy's RGB observations, requiring no architectural changes. Across LIBERO, image-space overlays improve BC-Transformer success over plain images and a compact proprioceptive baseline. The pattern transfers across architectures: miniVLA gains 25 percentage points on LIBERO fine-tuning, and π0.5 gains 30 percentage points across four real-world contact-rich tasks. We hope Visible Touch provides a practical path for adding contact awareness to image-conditioned policies, including pretrained VLAs.

Limitations. Our proprio baseline tests one specific state-vector integration; alternative implementations (e.g., learned tactile encoders, separate input streams) may close some of the gap. Our real-world evaluation spans four tasks on a single robot with a parallel-jaw gripper; generalization to other morphologies, deformable objects, and unstructured settings remains future work. Our magnetic sensor is tested at a single 3×3 geometry, and we have not yet demonstrated cross-geometry portability of trained policies. Finally, the conjecture that optimal overlay granularity tracks the spatial structure of the contact signal merits further investigation with finer-grained sensors and additional simulators.

BibTeX

@inproceedings{dogan2026visibletouch,
  title     = {Visible Touch: Rendering Contact for Visuomotor Policies},
  author    = {Dogan, Metin Alp and Sun, Edward and Xu, Feng and Wu, Daniel and
               Peng, Allen and Hong, Dennis and Cui, Yuchen},
  booktitle = {Conference on Robot Learning (CoRL)},
  year      = {2026}
}

This work was conducted at the University of California, Los Angeles, with institutional and computational support from the UCLA Department of Computer Science. We thank the members of the UCLA Robot Intelligence Laboratory and RoMeLa for helpful discussions and support throughout the project.