IP Library Granted Patent US 9,049,558
Granted Patent B2
US 9,049,558 · App. 13/935,672 · Granted Jun 2, 2015

Systems and methods for determining mobile thing motion activity (MTMA) using sensor data of wireless communication device (WCD) and initiating activity-based actions

Inventors: Martin Kelly Jones (Vancouver, CA); Scott Andrew Horstemeyer (Atlanta, GA); Maria Khomenko (Pefferlaw, CA)
Assignees: Scott Andrew Horstemeyer; Martin Kelly Jones
H04W4/027
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 9,049,558
App. No.
13/935,672
Granted
Jun 2, 2015
Kind
B2
Abstract

Systems, apparatus, and methods are disclosed for accurately identifying a moving thing motion activity (MTMA) associated with a mobile thing (MT) using sensor data from one or more sensors associated with a wireless communication device (WCD) transported by the MT so as to enable or initiate a further one or more activity based actions. One such method, among others, comprises: (a) receiving first and second data from one or more sensors (e.g., accelerometer, gyroscope, magnetometer, etc.) associated with a wireless communication device (WCD) transported by a mobile thing (MT), the first and second data indicative of movement of the WCD; (b) determining reference data that defines a reference framework from the first data; (c) normalizing the second data with the reference data so that the second data can be analyzed in the reference framework; and (d) identifying an MTMA associated with the MT based upon the normalized second data.

Claims (173)

1. A method, comprising:

receiving a time value and at least three streams of data sample values from one or more sensors of a wireless communication device (WCD) that is transported by a mobile thing (MT), each data sample value indicative of movement of the WCD at a corresponding time value;

recognizing a particular set of data sample values as a reference for defining an orientation of the WCD in a coordinate system;

computing reference data based upon the recognition of the particular set, the reference data defining a relationship between each set of subsequent non-reference data sample values and the particular reference set of data sample values in the coordinate system;

calculating movement data in the coordinate system of one or more other non-reference data sample values based upon the reference data; and

determining a mobile thing motion activity (MTMA) associated with the MT based upon the movement data.

2. The method of claim 1 , further comprising:

prior to recognizing, mathematically combining the data sample values of the particular reference set; and

recognizing the particular reference set as the reference when a combined value has a magnitude that is indicative of a relationship to Earth gravity.

3. The method of claim 2 , further comprising updating the reference data each time the reference set of data samples is recognized.

4. The method of claim 1 , wherein:

each set of data sample values includes a vector defined by three data sample values x, y, z;

the reference data is a rotation matrix M; and

the movement data comprises a vertical magnitude along the z axis and a horizontal magnitude along the x, y plane, both derived from a rotated vector, the rotated vector equal to the rotation matrix M multiplied by the vector associated with the other non-reference data sample values x, y, z.

5. The method of claim 4 , further comprising:

transforming the movement data to the frequency domain (FD) to produce FD data;

computing one or more FD statistical metrics from the FD data; and

wherein the MTMA identifying is based at least in part upon the FD statistical metrics.

6. The method of claim 5 , wherein the MTMA is identified from a set of MTMAs and further comprising:

computing a score for each MTMA of the set; and

comparing the scores to identify the MTMA.

7. The system of claim 5 , wherein the MTMA is identified from a set of MTMAs and wherein the computer program code further comprises:

code to compute a score for each MTMA of the set; and

code to compare the scores to identify the MTMA.

8. The method of claim 1 , wherein the MTMA is identified from a set of MTMAs and further comprising:

computing a score for each MTMA of the set; and

comparing the scores to identify the MTMA.

9. The method of claim 1 , wherein the reference data is in the form of a rotation matrix that normalizes the sets of non-reference data sample values with respect to Earth gravity.

10. The method of claim 1 , wherein the movement data is in the time domain (TD) and wherein the computing comprises:

computing a magnitude of the movement data in each of the two dimensions of space;

computing one or more TD statistical metrics from the magnitudes; and

wherein the MTMA determining is based at least in part upon the TD statistical metrics.

11. The method of claim 10 , further comprising:

transforming the magnitudes from the TD to the frequency domain (FD) to produce FD data;

