A two-stage Kalman filter algorithm is proposed for processing IMU data to obtain accurate position estimates over short periods. The approach introduces a novel sensor placement strategy using two spatially separated IMUs on a single rigid body. An Extended Kalman Filter incorporates the fixed inter-sensor separation as a geometric constraint, improving position accuracy by around 30% over conventional dead reckoning.
The Dead Reckoning Problem
IMUs are inexpensive and self-contained, making them attractive for position and orientation tracking in applications ranging from rehabilitation to robotics. The trouble is that position is computed by double-integrating accelerometer data, which means any noise or bias in the measurement accumulates fast. After a few seconds, the estimates drift enough to become useless.
This paper sits at a particular point in a longer research arc. The group at UCD was building a wearable motion capture system for stroke rehabilitation, one that combined ultrasonic ranging with inertial sensing. IMUs would fill in the gaps when the ultrasonic line of sight was broken. To make that work, the IMU-only dead reckoning period needed to be as accurate as possible.
Previous work placed a single IMU on the body segment and accepted the resulting drift. The question here was: what if you placed two IMUs on the same rigid body, separated by a known distance, and used that geometric constraint to cross-check and correct the two independent position estimates?
Two IMUs, One Rigid Body, One Constraint
The sensor placement strategy is the central idea. Two IMUs (S1 and S2) are fixed to the same rigid body in a body-fixed frame, so their relative 3D separation and relative orientation cannot change. This is a hard geometric constraint that the filter can exploit.
Processing happens in two stages. In the first, orientation is estimated in the global frame by integrating gyroscope angular velocity and correcting with accelerometer during quasi-static phases. This is the standard approach, building on prior work by Luinge and Veltink.
In the second stage, the corrected orientation from stage one is used to rotate the body-fixed inter-sensor separation vector into the global frame. This gives an observation vector that constrains the two independent dead reckoning position estimates. An EKF then fuses these.
State Space Formulation
The state vector for the position filter holds position, velocity and acceleration along each axis.
The observation vector comes from projecting the known body-frame separation vector into global coordinates using the rotation matrix from stage one. The Euclidean norm of the projected separation provides the fourth constraint. Because this is nonlinear in the state, the Jacobian is computed to get the linearised measurement matrix H for the EKF update.
Key insight: the inter-sensor separation is a physical constant that acts as a ruler the filter can always check against. When the two dead reckoning estimates begin to drift apart in an inconsistent way, the EKF correction pulls them back toward geometrically plausible positions. The constraint is most effective when the sensors are well-separated, with accuracy levelling off beyond roughly 0.5 m due to measurement noise limits.
Around 30% Improvement Over Dead Reckoning
The algorithm was tested over 10,000 simulation iterations of 30-second movements at 2 m/s with a 50 Hz data rate, covering circular motion, linear motion and rest. Experimental validation used the Shimmer platform with a Freescale MMA7361 MEMS accelerometer moving in a rectangular trajectory.
| Motion Type | Error - Dead Reckoning (m) | Error - Proposed KF (m) | Improvement |
|---|---|---|---|
| Circular | 0.78 | 0.57 | 26.9% |
| Linear | 0.79 | 0.55 | 30.9% |
| Rest | 0.76 | 0.52 | 31.5% |
Compared to simply averaging two independent single-IMU dead reckoning tracks, the constrained EKF is consistently better. The results confirm that the geometric constraint carries real information beyond what either sensor alone provides.
Where This Fits
This paper solves one specific subproblem: how to get the most out of IMU-only dead reckoning during short occlusion windows in a hybrid ultrasonic-inertial tracking system. The 30% improvement is modest in absolute terms, but in an application like post-stroke rehabilitation where a patient's limb position needs to be tracked within a few centimetres, it matters.
The technique is also computationally practical. The EKF runs at 50 Hz on the sensor platform without needing external infrastructure. The constraint-based observation approach generalises easily to other rigid body configurations.
Connection to the PhD research programme
This paper is one piece of a system-level effort at UCD to build wearable motion capture for stroke patients. The IMU dead reckoning work described here was designed specifically to maintain tracking quality during the periods when ultrasonic ranging loses line of sight. The companion work addressed how to fuse the two subsystems under varying observability, and what to do when the magnetometer heading reference is corrupted by indoor environments. Together they form an approach to robust, low-cost 6-DOF tracking that does not depend on GPS or ideal laboratory conditions.
DOI: 10.1109/ICSENS.2011.6127064
UCD Research Repository: hdl.handle.net/10197/3862