Extraction of walking direction from device orientation and reconstruction of device orientation during optimization of walking direction
First Claim
1. A method comprising:
- determining, by one or more processors of a computing device, a rotation between a client device coordinate frame defined with respect to a client device and a world coordinate frame defined with respect to a world;
determining, by the one or more processors, a rotation between an average gravity aligned (AGA) coordinate frame defined with respect to an average gravity measurement of the client device and the client device coordinate frame;
performing, by the one or more processors, step detection associated with the client device;
determining, by the one or more processors, a change in orientation associated with the client device from a first detected step to a second detected step, wherein computing the change in orientation includes;
determining a rotation between a horizontally projected AGA (HPAGA) coordinate frame that corresponds to the AGA coordinate frame when a vertically oriented Z-axis of the AGA coordinate frame is aligned with a vertically oriented Z-axis of the world coordinate frame and the AGA coordinate frame, wherein a horizontally oriented X-axis of the HPAGA coordinate frame represents an orientation associated with the device;
determining a rotation between the world coordinate frame and the HPAGA coordinate frame, wherein determining the rotation between the world coordinate frame and the HPAGA coordinate frame uses the rotation between the client device coordinate frame and the world coordinate frame, the rotation between the AGA coordinate frame and the client device coordinate frame, and the rotation between the HPAGA coordinate frame and the AGA coordinate frame; and
determining the change in orientation associated with the client device from the first detected step to the second detected step by using the rotation between the world coordinate frame and the HPAGA coordinate frame;
determining, by the one or more processors and using the computed change in orientation, pedestrian dead reckoning data of the client device over a time period; and
determining, by the one or more processors, an output location estimate of the client device using the pedestrian dead reckoning data.
2 Assignments
0 Petitions
Accused Products
Abstract
A method implemented by one or more processors may include determining a rotation between a client device frame and a world frame, determining a rotation between an average gravity aligned (AGA) frame of the client device and the client device frame, performing step detection of the client device, and determining a change in orientation from a first detected step to a second detected step. In one example, computing the change in orientation includes determining a rotation between a horizontally projected AGA (HPAGA) frame and the AGA frame, determining a rotation between the world frame and the HPAGA frame, and determining the change in orientation by using the rotation between the world frame and the HPAGA frame. The method may also include determining, using the computed change in orientation, pedestrian dead reckoning data of the client device over a time period, and determining an output location estimate of the client device using the pedestrian dead reckoning data.
25 Citations
20 Claims
-
1. A method comprising:
-
determining, by one or more processors of a computing device, a rotation between a client device coordinate frame defined with respect to a client device and a world coordinate frame defined with respect to a world; determining, by the one or more processors, a rotation between an average gravity aligned (AGA) coordinate frame defined with respect to an average gravity measurement of the client device and the client device coordinate frame; performing, by the one or more processors, step detection associated with the client device; determining, by the one or more processors, a change in orientation associated with the client device from a first detected step to a second detected step, wherein computing the change in orientation includes; determining a rotation between a horizontally projected AGA (HPAGA) coordinate frame that corresponds to the AGA coordinate frame when a vertically oriented Z-axis of the AGA coordinate frame is aligned with a vertically oriented Z-axis of the world coordinate frame and the AGA coordinate frame, wherein a horizontally oriented X-axis of the HPAGA coordinate frame represents an orientation associated with the device; determining a rotation between the world coordinate frame and the HPAGA coordinate frame, wherein determining the rotation between the world coordinate frame and the HPAGA coordinate frame uses the rotation between the client device coordinate frame and the world coordinate frame, the rotation between the AGA coordinate frame and the client device coordinate frame, and the rotation between the HPAGA coordinate frame and the AGA coordinate frame; and determining the change in orientation associated with the client device from the first detected step to the second detected step by using the rotation between the world coordinate frame and the HPAGA coordinate frame; determining, by the one or more processors and using the computed change in orientation, pedestrian dead reckoning data of the client device over a time period; and determining, by the one or more processors, an output location estimate of the client device using the pedestrian dead reckoning data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium having stored therein instructions, that when executed by one or more processors of a computing device, cause the computing device to perform functions comprising:
-
determining, by one or more processors of a computing device, a rotation between a client device coordinate frame defined with respect to a client device and a world coordinate frame defined with respect to a world; determining, by the one or more processors, a rotation between an average gravity aligned (AGA) coordinate frame defined with respect to an average gravity measurement of the client device and the client device coordinate frame; performing, by the one or more processors, step detection associated with the client device; determining, by the one or more processors, a change in orientation associated with the client device from a first detected step to a second detected step, wherein computing the change in orientation includes; determining a rotation between a horizontally projected AGA (HPAGA) coordinate frame that corresponds to the AGA coordinate frame when a vertically oriented Z-axis of the AGA coordinate frame is aligned with a vertically oriented Z-axis of the world coordinate frame and the AGA coordinate frame, wherein a horizontally oriented X-axis of the HPAGA coordinate frame represents an orientation associated with the device; determining a rotation between the world coordinate frame and the HPAGA coordinate frame, wherein determining the rotation between the world coordinate frame and the HPAGA coordinate frame uses the rotation between the client device coordinate frame and the world coordinate frame, the rotation between the AGA coordinate frame and the client device coordinate frame, and the rotation between the HPAGA coordinate frame and the AGA coordinate frame; and determining the change in orientation associated with the client device from the first detected step to the second detected step by using the rotation between the world coordinate frame and the HPAGA coordinate frame; determining, by the one or more processors and using the computed change in orientation, pedestrian dead reckoning data of the client device over a time period; and determining, by the one or more processors, an output location estimate of the client device using the pedestrian dead reckoning data. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
at least one processor; and a computer-readable medium, configured to store instructions, that when executed by the at least one processor, cause the system to perform functions comprising; determining, by one or more processors of a computing device, a rotation between a client device coordinate frame defined with respect to a client device and a world coordinate frame defined with respect to a world; determining, by the one or more processors, a rotation between an average gravity aligned (AGA) coordinate frame defined with respect to an average gravity measurement of the client device and the client device coordinate frame; performing, by the one or more processors, step detection associated with the client device; determining, by the one or more processors, a change in orientation associated with the client device from a first detected step to a second detected step, wherein computing the change in orientation includes; determining a rotation between a horizontally projected AGA (HPAGA) coordinate frame that corresponds to the AGA coordinate frame when a vertically oriented Z-axis of the AGA coordinate frame is aligned with a vertically oriented Z-axis of the world coordinate frame and the AGA coordinate frame, wherein a horizontally oriented X-axis of the HPAGA coordinate frame represents an orientation associated with the device; determining a rotation between the world coordinate frame and the HPAGA coordinate frame, wherein determining the rotation between the world coordinate frame and the HPAGA coordinate frame uses the rotation between the client device coordinate frame and the world coordinate frame, the rotation between the AGA coordinate frame and the client device coordinate frame, and the rotation between the HPAGA coordinate frame and the AGA coordinate frame; and determining the change in orientation associated with the client device from the first detected step to the second detected step by using the rotation between the world coordinate frame and the HPAGA coordinate frame; determining, by the one or more processors and using the computed change in orientation, pedestrian dead reckoning data of the client device over a time period; and determining, by the one or more processors, an output location estimate of the client device using the pedestrian dead reckoning data. - View Dependent Claims (18, 19, 20)
-
Specification