IP Library › Granted Patent US 12,607,755
Granted Patent B2
US 12,607,755 · App. 18/208,244 · Granted Apr 21, 2026

Device orientation initialization

Inventors: Isaac T. Miller (Half Moon Bay, CA); Mark G. Petovello (Los Gatos, CA)
Assignee: Apple Inc.
G01S19/393G01S19/43G01S19/49
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 12,607,755
App. No.
18/208,244
Granted
Apr 21, 2026
Kind
B2
Abstract

A device implementing a system for device orientation initialization includes at least one processor configured to determine that the device is within or coupled to a vehicle in motion. The at least one processor is configured to employ, in response to the determining, a first position estimation model to estimate a position of the device, and detect occurrence of a predefined condition with respect to employing the first position estimation model. The at least one processor is further configured to switch, in response to detecting occurrence of the predefined condition, from employing the first position estimation model to employing a second position estimation model to estimate the position of the device. The first and second position estimation model apply different respective error state metrics in estimating the position of the device.

Claims (38)

1 . A device, comprising:

at least one processor;

one or more sensors; and

a memory including instructions that, when executed by the at least one processor, cause the at least one processor to:

determine an acceleration of the device based on one or more sensor measurements performed by the device via the one or more sensors, the device being within or coupled to a vehicle in motion;

determine, when the acceleration meets a predefined threshold value, a direction of travel for the device based on a kinematics acceleration model which implements at least one motion-based constraint;

calculate, when the acceleration does not meet the predefined threshold value, the direction of travel for the device based on a primary direction of acceleration for the device and without using the at least one motion-based constraint; and

estimate a position of the device based on an output from a Kalman filter that receives an input corresponding to the direction of travel for the device that was determined based on the kinematics acceleration model which implements the at least one motion-based constraint, or based on the primary direction of acceleration for the device without using the at least one motion-based constraint.

2 . The device of claim 1 , wherein the acceleration corresponds to centrifugal motion of the device.

3 . The device of claim 1 , wherein determining the acceleration of the device is based on capturing the one or more sensor measurements within a predefined time period.

4 . The device of claim 1 , wherein the at least one motion-based constraint corresponds to a non-holonomic constraint for vehicle motion.

5 . The device of claim 1 , wherein estimating the position of the device is further based on Global Navigation Satellite System (GNSS) measurements.

6 . The device of claim 1 , wherein the input comprises a device orientation, the device orientation being based on the direction of travel for the device.

7 . A computer program product comprising code stored in a non-transitory computer-readable storage medium, the code comprising:

code to perform, by a device, via one or more sensors of the device, one or more sensor measurements, the device being within or coupled to a vehicle in motion;

code to determine an acceleration of the device based on the one or more sensor measurements;

code to determine, when the acceleration meets a predefined threshold value, a direction of travel for the device based on a kinematics acceleration model which implements at least one motion-based constraint;

code to calculate, when the acceleration does not meet the predefined threshold value, the direction of travel for the device based on a primary direction of acceleration for the device; and

code to estimate a position of the device based on an output from a Kalman filter that receives an input corresponding to the direction of travel for the device.

8 . The computer program product of claim 7 , wherein the acceleration corresponds to centrifugal motion of the device.

9 . The computer program product of claim 7 , wherein the code to determine the acceleration of the device is based on capturing the one or more sensor measurements within a predefined time period.

10 . The computer program product of claim 7 , wherein the at least one motion-based constraint corresponds to a non-holonomic constraint for vehicle motion.

11 . The computer program product of claim 7 , wherein the code to estimate the position of the device is further based on Global Navigation Satellite System (GNSS) measurements.

12 . The computer program product of claim 7 , wherein the input comprises a device orientation, the device orientation being based on the direction of travel for the device.

13 . A method comprising:

performing, by a device, via one or more sensors of the device, one or more sensor measurements, the device being within or coupled to a vehicle in motion;

determining an acceleration of the device based on the one or more sensor measurements;

in response to determining that the acceleration meets the predefined threshold value: determining a direction of travel for the device based on a kinematics acceleration model which implements at least one motion-based constraint;

estimating a position of the device based on an output from a Kalman filter that receives an input corresponding to the direction of travel for the device that was determined based on the kinematics acceleration model which implements the at least one motion-based constraint;

determining another acceleration of the device based on one or more other sensor measurements performed via the one or more sensors of the device;

determining that the other acceleration of the device does not meets the predefined threshold value; and

in response to determining that the other acceleration does not meet the predefined threshold value: determining another direction of travel for the device based on a primary direction of acceleration for the device without using the at least one motion-based constraint; and

estimating another position of the device based on another output from the Kalman filter that receives another input corresponding to the other direction of travel for the device that was determined based on the primary direction of acceleration for the device without using the at least one motion-based constraint.

14 . The method of claim 13 , wherein the acceleration corresponds to centrifugal motion of the device.

15 . The method of claim 13 , wherein determining the acceleration of the device is based on capturing the one or more sensor measurements within a predefined time period.

16 . The method of claim 13 , wherein the at least one motion-based constraint corresponds to a non-holonomic constraint for vehicle motion.

17 . The method of claim 13 , wherein estimating the position of the device is further based on Global Navigation Satellite System (GNSS) measurements.

18 . The method of claim 13 , wherein the input comprises a device orientation, the device orientation being based on the direction of travel for the device.

Continuity (3)
Division 16712890 · Dec 12, 2019
Provisional Application 62886900 · Aug 14, 2019
Related Publication 20230314624A1 · Oct 5, 2023
References Cited (7)
US 5058023A · Kozikaro · 1991 [cited by examiner]
US 6308134B1 · Croyle · 2001 [cited by examiner]
US 6856903B2 · Ishigami · 2005 [cited by examiner]
US 8972180B1 · Zhao · 2015 [cited by applicant]
US 11035673B2 · Faragher · 2021 [cited by applicant]
US 20040172173A1 · Goto · 2004 [cited by applicant]
US 20080071476A1 · Hoshizaki · 2008 [cited by examiner]