PAPER DEEP DIVE
足底压力时空表征驱动人形机器人运动
将多阵列足底压力作为人形机器人运动的直接反馈,通过拓扑保持序数表征与双分支编码器提取时空特征,结合增强本体感知进行策略学习,实现复杂地形稳健运动。
一句话总结
Tac4Loco 首次将多阵列足底压力作为人形机器人运动的直接反馈信号,通过拓扑保持的序数量化弥合仿真到现实的感知鸿沟,并用双分支编码器分别提取瞬时支撑拓扑与支撑演化趋势,在斜坡、沟壑、松软泡沫和碎石路面等复杂地形上实现了稳健运动与零样本迁移。
研究背景与动机
人形机器人要在人类生活环境中行走,就必须面对复杂多变的地形——不平整的地面、地形边界、斜坡以及各种不规则表面。然而,地形几何只是约束了可能的落足位置,脚底实际获得的支撑却充满不确定性。一只脚可能落在斜面上,可能只有边缘部分接触地面,也可能因放置误差、地面柔顺性或瞬态动力学而承受不对称的内外侧载荷。这些接触条件还会随步态阶段、落足位置和身体运动而变化,直接影响运动稳定性。
现有的运动策略主要依赖两类感知:本体感知和外部感知。本体感知方法通过域随机化、课程学习和时序策略架构来提升鲁棒性,但足底支撑只能从关节状态、IMU 等信号中隐式推断——这既不充分也不直接。外部感知方法利用深度图像或高程图获取地形预览,可以在触地前做预期性身体调整,但这些几何先验只能估计触地前的接触条件,无法提供触地后实际支撑状态的直接反馈。更关键的是,视觉感知容易受到遮挡、延迟、标定误差和深度噪声的影响。
足底安装的传感器可以直接测量接触结果,但现有研究往往将丰富的压力分布压缩为二元接触状态、总地面反力、压力中心或低维触觉特征。这些摘要丢失了足底支撑的空间拓扑信息——包括接触形状、局部压力峰值、边缘载荷以及前后方向和内外侧的载荷重分布。例如,全脚掌接触和两个局部接触斑块可能产生相似的总力和接近的压力中心,但支撑模式截然不同。区分这类接触配置需要一种多阵列、拓扑保持的足底压力表征,同时捕捉空间载荷分布及其时间演化。
这一空白正是 Tac4Loco 的出发点。论文提出的核心洞察是:将足底压力视为触地后实际足-地交互的后验信息,以直接反馈的方式补充本体感知,让策略"感知"每只脚实际是如何被支撑的。
预备知识
理解 Tac4Loco 需要两个基础概念。第一是强化学习驱动的运动控制:人形机器人运动被建模为离散时间马尔可夫决策过程(MDP),策略在每个控制步接收观测、采样动作、输出全身关节位置目标。训练在 GPU 并行仿真环境中进行,通过域随机化和课程学习提升策略的泛化能力。Tac4Loco 采用非对称 actor-critic 架构——actor 只使用可部署的观测,critic 额外获取仿真器特权状态(如真实线速度、接触信息、局部高程图)来辅助价值估计,从而降低 actor 的学习难度。
第二是足底压力感知的物理基础。本文使用的硬件是每脚 60 个力敏电阻(FSR)元件组成的阵列式足底压力鞋垫,通过 12 位 ADC 以 50 Hz 采样。FSR 的力-阻响应是非线性的且因元件而异——相同载荷下不同元件会产生系统性的不同 ADC 编码。这种异质性是 FSR 阵列的固有特性而非时序噪声,因此单纯在力域做随机化无法消除它。理解这一点对于理解序数量化方案的设计动机至关重要。
方法详解
问题定义
Tac4Loco 将压力感知运动建模为离散时间 MDP。在每个控制步 $t$,策略 $\pi_\theta$ 接收可部署观测 $o_t$ 并采样动作 $a_t \sim \pi_\theta(\cdot|o_t)$。可部署观测由四个结构化组件构成:
$$o_t = [b_t, P_t, H_t, e_t]$$
其中 $b_t$ 是可部署本体感知观测(IMU 测量、指令速度、关节状态、上一动作和步态相位),$P_t$ 是当前序数足底压力观测,$H_t$ 是近期压力演化与紧凑运动上下文的时间历史,$e_t$ 是接触条件化的地形朝向特征。输出动作 $a_t \in \mathbb{R}^{29}$ 是相对于名义站立姿态的残余关节位置目标。
足底压力感知与序数量化
硬件设计中,每只脚配备 60 元素 FSR 鞋垫,与仿真中的接触传感单元一一对应。由于 FSR 的非线性异质性,绝对力不是一个稳定的部署接口,逐元件标定也不现实。Tac4Loco 的解决方案是将仿真接触力和标定后的硬件读数映射到共同的力域,用单一量化算子 $Q(\cdot)$ 离散化。
具体而言,在已知标定载荷下(覆盖鞋垫满量程 2000 g)测量 ADC 编码,拟合二次 ADC-载荷映射:
$$\hat{m}(a) = c_2 a^2 + c_1 a + c_0, \qquad F_{\text{real}}(a) = \hat{m}(a) \cdot g_0$$
其中 $g_0 = 9.81 \times 10^{-3} \,\mathrm{N/g}$,在 $\hat{m}(a) = 0$(当 $a \lt 50$)和 $\hat{m}(a) = 2000 \,\mathrm{g}$(当 $a \gt 4000$)处截断。仿真中 $F_{\text{sim}}$ 是每个传感单元接触力的压缩法向分量,以相同单位表示。量化算子 $Q(F)$ 采用非均匀分箱:$[0, 1000]\,\mathrm{g}$ 区间内 50 g 分辨率,$(1000, 2000]\,\mathrm{g}$ 区间内 100 g 分辨率,产生离散序数水平 $q_{i,t} = Q(F) \in \{0, \ldots, 30\}$。
这个共享的离散字母表吸收了元件间响应差异,同时保留了空间载荷梯度。运动主要依赖空间载荷模式及其时间演化而非绝对量级,因此序数水平的相对结构在元件级曲线偏移下保持稳定。训练时还随机化残余动态伪影:力域增益与不对称滞回、零阶保持、以及含结构化丢包的电平域扰动。
空间足底压力观测
量化后的值按照传感器的物理位置排列在拓扑保持的足底网格上,保留足-地载荷的空间布局。双侧空间观测为 $P_t = [P_t^L, P_t^R]$,其中 $P_t^L$ 和 $P_t^R$ 分别是左右脚的序数压力图。这种排列方式确保了编码器能够利用压力分布的二维拓扑信息,而非将其展平为一维向量。
图4:代表性仿真地形及对应的双侧足底压力图,展示了全脚掌、偏移、局部和不对称支撑模式。
时间压力-本体感知历史
为高效构建时间观测,每个空间观测 $P_t$ 被压缩为 21 维空间描述符 $\phi(P_t)$,包含每脚 $2 \times 4$ 分区的区域压力比例、双侧接触指示、载荷平衡比以及压力中心的前后和内外侧差异。随后将 $\phi(P_t)$ 与紧凑本体感知上下文 $C_t$ 融合为单帧数据包 $s_t = [\phi(P_t), C_t] \in \mathbb{R}^{37}$,其中 $C_t \in \mathbb{R}^{16}$ 包含基座角速度、投影重力和双侧腿关节状态统计量。
最终构建八帧时间压力-本体感知历史:
$$H_t = [s_{t-\kappa_5}, \ldots, s_{t-\kappa_1}, s_{t-2}, s_{t-1}, s_t]$$
其中 $\kappa_1, \ldots, \kappa_5$ 是五个渐进提前的采样偏移。采用近密远疏方案:三个连续的近期帧捕捉快速触地和载荷转移瞬态,五个稀疏采样的早期帧在不多增加序列长度的情况下扩展时间覆盖范围。
接触条件化地形朝向估计
为给策略提供关于每只脚实际支撑的紧凑物理线索,Tac4Loco 从机器人基座朝向和腿正运动学中推导双侧地形朝向估计 $\theta_t^L, \theta_t^R \in \mathbb{R}^2$,表示机器人航向坐标系下的前后和内外侧足底倾角。然而,运动学足底朝向只在脚充分着地时才反映实际局部支撑。因此引入对应的支撑置信度 $c_t^L$ 和 $c_t^R$——由活跃压力位置的数量和空间分布得出,稀疏、局部或无接触时置信度较低。
基于这些置信度,每个朝向估计只在可靠的足底接触下更新;否则保留前值并衰减其置信度。进一步从双侧置信度推导整体谨慎线索 $\eta_t$,汇总当前支撑信息的可靠度。最终形成接触条件化地形朝向特征:
$$e_t = [\theta_t^L, \theta_t^R, c_t^L, c_t^R, \eta_t]$$
该特征与本体感知观测 $b_t$ 拼接形成增强观测 $b_t^{\text{aug}} = [b_t, e_t]$,暴露给下游编码器和策略。
双分支编码器:空间分支
图3:双分支足底压力编码器架构,包含状态条件化空间分支(a)和时间压力-本体感知分支(b)。
序数压力图 $P_t$ 首先逐脚归一化,由共享 CNN 分词器转换为左右脚 token 序列。每个 token 增加空间位置和脚身份嵌入,组合成双侧压力 token 集 $T_t^p$。这些 token 编码瞬时载荷拓扑,但压力本身不能决定该拓扑在当前运动下应如何解读——同一足底模式在某个步态阶段可能表示正常的载荷转移,在另一个阶段则可能意味着不稳定支撑。
因此,增强观测 $b_t^{\text{aug}}$ 被投影为查询 token,以当前速度指令、关节状态、步态相位和支撑可靠度作为条件,而 $T_t^p$ 作为多头注意力中的键和值:
$$z_t^{\text{att}} = \text{MHA}\big(\phi_q(b_t^{\text{aug}}), \phi_k(T_t^p), \phi_v(T_t^p)\big)$$
其中 $\phi_q$、$\phi_k$、$\phi_v$ 是可学习投影。这一交叉注意力使当前运动状态能够检索最相关的足底区域。最终 $z_t^{\text{att}}$ 与均值池化和最大池化的 token 特征融合,投影为空间潜在表征 $z_t^{\text{sp}}$。注意力机制自适应地选择状态条件的局部支撑线索,池化保留全局和显著模式,使 $z_t^{\text{sp}}$ 能捕捉斜面、部分着地、边缘接触和不对称载荷等接触配置。
双分支编码器:时间分支
空间分支捕捉瞬时支撑拓扑,但无法描述接触如何随时间演变。时间分支引入一维时间卷积层将八帧历史 $H_t$ 映射为特征序列 $U_t = [u_t^{(1)}, \ldots, u_t^{(8)}]$,然后通过三个统计量概括:最新特征(当前支撑状态)、时间均值(持久上下文)和最新-最早差异(近期变化趋势)。融合后送入 MLP 得到时间潜在表征 $z_t^{\text{tp}}$。最终空间和时间潜在表征组合为:
$$z_t^p = [z_t^{\text{sp}}, z_t^{\text{tp}}]$$
策略学习与训练
统一的足底压力表征 $z_t^p$ 与增强基座观测融合形成 actor 输入:
$$x_t^\pi = [b_t^{\text{aug}}, z_t^p]$$
非对称 actor-critic 架构中,actor 只使用可部署观测,critic 额外接收仿真器特权状态(基座线速度、足-地接触量、局部高程图、未扰动的足底压力读数)。策略用 PPO 优化,配合标准运动奖励和地形课程。奖励分为四组:任务跟踪(匹配指令速度)、运动正则化(限制躯干倾斜和角速率)、步态与接触整形(促进周期性落足)、以及足底支撑对齐(鼓励足底法向与力加权地面接触法向重合,促使脚与局部地形贴合)。
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
实验结果
仿真评估
仿真在 MJLab(基于 MuJoCo 的 GPU 并行环境)中进行,使用 Unitree G1 模型。策略以 50 Hz 输出关节位置目标,底层 PD 电机环以 200 Hz 运行。仿真地形包括平地、整体高度差 15 cm 的缓起伏地形、15 度和 20 度的上下坡、高度差至 15 cm 的随机支撑高度地形,以及由两堵对倾斜墙形成的 V 形沟壑(倾角 0 至 25 度随机)。
表 I 汇总了整体仿真性能。Tac4Loco 在平地、缓起伏和 V 形沟壑上保持 100% 存活率,在随机支撑高度地形上将存活率从 71.7% 提升至 96.5%,在斜坡上从 22.0% 提升至 77.9%。所有地形组上线速度跟踪误差均显著降低。
| 地形 | 方法 | 存活率 (%) ↑ | 线速度误差 (m/s) ↓ | 偏航速度误差 (rad/s) ↓ |
|---|---|---|---|---|
| 平地 | 仅本体感知 | 100.0 | 0.337±0.244 | 0.380±0.224 |
| Tac4Loco | 100.0 | 0.131±0.024 | 0.329±0.189 | |
| 随机支撑高度 | 仅本体感知 | 71.7 | 0.351±0.248 | 0.416±0.207 |
| Tac4Loco | 96.5 | 0.168±0.051 | 0.378±0.159 | |
| 斜坡 | 仅本体感知 | 22.0 | 1.018±0.038 | 0.238±0.021 |
| Tac4Loco | 77.9 | 0.259±0.042 | 0.283±0.022 | |
| V 形沟壑 | 仅本体感知 | 100.0 | 0.952±0.022 | 0.563±0.006 |
| Tac4Loco | 100.0 | 0.309±0.239 | 0.426±0.048 |
表 I:Tac4Loco 整体仿真性能。斜坡存活率从 22% 跃升至 77.9%,线速度误差降至约四分之一。
方向调控与步态分析
在开敞地形的方向调控中,Tac4Loco 持续降低漂移角——平地从 1.434 降至 0.495,缓起伏从 1.333 降至 0.551,随机支撑高度从 1.095 降至 0.545(单位弧度)。这表明策略能更好地保持指令的平移方向。步长分析显示,Tac4Loco 在随机支撑高度、斜坡和 V 形沟壑上表现出更长的步长,结合存活率和速度跟踪性能,说明在复杂支撑条件下的行进干扰更小。
消融实验
表 III 隔离了双分支压力编码器和接触条件化地形朝向特征的贡献。去除地形朝向特征主要在连续变化或倾斜支撑下退化——缓起伏速度误差增大,斜坡存活率从 77.9% 降至 42.2%。去除压力编码器主要在局部、不对称和不连续变化支撑下退化——V 形沟壑存活率从 100% 降至 68.8%,且横向漂移增大。
两个组件因此发挥互补作用:地形朝向特征支撑连续变化支撑方向上的速度调控和有效推进,双分支压力编码器保持不对称或局部不确定接触下的航向调控和支撑转换控制。二者结合才产生地形自适应能力。
| 方法 | 缓起伏 线速度误差↓ | 随机支撑 存活率↑ | 斜坡 存活率↑ | V沟壑 存活率↑ | V沟壑 横向漂移↓ |
|---|---|---|---|---|---|
| 去压力编码器 | 0.158±0.041 | 90.6 | 73.4 | 68.8 | 0.194±0.077 |
| 去地形估计 | 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 |
表 III:消融实验。去掉任一组件都在不同地形上造成特定退化,证明两者互补。
真实世界部署
图6:真实世界部署验证。(A)静态结构地形:坡道、沟壑、地形边缘和支撑转换。(B)零样本可变形与颗粒地形:泡沫平台和碎石路。
Tac4Loco 部署在配备双侧足底压力鞋垫的 Unitree G1 上,物理测量映射到与仿真相同的拓扑保持序数压力表征。表 IV 汇总了真实世界完成率——比仿真中的存活率更严格,要求机器人不跌倒地穿越指定地形。
| 配置 | 支撑挑战 | 仅本体感知 | Tac4Loco |
|---|---|---|---|
| 9度 坡道边缘 | 部分支撑/落差 | 7/10 | 10/10 |
| 侧向 9度 上坡 | 不对称支撑 | 1/10 | 8/10 |
| 15度 上 + 9度 下 | 坡度转换 | 0/10 | 10/10 |
| 9度 V 形沟壑 | 边缘支撑 | — | 10/10 |
| 平地转泡沫 | 柔顺转换 | 0/10 | 7/10 |
| 坡道转泡沫 | 坡度+柔顺 | 4/10 | 10/10 |
表 IV:真实世界部署对比。15度上坡加 9度下坡转换从 0/10 提升至 10/10,泡沫转换从 0/10 提升至 7/10。
仅本体感知的基线在 15 度上升斜坡上完全无法攀爬,在侧向上升任务中虽然保持直立但逐渐向坡下滑移。Tac4Loco 在坡道边缘过渡中实现平稳下降和更高完成率,这源于局部足底压力感知在触地后立即提供关键触觉反馈,使策略能够快速重新分配载荷并在支撑丧失后做出反应性平衡调整。
在零样本可变形和颗粒地形上——泡沫平台和碎石路——仿真训练中完全不包含这些地形。泡沫表面在触地后持续变形,导致支撑力和接触面积连续变化,这对人形运动尤其具有挑战性,且在大规模并行强化学习仿真中难以复现。仅本体感知基线无法从本体感知中可靠推断足底支撑,而 Tac4Loco 通过显式多阵列足底压力建模,直接提供演化中支撑拓扑的触后反馈,使策略能从接触力判断支撑状态、稳定质心并适应不同属性的地形。碎石路上约五分钟连续测试中,Tac4Loco 无需额外训练即保持稳健。
局限性
第一,作者自述的局限:当前框架未集成外部视觉感知。论文在结论中明确指出,未来工作将探索足底压力反馈与外部视觉感知的多模态融合,以统一地形预判与触后反应性。这意味着当前系统无法在触地前做地形预判,在某些需要前瞻性调整的场景中可能仍有不足。
第二,框架仅在 Unitree G1 上验证。60 元素 FSR 阵列的空间分辨率对于精细接触拓扑可能不够充分,序数量化为 31 级(0 至 30)也丢失了绝对力幅值信息。不同人形平台的足部几何和传感器布局差异较大,该方法向其他平台的迁移能力尚未得到验证。此外,FSR 传感器的长期漂移和温漂特性在实际长期部署中的影响也未讨论。
总结与展望
Tac4Loco 提出了一种可部署的触觉感知人形运动框架,将多阵列足底压力作为触地后的直接反馈。核心贡献包括:拓扑保持的序数量化方案以弥合触觉感知的仿真-现实差距;显式解耦时空表征的双分支编码器架构;以及接触条件化的地形朝向估计。仿真实验证明在多种复杂地形上的速度跟踪、运动鲁棒性和支撑适应能力优于仅本体感知基线,消融实验揭示了压力感知和地形朝向线索在不同接触条件下的互补效益。真实世界实验进一步展示了跨坡道、沟壑、地形边缘、刚性支撑转换以及未训练的柔顺表面的部署能力。
这项工作为触觉感知在人形运动控制中的应用开辟了一条新路径。将足底压力从辅助信息提升为直接策略输入,配合拓扑保持表征和双分支编码,使得策略能够"感受"脚下的世界并做出实时适应。未来将足底触觉与视觉感知融合,有望同时获得地形预判能力和触后反应能力,进一步提升人形机器人在复杂环境中的运动表现。



