IP Library Granted Patent US 12,638,292
Granted Patent B2
US 12,638,292 · App. 18/120,690 · Granted May 26, 2026

Systems and methods for stabilizing magnetic field of inertial measurement unit

Inventor: Michael J. Felice (Seattle, WA)
Assignee: Spotify AB
G01C21/183G01C21/1654
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,638,292
App. No.
18/120,690
Granted
May 26, 2026
Kind
B2
Abstract

A method for stabilizing a magnetic field of an inertial measurement unit (IMU), is provided that includes initializing accelerometer and gyroscope (AG) heading data for the IMU and initializing accelerometer, gyroscope and magnetometer (AGM) heading data for the IMU. Determining whether a tracking state exists and completing processing of the AG heading data and the AGM heading data if the tracking state does not exist. Calculating a magnetic field error if the tracking state exists.

Claims (36)

1 . A method, comprising:

retrieving accelerometer and gyroscope (AG) heading data for an inertial measurement unit (IMU) of a device;

retrieving accelerometer, gyroscope, and magnetometer (AGM) heading data for the IMU; and

processing the AG heading data and the AGM heading data to determine an overall heading of the device, including:

in accordance with a determination that the AG heading data indicates that the device is rotating below a threshold angular velocity, using the AGM heading data to correct drift in the AG heading data; and

in accordance with a determination that AG heading data indicates the device is not rotating below the threshold angular velocity, forgoing using the AGM data to correct the drift in the AG heading data.

2 . The method of claim 1 further comprising determining whether a tracking state exists using the AG heading data and the AGM heading data and calculating a magnetic field error if it is determined that the tracking state exists.

3 . The method of claim 2 further comprising completing processing of the AG heading data and the AGM heading data if the tracking state does not exist.

4 . The method of claim 2 further comprising calculating a drift output as a function of the magnetic field error.

5 . The method of claim 4 further comprising completing processing of the AG heading data and the AGM heading data if the drift output does not exist.

6 . The method of claim 2 further comprising calculating a magnetic field disruption if a drift output exists.

7 . The method of claim 6 further comprising correcting the drift output if the magnetic field disruption exists.

8 . The method of claim 6 further comprising correcting the AG heading data and the AGM heading data if the magnetic field disruption exists.

9 . The method of claim 6 further comprising determining if a recovery state exists if the magnetic field disruption does not exist.

10 . The method of claim 9 further comprising correcting the drift if the recovery state does not exist.

11 . A system for processing data, comprising:

a processor operating under algorithmic control, the processor configured to perform the steps of:

retrieving accelerometer and gyroscope (AG) heading data for an inertial measurement unit (IMU) of a device;

retrieving accelerometer, gyroscope, and magnetometer (AGM) heading data for the IMU; and

processing the AG heading data and the AGM heading data to determine an overall heading of the device, including:

in accordance with a determination that the AG heading data indicates that the device is rotating below a threshold angular velocity, using the AGM heading data to correct drift in the AG heading data; and

in accordance with a determination that AG heading data indicates the device is not rotating below the threshold angular velocity, forgoing using the AGM data to correct the drift in the AG heading data.

12 . The system of claim 11 wherein the processor is further configured to calculate the drift as a function of a magnetic field error.

13 . The system of claim 12 wherein the processor is further configured to complete processing of the AG heading data and the AGM heading data if a drift output does not exist.

14 . The system of claim 12 wherein the processor is further configured to calculate a magnetic field disruption if a drift output exists.

15 . The system of claim 14 wherein the processor is further configured to correct the drift if the magnetic field disruption exists.

16 . The system of claim 14 wherein the processor is further configured to correct the AG heading data and the AGM heading data if the magnetic field disruption exists.

17 . The system of claim 14 wherein the processor is further configured to determine if a recovery state exists if the magnetic field disruption does not exist.

18 . The system of claim 17 wherein the processor is further configured to correct the drift if the recovery state does not exist.

19 . A non-transitory readable storage medium storing instructions, which, when executed by a system that includes one or more processors, causes the system to perform a set of operations comprising:

retrieving accelerometer and gyroscope (AG) heading data for an inertial measurement unit (IMU) of a device;

retrieving accelerometer, gyroscope, and magnetometer (AGM) heading data for the IMU; and

processing the AG heading data and the AGM heading data to determine an overall heading of the device, including:

in accordance with a determination that the AG heading data indicates that the device is rotating below a threshold angular velocity, using the AGM heading data to correct drift in the AG heading data; and

in accordance with a determination that AG heading data indicates the device is not rotating below the threshold angular velocity, forgoing using the AGM data to correct the drift in the AG heading data.

20 . The system of claim 19 wherein the set of instructions further comprising calculating the drift as a function of a magnetic field error.

Assignments (4)
ORDER GRANTING RECEIVER’S MOTION TO APPROVE SALE OF IP ASSETS, BID PROCEDURES, AND SALE DOCUMENTS Recorded Oct 23, 2025
From: SUPERIOR COURT FOR THE STATE OF WASHINGTON IN AND FOR THE COUNTY OF KING
To: TURNINGPOINTE, LLC
Reel/Frame 073238/0447 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2025
From: TURNINGPOINTE, LLC
To: SPOTIFY AB
Reel/Frame 072663/0038 →
ORDER APPOINTING GENERAL RECEIVER Recorded Oct 22, 2025
From: SUPERIOR COURT FOR THE STATE OF WASHINGTON IN AND FOR THE COUNTY OF KING
To: TURNINGPOINTE, LLC
Reel/Frame 073170/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2023
From: FELICE, MICHAEL J.
To: IMMERSION NETWORKS, INC.
Reel/Frame 062976/0612 →
Continuity (3)
Continuation 17127307 · Dec 18, 2020
Provisional Application 62950459 · Dec 19, 2019
Related Publication 20230213342A1 · Jul 6, 2023
References Cited (14)
US 8239162B2 · Tanenhaus · 2012 [cited by applicant]
US 8275544B1 · Wells et al. · 2012 [cited by applicant]
US 10068316B1 · Holzer et al. · 2018 [cited by applicant]
US 10095942B2 · Mentese et al. · 2018 [cited by applicant]
US 10271770B2 · Pathak et al. · 2019 [cited by applicant]
US 10356395B2 · Holzer et al. · 2019 [cited by applicant]
US 10728527B2 · Holzer et al. · 2020 [cited by applicant]
US 11036228B2 · Koyama et al. · 2021 [cited by applicant]
US 20020021245A1 · Lin · 2002 [cited by examiner]
US 20110241656A1 · Piemonte · 2011 [cited by examiner]
US 20130018582A1 · Miller · 2013 [cited by examiner]
US 20130150076A1 · Kim · 2013 [cited by examiner]
US 20160286009A1 · Edge · 2016 [cited by examiner]
US 20200003357A1 · Su et al. · 2020 [cited by applicant]