Real-time automatic calibration of magnetic sensors
AssigneeYost Labs Inc.
InventorPaul Yost
Life of this patent
Estimating the term…
Abstract
A system, a method, and a computer program product are provided. At predetermined times, a processing element processes a new vector represented by a last received magnetic measurement from a magnetometer and indicating a direction and a magnitude of a sensed magnetic field. When the new vector satisfies multiple criteria, the new vector is added to a determined vector set. The processing element processes multiple magnetometer measurements using a Monte Carlo best fit determination and modal partitioning to produce new calibration parameters that define a calibration sphere. The new calibration parameters are applied and stored in a memory element when at least a predetermined number of vectors are consecutively added to the determined one of the multiple vector sets.
Claims17
A sensing system for continuously calibrating a magnetic field sensing device in a changing magnetic environment, comprising:
- a magnetometer configured to sense a magnitude and a direction of Earth's magnetic field and to provide a plurality of magnetic measurements along a plurality of magnetic sensing axes, each of the magnetic measurements represents a vector indicating a direction and a magnitude of a sensed magnetic field, wherein the magnetometer provides each respective magnetic measurement of the plurality of magnetic measurements at predetermined times;
- a memory element;
- and
- at least one processor coupled to the magnetometer and the memory element and operable to perform at each of the plurality of predetermined times:
- processing a new vector represented by a last received magnetic measurement, and
- determining to which one of a plurality of vector sets to add the new vector, the determining further comprises:
- determining whether an endpoint of the new vector is within a distance threshold of a surface of a current calibration sphere,
- determining that a new vector set of the plurality of vector sets, representing a possible new calibration, is the determined one of the plurality of vector sets when the endpoint of the new vector is not within the distance threshold, and
- determining that a current vector set of the plurality of vector sets, representing a current calibration, is the determined one of the plurality of vector sets when the endpoint of the new vector is within the distance threshold;
- adding the new vector to the determined one of the plurality of vector sets,
- processing a group of the plurality of magnetometer measurements provided over a period of time using a Monte Carlo best fit determination to produce new calibration parameters defining a new calibration sphere, and
- applying the new calibration parameters and storing the new calibration parameters in the memory element when at least a predetermined number of vectors are consecutively added to the determined one of the plurality of vector sets.
A method for continuously calibrating a magnetic field sensing device in a changing magnetic environment, the method comprising:
- performing at each of a plurality of predetermined times:
- processing, by at least one processor, a new vector represented by a last received magnetic measurement from a magnetometer, the new vector indicating a direction and a magnitude of a sensed magnetic field,
- determining, by the at least one processor, to which one of a plurality of vector sets to add the new vector, the determining further comprises:
- determining, by the at least one processor, whether an endpoint of the new vector is within a distance threshold of a surface of a current calibration sphere,
- determining, by the at least one processor, that a new vector set of the plurality of vector sets, representing a possible new calibration, is the determined one of the plurality of vector sets when the endpoint of the new vector is not within the distance threshold, and
- determining, by the at least one processor, that a current vector set of the plurality of vector sets, representing a current calibration, is the determined one of the plurality of vector sets when the endpoint of the new vector is within the distance threshold;
- adding, by the at least one processor, the new vector to the determined one of a plurality of vector sets,
- processing, by the at least one processor, a plurality of magnetometer measurements provided over a period of time using a Monte Carlo best fit determination to produce new calibration parameters, the new calibration parameters defining a new calibration sphere, and
- performing, when at least a predetermined number of vectors are consecutively added to the determined one of the plurality of vector sets:
- applying, by the at least one processor, the new calibration and storing the new calibration parameters in a memory element.
A computer program product comprising at least one non-transitory computer readable storage medium having computer readable program code embodied therewith for execution on at least one processor, the computer readable program code being configured to be executed by the at least one processing element to perform at each of a plurality of predetermined times:
- processing a new vector represented by a last received magnetic measurement from a magnetometer, the new vector indicating a direction and a magnitude of a sensed magnetic field;
- determining to which one of a plurality of vector sets to add the new vector, the determining further comprises:
- determining whether an endpoint of the new vector is within a distance threshold of a surface of a current calibration sphere,
- determining that a new vector set of the plurality of vector sets, representing a possible new calibration, is the determined one of the plurality of vector sets when the endpoint of the new vector is not within the distance threshold, and
- determining that a current vector set of the plurality of vector sets, representing a current calibration, is the determined one of the plurality of vector sets when the endpoint of the new vector is within the distance threshold;
- adding the new vector to the determined one of the plurality of vector sets;
- processing a plurality of magnetometer measurements provided over a period of time using a Monte Carlo best fit determination to produce new calibration parameters defining a new calibration sphere, and
- performing, when at least a predetermined number of vectors are consecutively added to the determined one of the plurality of vector sets:
- applying the new calibration parameters and storing the new calibration parameters in a memory element.
Dependencies are inferred from the claim text.