# US 11,994,530 B1 · System, method and apparatus of a motion sensing stack

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

- Number: US 11,994,530 B1
- Document ID: US11994530B1
- Status: Granted
- Kind: B1
- Application number: 16/172,818
- Filed: 2018-10-28
- Granted: 2024-05-28
- Earliest claimed: 2017-10-27
- Assignees: Mindmaze Group SA
- Applicants: Mindmaze Group SA
- Inventors: Tej Tadi; Shashi Bobba; Farzin Dadashi
- Web page: https://patentgrep.com/patent/US11994530B1

## CPC

- G01P 13/00: Indicating or recording presence, absence, or direction, of movement (electric switches H01H; counting moving objects G06M7/00)
- G01C 19/5712: the devices involving a micromechanical structure
- G01C 25/00: Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass (testing, calibrating or compensating compasses G01C17/38)
- G01P 15/0802: {Details}
- G01P 15/18: in two or more dimensions
- G01P 21/00: Testing or calibrating of apparatus or devices covered by the preceding groups
- G01R 33/0017: {Means for compensating offset magnetic fields or the magnetic flux to be measured; Means for generating calibration magnetic fields}
- G01R 33/0035: {Calibration of single magnetic sensors, e.g. integrated calibration}
- G01R 33/0206: {Three-component magnetometers}
- G01P: MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT (measuring or recording blood flow A61B5/02, A61B8/06; monitoring speed or deceleration of electrically-propelled vehicles B60L3/00; vehicle lighting systems adapted to indicate speed B60Q1/54; determining position or course in navigation, measuring ground distance in geodesy or surveying G01C; combined measuring devices for measuring two or more variables of movement G01C23/00; measuring velocity of sound G01H; measuring velocity of light G01J7/00; measuring direction or velocity of solid objects by reception or emission of radiowaves or other waves and based on propagation effects, e.g. Doppler effect, propagation time, direction of propagation, G01S; measuring speed of nuclear radiation G01T; measuring acceleration of gravity G01V; {measuring or recording the speed of trains B61L23/00; speed indicators incorporated in motor vehicles B60K35/00; measuring frequency or phase G01R; traffic control G08G})
- 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)
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)

## Abstract

Embodiments of the present disclosure are directed to various systems, methods and apparatuses of a motion sensing stack, comprising a plurality of magnetometers. Preferably at least four magnetometers are included and at least one magnetometer is out of the plane of at least three other magnetometers. Preferably, the stack includes an 18D IMU (inertial measurement unit). Preferably, the 18D IMU features a 3D accelerometer, a 3D gyroscope and at least four 3D magnetometers. Alternatively, optionally a 9D IMU is provided, comprising a 3D accelerometer, a 3D gyroscope and one 3D magnetometer. The IMU may optionally be MEMS (microelectromechanical system) based.

## Claims

### Claim 1

A system comprising a motion sensing stack, said motion sensing stack comprising at least four magnetometers and an IMU (inertial measurement unit), the IMU comprising an accelerometer and a gyroscope; wherein at least one magnetometer is in a different plane from at least three other magnetometers; wherein the system is implemented with a plurality of dies, a first die comprising three magnetometers, a second die comprising a processor, and a third die comprising a magnetometer, the accelerometer and gyroscope, and a package, wherein said package contains said dies ordered in a plurality of stacked layers;
wherein said at least four magnetometers are calibrated according to a calibration process, said calibration process comprising: moving each magnetometer according to a defined movement; receiving magnetometer data during said defined movement; comparing magnetometer data for a plurality of magnetometers; and calibrating a frame for said plurality of magnetometers according to said comparing;
wherein said comparing magnetometer data for said plurality of magnetometers comprises determining a point cloud distribution for each magnetometer; calculating Eigen vectors for principal directions of said point cloud distribution; and comparing said Eigen vectors; wherein said calibrating comprises applying a rotation to said Eigen vectors; wherein said plurality of magnetometers are further calibrated according to data from said gyroscope and said accelerometer;
and further comprising a processor for executing a plurality of instructions, comprising: determining a differential gradient between said at least one magnetometer in a different plane and said at least three other magnetometers; calculating an azimuth according to said differential gradient; and fusing said azimuth, an orientation calculation from said gyroscope, and a tilt calculation from said accelerometer to determine a position to further calibrate said plurality of magnetometers.

