Source-linked AI summary
A Black-Box Positioning Solution for Effortless Integration in Wearable Navigation
Anh-Van Vu, Changmin Sung, Dongsoo Han
TL;DR
Practical PDR deployment remains challenging: PDR can accumulate drift, and robust implementations require substantial expertise and development effort. PDRS packages an onboard PDR algorithm as a plug-and-play module for wearable and IoT systems, with evaluations reporting 0.16% step-detection error and 1.87% travel-distance error.
Problem
Practical PDR deployment is challenging because PDR can accumulate drift and robust implementations require substantial expertise and development effort.
Source: §I · p. 1Method
PDRS is a plug-and-play black-box module that integrates an adapted onboard PDR algorithm and provides position updates through standard interfaces.
Source: §I · pp. 1–2Results
0.16% step-detection error, 1.87% travel-distance error, 3.5 m loop-closure error, and 2.5 ms average positioning latency were reported across indoor and outdoor evaluations.
Source: §VI · p. 8Takeaways & Limitations
The PDRS simplifies integration of indoor localization capabilities into wearable and IoT systems.
Source: §VI · p. 8
Abstract
from arXiv · showhide
Accurate localization is critical for a wide range of applications, including navigation, augmented reality, safety management, and healthcare. However, achieving accurate positioning remains challenging, especially in GPS-degraded environments. Pedestrian Dead Reckoning (PDR), which estimates position based on inertial sensor data, offers a promising alternative but typically demands substantial effort in algorithm design and system integration. This complexity often leads to prolonged development timelines and elevated costs. To address these challenges, we present the PDR Sensor (PDRS), a plug-and-play, black-box PDR module optimized for seamless integration into wearable and IoT platforms. PDRS integrates a microprocessor and an inertial measurement unit (IMU) within a compact, low-power module. It executes real-time sensor fusion onboard, providing position updates via standard interfaces (I2C, SPI, UART). Experimental evaluations demonstrate its high robustness, achieving a step detection error of just 0.16% over 1250 steps and a traveled distance error of 1.87% under diverse conditions. The system further exhibits low latency (2.5 ms) and modest power consumption (52.35 mA). Unlike conventional studies, the PDRS leverages a holistic co-design of hardware and software to enhance performance and integration aspects, simplifying adoption without requiring deep expertise. By lowering technical barriers, PDRS enables developers and researchers to prioritize innovation in IoT and wearable technologies, accelerating prototyping, reducing development time, and advancing industry progress. Future work aims to enhance accuracy, reduce power usage and module size, and integrate AI-driven techniques to better mitigate drift.
I. INTRODUCTION · II. RELATED WORKS
PDR offers infrastructure-free indoor positioning but faces cumulative drift and substantial implementation and integration burdens. The PDRS packages onboard PDR processing in a compact, low-power module, addressing gaps left by prior research and partial industry solutions.
I. INTRODUCTION
- PDR uses inertial sensors for infrastructure-free positioning where satellite or RF methods are ineffective, and has become a common component of indoor localization systems, –.Its use in navigation, augmented reality, and healthcare is supported by compact IMUs in smartphones and wearables –.Source: §I · p. 1
- PDR drift accumulates from sensor biases and step-length inaccuracies, while external references or added sensors can increase complexity, power consumption, and cost.Practical systems also require real-time coordination and optimization across sensing and processing, plus compact, reliable hardware; firmware access and custom integration can further raise development effort and cost.Source: §I · p. 1
- The PDRS combines an MCU, IMU, and onboard PDR algorithm in a plug-and-play module, achieving 0.16% step detection error and 1.87% travel distance estimation error.It provides real-time position updates over I²C, SPI, and UART, and is designed to deliver step counts, heading, and displacement without specialized signal-processing expertise.Source: §I · pp. 1–2
II. RELATED WORKS
- Early wearable PDR required gait calibration and stable sensor mounting, while ZUPT and OpenShoe improved short-range tracking but remained sensitive to placement and stationary-phase detection,.Later EKF and heuristic drift-reduction refinements, did not remove the practical burden of precise placement and individual calibration.Source: §II · p. 2
- Smartphone and wearable PDR commonly fuse accelerometer, gyroscope, and magnetometer data, but magnetic disturbances and changing sensor orientations can require recalibration,.External references and adaptive filtering can mitigate these issues at the cost of added complexity and computational overhead.Source: §II · p. 2
- TinyOdom uses temporal convolutional networks to estimate displacement from raw IMU data in real time, combining learned motion patterns with physics-based constraints.Its resource-constrained-device results show neural models can complement signal processing, but extensive training data and computational complexity challenge consumer deployment.Source: §II · p. 2
- Industry offers turnkey smartphone PDR and low-power sensors with step-counting or activity-recognition algorithms [23]–, but these often lack full trajectory estimation.Bosch BHI160B and BHI260AP are promoted as PDR-capable, yet require dedicated firmware that remains unavailable,.Source: §II · p. 2
- Prior work has reduced drift, added sensor fusion, and applied AI, but calibration demands, system complexity, partial functionality, and inaccessible firmware leave integration gaps that the PDRS targets.The paper positions its compact black-box module as a way to encapsulate PDR complexity for wearable and IoT integration without specialized expertise.Source: §II · p. 2
III. HARDWARE AND SOFTWARE CO-DESIGN · A. PDRS Stack · B. Hardware Design
PDRS co-designs a layered sensor-fusion stack with compact hardware to turn inertial and barometric inputs into location data through standardized interfaces. Its design combines onboard processing, modular communications, and power protection for wearable and IoT integration.
A. PDRS Stack
- The PDRS stack separates sensing, sensor fusion, and interface control into three layers.The physical layer collects accelerometer, gyroscope, and barometer data with a FIFO buffer; the other layers process the data and provide standardized access.Source: Figure 1 · p. 3
- The fusion engine filters and calibrates sensor data, detects gait phases, estimates stride length and heading, synthesizes trajectories, and updates gyroscope bias to mitigate drift.Source: Figure 1 · p. 3
- The interface layer supports I²C, SPI, UART, and USB, with output FIFO access to real-time location data and retrieval of raw sensor data.Source: Figure 1 · p. 3
B. Hardware Design
- A compact hardware module centers on a 32-bit MCU that coordinates peripherals, runs sensor-fusion algorithms, and manages external communication.An accelerometer, gyroscope, and barometer share a bus to provide data for location estimation; a precision crystal oscillator supplies the MCU clock.Source: B. Hardware Design · p. 3
- Flash memory connects to the MCU through quad-SPI, while UART, SPI, and I2C buses and dedicated pins support external communication and auxiliary functions.The pins include data-ready interrupts, status indication, and clock synchronization.Source: B. Hardware Design · p. 3
- An LDO regulator and protection circuit support stable sensor operation and resilience to short circuits, overvoltage, and other electrical anomalies.The LDO minimizes energy loss.Source: B. Hardware Design · p. 3
C. Firmware Design … 3) Communication Task:
The firmware uses a modular FreeRTOS stack with separate tasks for sensor acquisition, positioning, and host communication. These tasks coordinate data collection, location estimation, and access through serial interfaces.
C. Firmware Design
- The firmware uses a four-layer stack: hardware, device-abstraction drivers, FreeRTOS, and unified software for system threads and application logic.The software layer manages data flow, memory, communication, and positioning algorithms.Source: C. Firmware Design · p. 3
- Each functional thread runs as an individual OS task with its own priority level, and tasks communicate with one another.The firmware structure also coordinates interactions between the PDRS and its host system.Source: C. Firmware Design · p. 3
1) Data Acquisition Task:
- IMU data acquisition uses a highest-priority interrupt handler triggered by sensor data-ready signals to minimize latency and packet loss.The approach supports accurate, precisely time-stamped sensor data for positioning.Source: 1) Data Acquisition Task · p. 4
2) PDR Task:
- The PDR task combines step detection, stride-length and heading estimation, and dynamic gyro-bias correction to estimate location.Step-detector output feeds both stride-length estimation and gyro-bias monitoring; estimated locations or raw sensor data can be stored in FIFO memory.Source: 2) PDR Task · p. 4
3) Communication Task:
- The communication task supports I2C, SPI, and UART for flexible integration of the PDRS with host systems.The host accesses the module over a serial communication channel.Source: 3) Communication Task · p. 4
- The host controller can send commands to control PDRS operation or retrieve location data from its FIFO.The communication task manages this host-module exchange.Source: 3) Communication Task · p. 4
IV. ADAPTED PEDESTRIAN DEAD RECKONING … 2) Step 2:
PDR updates a pedestrian’s location from an initial point using each detected step’s stride length and heading. The method detects stand phases from acceleration differentials, first filtering noise and then applying threshold-based state assignments.
IV. ADAPTED PEDESTRIAN DEAD RECKONING
- From initial point P0(x0, y0), each detected step updates location using its stride length lm and heading ψm.Source: §IV · p. 4
A. Stand phase detection
- The stand-phase detector uses acceleration differential rather than raw acceleration, avoiding gravity removal and reducing alignment and calibration demands.Source: A. Stand phase detection · p. 4
1) Step 1:
- An n = 4 order low-pass filter with cutoff frequency c = 2 removes high-frequency noise from the acceleration norm.Source: 1) Step 1 · p. 4
2) Step 2:
- The differential is ternarized at ±h (h = 0.06), while w = 0.5 limits excessive wiggling that affects detection stability.+1 is assigned when h < differential < w; −1 when differential < −h and the prior b is not 1; otherwise 0.Source: 2) Step 2 · p. 4
3) Step 3: · B. Stride Length Estimation
Step 3 identifies stance-phase beginnings from a specified acceleration-differential sequence, while stride length is estimated with Weinberg’s hip-bounce method and converted to distance using a calibration coefficient.
3) Step 3:
- A stance phase begins when bk = −1 after bk−1 = 0 and bk−2 = 1.The rule is expressed as 1 for that sequence and 0 otherwise.Source: 3) Step 3 · p. 4, Figure 6 · p. 5
B. Stride Length Estimation
- Stride-length estimation is difficult because musculoskeletal characteristics vary with age, gender, body mass, and overall fitness.Source: B. Stride Length Estimation · p. 4
- Weinberg’s method estimates stride length from its correlation with hip bounce during walking.Source: B. Stride Length Estimation · p. 4
- 92% accuracy is reported for the stride-length method across individuals with varying leg lengths.The method estimates stride length from its correlation with hip bounce during walking.Source: Figure 6 · p. 5
- Stride displacement is calculated from the Z-axis minimum and maximum accelerations observed within a stride, the step count n, and conversion coefficient K.For an individual stride, n is set to 1.Source: Figure 6 · p. 5, B. Stride Length Estimation · p. 5
- K requires calibration to express the output in units such as feet or meters; the implementation defaults to K = 0.23 for meters.Source: Figure 6 · p. 5
C. Heading Calculation · 1) Heading Estimation:
Heading is estimated by integrating gyroscope data, with accelerometer fusion used to limit accumulated error. The method represents orientation as a quaternion and converts it to roll, pitch, and yaw angles.
1) Heading Estimation:
- Madgwick’s method combines gyroscope and accelerometer data to calculate orientation and mitigate the accumulated error of gyroscope-only integration.The passage notes complementary filters or optimal weighting as alternatives, but this study uses Madgwick’s method.Source: 1) Heading Estimation · p. 5
- Orientation is represented by a unit quaternion updated over time using angular rate and gravitational direction.Source: 1) Heading Estimation · p. 5
- Gyroscope measurements are expressed as a pure quaternion and integrated to yield a preliminary orientation update.Source: 1) Heading Estimation · p. 5
- Accelerometer data is incorporated to mitigate drift, using an expected Earth-frame gravity vector and a normalized accelerometer measurement.These quantities are used to define an objective function.Source: 1) Heading Estimation · p. 5
- Orientation is updated by combining gyroscope integration with gradient-descent correction scaled by gain factor β.The correction gradient is computed via the Jacobian Jg(q).Source: 1) Heading Estimation · p. 5
- Roll (ϕ), pitch (θ), and yaw (ψ) are obtained as Euler angles from the orientation quaternion.Source: 1) Heading Estimation · p. 5
2) Dynamic Gyroscope Bias Update:
The method detects stationary intervals to dynamically update gyroscope bias and reduce yaw drift. It initializes bias from early idle samples, then recalculates it during idle before correcting angular rates for heading estimation.
2) Dynamic Gyroscope Bias Update:
- Stationary states are detected when the acceleration differential remains within ±ε(m/s2) during Tidle, enabling dynamic gyroscope-bias compensation for drift, especially on the yaw axis.Source: 2) Dynamic Gyroscope Bias Update · p. 5
- The initial gyroscope bias b0 is calculated after the first ssmin samples are detected within the stationary interval Gidle.Source: 2) Dynamic Gyroscope Bias Update · p. 5
- Bias is recalculated every adjustable w samples until idle ends, limiting sharp-spike effects at idle-to-motion transitions while retaining update frequency versus a long fixed window.Source: 2) Dynamic Gyroscope Bias Update · p. 5
- The corrected angular rate ωdeb,i = ωi − bm is used to improve heading estimation when i > k − s + smin + m × w.Source: 2) Dynamic Gyroscope Bias Update · p. 5
V. EXPERIMENTS AND RESULTS · A. Experimental Setup
The PDRS was evaluated as part of a wearable-device integration, with the module connected to the device’s main board through an I2C interface.
A. Experimental Setup
- The PDRS was evaluated on a KAILOS wearable,,, connecting its module to the main board through four wires for power and I2C communication.The wearable includes a dual-core 32-bit processor, BLE, WiFi, LTE, GNSS, and other sensors. Figure 7 shows the device worn on the body and its connection circuit to the PDRS.Source: A. Experimental Setup · p. 5, Figure 7 · p. 6
B. Indoor and outdoor positioning result
PDRS showed strong positioning performance in campus indoor and outdoor trials, matching OpenShoe ZUPT step detection while achieving lower distance error and tighter loop closure.
B. Indoor and outdoor positioning result
- Across 26 KAIST campus trials, individuals traversed 135–655 m closed loops indoors and outdoors at unscripted slow, normal, or fast gait speeds in both directions, evaluating SDE, TDE, and LCE.Indoor trials took place in the nine-storey N1 building (114.6 m × 39.6 m); outdoor GNSS signal was well received.Source: B. Indoor and outdoor positioning result · p. 6
- In a 1250-step trajectory with only two missed steps, PDRS matched foot-mounted OpenShoe ZUPT in step detection, while yielding markedly smaller distance error and tighter loop-closure error: 3.5 m vs. 7.1 m.Source: B. Indoor and outdoor positioning result · p. 6
SYSTEMS AND DEVICES … 2) Positioning Latency:
PDRS produces trajectories closer to ground truth than the other tested systems indoors and outdoors, while its onboard PDR computation uses a moderate share of the available processing budget.
SYSTEMS AND DEVICES
- PDRS cuts SDE by 60%, reduces TDE by a factor of 3.3, and shrinks LCE from 13.6 m to 3.5 m, aided by its acceleration-differential step detector and dynamic gyro-bias compensation.Source: Figure 9 · p. 6
- Smartphone PDR and OpenShoe ZUPT degrade outdoors, while tested commodity IMUs miss more than fifty steps (≈4% SDE) and cannot provide reliable displacement estimates.The passage attributes outdoor degradation to uneven terrain and larger operating areas amplifying drift; it also notes that commodity devices lack unified trajectory outputs.Source: Figure 9 · p. 6, SYSTEMS AND DEVICES · p. 6
- In every indoor and outdoor scenario, PDRS trajectories align closer to ground truth than trajectories from the other systems.Indoor references were digitised from floor plans, and outdoor references were captured using RTK GPS.Source: SYSTEMS AND DEVICES · p. 6, Figure 9 · p. 6, Figure 8 · p. 6
1) Computational Cost:
- PDR computation takes 2.0 ms of a 10 ms interval (approximately 20%); IMU sampling and communication each take 1.1 ms, with other listed tasks using 0.7–1.3 ms.Pressure sensing takes 0.8 ms, memory read 1.3 ms, and write 0.7 ms; the results indicate moderate computational load and stable real-time performance within the available processing budget.Source: 1) Computational Cost · p. 7, Figure 10 · p. 7
3) Power Consumption: · 4) Thermal Performance: · VI. CONCLUSION AND DISCUSSION
The PDRS packages real-time positioning in a plug-and-play module, with reported accuracy, latency, power, and thermal performance supporting wearable and IoT use. Future work targets accuracy, power, size, and drift compensation.
3) Power Consumption:
- Firmware optimizations reduced average positioning latency to 2.5 ms, with a 6 ms worst-case delay in a representative 10 s trace and no delays above 10 ms in ten hours of testing.Only a few instances exceeded 8 ms during the extended test; the paper considers latency negligible relative to typical walking frequencies of 2–3 steps per second.Source: 3) Power Consumption · p. 7, Figure 11 · p. 7
- At 4.2 V, PDR mode drew 52.35 mA, idle mode drew 38.72 mA, and sleep mode drew 0.45 mA.PDR mode increased the load by 13.63 mA over idle; the authors describe this profile as adequate for most wearable and handheld applications.Source: Figure 12 · p. 7, 3) Power Consumption · p. 7
4) Thermal Performance:
- Under steady-state conditions, the MCU reached 36.7°C, the barometric pressure sensor 35.8°C, the IMU 35.6°C, and the regulator 35.3°C.The paper attributes the MCU temperature to continuous PDR execution and the pressure sensor temperature partly to its metal package and proximity to the MCU.Source: 4) Thermal Performance · p. 7, Figure 13 · p. 7
- All components operated within wearable-electronics thermal limits, and observed thermal stability supports accurate positioning without additional cooling or performance derating.The paper notes that keeping the IMU below critical temperature thresholds matters because thermal drift can bias measurements and degrade accuracy.Source: 4) Thermal Performance · p. 7
VI. CONCLUSION AND DISCUSSION
- Across indoor and outdoor evaluations, PDRS achieved 0.16% step detection error, 1.87% travel distance error, 3.5 m loop-closure error, and 2.5 ms average positioning latency.The conclusion describes the module as compact, low-power, cost-effective, and designed to simplify integration into wearable and IoT systems.Source: §VI · p. 8
- Future work will optimize hardware and software for greater positioning accuracy and lower power, and use ASIC technology to shrink PDRS to chip scale and reduce production costs.The proposed smaller form factor is intended to enable integration into smaller devices.Source: §VI · p. 8
- The authors plan an AI-enhanced PDRS with a dedicated model that learns sensor dynamics from extensive datasets to compensate for drift and improve real-time accuracy in complex environments.Source: §VI · p. 8