Methods for improved heading estimation
First Claim
1. A method for obtaining a global rotation estimation, comprising:
- determining a path of a magnetic sensor and a gyro sensor in a device in motion in an environment based on magnetic data received from the magnetic sensor and gyro data received from the gyro sensor, the path comprising a plurality of path points;
segmenting the path such that path points are separated into a plurality of spatial grids;
determining magnetic headings from the magnetic data and gyro headings from the gyro data for the path points in each spatial grid among the plurality of spatial grids;
for each spatial grid, computing a grid value based on a function of the magnetic headings and the gyro headings at path points within each spatial grid;
determining an average of the grid values across the plurality of spatial grids; and
setting the global rotation estimation as a rotation value that minimizes the average of the grid values.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods for calibrating a body-worn magnetic sensor by spinning the magnetic sensor 360 degrees to capture magnetic data; if the spin failed to produce a circle contained in an x-y plane fit a sphere to the captured data; determining offsets based on the center of the sphere; and removing the offsets that are in the z-direction. Computing a magnetic heading reliability of a magnetic sensor by determining an orientation of the sensor at one location; transforming the orientation between two reference frames; measuring a first vector associated with the magnetic field of Earth at the location; processing the first vector to generate a virtual vector when a second location is detected; measuring a second vector associated with the magnetic field of Earth at the second location; and calculating the magnetic heading reliability at the second location based on a comparison of the virtual vector and the second vector.
8 Citations
18 Claims
-
1. A method for obtaining a global rotation estimation, comprising:
-
determining a path of a magnetic sensor and a gyro sensor in a device in motion in an environment based on magnetic data received from the magnetic sensor and gyro data received from the gyro sensor, the path comprising a plurality of path points; segmenting the path such that path points are separated into a plurality of spatial grids; determining magnetic headings from the magnetic data and gyro headings from the gyro data for the path points in each spatial grid among the plurality of spatial grids; for each spatial grid, computing a grid value based on a function of the magnetic headings and the gyro headings at path points within each spatial grid; determining an average of the grid values across the plurality of spatial grids; and setting the global rotation estimation as a rotation value that minimizes the average of the grid values. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for spatially weighting a path constraint, comprising:
-
receiving sensor data from a tracked computing device, the sensor data including magnetic data from a magnetic sensor and gyro data from a gyro sensor; determining a magnetic heading based on the magnetic data and a gyro heading based on the gyro data; determining a path of the tracked computing device, the path comprising a plurality of path points based on the magnetic heading and the gyro heading; segmenting the path such that path points are separated into a plurality of spatial grids; for each spatial grid among the plurality of spatial grids, computing a grid value based on a function of the magnetic headings and the gyro headings at path points within each spatial grid; determining an average grid value across the plurality of spatial grids; and setting the path constraint as a constraint value that minimizes the average grid value. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A computer readable storage medium comprising instructions that, when executed on a computing system of a tracked device having a magnetic sensor for a compass and a gyro sensor, cause the computing system to:
-
receive sensor data comprising magnetic data from the magnetic sensor and gyro data from the gyro sensor; determine a magnetic heading based on the compass data and a gyro heading based on the gyro data; determine a path of the tracked computing device, the path comprising a plurality of path points based on the magnetic heading and the gyro heading; segment the path such that path points are separated into a plurality of spatial grids; for each spatial grid among the plurality of spatial grids, compute a spatial grid heading based on a function of the magnetic headings and the gyro headings at path points within each spatial grid; determine an average grid value across the plurality of spatial grids; and set a path constraint as a constraint value that minimizes the average grid value. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computing system comprising:
-
a processor; a memory communicatively coupled to the processor, the memory bearing instructions that, when executed on the processor, cause the computing system to; receive sensor data from a tracked computing device, the sensor data including magnetic data from a magnetic sensor and gyro data from a gyro sensor; determine a magnetic heading based on the magnetic data and a gyro heading based on the gyro data; determine a path of the tracked computing device, the path comprising a plurality of path points based on the magnetic heading and the gyro heading; segment the path such that path points are separated into a plurality of spatial grids; for each spatial grid among the plurality of spatial grids, compute a grid value based on a function of the magnetic headings and the gyro headings at path points within each spatial grid; determine an average grid value across the plurality of spatial grids; and set a path constraint as a constraint value that minimizes the average grid value. - View Dependent Claims (16, 17, 18)
-
Specification