### Claim 2 (depends on 1)

The system of claim 1, wherein each magnetometer is a 3D magnetometer.

### Claim 3 (depends on 1)

The system of claim 1, wherein said accelerometer is a 3D accelerometer.

### Claim 4 (depends on 1)

The system of claim 1, wherein said gyroscope is a 3D gyroscope.

### Claim 5 (depends on 1)

The system of claim 1, wherein at least one of said accelerometer and gyroscope are implemented as a MEMS (microelectromechanical system) with said IMU.

### Claim 6 (depends on 1)

The system of claim 1, further comprising a processor for executing a plurality of instructions, comprising:
determining a differential gradient between said at least one magnetometer in a different plane and said at least three other magnetometers; calculating an azimuth according to said differential gradient; and fusing said azimuth, an orientation calculation from said gyroscope, and a tilt calculation from said accelerometer to determine a position.

### Claim 7 (depends on 6)

The system of claim 6, wherein said azimuth is an azimuth estimation from said magnetometers.

### Claim 8 (depends on 7)

The system of claim 7, wherein the fusing is implemented using an optimal estimator comprising a Kalman filter.

### Claim 9 (depends on 1)

The system of claim 1, wherein said defined movement comprises rotating each magnetometer through a predetermined pattern.

### Claim 10 (depends on 9)

The system of claim 9, further comprising a robotic arm for rotating each magnetometer through said predetermined pattern.

### Claim 11 (depends on 1)

The system of claim 1, wherein said azimuth is an azimuth estimation from said magnetometers.

### Claim 12 (depends on 11)

The system of claim 11, wherein the fusing is implemented using an optimal estimator comprising a Kalman filter.

### Claim 13

A system comprising a motion sensing stack, said motion sensing stack comprising at least four magnetometers and an IMU (inertial measurement unit), the IMU comprising an accelerometer and a gyroscope; wherein the system is implemented with a plurality of dies, a first die comprising three magnetometers configured in a first MEMS (microelectromechanical system), a second die comprising a processor, and a third die comprising a second MEMS, comprising an IMU comprising a magnetometer, the accelerometer and gyroscope, and a package, wherein said package contains said dies in a plurality of stacked layers;
wherein said at least four magnetometers are calibrated according to a calibration process, said calibration process comprising: moving each magnetometer according to a defined movement; receiving magnetometer data during said defined movement; comparing magnetometer data for a plurality of magnetometers; and calibrating a frame for said plurality of magnetometers according to said comparing;
wherein said comparing magnetometer data for said plurality of magnetometers comprises determining a point cloud distribution for each magnetometer; calculating Eigen vectors for principal directions of said point cloud distribution; and comparing said Eigen vectors; wherein said calibrating comprises applying a rotation to said Eigen vectors; wherein said plurality of magnetometers are further calibrated according to data from said gyroscope and said accelerometer; and
further comprising a processor for executing a plurality of instructions, comprising: determining a differential gradient between an out-of-plane magnetometer and at least three other magnetometers; calculating an azimuth according to said differential gradient; and fusing said azimuth, an orientation calculation from said gyroscope, and a tilt calculation from said accelerometer to determine a position to further calibrate said plurality of magnetometers.

### Claim 14 (depends on 13)

The system of claim 13, further comprising a processor for executing a plurality of instructions, comprising:
determining a differential gradient between said out-of-plane magnetometer and said at least three other magnetometers;
calculating an azimuth according to said differential gradient;
and fusing said azimuth, an orientation calculation from said gyroscope, and a tilt calculation from said accelerometer to determine a position.

### Claim 15 (depends on 14)

The system of claim 14, wherein said azimuth is an azimuth estimation from said magnetometers.

### Claim 16 (depends on 15)

The system of claim 15, wherein the fusing is implemented using an optimal estimator comprising a Kalman filter.

### Claim 17 (depends on 13)

The system of claim 13, wherein said defined movement comprises rotating each magnetometer through a predetermined pattern.

### Claim 18 (depends on 17)

The system of claim 17, further comprising a robotic arm for rotating each magnetometer through said predetermined pattern.

### Claim 19 (depends on 13)

The system of claim 13, wherein said azimuth is an azimuth estimation from said magnetometers.

### Claim 20 (depends on 19)

The system of claim 19, wherein the fusing is implemented using an optimal estimator comprising a Kalman filter.
