---
title: External Wrench Estimation Algorithm
url: https://www.emergentmind.com/topics/external-wrench-estimation-algorithm
type: topic
---

# External Wrench Estimation Algorithm

An external wrench estimation algorithm computes or infers the time-varying spatial force and moment (the “wrench”) applied to a robotic system (e.g., by the environment, an object, or physical interaction), using a combination of kinematic, dynamic, proprioceptive, and, if available, force/torque sensor data. Accurately estimating the external wrench is essential for contact-rich manipulation, humanoid locomotion, aerial interaction, collision detection, grasp optimization, and force-sensitive control without reliance on dedicated 6D force/torque sensors.

## 1. Dynamic Principles and State-Augmented Observer Designs

Physical systems subjected to wrenches satisfy rigid-body Newton–Euler equations. In humanoid robots, the system evolves according to
\[
\dot h = \sum_{i=1}^N w_i + w_\mathrm{ext}
\]
where $h=[\ell^\top,\,k^\top]^\top\in\mathbb{R}^6$ is spatial momentum (linear and angular about the Center of Mass), $w_i$ are the measured contact wrenches, and $w_\mathrm{ext}$ is the unknown external wrench. Discretized process models propagate states:
\[
\begin{aligned}
c_{k+1} &= c_k + (\Delta t/m)\ell_k \\
\ell_{k+1} &= \ell_k + \Delta t [m g + \sum_i f_{i,k} + f_{\mathrm{ext},k}] \\
k_{k+1} &= k_k + \Delta t [\sum_i (p_i-c_k)\times f_{i,k} + \tau_{i,k} + \tau_{\mathrm{ext},k}] \\
f_{\mathrm{ext},k+1} &= f_{\mathrm{ext},k} + w^f_k \\
\tau_{\mathrm{ext},k+1} &= \tau_{\mathrm{ext},k} + w_k^\tau
\end{aligned}
\]
where $(w^f_k,\,w^\tau_k)$ are process noise terms.

Extended Kalman Filters (EKFs) are constructed with state vectors $\mathbf{x}_k = [c_k,\,\ell_k,\,k_k,\,f_{\mathrm{ext},k},\,\tau_{\mathrm{ext},k}]$. The measurement, typically comprising sensed contact wrenches, is modeled as $z_k = h(\mathbf{x}_k) + v_k$. The estimator is recursively updated via EKF prediction and correction steps [1507.04401].

## 2. Model-Based, Hybrid, and Learning-Based Approaches

Model-based methods treat external wrenches as unknown, possibly random-walk, components, estimating them by enforcing dynamic consistency through observers or filters. Examples include:

- **Momentum-Observer-Based Estimation:** The residual dynamics between expected generalized momentum $\dot{p}$ and measured input torque are tracked by an observer. For floating-base systems, the momentum observer (MOB) signal $r$ yields $r\approx\tau_e + \tau_u$ where $\tau_u$ includes friction and model uncertainties. In complex systems, learning-based modules such as GRU-networks (in MOB-Net [2402.11221]) estimate and subtract $\hat\tau_u$ to yield a bias-corrected external torque estimate.
- **Hybrid Model–Learning Approaches:** In aerial robots, a neural network is trained to predict residual terms $\phi_\theta$ in the continuous-time equations $\dot{v} = f_\text{fp}(v, R, \gamma) + \phi_\theta(v, R, \gamma)$. A combined observer cancels the learned residual, so only true external disturbance wrenches remain [2504.08156].
- **Sensorless Learning on Internal Signals:** In manipulation contexts, large MLPs or recurrent nets are trained on joint positions, velocities, accelerations, and motor currents to directly regress the wrench at the end-effector, bypassing explicit model-based mappings [2301.13413, 2309.04138].

A summary of representative estimation paradigms:

| Method                  | Sensor Inputs                | Observer/Network Structure           |
|-------------------------|-----------------------------|--------------------------------------|
| EKF on momentum [1507.04401]             | F/T, kinematics, IMU                | EKF, linearized momentum/CoM augmented state |
| MOB-Net [2402.11221]    | Encoders, IMU, torques       | MOB + modular GRU, per-limb         |
| Learning-based [2301.13413]              | Encoders, velocities, currents       | Large MLP, optionally LSTM           |
| Hybrid aerial [2504.08156]| IMU, velocities, prop speed | Neural ODE + momentum observer       |

## 3. Data Processing, Estimator Inputs, and Observability

Accurate external wrench estimation depends on the informativeness of sensed quantities and excitation. EKF-based algorithms require that contact wrenches excite all six spatial directions for full state observability; at least one non-coplanar contact or two non-collinear planar contacts are necessary [1507.04401].

