Motion Sensors
Supported on Android & iOS.
Measures the acceleration force applied to a device, including the force of gravity (Unit: m/s2). Data from the accelerometer, together with Gravity, Gyroscope, and Magnetic Field can provide a good estimate of the device's movement, and subsequently estimate the participant's physical activity.
Each accelerometer record includes the following:
X-Axis:
Acceleration force along the x-axis (including gravity), in m/s2. Internally stored as
x_axis
.Y-Axis:
Acceleration force along the y-axis (including gravity), in m/s2. Internally stored as
y_axis
.Z-Axis:
Acceleration force along the z-axis (including gravity), in m/s2. Internally stored as
z_axis
.Accuracy:
The accuracy of the reading. It can be either 1 for low accuracy, 2 for medium accuracy, or 3 for high accuracy. Internally stored as
accu
.Supported on Android & iOS.
Measures the ambient geomagnetic field in μT.
Each magnetic field record includes the following:
X-Axis:
Geomagnetic field strength along the x-axis, in μT. Internally stored as
x_axis
.Y-Axis:
Geomagnetic field strength along the y-axis, in μT. Internally stored as
y_axis
.Z-Axis:
Geomagnetic field strength along the z-axis, in μT. Internally stored as
z_axis
.Supported on Android & iOS.
Measures a device's rate of rotation in radians. Usually used for rotation detection (spin, turn, etc.).
Each gyroscope record includes the following:
X-Axis:
The rate of rotation around the x-axis, in rad/s. Internally stored as
x_axis
.Y-Axis:
The rate of rotation around the y-axis, in rad/s. Internally stored as
y_axis
.Z-Axis:
The rate of rotation around the x-axis, in rad/s. Internally stored as
z_axis
.Supported on Android & iOS.
Measures the acceleration force in m/s2 that is applied to a device, excluding the force of gravity. This data source is usually implemented as a software-based data source and does not have a dedicated hardware chip on the smartphone. The device measures acceleration from the Accelerometer sensor, and excludes the gravity measured by the Gravity sensor, in order to calculate the linear acceleration.
Each linear acceleration record includes the following:
X-Axis:
Acceleration force along the x-axis (excluding gravity), in m/s2. Internally stored as
x_axis
.Y-Axis:
Acceleration force along the y-axis (excluding gravity), in m/s2. Internally stored as
y_axis
.Z-Axis:
Acceleration force along the z-axis (excluding gravity), in m/s2. Internally stored as
z_axis
.Supported on Android & iOS.
Measures the force of gravity in m/s2 that is applied to a device. Usually used for motion detection (shake, tilt, etc.).
Each gravity record includes the following:
X-Axis:
Force of gravity along the x-axis, in m/s2. Internally stored as
x_axis
.Y-Axis:
Force of gravity along the y-axis, in m/s2. Internally stored as
y_axis
.Z-Axis:
Force of gravity along the z-axis, in m/s2. Internally stored as
z_axis
.Supported on Android & iOS.
Measures the orientation of a device by providing the three elements of the device's rotation vector.
Each orientation record includes the following:
X-Axis:
Rotation vector component along the x-axis (x * sin(θ/2)). Internally stored as
x_axis
.Y-Axis:
Rotation vector component along the y-axis (y * sin(θ/2)). Internally stored as
y_axis
.Z-Axis:
Rotation vector component along the z-axis (z * sin(θ/2)). Internally stored as
z_axis
.Vector Size:
Scalar component of the rotation vector (cos(θ/2)). This value might not be provided. Internally stored as
vector_size
.Supported on Android & iOS.
Each pedometer record includes the following:
Duration
The duration over which this record has collected data, in seconds. Internally stored as
duration
.Steps
The number of steps taken by the participant over the specified duration. Internally stored as
steps
.Accuracy
The accuracy of the record. Android only, iOS records will always store -1. Internally stored as
accu
.Average Active Pace
The average pace of the participant, measured in seconds per meter. iOS only, Android records will always store -1. Internally stored as
avg_active_pace
.Current Cadence
The rate at which steps are taken, measured in steps per second. iOS only, Android records will always store -1. Internally stored as
cur_cadence
.Current Pace
The current pace of the participant, measured in seconds per meter. iOS only, Android records will always store -1. Internally stored as
cur_pace
.Distance
The estimated distance (in meters) traveled by the participant. iOS only, Android records will always store -1. Internally stored as
distance
.Floor Ascended
The approximate number of floors ascended by walking. iOS only, Android records will always store -1. Internally stored as
floor_ascended
.Floor Descended
The approximate number of floors descended by walking. iOS only, Android records will always store -1. Internally stored as
floor_descended
.Android and iOS devices behave differently in collecting pedometer data. In Android, the operating system sends data to the Ethica app as soon as a step count is available. While in iOS, Ethica wakes up every 5 minutes and queries all steps taken during the past 5 minutes, and the iOS will provide the number of steps measured in the last 5 minutes.
Supported on Android & iOS.
Uses a combination of motion sensors to detect the type of activity that the participant is currently engaged in. Ethica uses Android and iOS standard algorithms to detect the participant's type of current activity. Please refer to Google and Apple documentation for implementation details in Android and iPhone devices.
Each activity recognition record includes the following:
Activity Type:
The type of recognized activity. Internally stored as
activity_type
. It can be one of the following values:0
: Unknown. Unable to detect the current activity.1
: Still. The device is still (not moving).2
: Tilting. The device angle relative to gravity changed significantly. This often occurs when a device is picked up from a desk or a user who is sitting stands up.3
: On-Foot. The device is on a participant who is walking or running.4
: Walking. The device is on a user who is walking. This is a sub-activity of On-Foot.5
: Running. The device is on a user who is running. This is a sub-activity of On-Foot.6
: On-Bicycle. The device is on a bicycle.7
: In-Vehicle. The device is in a vehicle, such as a car.
Please note that we can have different activity types at the same time. For example, if the participant is driving and stops in some places during driving, we will have two records at the same time with different activity types:
In-Vehicle
and Still
Confidence Level
A value that represents the algorithm's confidence in the recognized activity. Internally stored as
confidence_level
. For Android devices, the confidence level is a value between 0 to 100, and for iOS devices, the confidence level is either 0 (low), 1 (medium), or 2 (high).Last modified 7mo ago