computing one or more FD statistical metrics from the FD data; and

wherein the MTMA determining is based at least in part the FD statistical metrics.

12. The system of claim 10 , wherein the computer program code further comprises:

code to transform the magnitudes from the TD to the frequency domain (FD) to produce FD data;

code to compute one or more FD statistical metrics from the FD data; and

wherein the MTMA determining is based at least in part the FD statistical metrics.

13. The method of claim 1 , wherein one or more of the steps of the method is implemented in the WCD, in a computer system that is remote to the WCD, or in a combination of both.

14. The system of claim 1 , wherein the MTMA is identified from a set of MTMAs and wherein the computer program code further comprises:

code to compute a score for each MTMA of the set; and

code to compare the scores to identify the MTMA.

15. The system of claim 1 , wherein the reference data is in the form of a rotation matrix that normalizes the sets of non-reference data sample values with respect to Earth gravity.

16. The system of claim 1 , wherein the system is implemented in the WCD, in a computer system that is remote to the WCD, or in a combination of both.

17. A method, comprising:

receiving first and second data from one or more sensors associated with a wireless communication device (WCD) transported by a mobile thing (MT), the first and second data indicative of movement of the WCD;

determining reference data that defines a reference framework from the first data;

normalizing the second data with the reference data so that the second data can be analyzed in the reference framework; and

identifying a mobile thing motion activity (MTMA) associated with the MT based upon the normalized second data.

18. The method of claim 17 , wherein the second data comprises a plurality of periodic samples.

19. The method of claim 17 , wherein the reference data is indicative of a relationship to Earth gravity.

20. The method of claim 17 , wherein the reference data is determined in the form of vector information indicative of a relation to Earth gravity by comparing the first data to a predefined numerical range.

21. The method of claim 20 , wherein the one or more sensors produce first, second, and third sample data along each of 3 axes in a three dimensional (3D) coordinate system and wherein the first data pertains to a value that equals one within a predefined range, the value computed by combining the first, second, and third sample data.

22. The method of claim 17 , wherein the second data is in the time domain (TD) and wherein the identifying comprises:

computing magnitudes of the second data in each of the two dimensions of the 2D space;

computing one or more TD statistical metrics from the magnitudes; and

wherein the MTMA identifying is based at least in part upon the TD statistical metrics.

23. The method of claim 22 , further comprising:

transforming the magnitudes from the TD to the frequency domain (FD) to produce FD data;

computing one or more FD statistical metrics from the FD data; and

wherein the MTMA identifying is based at least in part the FD statistical metrics.

24. The method of claim 23 , wherein the MTMA is identified from a known plurality of MTMAs and further comprising:

computing a score for each MTMA of the known plurality; and

comparing the scores to identify the MTMA.

25. The method of claim 17 , wherein one or more of the steps of the method is implemented in the WCD, in a computer system that is remote to the WCD, or in a combination of both.

26. The method of claim 17 , further comprising:

determining an MTMA based action to be initiated based upon the identified MTMA; and

initiating the MTMA based action.

27. A method for implementation in a wireless communication device (WCD) that is designed to detect a plurality of mobile thing motion activities (MTMAs) associated with a mobile thing (MT), comprising:

receiving a plurality of data sample values from one or more sensors of the WCD that is transported by the MT, the data sample values indicative of movement of the WCD;

computing reference data, the reference data defining a relationship between data sample values and a reference framework to enable comparison of data sample values;

calculating movement data based upon the reference data and the data sample values; and

determining an MTMA associated with the MT based upon the movement data.

28. The method of claim 27 , further comprising:

recognizing a particular set of data sample values as a reference for defining an orientation of the WCD in a coordinate system;

determining a rotation matrix based upon the particular set of reference data sample values; and

calculating the movement data based upon the rotation matrix and one or more sets of the data sample values that are not the particular reference set.

29. The method of claim 27 , wherein the data sample values are received from a plurality of the sensors.

30. The method of claim 29 , wherein the plurality of sensors include at least an accelerometer and a gyroscope.

31. The method of claim 30 , wherein the plurality of sensors further includes a global positioning system (GPS) receiver.

32. The method of claim 27 , wherein the MTMA is determined by:

