---
title: 'BaroPoser: Barometric & Inertial Fusion'
url: https://www.emergentmind.com/topics/baroposer
type: topic
---

# BaroPoser: Barometric & Inertial Fusion

BaroPoser refers to two distinct but technically related frameworks employing barometric pressure and inertial sensor fusion for state estimation: (1) BaroPoser for real-time human motion tracking, operating on consumer devices for pose and translation inference; and (2) BaroPoser for barometer-aided attitude estimation, designed for robust vertical and attitude estimation in GNSS-denied robotics. Both leverage barometric altitude cues to circumvent the longstanding ambiguities of IMU-only state estimation but are instantiated with different algorithmic and architectural goals [2508.03313], [2509.13649].

## 1. Hardware Configurations and Sensing Modalities

In human motion capture, BaroPoser utilizes a single smartwatch (left wrist) and a smartphone (right-thigh pocket). Each device provides tri-axial accelerometer and gyroscope measurements augmented by a barometric pressure sensor. All sensors operate at 30 Hz, ensuring sufficient temporal resolution for dynamic tracking while maintaining end-to-end latency below 33 ms per frame. This configuration enables ubiquitous deployment—no specialized hardware or external tracking infrastructure is required [2508.03313].

The attitude estimation instantiation assumes an IMU-equipped agent (e.g., mobile robot or UAV) with access to barometric and, optionally, magnetometer data. The barometer provides direct altitude information, whose time derivatives constrain vertical velocity and tilt [2509.13649].

## 2. Barometric Height Estimation and Sensor Fusion

Both variants employ the classical barometric formula under the isothermal approximation to convert pressure readings into relative height,
\[
\Delta h = \frac{R T}{M g} \ln\left(\frac{P_0}{P}\right),
\]
where $R$ is the universal gas constant, $T$ is ambient temperature, $M$ is molar mass of air, and $g$ is gravitational acceleration. Accurate height reconstruction requires calibration for device bias and environmental scaling; for human tracking, a T-pose of known thigh height is used to empirically solve for the scale factor in situ [2508.03313].

Fusion of barometric height and IMU data is achieved via a one-dimensional or extended Kalman filter that combines barometric $\Delta h$ with vertically integrated IMU acceleration. This filter mitigates drift and filters out high-frequency sensor noise, yielding smooth estimates of per-sensor altitude. The resulting signals serve dual purposes: in human pose estimation, they provide vertical cues for network input and translation recovery; in robotics, derivatives of barometric height contribute to tilt and velocity disambiguation [2508.03313], [2509.13649].

## 3. Representation Learning and Coordinate Frames

BaroPoser for human tracking introduces a "thigh-rooted" local coordinate system anchored by the orientation of the right pocket IMU. All inertial signals and output joint rotations are re-expressed in this dynamically rotating local frame:
- $a_\mathrm{loc} = R_n^\top a_{w_l}$;
- $\omega_\mathrm{loc} = \frac{1}{\Delta t} \mathrm{Log}(R_n(t-1)^\top R_n(t))$;
- $R_\mathrm{loc} = R_n^\top R_{w_l}$;
- $g_\mathrm{loc} = R_n^\top [0,0,-1]^\top$;
- $\Delta h = h_{w_l} - h_n$.

Here $R_n$ denotes the pocket IMU orientation, $w_l$ the wrist sensor, and Log refers to the matrix logarithm on SO(3). This frame eliminates global orientation variance, so that identical local limb configurations are represented identically, irrespective of global heading. The local frame and height difference inputs stabilize pose learning and decouple articulation from translation, directly addressing ambiguities inherent to small-IMU setups [2508.03313].

## 4. Network Architectures and Learning Objectives

The human pose pipeline employs two LSTM-based modules operable in real time:
- **Local pose LSTM**: Inputs a 22-dimensional vector combining local-frame accelerations, angular rates, orientations, gravity direction, and $\Delta h$. A 3-layer MLP initializes an LSTM hidden state, a 2-layer unidirectional LSTM processes the sequence, and a concluding 3-layer MLP maps to SMPL joint rotation parameters $\theta \in \mathbb{R}^{24 \times 6}$ (6D continuous).
- **Horizontal-velocity LSTM**: Inputs a 25D global-frame vector, outputs 2D horizontal velocity $v_{xz}(t)$ for translation estimation.
- **Losses**: The pose loss is $\mathcal{L}_{pose} = \|\theta(t) - \theta^{GT}(t)\|_2^2$ (mean over all joints and frames). The translation loss is sequence-level on the horizontal velocity: $\mathcal{L}_{v_{xz}} = \left\| \sum_{i=1}^N v_{xz}(i) - \sum_{i=1}^N v_{xz}^{GT}(i) \right\|_2^2$. Barometric vertical displacement $t_y(t)$ is estimated and incorporated with no direct loss.

