PAPER DEEP DIVE
Tac4Loco: Learning Spatiotemporal Plantar Pressure Representations for Humanoid Locomotion
Humanoid robots are expected to traverse complex terrains, where the plantar support may vary dramatically due to foot placement errors, ground properties, and transient dynamics. To achieve robust locomotion, the robots are required to adapt to uneven terrain and uncertain foot--ground interactions. Existing locomotion policies rely primarily on proprioception or exteroceptive terrain perception, where the former provides only indirect evidence of plantar support, while the latter predicts contact conditions before touchdown but cannot observe the actual support in real-time. Although some studies incorporate plantar contacts as an auxiliary perception, they rely mainly on summary statistics, overlooking the spatial topology of plantar pressure, which provides a more direct characterization of the realized contact state. To bridge this gap, we present Tac4Loco, a tactile-perceptive framework that incorporates multi-array plantar pressure as direct feedback for humanoid locomotion. We formulate a topology-preserving ordinal representation to map simulated and physical sensor signals into a shared observation space, with a dual-branch encoder for extracting their spatial and temporal representations. Subsequently, the learned spatiotemporal features are integrated with augmented proprioception including terrain estimation cues, and provided to an asymmetric actor-critic architecture for policy learning. Extensive simulation and real-world experiments demonstrate improved tracking performance and support adaptation on terrains with inclined, partial, asymmetric, and changing support. We further demonstrate its zero-shot deployment on unseen compliant and unstructured terrains, including a foam platform and a gravel road. All code and experimental configurations will be released as open-source to facilitate reproducibility.
One-Sentence Summary
Tac4Loco introduces multi-array plantar pressure as direct feedback for humanoid locomotion for the first time, bridging the sim-to-real sensing gap through topology-preserving ordinal quantization and a dual-branch encoder that decouples instantaneous support topology from temporal support evolution, achieving robust locomotion and zero-shot transfer across slopes, trenches, compliant foam, and gravel.
Background and Motivation
Humanoid robots operating in human-centered environments must traverse complex terrain — uneven ground, terrain boundaries, slopes, and irregular surfaces. Yet terrain geometry only constrains possible foothold locations; the support realized beneath each foot remains uncertain. A foot may land on an inclined surface, receive only partial support near an edge, or experience asymmetric medial-lateral loading due to placement errors, surface compliance, friction, or transient dynamics. These contact conditions evolve with gait phase, foot placement, and body motion, directly affecting locomotion stability.
Existing locomotion policies rely on two sensing modalities: proprioception and exteroception. Proprioceptive methods improve robustness through domain randomization, curriculum learning, and temporal policy architectures, but plantar support can only be inferred implicitly from joint states and IMU signals — which is both insufficient and indirect. Exteroceptive methods leverage depth images or elevation maps for terrain preview, enabling anticipatory body adjustment before touchdown, but these geometric priors only estimate contact conditions prior to contact and provide no direct feedback on whether the feet are actually supported after touchdown. Visual perception is further vulnerable to occlusion, latency, calibration errors, and depth noise.
Foot-mounted sensors can measure contact outcomes directly, but existing work typically reduces rich pressure distributions to binary contact states, total ground reaction forces, centers of pressure, or low-dimensional tactile features. These summaries discard the spatial topology of plantar support — including contact shape, local pressure peaks, edge loading, and fore-aft or medial-lateral load redistribution. For instance, full-sole contact and two localized contact patches can produce comparable total forces and similar centers of pressure despite having fundamentally different support patterns. Distinguishing such configurations requires a multi-array, topology-preserving plantar pressure representation that captures both the spatial load distribution and its temporal evolution.
This gap is the starting point of Tac4Loco. The core insight: treat plantar pressure as posterior information about the realized foot-ground interaction, complementing proprioception with direct feedback of how each foot is actually supported during motion.
Preliminaries
Two foundational concepts are needed to understand Tac4Loco. The first is reinforcement learning for locomotion control. Humanoid locomotion is modeled as a discrete-time Markov Decision Process (MDP), where the policy receives an observation, samples an action, and outputs whole-body joint position targets at each control step. Training occurs in GPU-parallel simulation environments with domain randomization and terrain curriculum to improve generalization. Tac4Loco adopts an asymmetric actor-critic architecture: the actor uses only deployable observations, while the critic additionally receives privileged simulator states (true linear velocity, contact quantities, local height maps) to aid value estimation, thereby reducing the actor's learning difficulty.
The second is the physics of plantar pressure sensing. The hardware consists of 60 force-sensitive resistor (FSR) elements per foot arranged as an array insole, digitized by a 12-bit ADC at 50 Hz. The FSR force-resistance response is nonlinear and element-dependent — identical loads yield systematically different ADC codes across elements. This heterogeneity is intrinsic to FSR arrays rather than temporal noise, so force-domain randomization alone cannot eliminate it. Understanding this limitation is essential for grasping the design rationale behind the ordinal quantization scheme.
Method
Problem Formulation
Tac4Loco models pressure-aware locomotion as a discrete-time MDP. At each control step $t$, the policy $\pi_\theta$ receives a deployable observation $o_t$ and samples an action $a_t \sim \pi_\theta(\cdot|o_t)$. The deployable observation comprises four structured components:
$$o_t = [b_t, P_t, H_t, e_t]$$
where $b_t$ is the deployable proprioceptive observation (IMU, commanded velocity, joint states, previous action, gait phase), $P_t$ is the current ordinal plantar pressure observation, $H_t$ is a temporal history of recent pressure evolution and compact motion context, and $e_t$ is the contact-conditioned terrain-orientation feature. The output action $a_t \in \mathbb{R}^{29}$ represents residual joint-position targets relative to a nominal standing pose.
Plantar Pressure Sensing and Quantization
Each foot is equipped with a 60-element FSR insole aligned one-to-one with simulated taxels. Due to FSR nonlinear heterogeneity, absolute force is not a stable deployment interface, and per-taxel calibration is impractical. Tac4Loco maps both simulated contact forces and calibrated hardware readings into a common force domain and quantizes them with a single operator $Q(\cdot)$.
Specifically, ADC codes are measured under known calibration loads spanning the pad full scale of 2000 g, and a quadratic ADC-to-load map is fitted:
$$\hat{m}(a) = c_2 a^2 + c_1 a + c_0, \qquad F_{\text{real}}(a) = \hat{m}(a) \cdot g_0$$
where $g_0 = 9.81 \times 10^{-3}\,\mathrm{N/g}$, clamped at $\hat{m}(a) = 0$ for $a \lt 50$ and $\hat{m}(a) = 2000\,\mathrm{g}$ for $a \gt 4000$. In simulation, $F_{\text{sim}}$ is the compressive sole-normal component of each taxel contact force in the same units. The quantization operator $Q(F)$ employs non-uniform bin steps: 50 g resolution within $[0, 1000]\,\mathrm{g}$ and 100 g resolution within $(1000, 2000]\,\mathrm{g}$, yielding discrete ordinal levels $q_{i,t} = Q(F) \in \{0, \ldots, 30\}$.
This shared discrete alphabet absorbs inter-element response discrepancies while retaining spatial load gradients. Locomotion depends primarily on spatial load patterns and their temporal evolution rather than absolute magnitudes, so the relative structure of ordinal levels remains stable under element-wise curve offsets. Training further randomizes residual dynamic artifacts: force-domain gain and asymmetric hysteresis, zero-order hold, and level-domain perturbations with structured dropouts.
Spatial Plantar Pressure Observation
The quantized values are arranged according to their physical sensor locations on a topology-preserving plantar grid, preserving the spatial layout of foot-ground loading. The bilateral spatial observation is $P_t = [P_t^L, P_t^R]$, where $P_t^L$ and $P_t^R$ denote the left and right foot ordinal pressure maps. This arrangement ensures the encoder can exploit the two-dimensional topology of the pressure distribution rather than flattening it into a one-dimensional vector.
Fig. 4: Representative simulation terrains and corresponding bilateral plantar pressure maps, showing full, shifted, localized, and asymmetric support patterns.
Temporal Pressure-Proprioceptive History
To construct the temporal observation efficiently, each spatial observation $P_t$ is compressed into a 21-dimensional spatial descriptor $\phi(P_t)$. This descriptor contains regional pressure proportions from a $2 \times 4$ partition of each foot, bilateral contact indicators, the load-balance ratio, and fore-aft and medial-lateral differences between pressure-derived centers of pressure. The descriptor is fused with a compact proprioceptive context $C_t$ to form a single-frame packet $s_t = [\phi(P_t), C_t] \in \mathbb{R}^{37}$, where $C_t \in \mathbb{R}^{16}$ comprises base angular velocity, projected gravity, and bilateral leg joint-state statistics.
The temporal pressure-proprioceptive observation is then constructed as an eight-packet sequence:
$$H_t = [s_{t-\kappa_5}, \ldots, s_{t-\kappa_1}, s_{t-2}, s_{t-1}, s_t]$$
where $\kappa_1, \ldots, \kappa_5$ denote five progressively earlier sampling offsets. A near-dense, far-sparse scheme is adopted: three contiguous recent packets capture rapid touchdown and load-transfer transients, while five sparsely sampled earlier packets extend temporal coverage without increasing sequence length.
Contact-Conditioned Terrain-Orientation Estimation
To provide the policy with a compact physical cue about the realized support under each foot, Tac4Loco derives bilateral terrain-orientation estimates $\theta_t^L, \theta_t^R \in \mathbb{R}^2$ from the robot base orientation and leg forward kinematics, representing the fore-aft and medial-lateral sole inclinations in the robot-heading coordinate frame. However, a kinematic sole orientation reflects the actual local support only when the foot is sufficiently planted. Therefore, corresponding support confidences $c_t^L$ and $c_t^R$ are introduced, derived from the number and spatial spread of active pressure locations, where sparse, localized, or absent contact indicates lower support reliability.
Based on these confidences, each orientation estimate is updated only under reliable plantar contact; otherwise, the previous estimate is retained while its confidence decays. An overall caution cue $\eta_t$ is further derived from the bilateral confidences to summarize the reliability of the current support information. The contact-conditioned terrain-orientation feature is:
$$e_t = [\theta_t^L, \theta_t^R, c_t^L, c_t^R, \eta_t]$$
This feature is concatenated with the base proprioceptive observation $b_t$ to form the augmented observation $b_t^{\text{aug}} = [b_t, e_t]$, exposed to the downstream encoder and policy.
Dual-Branch Encoder: Spatial Branch
Fig. 3: Architecture of the dual-branch plantar pressure encoder, comprising the state-conditioned spatial branch (a) and temporal pressure-proprioceptive branch (b).
The ordinal pressure maps $P_t$ are first normalized per foot and converted by a shared CNN tokenizer into left- and right-foot token sequences. Each token is augmented with spatial-position and foot-identity embeddings, forming the bilateral pressure-token set $T_t^p$. These tokens encode the instantaneous loading topology, but pressure alone cannot determine how that topology should be interpreted under the current motion. The same plantar pattern may indicate expected load transfer in one gait phase but unstable support in another.
Therefore, the augmented observation $b_t^{\text{aug}}$ is projected into a query token to condition the pressure representation on the current velocity command, joint states, gait phase, and support reliability, while $T_t^p$ serves as spatial keys and values in multi-head attention:
$$z_t^{\text{att}} = \text{MHA}\big(\phi_q(b_t^{\text{aug}}), \phi_k(T_t^p), \phi_v(T_t^p)\big)$$
where $\phi_q$, $\phi_k$, and $\phi_v$ are learnable projections. This cross-attention allows the current locomotion state to retrieve the most relevant plantar regions. Finally, $z_t^{\text{att}}$ is fused with mean- and max-pooled token features and projected into the spatial latent $z_t^{\text{sp}}$. Attention adaptively selects state-conditioned local support cues, while pooling preserves global and salient patterns, allowing $z_t^{\text{sp}}$ to capture contact configurations such as slopes, partial footholds, edge contacts, and asymmetric loading.
Dual-Branch Encoder: Temporal Branch
The spatial branch captures instantaneous support topology but cannot describe how contact evolves over time. The temporal branch introduces a one-dimensional temporal convolutional layer that maps the eight-packet history $H_t$ to a feature sequence $U_t = [u_t^{(1)}, \ldots, u_t^{(8)}]$. This sequence is summarized using three statistics: the latest feature (current support state), the temporal mean (persistent context), and the latest-to-earliest difference (recent change trend). The fused representation is fed into an MLP to obtain the temporal latent $z_t^{\text{tp}}$. The spatial and temporal plantar pressure latents are combined as:
$$z_t^p = [z_t^{\text{sp}}, z_t^{\text{tp}}]$$
Policy Learning and Training
The unified plantar pressure representation $z_t^p$ is fused with the augmented base observation to form the actor input:
$$x_t^\pi = [b_t^{\text{aug}}, z_t^p]$$
In the asymmetric actor-critic framework, the actor uses only deployable observations, while the critic additionally receives privileged simulator states including base linear velocity, foot-ground contact quantities, a local height map on rough terrain, and an unperturbed plantar-pressure reading. The policy is optimized using PPO with standard locomotion rewards and a terrain curriculum. Rewards are organized into four groups: task tracking (matching commanded velocities), motion regularization (penalizing excessive torso tilt and angular rates), gait and contact shaping (promoting periodic footfalls), and plantar support alignment (encouraging the sole normal to coincide with the force-weighted ground-contact normal, urging feet to plant flush with local terrain).
flowchart TB
subgraph Input["Input"]
P["Proprioception b_t"]
PP["Plantar Pressure
60-element FSR x2"]
end
subgraph Pre["Preprocessing"]
Q["Ordinal Quantization Q(F)
31 levels, non-uniform bins"]
SE["Spatial Descriptor
phi(P_t) 21-dim"]
HT["Temporal History H_t
8-packet sequence"]
TE["Terrain Orientation e_t
theta + confidence"]
end
subgraph DBE["Dual-Branch Encoder"]
SB["Spatial Branch
CNN + Cross-Attention
-> z_sp"]
TB["Temporal Branch
1D Conv + MLP
-> z_tp"]
end
FUS["Fusion x_pi = b_aug, z_p"]
AC["Asymmetric Actor-Critic
PPO + Terrain Curriculum"]
OUT["Residual Joint Positions
29-dim @ 50Hz"]
PP --> Q
Q --> SE
Q --> HT
SE --> SB
HT --> TB
P --> TE
PP --> TE
SB --> FUS
TB --> FUS
TE --> FUS
FUS --> AC
AC --> OUT
Experimental Results
Simulation Evaluation
Simulation experiments are conducted in MJLab, a GPU-parallel MuJoCo-based environment, using a Unitree G1 robot model. The policy outputs joint-position targets at 50 Hz, with low-level PD motor loops at 200 Hz. Simulation terrains include flat ground, gently undulating terrain with 15 cm height range, ascending and descending slopes at 15 and 20 degrees, random support-height terrain with height differences up to 15 cm, and V-shaped trenches formed by two opposing inclined walls with inclinations randomly selected from 0 to 25 degrees.
Table I reports overall task performance. Tac4Loco maintains 100% survival on flat, gently undulating, and V-trench terrains, and raises survival from 71.7% to 96.5% on random support height and from 22.0% to 77.9% on slopes. Linear-velocity error is reduced across all terrain groups.
| Terrain | Method | Survival (%) ↑ | Lin. Vel. Err. (m/s) ↓ | Yaw Vel. Err. (rad/s) ↓ |
|---|---|---|---|---|
| Flat | Proprio-only | 100.0 | 0.337±0.244 | 0.380±0.224 |
| Tac4Loco | 100.0 | 0.131±0.024 | 0.329±0.189 | |
| Random Support-Height | Proprio-only | 71.7 | 0.351±0.248 | 0.416±0.207 |
| Tac4Loco | 96.5 | 0.168±0.051 | 0.378±0.159 | |
| Slopes | Proprio-only | 22.0 | 1.018±0.038 | 0.238±0.021 |
| Tac4Loco | 77.9 | 0.259±0.042 | 0.283±0.022 | |
| V-Trench | Proprio-only | 100.0 | 0.952±0.022 | 0.563±0.006 |
| Tac4Loco | 100.0 | 0.309±0.239 | 0.426±0.048 |
Table I: Overall simulation performance. Slope survival jumps from 22% to 77.9%, linear velocity error drops to roughly a quarter.
Directional Regulation and Gait Analysis
In open-terrain directional regulation, Tac4Loco consistently reduces drift angle — flat from 1.434 to 0.495, gently undulating from 1.333 to 0.551, and random support-height from 1.095 to 0.545 (in radians). This indicates better preservation of the commanded translational direction. Step length analysis shows Tac4Loco exhibits longer step lengths on random support-height terrain, slopes, and the V-trench. Interpreted jointly with survival and velocity-tracking performance, these results indicate less disrupted progression under challenging support conditions.
Ablation Study
Table III isolates the contributions of the dual-branch pressure encoder and the contact-conditioned terrain-orientation feature. Removing the terrain-orientation feature primarily degrades locomotion under continuously varying or inclined support — velocity-tracking error increases on gently undulating terrain, and slope survival drops from 77.9% to 42.2%. Removing the pressure encoder primarily degrades under localized, asymmetric, and discontinuously changing support — V-trench survival drops from 100% to 68.8% with increased lateral drift.
The two components therefore play complementary roles. The terrain-orientation feature supports velocity regulation and effective progression over continuously varying support directions, while the dual-branch pressure encoder preserves the spatial and temporal contact structure required for heading regulation and support-transition control under asymmetric or locally uncertain contact. Their combination produces the terrain-adaptive capabilities.
| Method | GU Lin. Vel. Err. ↓ | RSH Surv. ↑ | SP Surv. ↑ | VT Surv. ↑ | VT Lat. Drift ↓ |
|---|---|---|---|---|---|
| w/o Pressure Enc. | 0.158±0.041 | 90.6 | 73.4 | 68.8 | 0.194±0.077 |
| w/o Terrain Est. | 0.228±0.061 | 94.9 | 42.2 | 96.9 | 0.067±0.029 |
| Tac4Loco | 0.140±0.030 | 96.5 | 77.9 | 100.0 | 0.059±0.023 |
Table III: Ablation study. Removing either component causes specific degradation on different terrains, proving complementarity.
Real-World Deployment
Fig. 6: Real-world deployment validation. (A) Static structural terrains: ramps, trenches, terrain edges, and support transitions. (B) Zero-shot deformable and granular terrains: foam platform and gravel road.
Tac4Loco is deployed on a Unitree G1 humanoid robot equipped with bilateral plantar pressure insoles, with physical measurements mapped into the same topology-preserving ordinal pressure representation used in simulation. Table IV summarizes real-world completion rates — stricter than simulation survival, requiring the robot to traverse the prescribed terrain without falling.
| Configuration | Support Challenge | Proprio-only | Tac4Loco |
|---|---|---|---|
| 9° ramp edge | Partial support / drop | 7/10 | 10/10 |
| Lateral 9° ascent | Asymmetric support | 1/10 | 8/10 |
| 15° up + 9° down | Slope transition | 0/10 | 10/10 |
| 9° V-trench | Edge support | — | 10/10 |
| Flat to foam | Compliant transition | 0/10 | 7/10 |
| Ramp to foam | Slope + compliance | 4/10 | 10/10 |
Table IV: Real-world deployment comparison. The 15° ascent plus 9° descent transition improves from 0/10 to 10/10, foam transition from 0/10 to 7/10.
The proprioception-only baseline cannot climb the 15-degree ascending ramp at all, and in lateral ascent tasks, it generally remains upright but gradually drifts downslope. Tac4Loco achieves smooth downward transitions and higher completion rates, stemming from localized plantar pressure sensing that provides vital haptic feedback immediately following touchdown, enabling rapid load redistribution and reactive balance adjustment after support loss.
On zero-shot deformable and granular terrains — the foam platform and gravel road — these terrains are entirely absent from simulation training. The foam surface deforms after touchdown, causing continuous variation of support force and contact area, which is particularly challenging for humanoid locomotion and difficult to reproduce in large-scale parallel RL simulation. The proprioception-only baseline cannot reliably infer plantar support from proprioception, while Tac4Loco, through explicit multi-array plantar pressure modeling, provides direct post-contact feedback of the evolving support topology, enabling the policy to judge the support state from contact forces, stabilize the center of mass, and adapt across terrains of different properties. On the gravel road, approximately five minutes of continuous testing confirmed robustness without additional training.
Limitations
First, as acknowledged by the authors: the current framework does not integrate exteroceptive visual perception. The conclusion explicitly states that future work will explore multi-modal integration of plantar pressure feedback with exteroceptive visual sensing to unify terrain anticipation with post-contact reactivity. This means the system currently cannot preview terrain before touchdown, which may be insufficient in scenarios requiring anticipatory adjustments.
Second, the framework is validated only on the Unitree G1. The 60-element FSR array's spatial resolution may be insufficient for fine-grained contact topology, and ordinal quantization into 31 levels (0-30) discards absolute force magnitude information. Different humanoid platforms have varying foot geometries and sensor layouts, and the method's transferability to other platforms remains unverified. Additionally, FSR sensor long-term drift and temperature sensitivity effects during extended real-world deployment are not discussed.
Conclusion and Outlook
Tac4Loco presents a deployable tactile-perceptive humanoid locomotion framework that incorporates multi-array plantar pressure as direct post-contact feedback. Core contributions include: a topology-preserving ordinal quantization scheme to bridge the sim-to-real gap for tactile sensing; a dual-branch encoder architecture that explicitly decouples spatiotemporal representation; and contact-conditioned terrain-orientation estimation. Simulation experiments demonstrate improved velocity tracking, locomotion robustness, and support adaptation over a proprioception-only baseline, with ablations revealing the complementary benefits of pressure perception and terrain-orientation cues under diverse contact conditions. Real-world experiments further demonstrate deployment across ramps, trenches, terrain edges, changing rigid supports, and unseen compliant surfaces.
This work opens a new path for tactile perception in humanoid locomotion control. By elevating plantar pressure from auxiliary information to a direct policy input, combined with topology-preserving representation and dual-branch encoding, the policy can "feel" the world beneath its feet and adapt in real time. Future integration of plantar tactile sensing with visual perception holds the promise of simultaneously acquiring terrain preview capability and post-contact reactivity, further enhancing humanoid robot locomotion in complex environments.
SOURCE LINKS