computing a score for each MTMA of the plurality; and

comparing the scores to identify the MTMA.

33. The method of claim 27 , wherein the reference data is indicative of a relationship to Earth gravity.

34. The method of claim 27 , wherein the movement data is in the time domain (TD) and wherein the calculating comprises:

computing a magnitude of the movement data in each of at least two dimensions of space;

computing one or more TD statistical metrics from the magnitudes; and

wherein the MTMA determining is based at least in part upon the TD statistical metrics.

35. The method of claim 34 , further comprising:

transforming the magnitudes from the TD to the frequency domain (FD) to produce FD data;

computing one or more FD statistical metrics from the FD data; and

wherein the MTMA determining is based at least in part the FD statistical metrics.

36. A system, comprising:

one or more memories designed to store computer program code;

one or more processors designed to execute the computer program code; and

wherein the computer program code comprises:

code to receive a time value and at least three streams of data sample values from one or more sensors of a wireless communication device (WCD) that is transported by a mobile thing (MT), each data sample value indicative of movement of the WCD at a corresponding time value;

code to recognize a particular set of data sample values as a reference for defining an orientation of the WCD in a coordinate system;

code to compute reference data based upon the recognition of the particular set, the reference data defining a relationship between each set of subsequent non-reference data sample values and the particular reference set of data sample values in the coordinate system;

code to calculate movement data in the coordinate system of one or more other non-reference data sample values based upon the reference data; and

code to determine a mobile thing motion activity (MTMA) associated with the MT based upon the movement data.

37. The system of claim 36 , wherein the computer program code further comprises:

code to mathematically combine the data sample values of the particular reference set; and

code to recognize the particular reference set as the reference when a combined value has a magnitude that is indicative of a relationship to Earth gravity.

38. The system of claim 37 , wherein the computer program code further comprises code to update the reference data each time the reference set of data samples is recognized.

39. The system of claim 36 , wherein:

each set of data sample values includes a vector defined by three data sample values x, y, z;

the reference data is a rotation matrix M; and

the movement data comprises a vertical magnitude along the z axis and a horizontal magnitude along the x, y plane, both derived from a rotated vector, the rotated vector equal to the rotation matrix M multiplied by the vector associated with the other non-reference data sample values x, y, z.

40. The system of claim 39 , wherein the computer program code further comprises:

code to transform the movement data to the frequency domain (FD) to produce FD data;

code to compute one or more FD statistical metrics from the FD data; and

wherein the MTMA identifying is based at least in part upon the FD statistical metrics.

41. The system of claim 36 , wherein the movement data is in the time domain (TD) and wherein the code to compute comprises:

code to compute a magnitude of the movement data in each of the two dimensions of space;

code to compute one or more TD statistical metrics from the magnitudes; and

wherein the MTMA determining is based at least in part upon the TD statistical metrics.

42. A system, comprising:

one or more memories designed to store computer program code;

one or more processors designed to execute the computer program code; and

wherein the computer program code comprises:

code to receive first and second data from one or more sensors associated with a wireless communication device (WCD) transported by a mobile thing (MT), the first and second data indicative of movement of the WCD;

code to determine reference data that defines a reference framework from the first data;

code to normalize the second data with the reference data so that the second data can be analyzed in the reference framework; and

code to identify a mobile thing motion activity (MTMA) associated with the MT based upon the normalized second data.

43. The system of claim 42 , wherein the second data comprises a plurality of periodic samples.

44. The system of claim 42 , wherein the reference data is indicative of a relationship to Earth gravity.

45. The system of claim 42 , wherein the reference data is determined in the form of vector information indicative of a relation to Earth gravity by comparing the first data to a predefined numerical range.

46. The system of claim 45 , wherein the one or more sensors produce first, second, and third sample data along each of 3 axes in a three dimensional (3D) coordinate system and wherein the first data pertains to a value that equals one within a predefined range, the value computed by combining the first, second, and third sample data.

47. The system of claim 42 , wherein the second data is in the time domain (TD) and wherein the code to identify comprises:

code to compute magnitudes of the second data in each of the two dimensions of the 2D space;

code to compute one or more TD statistical metrics from the magnitudes; and

