Skip to content

Foot Force Sensors

Why Legged Robots Need Foot Force Sensing

The locomotion of legged robots (quadrupeds, bipeds, hexapods) is fundamentally a series of discrete contact events. Accurately sensing the interaction forces between the foot and the ground is critical for the following tasks:

  • Contact state detection: Is the foot on the ground? When does it touch down?
  • Ground Reaction Force (GRF) measurement: How much load does each leg bear?
  • Terrain identification: Hard ground, soft mud, slopes, stairs?
  • Gait control: Switch between swing/stance phases based on contact state
  • Balance maintenance: ZMP (Zero Moment Point) computation requires foot pressure distribution

Ground Reaction Force (GRF) Fundamentals

Definition

Ground Reaction Force (GRF) is the reaction force exerted by the ground on the robot's foot, according to Newton's third law:

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

Three-Dimensional Components

\[\vec{F}_{GRF} = \begin{bmatrix} F_x \\ F_y \\ F_z \end{bmatrix}\]
  • \(F_z\): Normal force (support force), balances gravity
  • \(F_x, F_y\): Tangential forces (friction), provide propulsion

Static Standing

During static standing of a quadruped robot, the sum of normal forces across all four legs equals the body weight:

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

If the center of mass is not at the center of the support polygon, leg loads will be uneven.

Dynamic Walking

During dynamic walking, GRF varies periodically with gait phase:

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

Propulsion component:

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

Sensor Types

1. Strain Gauge-Based Foot Force Sensors

The most commonly used high-precision approach, working on the same principle as 6-axis F/T sensors but optimized for the foot environment.

Structure:

       Ground contact surface (rubber/silicone pad)
    ┌──────────────────┐
    │   Elastic body    │
    │  ┌──┐  ┌──┐      │
    │  │SG│  │SG│ ← Strain Gauge
    │  └──┘  └──┘      │
    ├──────────────────┤
    │  Mounting flange  │
    │  (connects to     │
    │   lower leg)      │
    └──────────────────┘

Typical Specifications:

Parameter Range
Range (Fz) 50 ~ 500 N
Range (Fx, Fy) 20 ~ 200 N
Resolution 0.1 ~ 1 N
Sampling Rate 500 ~ 2000 Hz
Axes 1-axis (Fz only) or 3-axis
Protection IP65 or higher

Case Study: ANYmal Foot Force Sensor

ETH Zurich's ANYmal quadruped robot has a 3D force sensor at the end of each leg:

  • Strain gauge-based, 3-axis measurement
  • Range ±500 N (normal) / ±200 N (tangential)
  • 1 kHz sampling
  • Integrated in the carbon fiber foot structure

2. Capacitive Foot Sensors

Working Principle: Flexible capacitive array covering the foot sole

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

When force is applied, the dielectric layer compresses, plate spacing \(d\) decreases, and capacitance increases.

Advantages:

  • Can measure pressure distribution (multiple taxels)
  • Flexible, adapts to irregular foot shapes
  • Can be embedded in rubber foot pads

Disadvantages:

  • Less accurate than strain gauges
  • Affected by humidity
  • Limited dynamic range

Case Study: Honda ASIMO foot pressure array

  • 4 pressure sensing zones per foot
  • Used for ZMP computation and gait stability control

3. Binary Contact Switches

The simplest foot sensing approach: only detects "contact/no contact."

Implementation Methods:

  • Microswitch: Mechanical trigger, 0/1 output
  • Spring-loaded button: Closes on contact
  • Hall sensor + magnet: Non-contact, more durable
# Pseudocode: Gait phase detection based on contact switches
def detect_gait_phase(contact_states):
    """
    contact_states: [FL, FR, RL, RR] quadruped contact states
    1 = contact, 0 = airborne
    """
    if contact_states == [1, 1, 1, 1]:
        return "STAND"
    elif contact_states == [1, 0, 0, 1]:
        return "TROT_PHASE_A"  # Front-left + Rear-right
    elif contact_states == [0, 1, 1, 0]:
        return "TROT_PHASE_B"  # Front-right + Rear-left
    else:
        return "TRANSITION"

Advantages: Extremely simple, cheap, reliable

Disadvantages: No force magnitude information, only on/off

4. Proprioceptive Force Estimation (Sensorless Approach)

