IP Library Granted Patent US 10,182,746
Granted Patent B1
US 10,182,746 · App. 15/659,183 · Granted Jan 22, 2019

Decoupling body movement features from sensor location

Inventors: Emre Demiralp (San Francisco, CA); Hongsheng Wang (Sunnyvale, CA); Philip Stephens (Morgan Hill, CA)
Assignee: VERILY LIFE SCIENCES LLC
A61B5/1118A61B5/6802A61B5/721A63B24/0003A63B24/0021A63B24/0062G06K9/00342
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,182,746
App. No.
15/659,183
Granted
Jan 22, 2019
Kind
B1
Abstract

Systems and techniques are disclosed for decoupling a wearable sensor's location on a user from the body movements desired to be measured by the sensor. Sensor data can be dynamically analyzed to determine a reference event (e.g., a static pose), which can be used to generate or update a transformation parameter (e.g., a quaternion or a rotational matrix). The transformation parameter can be applied to sensor data to transform the sensor data from the sensor's frame of reference to a global frame of reference. Once transformed, the movement data in the global frame can be analyzed to identify sensor-location-agnostic biomechanical features (e.g., body movements or movement trends), which can be further analyzed to identify probable or potential diagnoses correlated with the identified biomechanical features.

Claims (103)

1. A system, comprising:

one or more data processors; and

a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform operations including:

receiving sensor data in a sensor frame, wherein the sensor data is indicative of movement of a wearable device that is location-agnostic to a biomechanical feature of a user;

dynamically identifying a reference event using at least a portion of the sensor data, wherein dynamically identifying the reference event includes analyzing at least the portion of the sensor data to detect aspects of the sensor data associated with the reference event;

determining a reference sensor orientation during the reference event using at least the portion of the sensor data, wherein the reference sensor orientation is associated with an orientation of the wearable device in a global frame;

calculating a transformation parameter using the reference sensor orientation and the sensor data, wherein the transformation parameter includes a quaternion or a rotational matrix;

transforming the sensor data using the transformation parameter to generate re-oriented movement data, wherein the re-oriented movement data is associated with movement of the wearable device in the global frame; and

determining the biomechanical feature using the re-oriented movement data, wherein determining the biomechanical feature occurs irrespective of placement of the wearable device on the user.

2. The system of claim 1 , wherein the biomechanical feature is associated with movement of a body part at which the wearable device is not positioned.

3. The system of claim 1 , wherein the operations further comprise:

receiving supplemental sensor data associated with continued movement of the wearable device in the sensor frame;

transforming the supplemental sensor data using the transformation parameter to generate supplemental re-oriented movement data, wherein the supplemental re-oriented movement data is associated with continued movement of the wearable device in the global frame; and

determining the biomechanical feature using the supplemental re-oriented movement data.

4. The system of claim 3 , wherein the operations further comprise:

automatically identifying a supplemental reference event using at least some of the supplemental sensor data;

determining a supplemental reference sensor orientation at the supplemental reference event using at least the portion of the supplemental sensor data, wherein the supplemental reference sensor orientation is associated with a supplemental orientation of the wearable device in the global frame; and

updating the transformation parameter using the supplemental reference sensor orientation and the supplemental sensor data, wherein transforming the supplemental sensor data using the transformation parameter to generate supplemental re-oriented movement data includes using the updated transformation parameter.

5. The system of claim 1 , wherein the operations further comprise:

determining that the wearable device is being worn again after being removed from an original location;

receiving new sensor data associated with movement of the wearable device in a new sensor frame, wherein the new sensor data is associated with movement of the wearable device being worn at a new location that is different from the original location;

automatically identifying a new reference event using at least a portion of the new sensor data;

determining a new reference sensor orientation at the new reference event using at least the portion of the new sensor data, wherein the new reference sensor orientation is associated with the orientation of the wearable device in the global frame;

calculating a new transformation parameter using the new reference sensor orientation and the new sensor data, wherein the new transformation parameter includes a quaternion or a rotational matrix;

transforming the new sensor data using the new transformation parameter to generate new re-oriented movement data, wherein the new re-oriented movement data is associated with movement of the wearable device in the global frame; and

determining the biomechanical feature using the new re-oriented movement data.

6. The system of claim 1 , wherein the operations further comprise generating a diagnosis inference using the biomechanical feature.

7. The system of claim 1 , wherein the operations further comprise receiving second movement data associated with movement of a second wearable device in the global frame, wherein the second wearable device is spaced apart from the wearable device, and wherein inferring the biomechanical feature includes using the re-oriented movement data and the second movement data.

