Pedometer Algorithms and Related ...
Source code on Github
- Today Step Counter: Android计步模块(类似微信运动,支付宝计步,今日步数),记录当天从0点到23:59的步数.
- Related Chinese Blog: Android计步模块优化(今日步数)V2.0.0
- C-Step-Counter: A bachelor thesis repo (C).
- StepCounter: a small example about android pedometer.
- My-StepCounter: Xamarin iOS & Android Starter pedometer sample.
- embedded_pedometer: Accelerometer-based pedometer algorithm for embedded applications (C).
- Pedometer-Step-Counting-Algorithm: collected real time walking data(patterns) with gyroscope, use Fast Fourier Transformation to extract the clustering features, and build the step counting algorithm for pedometer (Python).
- Pedometer-Step-Counting-Algorithm: Lightweight pedometer app for Android using the hardware step sensor (Java).
- gyroscope-step-counter-library: This code is a mini implementation of the step counting logic implemented in most of the fitness appliciations on our smartphones and fitness bands like FitBit.
- Step-Counter: A small example about android pedometer.
- Realted Chinese blog: Android 计步器开发
Algorithm adopted in Matlab
Matlab Gyroscope based pedometer page: The pedometer algorithm is implemented inside the MATLAB function block in the Arduino model.
- Required Hardware
- Arduino MKR1000/MKR WiFi 1010
- Android device
- MPU-9250 sensor
The algorithm file link
- A gyroscopic data based pedometer algorithm (IEEE official site) or Direct Download Link.
- 一种基于陀螺仪传感器的准确计步器算法: The Translated Chinese Version.
The matlab code
Authors: Sampath Jayalath, Nimsiri Abhayasinghe and Iain Murray Contact: adasdjsampath@gmail.com
Zero Crossing With Signal Strength (MATLAB code)
Hardware and applications
-
The paper Gravity: BMI160 6-Axis Inertial Motion Sensor SKU: SEN0250 provided by DFROBERT has step count algorithm embeded. The library is uploaded in Github DFRobot/DFRobot_BMI160 which includes step count algorithm. The official business website of DFRobot is HERE. The BMI160 datasheet is HERE, which describes that there is a step detector and step counter in the sensor.
-
BMI160 has its own step counter, and the algorithm has already embedded into the sensor. To enable the step counter function, the only thing one need to do is to read out the step number from the sensor. The UNO Arduino library has been developed and is open sourced. There are two open source libraries:
- about BMI160 hardware settings:
- 2.6.3 Step Detector (Accel)
A step detection is the detection of a single step event, while the user is walking or running. The step detector is triggered when a peak is detected in the acceleration magnitude (vector length of 3D acceleration). In order to achieve a robust step detection the peak needs to exceed a configurable threshold min_threshold and a minimum delay time min_steptime between two consecutive peaks needs to be observed.
The step detector can be configured in three modes:
- Normal mode (default setting, recommended for most applications)
- Sensitive mode (can be used for light weighted, small persons)
- Robust mode (can be used, if many false positive detections are observed)
More details can be found in Register (0x7A-0x7B) STEP_CONF and the according step counter application note. The step detector is the trigger for a step counter.
- 2.11.37 Register (0x7A-0x7B) STEP_CONF ADDRESS 0x7A (2 byte) RESET na MODE R DESCRIPTION Contains configuration of the step detector DEFINITION
- 2.6.3 Step Detector (Accel)
A step detection is the detection of a single step event, while the user is walking or running. The step detector is triggered when a peak is detected in the acceleration magnitude (vector length of 3D acceleration). In order to achieve a robust step detection the peak needs to exceed a configurable threshold min_threshold and a minimum delay time min_steptime between two consecutive peaks needs to be observed.
The step detector can be configured in three modes:
Related papers
- 2018 基于MEMS加速度传感器的步数检测算法研究综述: PDF download
- 2017 A New Dataset for Evaluating Pedometer Performance: PDF download
- 2016 Step Detection Algorithm For Accurate Distance Estimation Using Dynamic Step Length: PDF download
- 2016 Interrupt-Based Step-Counting to Extend Battery Life in an Activity Monitor: PDF download
- 2015 A DECISION TREE BASED PEDOMETER AND ITS IMPLEMENTATION ON THE ANDROID PLATFORM: PDF download
- 2014 RecoFit: Using a Wearable Sensor to Find, Recognize, and Count Repetitive Exercises: PDF Downlaod or from <a href =https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/p3225-morris.pdf>online</a>.
- 2013 Accurate Pedometer for Smartphones: PDF download
- 2013 A Gyroscope based Accurate Pedometer Algorithm: English Version, Chinese Version, Matlab Code
- Towards the run and walk activity classification through step detection - An android application:PDF download
- 2010 利用3轴数字加速度计实现功能全面的计步器设计: PDF download
- 2010 Full-Featured Pedometer Design Realized with 3-Axis Digital Accelerometer: PDF download
- 2003 Comparison of Pedometer and Accelerometer Accuracy under Controlled Conditions: PDF download
Discuss
A Smartphone pedometer algorithm based on accelerometer is discussed by Oner et al. [Towards the run and walk activity classification through step detection - An android application] and their algorithm demonstrated sufficient accuracies at walking speeds higher than 90 beats per second (bps), but its performance degrades as speeds fall below 90bps. Their algorithm has over counted steps and the error was approximately 20% at 80 bps, 60% at 70 bps and 90% at 60 bps.