Many modern quadruped robots do not use dedicated foot force sensors, instead estimating foot forces through motor current:

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

where:

  • \(J\) is the foot Jacobian matrix
  • \(\tau_{motor} = K_t \cdot i\) is the motor torque
  • \(\hat{\tau}_{friction}\) is friction estimate
  • \(\hat{\tau}_{gravity}\) is gravity compensation

Unitree Go2 Approach:

  • Does not use independent foot force sensors
  • Estimates contact forces through joint current + dynamics model
  • Works well with reinforcement learning controllers
  • Contact detection based on force estimation thresholds

Pros and Cons:

Aspect Assessment
Cost Zero additional cost
Reliability High (no fragile sensors)
Accuracy Moderate (model-dependent)
Bandwidth Limited by control frequency
Contact Detection Latency Higher (requires force buildup)

Applications Across Major Robots

Robot Approach Axes Features
ANYmal Strain gauge 3-axis High precision, industrial grade
Spot (Boston Dynamics) Undisclosed (likely proprioceptive) - Trade secret
Unitree Go2 Current estimation 3-axis estimated Low cost, RL-friendly
ASIMO (Honda) Capacitive array Distributed ZMP control
Atlas (Boston Dynamics) Multi-sensor fusion 6-axis High-performance hydraulic
MIT Mini Cheetah Current estimation 3-axis estimated Open-source quadruped
HUBO (KAIST) 6-axis F/T 6-axis High-precision biped

Design Considerations

Robustness

Foot sensors operate in the harshest environment:

  • Impact: Landing impact forces can reach 3-5x body weight
  • Wear: Continuous friction with the ground
  • Water/Mud: Outdoor environments
  • Temperature: -20°C ~ 60°C

Design requirements:

  • Overload protection >= 5x full scale
  • Protection rating >= IP65 (dust and water resistant)
  • Operating temperature range covers expected environment
  • Elastomer/rubber pads are replaceable

Waterproof Design

       Rubber protective boot
    ┌─────────────┐
    │  ┌─────────┐│
    │  │ Sensor   ││ ← Epoxy potting
    │  │ PCB      ││
    │  └─────────┘│
    │   O-ring seal│ ← Waterproof seal
    └─────────────┘
       Connector (IP67)

Key measures:

  1. Potting: Epoxy resin or silicone potting for electronics
  2. O-rings: Sealing at mechanical interfaces
  3. Waterproof connectors: IP67 rated (e.g., M8/M12)
  4. Drainage design: Prevent water accumulation

Calibration

Foot sensor calibration is more challenging than wrist sensor calibration:

Offline Calibration:

  • Use a force plate as reference
  • Apply known forces, record sensor output
  • Fit calibration model

Online Calibration:

  • Leverage static standing condition: \(\sum F_z = mg\)
  • Use force plate walking data
  • Adaptive filtering to compensate drift
\[F_{calibrated} = \alpha(t) \cdot F_{raw} + \beta(t)\]

where \(\alpha(t), \beta(t)\) are time-varying calibration parameters.

Sampling Rate

Requirements for different applications:

Application Minimum Sampling Rate Recommended Sampling Rate
Gait phase detection 100 Hz 200 Hz
GRF measurement 200 Hz 500 Hz
Impact detection 500 Hz 1 kHz
Terrain classification 100 Hz 500 Hz
Vibration analysis 1 kHz 5 kHz

Integration of Foot Force Sensing and Control

Contact Detector

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

Threshold selection is critical:

  • Too low -> false positives (triggered by sensor noise)
  • Too high -> missed detections (light contact undetected)
  • Typical values: \(F_{threshold} = 5 \sim 20\) N

Terrain Estimation

Identifying terrain through foot force sensor features:

Terrain Force Characteristics
Hard ground Force rises rapidly at contact, stable
Soft sand Force rises slowly, with settling
Grass Moderate rise rate, elastic
Ice Very low tangential force (low friction)
Stair edge Incomplete contact area

Online terrain classification can be achieved using time-frequency features of force signals combined with machine learning classifiers.

GRF Feedback Control

In Model Predictive Control (MPC) or Whole-Body Control (WBC), desired GRFs are computed by the optimizer:

\[\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}\]

Measured GRF can be used for feedback correction:

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

References

  • 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

评论 #