In sensorless estimators, raw signals such as joint positions, velocities (via finite differences and low-pass filtering), and motor currents form the feature vector. Inclusion of IMU signals (linear accelerations and angular rates) enhances the ability to infer external torques on floating bases [2301.13413, 2309.04138]. For learning-based estimators, careful dataset design—covering free-space, contact, sliding, and fine manipulation—is crucial for generalization and low RMSE.

In model-based approaches, process and measurement noise covariances in the EKF or observer are tuned to balance responsiveness and noise rejection. In learning-based schemes, regularization and data-driven fine-tuning address overfitting and domain transfer.

## 4. Algorithmic Workflow and Implementation

A canonical external wrench estimation algorithm for humanoids proceeds as:

**Initialization:**
- State vector initialized with prior CoM, momentum, and zero external wrench.
- Covariance matrix set to reflect uncertainty in each state.

**At each time-step:**
- **Sensor Acquisition:** Contact force/torque vectors, positions, joint encoders, and (if used) IMU signals are read.
- **Predict Step:** The dynamic model propagates the state and estimates external wrench evolution as a random walk.
- **Correction Step:** The estimated contact wrenches (from model) are compared against sensor readings, and the innovation is used to correct the full state via the Kalman gain.
- **Extraction:** External wrench estimate is simply the corresponding block in the augmented state vector.

Pseudocode for the EKF-based observer [1507.04401]:

```python
for k in 1..K:
    # Prediction
    x_pred = f(x_est_prev, u_prev)
    P_pred = F_prev @ P_prev @ F_prev.T + Q
    # Correction
    y = z_k - h(x_pred)
    K = P_pred @ H.T @ np.linalg.inv(H @ P_pred @ H.T + R)
    x_est = x_pred + K @ y
    P = (np.eye(len(K)) - K @ H) @ P_pred
    # Extract external wrench
    f_ext_est, tau_ext_est = x_est[12:15], x_est[15:18]
```

For data-driven estimators, a forward pass through a trained MLP or GRU followed by exponential smoothing constitutes the estimation loop [2301.13413].

## 5. Application Domains and Performance Metrics

External wrench estimation is foundational in:

- **Locomotion feedback and disturbance rejection:** EKF-based estimators reduce CoM drift by 80% and maintain stability under foot slippage given contact observability [1507.04401, 2309.04138, 2402.11221].
- **Force-sensitive manipulation and assembly:** Learned estimators achieve sub-3 N force RMSE and track wrench signals in tasks without F/T sensors [2301.13413].
- **Grasp analysis in elasticity-aware manipulation:** The “stress-minimizing” metric computes the largest resistible external wrench subject to material fracture constraints, solved via repeated convex conic optimization and BEM precomputation [1907.08749].
- **Human–object interaction biomechanics:** Marker-based external wrench estimation reconstructs object–hand wrenches and induced joint torques robustly across variable marker layouts [2408.07434].
- **Aerial robotics, wind/contact discrimination:** Hybrid model-based and learning observers reduce wrench estimation error by an order of magnitude for multicopters under wind and physical interaction [1810.12908, 2504.08156].

Performance is typically quantified by RMSE on each wrench axis, convergence time after disturbance (<50 ms for some EKF methods), and the ability to support downstream controllers (e.g., ZMP feedback, collision detection) without failure [1507.04401, 2402.11221, 2309.04138].

## 6. Current Limitations and Future Directions

Existing algorithms can be limited by:

- **Observability breakdown:** Static or low-rank contact configurations preclude full external wrench identification [1507.04401].
- **Data-set dependency:** Learning-based algorithms require representative training data—extrapolation to novel environments or contact scenarios remains an open question [2301.13413, 2309.04138].
- **Model uncertainty:** Observer-based approaches are susceptible to errors from unmodeled friction, parameter drift, and structural flexibilities; hybrid approaches attempt to mitigate this but require significant training and integration effort [2504.08156, 2402.11221].
- **Contact discrimination in mixed interactive and aerodynamic environments:** Robust separation of wind/drag from physical interaction remains challenging, though approaches using combined model-based, power, and particle filter techniques improve robustness [1810.12908].

Ongoing research is extending external wrench estimators to deployable prosthetics, real-time biomechanical analysis, large-scale human-object motion datasets, and teleoperation contexts—all with the aim of enabling safe, sensorless, and physically consistent robot interaction.

Source: https://www.emergentmind.com/topics/external-wrench-estimation-algorithm