wherein the MTMA identifying is based at least in part upon the TD statistical metrics.

48. The system of claim 47 , wherein the computer program code further comprises:

code to transform the magnitudes from the TD to the frequency domain (FD) to produce FD data;

code to compute one or more FD statistical metrics from the FD data; and

wherein the MTMA identifying is based at least in part the FD statistical metrics.

49. The system of claim 48 , wherein the MTMA is identified from a known plurality of MTMAs and wherein the computer program code further comprises:

code to compute a score for each MTMA of the known plurality; and

code to compare the scores to identify the MTMA.

50. The system of claim 42 , wherein the system is implemented in the WCD, in a computer system that is remote to the WCD, or in a combination of both.

51. The system of claim 42 , wherein the computer program code further comprises:

code to determine an MTMA based action to be initiated based upon the identified MTMA; and

code to initiate the MTMA based action.

52. A system for implementation in a wireless communication device (WCD) that is designed to detect a plurality of mobile thing motion activities (MTMAs) associated with a mobile thing (MT), comprising:

one or more memories designed to store computer program code;

one or more processors designed to execute the computer program code; and

wherein the computer program code comprises:

code to receive a plurality of data sample values from one or more sensors of the WCD that is transported by the MT, the data sample values indicative of movement of the WCD;

code to compute reference data, the reference data defining a relationship between data sample values and a reference framework to enable comparison of data sample values;

code to calculate movement data based upon the reference data and the data sample values; and

code to determine an MTMA associated with the MT based upon the movement data.

53. The system of claim 52 , wherein the computer program code further comprises:

code to recognize a particular set of data sample values as a reference for defining an orientation of the WCD in a coordinate system;

code to determine a rotation matrix based upon the particular set of reference data sample values; and

code to calculate the movement data based upon the rotation matrix and one or more sets of the data sample values that are not the particular reference set.

54. The system of claim 52 , wherein the data sample values are received from a plurality of the sensors.

55. The system of claim 54 , wherein the plurality of sensors include at least an accelerometer and a gyroscope.

56. The system of claim 55 , wherein the plurality of sensors further includes a global positioning system (GPS) receiver.

57. The system of claim 52 , wherein the code to determine the MTMA comprises:

code to compute a score for each MTMA of the plurality; and

code to compare the scores to identify the MTMA.

58. The system of claim 52 , wherein the reference data is indicative of a relationship to Earth gravity.

59. The system of claim 52 , wherein the movement data is in the time domain (TD) and wherein the code to calculate comprises:

code to compute a magnitude of the movement data in each of at least two dimensions of space;

code to compute one or more TD statistical metrics from the magnitudes; and

wherein the MTMA determining is based at least in part upon the TD statistical metrics.

60. The system of claim 52 , wherein the computer program code further comprises:

code to transform the magnitudes from the TD to the frequency domain (FD) to produce FD data;

code to compute one or more FD statistical metrics from the FD data; and

wherein the MTMA determining is based at least in part the FD statistical metrics.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2024
From: IOT HUMAN MESSAGING, LLC
To: BIG WILL ENTERPRISES, INC.
Reel/Frame 068598/0562 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2020
From: IOT HUMAN MESSAGING, LLC
To: BIG WILL ENTERPRISES INC.
Reel/Frame 051551/0428 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 61694981 PREVIOUSLY RECORDED AT REEL: 039178 FRAME: 0241. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Aug 30, 2016
From: JONES, M. KELLY; HORSTEMEYER, SCOTT A.
To: IOT HUMAN MESSAGING LLC
Reel/Frame 039871/0646 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2016
From: JONES, M. KELLY; HORSTEMEYER, SCOTT A.
To: IOT HUMAN MESSAGING LLC
Reel/Frame 039178/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2015
From: KHOMENKO, MARIA
To: JONES, M. KELLY
Reel/Frame 035501/0080 →
Continuity (5)
Provisional Application 61694981 · Aug 30, 2012
Provisional Application 61695001 · Aug 30, 2012
Provisional Application 61695044 · Aug 30, 2012
Provisional Application 61843077 · Jul 5, 2013
Related Publication 20140065976A1 · Mar 6, 2014