跳转至

足端传感器

为什么足式机器人需要足端力传感

足式机器人(四足、双足、六足)的运动本质是一系列离散的接触事件。准确感知足端与地面的交互力对以下任务至关重要:

  • 接触状态检测:脚是否着地?何时着地?
  • 地面反力(GRF)测量:每条腿承受多少负载?
  • 地形识别:硬地面、软泥地、斜坡、楼梯?
  • 步态控制:根据接触状态切换摆动/支撑相
  • 平衡维持:ZMP(Zero Moment Point)计算需要足底力分布

地面反力(GRF)基础

定义

地面反力(Ground Reaction Force)是地面对机器人足端的反作用力,根据牛顿第三定律:

\[\vec{F}_{GRF} = -\vec{F}_{foot \to ground}\]

三维分量

\[\vec{F}_{GRF} = \begin{bmatrix} F_x \\ F_y \\ F_z \end{bmatrix}\]
  • \(F_z\):法向力(支撑力),与重力平衡
  • \(F_x, F_y\):切向力(摩擦力),提供推进力

静态站立

四足机器人静态站立时,四条腿的法向力之和等于体重:

\[\sum_{i=1}^{4} F_{z,i} = mg\]

如果质心不在四足支撑多边形中心,各腿负载不均匀。

动态行走

动态行走时,GRF 随步态相位周期性变化:

\[F_z(t) \approx mg + m\ddot{z}_{CoM}(t)\]

推进力分量:

\[F_x(t) = m\ddot{x}_{CoM}(t)\]

传感器类型

1. 应变片式足端力传感器

最常用的高精度方案,工作原理与六维力矩传感器相同,但专为足端环境优化。

结构

       地面接触面(橡胶/硅胶垫)
    ┌──────────────────┐
    │   弹性体结构       │
    │  ┌──┐  ┌──┐      │
    │  │SG│  │SG│ ← 应变片 (Strain Gauge)
    │  └──┘  └──┘      │
    ├──────────────────┤
    │  连接法兰(接小腿) │
    └──────────────────┘

典型规格

参数 范围
量程 (Fz) 50 ~ 500 N
量程 (Fx, Fy) 20 ~ 200 N
分辨率 0.1 ~ 1 N
采样率 500 ~ 2000 Hz
维度 1轴(仅Fz)或 3轴
防护 IP65 以上

案例:ANYmal 足端力传感器

ETH Zurich 的 ANYmal 四足机器人在每条腿末端安装了三维力传感器:

  • 应变片式,3轴测量
  • 量程 ±500 N(法向)/ ±200 N(切向)
  • 1 kHz 采样
  • 集成在足端碳纤维结构中

2. 电容式足端传感器

工作原理:柔性电容阵列覆盖在足底

\[C = \varepsilon_0 \varepsilon_r \frac{A}{d}\]

受力时介电层压缩,极板间距 \(d\) 减小,电容增大。

优点

  • 可以测量压力分布(多个 taxel)
  • 柔性,适应不规则足形
  • 可嵌入橡胶足垫

缺点

  • 精度不如应变片
  • 受湿度影响
  • 动态范围有限

案例:Honda ASIMO 足底压力阵列

  • 每只脚 4 个压力传感区域
  • 用于 ZMP 计算和步态稳定控制

3. 二值接触开关

最简单的足端传感方案:只检测"有接触/无接触"。

实现方式

  • 微动开关(Microswitch):机械触发,0/1 输出
  • 弹簧加载按钮:接触时闭合
  • 霍尔传感器 + 磁铁:非接触式,更耐用
# 伪代码:基于接触开关的步态相位检测
def detect_gait_phase(contact_states):
    """
    contact_states: [FL, FR, RL, RR] 四足接触状态
    1 = 接触, 0 = 离地
    """
    if contact_states == [1, 1, 1, 1]:
        return "STAND"
    elif contact_states == [1, 0, 0, 1]:
        return "TROT_PHASE_A"  # 左前+右后
    elif contact_states == [0, 1, 1, 0]:
        return "TROT_PHASE_B"  # 右前+左后
    else:
        return "TRANSITION"

优点:极其简单、便宜、可靠

缺点:无力大小信息,只有开/关

4. 本体感觉力估计(无传感器方案)

许多现代四足机器人不使用专用足端力传感器,而是通过电机电流估算足端力:

\[\hat{F}_{foot} = (J^T)^{-1} (\tau_{motor} - \hat{\tau}_{friction} - \hat{\tau}_{gravity})\]

其中:

  • \(J\) 为足端雅可比矩阵
  • \(\tau_{motor} = K_t \cdot i\) 为电机力矩
  • \(\hat{\tau}_{friction}\) 为摩擦估计
  • \(\hat{\tau}_{gravity}\) 为重力补偿

