System and method of biomechanical posture detection and feedback including sensor normalization
First Claim
1. A method of normalizing accelerometer data comprising:
- capturing, by a tri-axial accelerometer attached to a user, first tri-axial accelerometer data over a first period of time while the user is moving as instructed;
calculating, by the microprocessor, smoothed power from the captured first tri-axial accelerometer data;
identifying, by the microprocessor, data in the captured first tri-axial accelerometer data which results in the calculated power being below a threshold;
discarding, by the microprocessor, the identified data from the captured first tri-axial accelerometer data;
averaging, by a microprocessor, the captured first tri-axial accelerometer data;
creating, by the microprocessor, a first normalization matrix based on the averaged first tri-axial accelerometer data;
capturing, by the tri-axial accelerometer attached to the user, second tri-axial accelerometer data at a second point in time; and
creating, by the microprocessor, first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method are described herein for a sensor device which biomechanically detects in real-time a user'"'"'s movement state and posture and then provides real-time feedback to the user based on the user'"'"'s real-time posture. The feedback is provided through immediate sensory feedback through the sensor device (e.g., a sound or vibration) as well as through an avatar within an associated application with which the sensor device communicates. The sensor device detects the user'"'"'s movement state and posture by capturing data from a tri-axial accelerometer in the sensor device. Streamed data from the accelerometer is normalized to correct for sensor errors as well as variations in sensor placement and orientation. Normalization is based on accelerometer data collected while the user is wearing the device and performing specific actions.
23 Citations
19 Claims
-
1. A method of normalizing accelerometer data comprising:
-
capturing, by a tri-axial accelerometer attached to a user, first tri-axial accelerometer data over a first period of time while the user is moving as instructed; calculating, by the microprocessor, smoothed power from the captured first tri-axial accelerometer data; identifying, by the microprocessor, data in the captured first tri-axial accelerometer data which results in the calculated power being below a threshold; discarding, by the microprocessor, the identified data from the captured first tri-axial accelerometer data; averaging, by a microprocessor, the captured first tri-axial accelerometer data; creating, by the microprocessor, a first normalization matrix based on the averaged first tri-axial accelerometer data; capturing, by the tri-axial accelerometer attached to the user, second tri-axial accelerometer data at a second point in time; and creating, by the microprocessor, first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data. - View Dependent Claims (2)
-
-
3. A method of normalizing accelerometer data comprising:
-
capturing, by a tri-axial accelerometer attached to a user, first tri-axial accelerometer data over a first period of time while the user is moving as instructed; averaging, by a microprocessor, the captured first tri-axial accelerometer data; creating, by the microprocessor, a first normalization matrix based on the averaged first tri-axial accelerometer data; capturing, by the tri-axial accelerometer attached to the user, second tri-axial accelerometer data at a second point in time; creating, by the microprocessor, first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; capturing, by the tri-axial accelerometer attached to the user, third tri-axial accelerometer data over a third period of time, while the user is stationary as instructed; averaging, by the microprocessor, the captured third tri-axial accelerometer data; creating, by the microprocessor, a second normalization matrix based on the averaged third tri-axial accelerometer data; and creating, by the microprocessor, second normalized accelerometer data by applying the second normalization matrix to the first normalized accelerometer data. - View Dependent Claims (4, 5)
-
-
6. A method of normalizing accelerometer data comprising:
-
capturing, by a tri-axial accelerometer attached to a user, first tri-axial accelerometer data over a first period of time while the user is moving as instructed; averaging, by a microprocessor, the captured first tri-axial accelerometer data; creating, by the microprocessor, a first normalization matrix based on the averaged first tri-axial accelerometer data; capturing, by the tri-axial accelerometer attached to the user, second tri-axial accelerometer data at a second point in time; creating, by the microprocessor, first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; recognizing, by the microprocessor, that the user is moving; averaging, by the microprocessor, the first normalized accelerometer data; calculating, by the microprocessor, a shift angle from the averaged first normalized accelerometer data; and adjusting, by the microprocessor, the first normalized accelerometer data based on the calculated shift angle. - View Dependent Claims (7)
-
-
8. A method of normalizing accelerometer data comprising:
-
capturing, by a tri-axial accelerometer attached to a user, first tri-axial accelerometer data over a first period of time while the user is moving as instructed; averaging, by a microprocessor, the captured first tri-axial accelerometer data; creating, by the microprocessor, a first normalization matrix based on the averaged first tri-axial accelerometer data; capturing, by the tri-axial accelerometer attached to the user, second tri-axial accelerometer data at a second point in time; creating, by the microprocessor, first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; recognizing, by the microprocessor, that the first normalized accelerometer data indicates the tri-axial accelerometer is upside-down; and correcting, by the microprocessor, the first normalized accelerometer data to account for the indication the tri-axial accelerometer is upside-down.
-
-
9. A postural feedback apparatus comprising:
-
a tri-axial accelerometer configured to be attached to a user, the tri-axial accelerometer configured to; capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed, and capture second tri-axial accelerometer data at a second point in time; and a microprocessor configured to; average the captured first tri-axial accelerometer data, create a first normalization matrix based on the averaged captured first tri-axial accelerometer data, create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data, calculate a smoothed power from the captured first tri-axial accelerometer data, identify data in the captured first tri-axial accelerometer data which results in the calculated smoothed power being below a threshold, and discard the identified data from the captured first tri-axial accelerometer data, prior to averaging the captured first tri-axial accelerometer data. - View Dependent Claims (10)
-
-
11. A postural feedback apparatus comprising:
-
a tri-axial accelerometer configured to be attached to a user, the tri-axial accelerometer configured to; capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed, and capture second tri-axial accelerometer data at a second point in time; and a microprocessor configured to; average the captured first tri-axial accelerometer data, create a first normalization matrix based on the averaged captured first tri-axial accelerometer data, create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; where the tri-axial accelerometer is further configured to capture third tri-axial accelerometer data over a third period of time while the user is stationary as instructed; and the microprocessor is further configured to; average the captured third tri-axial accelerometer data, create a second normalization matrix based on the averaged captured third tri-axial accelerometer data, and create second normalized accelerometer data by applying the second normalization matrix to the first normalized accelerometer data. - View Dependent Claims (12, 13)
-
-
14. A postural feedback apparatus comprising:
-
a tri-axial accelerometer configured to be attached to a user, the tri-axial accelerometer configured to; capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed, and capture second tri-axial accelerometer data at a second point in time; and a microprocessor configured to; average the captured first tri-axial accelerometer data, create a first normalization matrix based on the averaged captured first tri-axial accelerometer data, create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; where the microprocessor is further configured to; recognize that the user is moving based on the first normalized accelerometer data; average the first normalized accelerometer data; calculate a shift angle from the averaged first normalized accelerometer data; and adjust the first normalized accelerometer data based on the calculated shift angle.
-
-
15. A postural feedback apparatus comprising:
-
a tri-axial accelerometer configured to be attached to a user, the tri-axial accelerometer configured to; capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed, and capture second tri-axial accelerometer data at a second point in time; and a microprocessor configured to; average the captured first tri-axial accelerometer data, create a first normalization matrix based on the averaged captured first tri-axial accelerometer data, create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data, recognize that the first normalized accelerometer data indicates the tri-axial accelerometer is upside-down; and correct the first normalized accelerometer data to account for the indication that the tri-axial accelerometer is upside-down.
-
-
16. A non-transitory computer readable medium having stored thereupon computing instructions comprising:
-
a code segment to capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed; a code segment to calculate smoothed power from the captured first tri-axial accelerometer data; a code segment to identify data in the captured first tri-axial accelerometer data which results in the calculated power being below a threshold; a code segment to discard the identified data from the captured first tri-axial accelerometer data, prior to averaging by the microprocessor the captured first tri-axial accelerometer data; a code segment to average the captured first tri-axial accelerometer data; a code segment to create a first normalization matrix based on the averaged first tri-axial accelerometer data; a code segment to capture second tri-axial accelerometer data at a second point in time; and a code segment to create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data.
-
-
17. A non-transitory computer readable medium having stored thereupon computing instructions comprising:
-
a code segment to capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed; a code segment to average the captured first tri-axial accelerometer data; a code segment to create a first normalization matrix based on the averaged first tri-axial accelerometer data; a code segment to capture second tri-axial accelerometer data at a second point in time; a code segment to create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; a code segment to capture third tri-axial accelerometer data over a third period of time, while the user is stationary as instructed; a code segment to average the captured third tri-axial accelerometer data; a code segment to create a second normalization matrix based on the averaged third tri-axial accelerometer data; and a code segment to create second normalized accelerometer data by applying the second normalization matrix to the first normalized accelerometer data.
-
-
18. A non-transitory computer readable medium having stored thereupon computing instructions comprising:
-
a code segment to capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed; a code segment to average the captured first tri-axial accelerometer data; a code segment to create a first normalization matrix based on the averaged first tri-axial accelerometer data; a code segment to capture second tri-axial accelerometer data at a second point in time; a code segment to create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; a code segment to recognize that the user is moving by comparing a smoothed power calculated from the first normalized accelerometer data to a threshold; a code segment to average the first normalized accelerometer data; a code segment to calculate a shift angle from the averaged first normalized accelerometer data; and a code segment to adjust the first normalized accelerometer data based on the calculated shift angle.
-
-
19. A non-transitory computer readable medium having stored thereupon computing instructions comprising:
-
a code segment to capture first tri-axial accelerometer data over a first period of time while the user is moving as instructed; a code segment to average the captured first tri-axial accelerometer data; a code segment to create a first normalization matrix based on the averaged first tri-axial accelerometer data; a code segment to capture second tri-axial accelerometer data at a second point in time; a code segment to create first normalized accelerometer data by applying the first normalization matrix to the captured second tri-axial accelerometer data; a code segment to recognize that the first normalized accelerometer data indicates the tri-axial accelerometer is upside-down; and a code segment to correct the first normalized accelerometer data to account for the indication the tri-axial accelerometer is upside-down.
-
Specification