Advanced Smartphone Pedometer using Accelerometer Data
Vivek S1, Mahalingam P R2
U.G Student, Computer Science and Engineering, Muthoot Institute of Technology and Science, Kochi, India1
Assistant Professor, Computer Science and Engineering, Muthoot Institute of Technology and Science, Kochi, India2
Abstract: Smartphones are literally a part of our daily life now a days, we carry it all times along us. The purpose of this paper is to describe the design of an algorithm which can basically make your smartphone act as a pedometer by utilizing the data coming from accelerometer. As a part of this we have build an Android application featuring the algorithm. The application, while running ...view middle of the document...
Can we apply it in to health care? This project makes use of accelerometer sensor, that is a 3-axis accelerometer sensor found commonly in smartphones to detect physical activities of users such as walking, running etc and make out valuable insights to these findings such as step-counting. As a result, we have an Android application capable of doing this. We choose Android as our platform owing to it's popularity, openness etc.
The purpose of this paper is to describe an algorithm we developed which can track user physical activity and number of steps taken, by analyzing accelerometer data. In order to implement the algorithm we collected accelerometer sensor data from different users as they performed activities like walking, running, standing still while wearing the phone in their pants pocket. We optimized the data and then classified the physical activities based on amplitude of frequencies present in accelerometer data.
This algorithm is implemented and tested as an Android application, which collects accelerometer data while running in background. Here user’s physical activity is being recognized by comparing the amplitude of frequencies present in accelerometer data to standard amplitude values which we find out by collecting data from various users. In order to avoid counting “false-steps”, algorithm contentiously checks what movement to be count as a “step” and what’s not.
The hardware used for this project is a smartphone running on Android 5.0.2. It has an inbuilt 3-axis accelerometer which we utilized. The software required for developing the application was Android Integrated Development Environment(IDE) which comes with Android Software Development Kit(SDK). It provides all software needed to develop Android applications.
The algorithm we used is defined here. A flowchart of the algorithm is given along side with it. This algorithm was developed after closely observing the data we collected as a part of this project.
A. Accelerometer Data
The accelerometer data is collected from smartphone. For this purpose we used a Motorola moto-g phone which has a built in 3-axis accelerometer. The data is collected using SensorEventListener functionality of Android SDK.This data is collected with sensor delay set to SENSOR_DELAY_FASTEST within the android application so that readings are taken every 10ms. For application to run in background data collection is done as a service. In order to have data collection going on uninterruptedly, service is set as STICKY_SERVICE so that it will restart itself if terminated other than by the user.
The accelerometer data will be the amount of acceleration happening to smartphone about x, y, z axes and will be as 3 separate values.
B. Analyze data
Since it is a 3-axis accelerometer, the data collected is along 3-axises. That is the acceleration in 3-axises. We find the total acceleration out this using equation.
where Z is the...