Unitree Go2 方案

  • 不使用独立足端力传感器
  • 通过关节电流 + 动力学模型估算接触力
  • 在强化学习控制中效果良好
  • 接触检测基于力估计阈值

优缺点

方面 评价
成本 零额外成本
可靠性 高(无易损传感器)
精度 中等(依赖模型)
带宽 受限于控制频率
接触检测延迟 较大(需要力建立)

各方案在主流机器人上的应用

机器人 方案 维度 特点
ANYmal 应变片式 3轴 高精度,工业级
Spot (Boston Dynamics) 未公开(推测本体感觉) - 商业保密
Unitree Go2 电流估计 3轴估计 低成本,RL友好
ASIMO (Honda) 电容阵列 分布式 ZMP控制
Atlas (Boston Dynamics) 多传感器融合 6轴 高性能液压
MIT Mini Cheetah 电流估计 3轴估计 开源四足
HUBO (KAIST) 六维力矩 6轴 高精度双足

设计考虑

鲁棒性

足端传感器工作在最恶劣的环境中:

  • 冲击:着地冲击力可达体重的 3-5 倍
  • 磨损:与地面持续摩擦
  • 水/泥:户外环境
  • 温度:-20°C ~ 60°C

设计要求:

  • 过载保护 ≥ 5x 满量程
  • 防护等级 ≥ IP65(防水防尘)
  • 工作温度范围覆盖预期环境
  • 弹性体/橡胶垫可更换

防水设计

       橡胶保护套
    ┌─────────────┐
    │  ┌─────────┐│
    │  │ 传感器   ││ ← 环氧树脂灌封
    │  │ 电路板   ││
    │  └─────────┘│
    │   O型密封圈  │ ← 防水密封
    └─────────────┘
       连接器(IP67)

关键措施:

  1. 灌封(Potting):环氧树脂或硅胶灌封电路
  2. O型圈:机械接口处密封
  3. 防水连接器:IP67 级别(如 M8/M12)
  4. 排水设计:避免积水

标定

足端传感器标定比腕部传感器更具挑战:

离线标定

  • 使用力平台(force plate)作为参考
  • 施加已知力,记录传感器输出
  • 拟合标定模型

在线标定

  • 利用静态站立条件:\(\sum F_z = mg\)
  • 利用力平台走步数据
  • 自适应滤波补偿漂移
\[F_{calibrated} = \alpha(t) \cdot F_{raw} + \beta(t)\]

其中 \(\alpha(t), \beta(t)\) 为时变标定参数。

采样率

不同应用对采样率的要求:

应用 最低采样率 推荐采样率
步态相位检测 100 Hz 200 Hz
GRF 测量 200 Hz 500 Hz
冲击检测 500 Hz 1 kHz
地形分类 100 Hz 500 Hz
振动分析 1 kHz 5 kHz

足端力传感与控制的结合

接触检测器

\[\text{contact}_i = \begin{cases} 1 & \text{if } \hat{F}_{z,i} > F_{threshold} \\ 0 & \text{otherwise} \end{cases}\]

阈值选择很关键:

  • 太低 → 误检测(传感器噪声触发)
  • 太高 → 漏检测(轻接触无法检测)
  • 典型值:\(F_{threshold} = 5 \sim 20\) N

地形估计

通过足端力传感器特征识别地形:

地形 力特征
硬地面 接触瞬间力快速上升,稳定
软沙地 力缓慢上升,有沉降
草地 中等上升速度,有弹性
冰面 切向力很小(低摩擦)
楼梯边缘 不完整接触区域

利用力信号的时频特征 + 机器学习分类器可实现在线地形分类。

GRF 反馈控制

在模型预测控制(MPC)或全身控制(WBC)中,期望 GRF 由优化器计算:

\[\min_{\vec{F}_{1:4}} \| M\ddot{q}_{desired} - \sum J_i^T F_i - g(q) \|^2\]
\[\text{s.t.} \quad F_{z,i} \geq 0, \quad \sqrt{F_{x,i}^2 + F_{y,i}^2} \leq \mu F_{z,i}\]

实测 GRF 可用于反馈修正:

\[\tau_{correction} = K_F (F_{desired} - F_{measured})\]

参考资源

  • Focchi, M. et al., "Robot Impedance Control and Passivity Analysis with Inner Torque and Velocity Feedback Loops," 2016
  • Bledt, G. et al., "MIT Cheetah 3: Design and Control of a Robust, Dynamic Quadruped Robot," IROS, 2018
  • Hutter, M. et al., "ANYmal - a highly mobile and dynamic quadrupedal robot," IROS, 2016
  • Kim, D. et al., "Highly Dynamic Quadruped Locomotion via Whole-Body Impulse Control and Model Predictive Control," 2019

评论 #