# US 11,441,906 B2 · Iterative estimation of non-holonomic constraints in an inertial navigation system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,441,906 B2
- Document ID: US11441906B2
- Status: Granted
- Kind: B2
- Application number: 16/924,104
- Filed: 2020-07-08
- Published: 2020-10-29
- Granted: 2022-09-13
- Earliest claimed: 2017-09-08
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Changlin Ma; Isaac T. Miller
- Web page: https://patentgrep.com/patent/US11441906B2

## CPC

- G01C 21/1654: {with electromagnetic compass}
- B60G 17/016: characterised by their responsiveness, when the vehicle is travelling, to specific motion, a specific condition, or driver input {(B60G17/017 takes precedence)}
- B60R 21/0133: {by integrating the amplitude of the input signal}
- G01C 21/1656: {with passive imaging devices, e.g. cameras}
- G01C 21/28: with correlation of data from several navigational instruments
- G01S 19/31: Acquisition or tracking of other signals for positioning
- G01S 19/393: {Trajectory determination or predictive tracking, e.g. Kalman filtering}
- G01S 19/50: whereby the position solution is constrained to lie upon a particular curve or surface, e.g. for locomotives on railway tracks
- B60G 2800/912: Attitude Control; levelling control
- B60R 2021/01327: {Angular velocity or angular acceleration}
- B60W 2050/0013: {Optimal controllers}
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- B60G: VEHICLE SUSPENSION ARRANGEMENTS (air-cushion vehicles B60V; {cycle suspensions B62K25/00})
- B60R: VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- B60W: CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT

## Abstract

A device implementing a system for estimating device location includes at least one processor configured to receive a first and second set of signals, each set corresponding to location data and being received based on a sampling interval. The at least one processor is configured to, for each sampling period defined by the sampling interval, obtain sensor data corresponding to device motion during the sampling period, determine an orientation of the device relative to that of the vehicle based on the sensor data, calculate a non-holonomic constraint based on the orientation of the device relative to that of the vehicle such that the non-holonomic constraint is iteratively updated, and estimate a device state based on the non-holonomic constraint.

## Claims

### Claim 1

A method, comprising:
receiving, at a sampling interval and by a device within or coupled to a vehicle in motion, a set of signals corresponding to location data; and
for at least one sampling period defined by the sampling interval,
obtaining first sensor data which corresponds to motion of the device during the at least one sampling period,
determining an orientation of the device relative to an orientation of the vehicle based on the first sensor data, and
estimating a state of the device based at least in part on the orientation of the device relative to the orientation of the vehicle.

### Claim 2 (depends on 1)

The method of claim 1, wherein the estimating is further based at least in part on a constraint on a portion of the first sensor data.

### Claim 3 (depends on 2)

The method of claim 2, wherein the portion of the first sensor data comprises sensor data corresponding to motion in a particular direction.

### Claim 4 (depends on 3)

The method of claim 3, wherein the particular direction is a sideslip direction of the vehicle.

### Claim 5 (depends on 4)

The method of claim 4, wherein the constraint comprises a constraint to limit or disregard the portion of the first sensor data corresponding to the motion in the sideslip direction of the vehicle.

### Claim 6 (depends on 4)

The method of claim 4, wherein the constraint comprises an assumption that a cross-track speed in the sideslip direction is zero.

### Claim 7 (depends on 3)

The method of claim 3, further comprising:
identifying a direction of travel relative to the orientation of the vehicle as a forward direction; and
determining the constraint, in part, by determining the particular direction relative to the forward direction.

### Claim 8 (depends on 7)

The method of claim 7, wherein determining the constraint further comprises:
calculating a covariance matrix based on the first sensor data;
calculating a singular value decomposition based on the covariance matrix; and
determining an estimate for the particular direction based on the calculated singular value decomposition.

### Claim 9 (depends on 2)

The method of claim 2, further comprising, iteratively updating, using a filter, the constraint as the orientation of the device relative to the orientation of the vehicle is determined for additional sampling periods defined by the sampling interval.

### Claim 10

A device, comprising:
a first sensor;
a second sensor; and
at least one processor configured to:
receive, with a sampling interval by the first sensor while the device is within or coupled to a vehicle in motion, a set of signals corresponding to location data; and
for at least one sampling period defined by the sampling interval,
obtain, by the second sensor, sensor data which corresponds to motion of the device during the at least one sampling period,
determine an orientation of the device relative to an orientation of the vehicle based on the sensor data, and
estimate a state of the device based at least in part on the orientation of the device relative to the orientation of the vehicle.

### Claim 11 (depends on 10)

The device of claim 10, wherein determining the orientation of the device relative to the orientation of the vehicle comprises:
determining, based on the sensor data, a first device vector corresponding to a first direction relative to the orientation of the device;
determining a first vehicle vector corresponding to the first direction relative to the orientation of the vehicle;
determining, based on the sensor data, a second device vector corresponding to a second direction relative to the orientation of the device;
determining a second vehicle vector corresponding to the second direction relative to the orientation of the vehicle; and
determining the orientation of the device relative to the orientation of the vehicle based on the first device vector, the first vehicle vector, the second device vector and the second vehicle vector.

### Claim 12 (depends on 11)

The device of claim 11, wherein the first direction is a direction of gravity, such that the first device vector corresponds to the direction of gravity relative to the orientation of the device, and the first vehicle vector corresponds to the direction of gravity relative to the orientation of the vehicle.

### Claim 13 (depends on 10)

The device of claim 10, wherein the estimate is further based at least in part on a constraint on a portion of the sensor data corresponding to motion of the device in a particular direction.

### Claim 14 (depends on 13)

The device of claim 13, wherein the particular direction is a sideslip direction of the vehicle.

### Claim 15 (depends on 14)

The device of claim 14, wherein the constraint comprises a constraint to limit or disregard the portion of the sensor data corresponding to the motion in the sideslip direction of the vehicle.

### Claim 16

A computer program product comprising code stored in a tangible computer-readable storage medium, the code comprising:
code to receive, at a sampling interval and by a device within or coupled to a vehicle in motion, a set of signals corresponding to location data; and
code to, for at least one sampling period defined by the sampling interval,
obtain first sensor data which corresponds to motion of the device during the at least one sampling period,
determine an orientation of the device relative to an orientation of the vehicle based on the first sensor data, and
estimate a state of the device based at least in part on the orientation of the device relative to the orientation of the vehicle.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the estimate is further based at least in part on a constraint on a portion of the first sensor data corresponding to motion of the vehicle in a sideslip direction of the vehicle.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the constraint comprises a constraint to limit or disregard the portion of the first sensor data corresponding to the motion in the sideslip direction of the vehicle.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein the constraint comprises an assumption that a cross-track speed in the sideslip direction is zero.

### Claim 20 (depends on 17)

The computer program product of claim 17, the code further comprising:
code to identify a direction of travel relative to the orientation of the vehicle as a forward direction; and
code to determine the constraint, in part, by determining a particular direction relative to the forward direction.