8. The system of claim 1 , wherein determining the sensor-location-agnostic biomechanical feature includes:

calculating a velocity of the sensor in the global frame using the re-oriented movement data;

detecting an occurrence of a zero-expected-velocity event using the sensor data;

calculating an offset between zero and the calculated velocity when the zero-expected-velocity event occurs; and

correcting the calculated velocity using the offset.

9. A computer-implemented method, comprising:

receiving sensor data in a sensor frame, wherein the sensor data is indicative of movement of a wearable device that is location-agnostic to a biomechanical feature of a user;

dynamically identifying a reference event using at least a portion of the sensor data, wherein dynamically identifying the reference event includes analyzing at least the portion of the sensor data to detect aspects of the sensor data associated with the reference event;

determining a reference sensor orientation during the reference event using at least the portion of the sensor data, wherein the reference sensor orientation is associated with an orientation of the wearable device in a global frame;

calculating a transformation parameter using the reference sensor orientation and the sensor data, wherein the transformation parameter includes a quaternion or a rotational matrix;

transforming the sensor data using the transformation parameter to generate re-oriented movement data, wherein the re-oriented movement data is associated with movement of the wearable device in the global frame; and

determining the biomechanical feature using the re-oriented movement data, wherein determining the biomechanical feature occurs irrespective of placement of the wearable device on the user.

10. The method of claim 9 , wherein the biomechanical feature is associated with movement of a body part at which the wearable device is not positioned.

11. The method of claim 9 , further comprising:

receiving supplemental sensor data associated with continued movement of the wearable device in the sensor frame;

transforming the supplemental sensor data using the transformation parameter to generate supplemental re-oriented movement data, wherein the supplemental re-oriented movement data is associated with continued movement of the wearable device in the global frame; and

determining the biomechanical feature using the supplemental re-oriented movement data.

12. The method of claim 11 , further comprising:

automatically identifying a supplemental reference event using at least some of the supplemental sensor data;

determining a supplemental reference sensor orientation at the supplemental reference event using at least the portion of the supplemental sensor data, wherein the supplemental reference sensor orientation is associated with a supplemental orientation of the wearable device in the global frame; and

updating the transformation parameter using the supplemental reference sensor orientation and the supplemental sensor data, wherein transforming the supplemental sensor data using the transformation parameter to generate supplemental re-oriented movement data includes using the updated transformation parameter.

13. The method of claim 9 , further comprising:

determining that the wearable device is being worn again after being removed from an original location;

receiving new sensor data associated with movement of the wearable device in a new sensor frame, wherein the new sensor data is associated with movement of the wearable device being worn at a new location that is different from the original location;

automatically identifying a new reference event using at least a portion of the new sensor data;

determining a new reference sensor orientation at the new reference event using at least the portion of the new sensor data, wherein the new reference sensor orientation is associated with the orientation of the wearable device in the global frame;

calculating a new transformation parameter using the new reference sensor orientation and the new sensor data, wherein the new transformation parameter includes a quaternion or a rotational matrix;

transforming the new sensor data using the new transformation parameter to generate new re-oriented movement data, wherein the new re-oriented movement data is associated with movement of the wearable device in the global frame; and

determining the biomechanical feature using the new re-oriented movement data.

14. The method of claim 9 , further comprising generating a diagnosis inference using the biomechanical feature.

15. The method of claim 9 , further comprising receiving second movement data associated with movement of a second wearable device in the global frame, wherein the second wearable device is spaced apart from the wearable device, and wherein inferring the biomechanical feature includes using the movement data and the second movement data.

16. The method of claim 9 , wherein determining the sensor-location-agnostic biomechanical feature includes:

calculating a velocity of the sensor in the global frame using the re-oriented movement data;

detecting an occurrence of a zero-expected-velocity event using the sensor data;

calculating an offset between zero and the calculated velocity when the zero-expected-velocity event occurs; and

correcting the calculated velocity using the offset.

17. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including:

receiving sensor data in a sensor frame, wherein the sensor data is indicative of movement of a wearable device that is location-agnostic to a biomechanical feature of a user;

dynamically identifying a reference event using at least a portion of the sensor data, wherein dynamically identifying the reference event includes analyzing at least the portion of the sensor data to detect aspects of the sensor data associated with the reference event;

determining a reference sensor orientation during the reference event using at least the portion of the sensor data, wherein the reference sensor orientation is associated with an orientation of the wearable device in a global frame;

calculating a transformation parameter using the reference sensor orientation and the sensor data, wherein the transformation parameter includes a quaternion or a rotational matrix;