Global translation is decomposed: horizontal motion by network integration ($\int v_{xz}$), and vertical displacement by filtered barometric height corrected for thigh/knee motion (from pose) [2508.03313].

## 5. Riccati–Complementary Filter Architecture for Attitude Estimation

BaroPoser for barometer-aided attitude estimation adopts a two-stage observer:
1. **5-state Riccati observer** estimates $(h, \dot h, z)$, where $z = R^\top e_3$ ("tilt") is the gravity direction in the body frame. The continuous Riccati equation tracks filter uncertainty, and the state estimate is corrected by altimeter observations.
2. **Nonlinear complementary filter on $SO(3)$** uses tilt from stage one for roll/pitch observability and a magnetometer (if available) for yaw. The innovation term,
   \[
   \sigma_R = k_z (e_3 \times \hat{R} \hat{z}) + k_m (\bar{m}_I \times \hat{R} \bar{m}_B),
   \]
   where $\bar{m}_I, \bar{m}_B$ denote projected magnetometer measurements, provides feedback for attitude correction.

The full observer is provably almost globally asymptotically stable (AGAS) under uniform observability (UO) conditions, with Lyapunov analysis confirming only the identity is a stable equilibrium on $SO(3)$. This cascaded observer is designed for rapid convergence and robustness in highly dynamic or GNSS-denied settings [2509.13649].

## 6. Experimental Results and Comparisons

### Human Motion Tracking

BaroPoser was benchmarked on multiple public (DIP-IMU, TotalCapture, IMUPoser) and real-world datasets. The system displayed superior accuracy to MobilePoser and other IMU-only baselines, both in pose and global translation metrics. For example, on DIP-IMU:
- MobilePoser: SIP=26.94°, Ang=22.39°, Pos=9.33 cm, Mesh=11.33 cm
- BaroPoser: SIP=24.39°, Ang=21.25°, Pos=8.57 cm, Mesh=10.36 cm

On IMUPoser:
- MobilePoser: SIP=17.52°, Ang=19.51°, Pos=8.57 cm, Mesh=11.02 cm
- BaroPoser: SIP=13.15°, Ang=16.20°, Pos=6.82 cm, Mesh=8.95 cm

Cumulative translation error is reduced by 20–30% versus IMU-only baselines. Ablation shows the removal of the barometric $\Delta h$ channel increases drift by $\sim 25\%$ in translation; excluding the local frame increases pose errors by $1$–$2^\circ$ [2508.03313].

### Attitude Estimation

BaroPoser rapidly achieves $<0.1$ m absolute altitude error and near-zero attitude error (trace error $\mathrm{tr}(I - R \hat{R}^\top)$) from large initial misalignment ($\pm 100^\circ$), stabilizing within $<2$ s in Monte-Carlo simulations. Accelerometer-only filters exhibit significant tilt drift in dynamic motion, while BaroPoser maintains robust vertical and tilt estimation [2509.13649].

#### Table: Comparative Metrics for Human Pose Tracking

| Dataset        | Metric | MobilePoser | BaroPoser |
|----------------|--------|-------------|-----------|
| DIP-IMU        | SIP    | 26.94°      | 24.39°    |
|                | Ang    | 22.39°      | 21.25°    |
|                | Pos    | 9.33 cm     | 8.57 cm   |
|                | Mesh   | 11.33 cm    | 10.36 cm  |
| IMUPoser       | SIP    | 17.52°      | 13.15°    |
|                | Ang    | 19.51°      | 16.20°    |
|                | Pos    | 8.57 cm     | 6.82 cm   |
|                | Mesh   | 11.02 cm    | 8.95 cm   |

## 7. Limitations and Prospective Developments

Key limitations include the current reliance on fixed sensor-to-body mappings and a mean-shape SMPL body model in human tracking; generalization to arbitrary placements and individualized calibration remains a future direction. Barometric readings are sensitive to meteorological and environmental fluctuations; more advanced sensor fusion (e.g., deep or environment-aware filtering) is a cited avenue for improved robustness. There is a recognized need for larger, real-world datasets combining IMU, barometer, and ground-truth motion capture, particularly in uneven or non-flat terrain scenarios [2508.03313].

In summary, BaroPoser establishes the practical and theoretical utility of integrating ubiquitous barometric and inertial sensing: in human motion tracking for pose/translation recovery in challenging terrain, and in robotics for robust vertical and tilt estimation without external aids. Its architectures leverage compact, well-posed estimation via learned and observer-theoretic means, providing significant gains compared to legacy IMU-only pipelines [2508.03313], [2509.13649].

Source: https://www.emergentmind.com/topics/baroposer