transforming the sensor data using the transformation parameter to generate re-oriented movement data, wherein the re-oriented movement data is associated with movement of the wearable device in the global frame; and

determining a the biomechanical feature using the re-oriented movement data, wherein determining the biomechanical feature occurs irrespective of placement of the wearable device on the user.

18. The computer-program product of claim 17 , wherein the biomechanical feature is associated with movement of a body part at which the wearable device is not positioned.

19. The computer-program product of claim 17 , wherein the operations further comprise:

receiving supplemental sensor data associated with continued movement of the wearable device in the sensor frame;

transforming the supplemental sensor data using the transformation parameter to generate supplemental re-oriented movement data, wherein the supplemental re-oriented movement data is associated with continued movement of the wearable device in the global frame; and

determining the biomechanical feature using the supplemental re-oriented movement data.

20. The computer-program product of claim 19 , wherein the operations further comprise:

automatically identifying a supplemental reference event using at least some of the supplemental sensor data;

determining a supplemental reference sensor orientation at the supplemental reference event using at least the portion of the supplemental sensor data, wherein the supplemental reference sensor orientation is associated with a supplemental orientation of the wearable device in the global frame; and

updating the transformation parameter using the supplemental reference sensor orientation and the supplemental sensor data, wherein transforming the supplemental sensor data using the transformation parameter to generate supplemental re-oriented movement data includes using the updated transformation parameter.

21. The computer-program product of claim 17 , wherein the operations further comprise:

determining that the wearable device is being worn again after being removed from an original location;

receiving new sensor data associated with movement of the wearable device in a new sensor frame, wherein the new sensor data is associated with movement of the wearable device being worn at a new location that is different from the original location;

automatically identifying a new reference event using at least a portion of the new sensor data;

determining a new reference sensor orientation at the new reference event using at least the portion of the new sensor data, wherein the new reference sensor orientation is associated with the orientation of the wearable device in the global frame;

calculating a new transformation parameter using the new reference sensor orientation and the new sensor data, wherein the new transformation parameter includes a quaternion or a rotational matrix;

transforming the new sensor data using the new transformation parameter to generate new re-oriented movement data, wherein the new re-oriented movement data is associated with movement of the wearable device in the global frame; and

determining the biomechanical feature using the new re-oriented movement data.

22. The computer-program product of claim 17 , wherein the operations further comprise generating a diagnosis inference using the biomechanical feature.

23. The computer-program product of claim 17 , wherein the operations further comprise receiving second movement data associated with movement of a second wearable device in the global frame, wherein the second wearable device is spaced apart from the wearable device, and wherein inferring the biomechanical feature includes using the movement data and the second movement data.

24. The computer-program product of claim 17 , wherein determining the sensor-location-agnostic biomechanical feature includes:

calculating a velocity of the sensor in the global frame using the re-oriented movement data;

detecting an occurrence of a zero-expected-velocity event using the sensor data;

calculating an offset between zero and the calculated velocity when the zero-expected-velocity event occurs; and

correcting the calculated velocity using the offset.

25. A method, comprising:

receiving motion data relative to a sensor frame, wherein the motion data includes accelerometer data associated with a wearable device;

determining a coordinate transformation function based on the motion data, wherein determining the coordinate transformation function includes dynamically identifying a reference event using at least a portion of the motion data, wherein dynamically identifying the reference event includes analyzing the motion data to detect aspects of the motion data associated with the reference event, and wherein determining the coordinate transformation function includes using the identified reference event;

transforming, using the coordinate transformation function, to convert the motion data into a global frame;

detecting gait phase data based on the motion data;

computing velocity data by integrating the converted motion data in the global frame; and

calibrating the velocity data based on the detected gait phase data, wherein the calibrated velocity data is associated with velocity of the wearable device in the global frame irrespective of placement or orientation of the wearable device on a user.

26. The method of claim 25 , wherein detecting the gait phase data includes identifying a foot fall event by analyzing the motion data, and wherein calibrating the velocity data is by adjusting a velocity offset parameter to match the foot fall event to a zero velocity value.

Assignments (2)
CHANGE OF ADDRESS Recorded Nov 19, 2024
From: VERILY LIFE SCIENCES LLC
To: VERILY LIFE SCIENCES LLC
Reel/Frame 069390/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2017
From: DEMIRALP, EMRE; WANG, HONGSHENG; STEPHENS, PHILIP
To: VERILY LIFE SCIENCES LLC
Reel/Frame 043093/0372 →
Cited By (9)
US 1,067,239 US 1,084,008 US 1,110,333 US 1,120,934 US 12,340,674 US 12,465,215 US 12,543,972 US 12,569,195 US 12,611,135