Magnetic position sensor system, device, and method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MELEXIS ELECTRONIC TECH CO LTD
- Filing Date
- 2023-07-08
- Publication Date
- 2026-06-05
AI Technical Summary
Existing magnetic sensor systems face challenges in accurately determining the position of a movable sensor device relative to a magnetic source with one, two, or three degrees of freedom while being robust to external disturbances, temperature variations, and mounting errors, often requiring complex and resource-intensive neural networks.
A method using a simple recurrent neural network with a limited number of trainable parameters (up to 300 per degree of freedom) processes magnetic sensor signals to determine the position, incorporating temperature corrections and external disturbance handling, without needing orthogonal sensor arrangements.
The method achieves high positional accuracy with low sensitivity to external disturbances and temperature variations, using a lightweight and efficient neural network architecture, suitable for real-time applications in anti-counterfeiting, automotive, and robotic systems.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to the field of magnetic sensor systems, devices, and methods, and more specifically, to a position sensor system in which a sensor device is movable relative to a magnetic source or vice versa.
Background Art
[0002] Magnetic sensors, such as current sensors, proximity sensors, position sensors, etc., are known in the art. These are based on measuring magnetic field characteristics at one or more sensor locations. Depending on the application, the measured magnetic field characteristics can be used to infer another quantity, such as current intensity, so-called target proximity, relative position of the sensor device with respect to a magnet, etc.
[0003] There are many variations of magnetic sensor devices, systems, and methods that meet one or more of the following requirements: using a simple or inexpensive magnetic structure, using a simple or inexpensive sensor device, being able to measure over a relatively large range, being able to measure very accurately, requiring only simple arithmetic, being able to measure quickly, being very robust to positioning errors, being very robust to external disturbance fields, providing redundancy, being able to detect errors, being able to detect and correct errors, having a good signal-to-noise ratio (SNR), etc. In many cases, two or more of these requirements are mutually conflicting, so a trade-off is necessary.
[0004] Many configurations and related algorithms for determining position based on signals obtained from magnetic sensors are known in the art.
[0005] Artificial neural networks are known, and there are many types of artificial neural networks. They are typically used to solve complex problems for which there are no simple mathematical formulas, for example, for image recognition, face recognition, voice recognition, handwriting recognition, computer translation, etc.
[0006] There is always room for improvement or alternatives.
Prior Art Documents
Patent Documents
[0007]
Patent Document 1
Patent Document 2
Patent Document 3
Patent Document 4
Patent Document 5
Summary of the Invention
Problems to be Solved by the Invention
[0008] An object of an embodiment of the present invention is to provide a method for determining the position of a sensor device movable relative to a magnetic source (e.g., a permanent magnet) or vice versa. The movement can have up to 1, or up to 2, or up to 3 degrees of freedom. The movement can be, for example, a pure translation (i.e., without rotation) along a straight path or along a predefined curved path (1 degree of freedom), or a pure translation in a plane (2 degrees of freedom), or a pure translation in three dimensions, or a 1D rotation about a stationary axis (typically achievable by a handle or lever), or a 2D rotation about a stationary position (typically achievable by a joystick).
[0009] An object of embodiments of the present invention is also to provide a magnetic positioning system comprising a magnetic source (e.g., a permanent magnet) and a sensor device movable relative to the magnetic source or vice versa with one or two or three degrees of freedom, the system being configured to determine (or estimate) the position of the sensor device relative to the magnetic source.
[0010] An object of embodiments of the present invention is also to provide a position sensor device for use in such a position sensor system when the proposed method is executed inside the position sensor device itself.
[0011] An object of embodiments of the present invention is also to provide such a system and method wherein the magnetic source is a relatively small permanent magnet, e.g., a magnet having an outer dimension (e.g., length or diameter) of up to 10 mm, or up to 8 mm, or up to 5 mm.
[0012] An object of embodiments of the present invention is also to provide such a system and method capable of determining the relative position with good accuracy in one or two or three directions with an average squared error (MSE) smaller than ±100 microns, or smaller than ±50 microns, or smaller than ±20 microns for a measurement range of, e.g., -2.5 mm to +2.5 mm, or an absolute error or average squared error smaller than 1% of the measurement range, or an absolute error or average squared error smaller than 1% of the maximum outer dimension (e.g., maximum length, width, height) of the magnet.
[0013] An object of embodiments of the present invention is to provide a relatively simple and lightweight system.
[0014] An object of an embodiment of the present invention is to provide such a system and method that is less sensitive to external disturbance fields and / or less sensitive to temperature variations and / or less sensitive to demagnetization of magnets and / or less sensitive to mounting errors (e.g., lateral offset and / or height offset in the case of 1D movement, e.g., height offset in the case of 2D movement), preferably two or three or all of these characteristics.
[0015] An object of an embodiment of the present invention is to provide such a magnetic sensor system that uses only a single type of magnetic sensor, e.g., only vertical Hall elements or only horizontal Hall elements.
[0016] An object of a specific embodiment of the present invention is to provide such a magnetic sensor system having only four or five to nine magnetic sensor elements, wherein the sensor device is movable with one degree of freedom relative to or vice versa with respect to a magnetic source.
[0017] An object of a specific embodiment of the present invention is to provide such a magnetic sensor system having only four or five to nine magnetic sensor elements, wherein the sensor device is movable with two degrees of freedom relative to or vice versa with respect to a magnetic source.
[0018] An object of a specific embodiment of the present invention is to provide such a magnetic sensor system having only four or five to sixteen magnetic sensor elements, wherein the sensor device is movable with three degrees of freedom relative to or vice versa with respect to a magnetic source.
[0019] An object of an embodiment of the present invention is to provide such a method and such a system for accurate positioning in anti-counterfeiting applications, automotive applications, industrial applications, and / or robotic applications.
Means for Solving the Problems
[0020] These and other objects are achieved by embodiments of the present invention.
[0021] According to a first aspect, the present invention is a method for determining the position (e.g., x, or e.g., x, y, or e.g., φ, ψ) of a sensor device that is movable relative to a magnetic source with 1 or 2 or 3 degrees of freedom, or with only 1 or 2 or 3 degrees of freedom, the sensor device comprising a semiconductor substrate having a plurality of at least two magnetic sensors placed at at least two different locations, the method comprising: a) obtaining a plurality of sensor signals from the plurality of magnetic sensors; and b) determining (or estimating) the position of the sensor device relative to the magnetic source based on the plurality of magnetic sensor signals and / or signals derived therefrom (e.g., pairwise difference signals, gradient signals, ratios of pairwise difference signals, etc.), step b) comprising determining the position using (e.g., a single) artificial neural network, the artificial neural network being a recurrent neural network (RNN) having a predefined number (N) of trainable (learning) parameters that are trained to determine the position, the number of trainable parameters being at most 300 per degree of freedom, and providing a method.
[0022] An artificial neural network typically includes an input layer, one or more hidden layers, and an output layer, and is trained (learned) to minimize, for example, the mean squared error (MSE) or the absolute error of the difference between the actual (or ideal) position and the estimated (or predicted) position over a training (learning) dataset so as to minimize a "cost function".
[0023] A main advantage of the present invention is that the sensor element does not need to be arranged relative to the magnet in such a way as to provide orthogonal signals.
[0024] The sensor device may be movable with only 1 degree of freedom (e.g., pure translation along a straight line or a curve, but without rotation), or may be movable with only 2 degrees of freedom (e.g., pure translation in a plane, but without rotation), or may be movable with 3 degrees of freedom (e.g., pure translation in three directions, but without rotation).
[0025] The positional accuracy obtained by this method is very high, even when considering one or more of the following: low or reduced sensitivity to external disturbance fields (also known as "floating magnetic fields"), low or reduced sensitivity to mounting tolerances (e.g., air gap, lateral offset), and low or reduced sensitivity to temperature variations. This is achieved using a relatively small total number of parameters (e.g., less than 300 parameters per degree of freedom, or less than 250 trainable parameters per degree of freedom, or less than 200 trainable parameters per degree of freedom, or less than 150 trainable parameters per degree of freedom, or less than 100 trainable parameters per degree of freedom, or for a system with exactly 3 degrees of freedom, a maximum of 900, or 800, or 700, or 600, or 500, or 400, or 300, or 250 trainable parameters, or for a system with exactly 2 degrees of freedom, a maximum of 600, or 500, or 400, or 300, or 200, or 150 trainable parameters, or for a system with exactly 1 degree of freedom, or a maximum of 300, or 250, or 200, or 175, or 150, or 125, or 100, or 75 trainable parameters), and using a very simple neural network architecture (e.g., only one, or only two, or only three, or only four GRU units). This is extremely surprising, to the point of being truly astonishing.
[0026] Even more surprisingly, it was the fact that a recurrent neural network (RNN) provides very accurate results even when a sensor device follows any path at any speed without being explicitly trained. This offers a great advantage in that the neural network does not need to be trained with various specific speeds and various specific movement paths or trajectories or profiles. However, when the network is trained with relatively simple movement trajectories (or paths or profiles), such as movement at a constant speed, excellent results can also be obtained. In particular, it has been found that the positioning (or estimation) remains very good even when the sensor device is actually moving (or moves) at a speed lower than or higher than the speed at which the network was trained.
[0027] Preferably, the size of the semiconductor substrate is at most 3.0 mm × 3.0 mm, or at most 2.5 mm × 2.5 mm, or at most 2.0 mm × 2.0 mm, or at most 1.5 mm × 1.5 mm, or at most 1.0 mm × 1.0 mm.
[0028] Preferably, the area of the semiconductor substrate is a value smaller than 9.0 mm2, or smaller than 7.0 mm2, or smaller than 4.0 mm2, or smaller than 3.0 mm2, or smaller than 2.5 mm2, or smaller than 2.0 mm2, or smaller than 1.5 mm2, or smaller than 1.0 mm2.
[0029] Preferably, the maximum distance between the two farthest sensor elements is in the range of 1.0 to 4.5 mm, or in the range of 1.5 to 3.0 mm, or in the range of 1.5 mm to 2.5 mm, or in the range of 1.0 mm to 2.0 mm.
[0030] In one embodiment, the sensor device is movable relative to the magnetic source with only 1 degree of freedom, and the artificial neural network (ANN) is, for example, a "simple recurrent network" (SRN) or "simple recurrent neural network" (SRNN) having up to 300 trainable parameters, or up to 250, or up to 200, or up to 150, or up to 100, or up to 50 trainable parameters, as shown in FIG. 29.
[0031] In one embodiment, the sensor device is movable relative to the magnetic source with only 2 degrees of freedom, and the artificial neural network (ANN) is, for example, a "simple recurrent network" (SRN) or "simple recurrent neural network" (SRNN) having up to 600 trainable parameters, or up to 500, or up to 400, or up to 300, or up to 250, or up to 200, or up to 150, or up to 100, or up to 50 trainable parameters, as shown in FIG. 31.
[0032] In one embodiment, the sensor device is movable relative to the magnetic source with only 3 degrees of freedom, and the artificial neural network (ANN) is a "simple recurrent network" (SRN) or "simple recurrent neural network" (SRNN) having up to 900 trainable parameters, or up to 750, or up to 600, or up to 450, or up to 300, or up to 250, or up to 200, or up to 150, or up to 100 trainable parameters.
[0033] The magnetic sensor signals can be normalized to a predefined range (e.g., -1.0 to +1.0) by dividing the measured values by predefined constants stored, for example, in the non-volatile memory (e.g., flash) of the sensor device before they are input into the neural network. The predefined constants may be a single value applicable to all sensors or specific values for each sensor location.
[0034] In one embodiment, the magnetic sensor signal is normalized by calculating the maximum magnitude of the magnetic sensor signal and dividing each of the magnetic sensor signals by the absolute value of this magnitude.
[0035] In one embodiment, the recurrent network comprises at least one GRU unit, or at least one simple RNN unit, or at least one LSTM unit.
[0036] In one embodiment, the artificial neural network (ANN) comprises at most 12 GRU units, for example, only one GRU unit, or at most two GRU units, or at most three GRU units, or at most four GRU units, or at most five GRU units, or at most six GRU units, or consists of them, and is preferably organized into at most three, or at most two, or at most one hidden layer.
[0037] In one embodiment, the artificial neural network (ANN) comprises at most 12 simple RNN units, for example, only one simple RNN unit, or at most two simple RNN units, or at most three simple RNN units, or at most four simple RNN units, or at most five simple RNN units, or at most six simple RNN units, or consists of them, and is preferably organized into at most three, or at most two, or at most one hidden layer.
[0038] In one embodiment, the artificial neural network (ANN) comprises at most 12 LSTM units, for example, only one LSTM unit, or at most two LSTM units, or at most three LSTM units, or at most four LSTM units, or at most five LSTM units, or at most six LSTM units, or consists of them, and is preferably organized into at most three, or at most two, or at most one hidden layer.
[0039] In some embodiments of the present invention, the sensor device can move with respect to the magnetic source or vice versa with only one or two degrees of freedom.
[0040] In some embodiments of the present invention, the sensor device can move relative to a magnetic source or vice versa with more than two degrees of freedom, for example, with three degrees of freedom.
[0041] In one embodiment, the mean squared error (MSE) of the position determined by the artificial neural network is less than 2% or less than 1.5% or less than 1% of a predefined measurement range.
[0042] In one embodiment, the recurrent neural network has only one hidden layer.
[0043] In one embodiment, the recurrent neural network has only one hidden layer with a maximum of four GRU units or only one hidden layer with a maximum of four SRNN units or only one hidden layer with a maximum of LSTM units.
[0044] In one embodiment, the sensor device is movable along a straight line relative to a magnetic source or vice versa, and the movement is a pure translation (one degree of freedom). The determined position can be specified by a single coordinate, for example, x. The measurement range can extend, for example, over a distance of at least ±2.5 mm, or at least ±5.0 mm, or at least ±7.5 mm, or at least ±10 mm, or at least ±15 mm, or at least ±20 mm, or at least ±25 mm.
[0045] In one embodiment, the sensor device is movable along a curve relative to a magnetic source or vice versa, and the movement is a pure translation (one degree of freedom).
[0046] In one embodiment, the sensor device is movable along a curve relative to a magnetic source or vice versa, and the movement is a combination of translation and rotation, but the rotation is linked to the translation (one degree of freedom).
[0047] In one embodiment, the sensor device is movable in a plane, without rotation (2 degrees of freedom), relative to a magnetic source or vice versa. The position to be determined can be specified by two orthogonal coordinates, for example, x and y. The measurement range can extend, for example, in both directions (e.g., X and Y) to a distance of at least ±2.5 mm, or at least ±5.0 mm, or at least ±7.5 mm, or at least ±10 mm, or at least ±15 mm, or at least ±20 mm, or at least ±25 mm.
[0048] In one embodiment, the sensor device is movable relative to a magnetic source or vice versa with rotation, but the rotation depends on the position (2 degrees of freedom) on the surface.
[0049] In one embodiment, the magnetic source is movable relative to the sensor device or vice versa to rotate about a predefined axis without translation (e.g., a magnet attached to the axis of a rotary button), and the position to be determined can be specified by a single angle.
[0050] In one embodiment, the magnetic source is movable relative to the sensor device or vice versa to rotate about a predefined axis with translation, but the translation depends on the angular position (e.g., a magnet attached with a non-zero offset from the axis of a rotary button), 1 degree of freedom.
[0051] In one embodiment, the magnetic source is attached to a joystick handle that can rotate independently over two angles (e.g., backward / forward and left / right). The magnet can perform translation, but this translation depends on two angular values (2 degrees of freedom). The position to be determined can be specified by two angles. Examples are shown in FIGS. 25 and 26.
[0052] In one embodiment, the number of degrees of freedom is at most 3, and the total number of trainable parameters of the artificial neural network is at most 900, or at most 800, or at most 700, or at most 600, or at most 500, or at most 400, or at most 300, or at most 250, or at most 200, or at most 150, or at most 100.
[0053] In one embodiment, the number of degrees of freedom is at most 2, and the total number of trainable parameters of the artificial neural network is at most 600, or at most 500, or at most 400, or at most 300, or at most 250, or at most 200, or at most 150, or at most 100.
[0054] In one embodiment, the number of degrees of freedom is at most 1, and the total number of trainable parameters of the artificial neural network is at most 300, or at most 250, or at most 200, or at most 150, or at most 100.
[0055] In one embodiment, the magnetic source is a permanent magnet.
[0056] In one embodiment, the sensor device is configured to perform only a translation with respect to the magnetic source.
[0057] In one embodiment, the sensor device is configured to perform a combined translation and rotation with respect to the magnetic source, but the rotation is dependent on the translation.
[0058] In one embodiment, the magnetic source is configured to perform only a translation with respect to the sensor device.
[0059] In one embodiment, the magnetic source is configured to perform a combined translation and rotation with respect to the sensor device, but the rotation is dependent on the translation.
[0060] In one embodiment, the magnetic sensor is a Hall sensor, for example, a horizontal Hall sensor and / or a vertical Hall sensor.
[0061] In one embodiment, the recurrent neural network is a stateful recurrent network.
[0062] In one embodiment, the semiconductor substrate comprises at least three or only three magnetic sensors placed at at least three different locations.
[0063] In one embodiment, the semiconductor substrate comprises at least four or only four magnetic sensors (e.g., H1, H2, H3, H4) placed at at least four different locations.
[0064] In one embodiment, the semiconductor substrate comprises a two-dimensional array or two-dimensional arrangement of magnetic sensors (e.g., a 3×3 array, thus nine sensor elements).
[0065] The at least three magnetic sensors may or may not be collinear.
[0066] The at least four magnetic sensors may or may not be collinear.
[0067] The simulation shows the accuracy of a system having a bar magnet (having a length of about 5 mm), the sensor device can move over a distance of about 5 mm, for example from -2.500 mm to +2.500 mm, and the sensor device has a semiconductor substrate of 1 to 4 mm2 with the following. · Only one horizontal Hall sensor results in a GRU1 ("Gated Recurrent Unit") having an MSE ("Mean Squared Error") of less than 0.005 mm and only about 10 to 20 parameters, for example only about 13 parameters; · Only two horizontal Hall sensors result in an MSE of less than 0.005 mm (e.g., equal to about 0.002 mm) and require a GRU1 having only about 20 to 25 parameters; · Only three horizontal Hall sensors result in an MSE of less than 0.005 mm (e.g., equal to about 0.0016 mm) and require a GRU1 having only about 20 to 25 parameters; · Only four horizontal Hall sensors provide an MSE of less than 0.005 mm (e.g., equal to about 0.0011 mm) and require GRU1 with only about 20 to 25 parameters. Considering only the basic function of "determining the position", it can be concluded that these embodiments yield similar results, but may act differently under non-ideal situations, such as in the presence of an external disturbance field.
[0068] Using only horizontal Hall elements without IMC (Integrated Magnetic Flux Concentrator) is an advantage, especially because the manufacturing is inexpensive (no steps for providing IMC are required).
[0069] In one embodiment, the semiconductor substrate includes at least two 2D magnetic pixels, and each 2D magnetic pixel can measure a first magnetic field component Bx oriented in the X direction parallel to the semiconductor substrate and a second magnetic field component Bz oriented in the Z direction perpendicular to the semiconductor substrate. At least two 2D magnetic pixels are located at two different locations and are separated, for example, in the X direction (i.e., the direction of relative movement), or in the Y direction (i.e., the direction perpendicular to the movement), or in both the X and Y directions.
[0070] In one embodiment, the semiconductor substrate comprises only or comprises (i.e., horizontal Hall elements without IMC) horizontal Hall elements configured to measure a magnetic field component perpendicular to the substrate. Signals obtained from these horizontal elements can be directly input into a neural network. Preferably, the sensitivities of the horizontal elements match each other in a known manner, for example, as described in Patent Document 1 or as described in Patent Document 2 (both incorporated herein by reference or in any other suitable manner). Alternatively or additionally, if the sensor device has at least three horizontal Hall elements, the pairwise difference ΔBz can be input into the neural network. Alternatively or additionally, if the sensor device has three horizontal Hall elements H1, H2, H3 that provide signals Bz1, Bz2, and Bz3, respectively, the average Bz_avg of these signals can be determined, and the three pairwise differences (Bz1 - Bz_avg), (Bz2 - Bz_avg), (Bz3 - Bz_avg) can be input into the neural network.
[0071] In one embodiment, the semiconductor substrate comprises at least one 2D magnetic pixel, and each 2D magnetic pixel comprises an integrated magnetic concentrator (IMC) and two horizontal Hall elements disposed near the periphery of the IMC and spaced 180° apart from each other in terms of angle. Such a sensor device having one IMC can measure Bx1 and Bz1 at a first sensor location. If the device also has a second 2D magnetic pixel spaced from the first magnetic pixel, it can also measure Bx2 and Bz2 at a second sensor location. In one embodiment, signals (e.g., h1 to h4) obtained from these horizontal elements are input into a neural network. Alternatively or additionally, the sum and / or difference of signals obtained from horizontal Hall elements located on both sides of the IMC are input into the neural network. Alternatively or additionally, if the sensor device has at least two IMCs, the pairwise difference ΔBx = (Bx1 - Bx2) and / or the pairwise difference ΔBz = (Bz1 - Bz2) can be input into the neural network. Optionally, the ratio ΔBx / ΔBz or ΔBz / ΔBx can also be input into the neural network. Optionally, the sum of squares sqr(ΔBx) + sqr(ΔBz) can also be input into the neural network.
[0072] In one embodiment, the semiconductor substrate comprises at least one 3D magnetic pixel, and each 3D magnetic pixel comprises an integrated magnetic concentrator (IMC) and four horizontal Hall elements arranged near the periphery of the IMC and spaced 90° apart from each other angularly. Such a sensor device having one IMC can measure Bx1, By1, Bz1 at a first sensor location. If the device also has a second 3D magnetic pixel spaced from the first 3D pixel, it can also measure Bx2, By2, Bz2 at a second sensor location. In one embodiment, the signals obtained from the Hall elements are input into a neural network. Alternatively or additionally, the sum and / or difference of the signals obtained from the horizontal Hall elements located on both sides of the IMC are input into the neural network. Alternatively or additionally, if the sensor device has at least two IMCs, the pairwise difference ΔBx=(Bx1 - Bx2) and / or the pairwise difference ΔBy=(By1 - By2), and / or the pairwise difference ΔBz=(Bz1 - Bz2) can be input into the neural network. Optionally, one or more ratios of these pairwise differences (e.g., ΔBx / ΔBz, ΔBy / ΔBz, ΔBx / ΔBy) can also be input into the neural network. Optionally, the sum of squares sqr(ΔBx)+sqr(ΔBy)+sqr(ΔBz) can also be input into the neural network.
[0073] In one embodiment, the semiconductor substrate comprises only or comprises vertical Hall elements configured to measure the magnetic field component parallel to the substrate. All of the vertical Hall elements can be oriented in a single direction, but this is not absolutely necessary. For example, some can be oriented in the X direction and others in the Y direction.
[0074] In one embodiment, the semiconductor substrate comprises only or comprises MR elements (magnetoresistive elements), such as GMR elements, AMR elements, XMR elements.
[0075] In one embodiment, the magnetic source is a two-pole magnet, such as an axially or diametrically magnetized two-pole ring or disk magnet, or a two-pole bar magnet.
[0076] In one embodiment, the magnetic source is a four-pole magnet, e.g., an axially magnetized four-pole ring or disk magnet.
[0077] In one embodiment, the sensor device further comprises a temperature sensor, and step a) further includes measuring the temperature of the semiconductor substrate (e.g., Temp) using the temperature sensor and providing the measured temperature as an input to the neural network, and step b) includes determining the position of the sensor device relative to the magnetic source (e.g., x; x, y; φ, ψ) based on the plurality of magnetic sensor signals and based on the measured temperature signal.
[0078] In embodiments where temperature is added as an input to the neural network, the training data preferably includes data at at least two or at least three or at least four or at least five or at least six different temperatures.
[0079] In one embodiment, the training data includes at least one trajectory at a first temperature less than 0°C, at least one trajectory at a second temperature of at least 80°C, and at least a third trajectory at a third temperature between 0°C and 80°C.
[0080] In one embodiment, the sensor device further comprises a temperature sensor, and the method further includes measuring the temperature of the semiconductor substrate using the temperature sensor and providing the measured temperature as an input to the neural network, and step b) includes determining the position of the sensor device relative to the magnetic source based on the plurality of magnetic sensor signals and based on the measured temperature, and the network is trained to estimate the position using training data derived from computer simulations and / or obtained or derived from actual measurements for different temperatures.
[0081] In this embodiment, a single recurrent neural network is used (1) for temperature correction of the magnetic sensor signal and at the same time (2) for determining the position of the sensor device relative to the magnetic source.
[0082] In one embodiment, the network is trained to estimate a position (e.g., a 1D position, or a 2D or 3D position) using training data obtained from or derived from simulation data provided by computer simulation and / or measurement data provided by actual measurement.
[0083] The 1D neural network can be trained in a stateless mode and inference is performed in a stateful mode. This can reduce on-board memory requirements and limit the complexity of calculations. Using this technique, new predictions are made for each new input sample.
[0084] The 2D neural network can be trained in a stateful mode and inference is performed in a stateful mode.
[0085] In one embodiment of the 2D neural network, the measurement range is sampled using loopable Bézier curves, e.g., at least 128, or at least 256, or at least 512 Bézier curves.
[0086] In one embodiment, at least some of the start and end points of these Bézier curves are intentionally selected outside the actual measurement range. For example, if the X and Y ranges extend from -2.5 mm to +2.5 mm, the neural network can be intentionally trained for X and Y positions that vary from -3.0 mm to +3.0 mm. Generally, the start and end points of the trajectory can be selected at least 10% outside the actual measurement range.
[0087] In one embodiment, the simulation data and / or measurement data are interpolated to increase the spatial resolution by at least a factor of 2.
[0088] In one embodiment where the simulation data includes temperature, the measurement data is interpolated to increase the resolution of the temperature by at least a factor of two.
[0089] In one embodiment, at least some or all of the actual measurements are performed by physically moving a sensor device relative to a magnetic source or vice versa.
[0090] In one embodiment, at least some or all of the actual measurements are performed by generating a magnetic field using a test device comprising at least one coil (e.g., at least two coils, e.g., at least three coils) and causing at least one current to flow through the at least one coil.
[0091] In one embodiment, artificial noise is added to the training data.
[0092] In one embodiment, the network is trained to estimate a position (e.g., a 1D position or a 2D or 3D position) using training data derived from a computer simulation with added artificial noise and / or obtained or derived from actual measurements, or a combination of both.
[0093] The applicant has the opinion that the addition of artificial noise may be known in fields such as speech recognition or face recognition, but is counterintuitive in the field of magnetic position sensors where the position is to be accurately determined. In either case, it cannot be predicted that the addition of artificial noise to a neural network having a relatively simple architecture and / or using a relatively small number of trainable parameters will improve the accuracy of the position sensor system.
[0094] Note that since the "data obtained from actual measurements" already includes "actual noise", it is not necessary to add artificial noise, but it may be added.
[0095] In one embodiment, a magnetic disturbance field is added to the training data.
[0096] In one embodiment, the network is trained to estimate a position using training data derived from a computer simulation with a magnetic disturbance field (Bext) added thereto, and / or obtained or derived from actual measurements.
[0097] However, preferably, the value to which a constant value is added to all sensors for all magnetic disturbance fields of all sensors is a homogeneous but time-varying disturbance field, which means that the disturbance vector, or disturbance value (when all sensors are oriented in the same direction) is the same for all sensor locations. The disturbance field can be added to the simulation results, or can be added to the actual measurement results, or actual measurements can be performed in an environment with a disturbance field.
[0098] That is, in this embodiment, the training data includes simulated data for the superposition of the magnetic field generated by the magnetic source and the homogeneous external disturbance field. For example, when all sensor elements measure the Bz value, a given value Bz_ext can be added to the sensor signals of all sensors measured substantially simultaneously. The value of Bz_ext can change over time, for example, as a modulation signal, such as an amplitude modulation signal or a frequency modulation signal, and can change relatively slowly as a function of time.
[0099] In a particular embodiment, the training data uses at least 10 different values, or at least 20 different values, or at least 32 different values of the external field.
[0100] In one embodiment, an attachment offset (e.g., Yoffset) is added to the training data.
[0101] In one embodiment, the network is trained to estimate a position using training data derived from computer simulations and / or obtained or derived from actual measurements, taking into account mounting offsets, such as offsets in height position (air gap) and / or lateral offsets in the case of a 1D sensor system.
[0102] For 1D movement along a straight line, the mounting offset may include, for example, one or both of a lateral offset (Yoffset) and a height offset (Zoffset).
[0103] For 2D movement within a plane, the mounting offset may include a height offset (Zoffset).
[0104] In one embodiment, the training data includes measurement data provided by actual measurements performed on at least 3 different sensor devices, for example from 3 to 50, or 3 to 25 different sensor devices.
[0105] Preferably, each of these at least 3 different sensor devices comprises a semiconductor substrate obtained from at least 3 different semiconductor wafers, for example 3 "corner wafers", i.e., wafers manufactured at process corners, such as at least 3 different corner wafers known as TT (typical - typical), SS (slow - slow), and FF (fast - fast).
[0106] In one embodiment, the training data includes a plurality of trajectories for approaching positions within the measurement range assumed from a plurality of different directions.
[0107] In one embodiment, the sensor device is movable with only 1 degree of freedom relative to or vice versa with respect to a magnetic source, and the training data includes at least 2 trajectories for approaching various measurement positions in the measurement range in 2 different directions (e.g., one trajectory where the X value increases and one trajectory where the X value decreases).
[0108] In one embodiment, the sensor device is movable with only two degrees of freedom relative to or vice versa with respect to the magnetic source, and the training data includes at least four different directions (e.g., a first trajectory where the X value increases and the Y value increases, a second trajectory where the X value increases and the Y value decreases, a third trajectory where the X value decreases and the Y value increases, and a fourth trajectory where the X value decreases and the Y value decreases) and at least four trajectories for approaching various measurement positions within the measurement range.
[0109] In one embodiment, the sensor device is movable with only three degrees of freedom relative to or vice versa with respect to the magnetic source, and the training data includes at least eight different directions (e.g., a first trajectory where the X value, the Y value, and the Z value increase, a second trajectory where the X value and the Y value increase but the Z value decreases, a third trajectory where the X value and the Z value increase but the Y value decreases, a fourth trajectory where the X value increases but the Y value and the Z value decrease, a fifth trajectory where the X value decreases but the Y value and the Z value increase, a sixth trajectory where the X value and the Y value decrease but the Z value increases, a seventh trajectory where the X value and the Z value decrease but the Y value increases, and an eighth trajectory where the X value, the Y value, and the Z value decrease) and at least eight trajectories for approaching various measurement positions within the measurement range.
[0110] In one embodiment, some or all of the trajectories are defined by Bézier curves.
[0111] In one embodiment, some or all of the trajectories are defined by Bézier curves that extend at least 10% or at least 20% beyond the assumed measurable range.
[0112] In one embodiment, the sensor device is movable relative to the magnetic source along a straight line or along a curved line. In this case, the method is a "method for determining 1D position".
[0113] In one embodiment, the neural network has only one output node (for providing an estimated position value), and the hidden layer includes only a single GRU unit. In this case, only about 20 to 25 parameters, for example, about 23 parameters, need to be trained.
[0114] In one embodiment, the sensor device is movable relative to the magnetic source in a two-dimensional plane. In this embodiment, step b) may include determining a first coordinate (x) along a first axis (X) and a second coordinate (y) along a second axis (Y) preferably perpendicular to the X axis. In this case, the method is a "method for determining a 2D position". The neural network may have only two output nodes, and the hidden layer may include only two or only four GRU units.
[0115] In one embodiment, the sensor device is movable in three directions relative to the magnetic source. In this embodiment, step b) may include determining a first coordinate (x) along a first axis (X), a second coordinate (y) along a second axis (Y) preferably perpendicular to the X axis, and a third coordinate (z) along a third axis (Z) preferably perpendicular to the X and Y axes. In this case, the method is a "method for determining a 3D position". The neural network may have only three output nodes, and the hidden layer may include only three or only six GRU units.
[0116] In one embodiment, step b) determines one or more additional signals by one or more of the following methods: determining one or more pairwise differences, determining one or more magnetic field gradients, determining at least one average signal, subtracting this average signal from at least two measurement signals, normalizing the signals (e.g., by scaling all signals), calculating the ratio of two measurement signals, calculating the ratio of two pairwise differences, calculating the ratio of two gradients, and supplies at least one of these additional signals to the neural network. The neural network is trained to estimate the position using training data derived from computer simulations and / or actual measurements and is trained using one or more of these additional signals.
[0117] In one embodiment, the sensor device comprises at least one sensor group configured to measure parallel magnetic field components (e.g., Bz1 and Bz2), and the sensor device is configured to determine one or more pairwise differences for the one or more groups, and the pairwise differences are input into a neural network, and the neural network is trained to estimate a position based on training data including the one or more pairwise differences.
[0118] The advantage of this embodiment is that when pairwise differences, gradients, or mean-compensated data are input into the neural network, the neural network does not need to be trained to reduce or remove magnetic disturbance fields.
[0119] Similarly, when the ratio of pairwise differences, or the ratio of gradients, or the ratio of mean-compensated data is input into the neural network, the neural network does not need to be trained for temperature variations.
[0120] In one embodiment, the sensor device is configured to measure at least two magnetic field components parallel to the semiconductor substrate (e.g., Bx1 and Bx2), and at least two magnetic field components perpendicular to the semiconductor substrate (e.g., Bz3 and Bz4 at the same or different locations), and the sensor device is provided to determine two pairwise differences ΔBx = (Bx2 - Bx1) and ΔBz = (Bz2 - Bz1), and / or the ratio of these pairwise differences, e.g., R1 = (ΔBx / ΔBz) or R2 = (ΔBz / ΔBx), and the neural network is configured to receive six input signals, namely, Bx1, Bx2, Bz1, Bx2, ΔBx, and ΔBz, or seven input signals, namely, Bx1, Bx2, Bz1, Bx2, ΔBx, ΔBz, and R1, or seven input signals, namely, Bx1, Bx2, Bz1, Bx2, ΔBx, ΔBz, and R2.
[0121] In one embodiment, the recurrent neural network includes up to 12, or up to 6, or up to 4 gated recurrent units (GRUs).
[0122] In one embodiment, the recurrent neural network comprises 1 to 4 gated recurrent unit GRU units. The GRU may use the tanh function and / or the sigmoid function.
[0123] "GRU node" is known in the art and represents a "gated recurrent unit", which is typically used in language applications such as speed recognition, text classification, text analysis, etc. and, among other things, for this reason, is not an easy choice for use in a position sensor system.
[0124] Using four hall sensor signals as inputs and using a GRU network, only 23 parameters need to be trained, but the accuracy is very comparable to that of "Kalman filtering" (often regarded as "state-of-the-art"), and it was completely surprising that it could be calculated about 5 times faster, mainly because the number of trainable parameters is small.
[0125] The GRU or multiple GRUs can be implemented in hardware, for example, as described in Patent Document 3 (the entire disclosure of which is incorporated herein by reference).
[0126] Preferably, the GRU uses a time series of at least 3 frames, or at least 5 frames, or at least 10 frames, or at least 20 frames. As can be seen from FIG. 10A, the accuracy of position estimation can be improved by selecting a larger time series.
[0127] In one embodiment, the neural network includes up to 12, or up to 6, or up to 4 simple RNN units (SRNNs).
[0128] In one embodiment, the neural network comprises a maximum of 12, or a maximum of 6, or a maximum of 4 LSTM units.
[0129] According to a second aspect, the invention also provides a position sensor system comprising a magnetic source (e.g., a permanent magnet), a sensor device comprising a semiconductor substrate for a plurality of at least two magnetic sensors placed at at least two different locations, or magnetic sensors (e.g., each measuring Bx and Bz) placed at at least two different locations, and a processing circuit configured to execute the method according to the first aspect.
[0130] The processing circuit may be implemented on the same substrate as the substrate comprising the sensor elements, but the invention is not limited thereto. In one embodiment, the sensor device may comprise a sensor chip comprising a semiconductor substrate with a magnetic sensor and an optional temperature sensor, and the processing circuit may be implemented on a processing chip. The sensor chip and the processing chip are communicatively connected to each other. They may be implemented on a single printed circuit board (PCB), but that is not absolutely necessary.
[0131] In one embodiment, the sensor device is movable relative to the magnetic source with only 1 degree of freedom, the sensor device comprises 4 to 25, or 4 to 16, or 4 to 9 magnetic sensors, the sensor device or the magnetic source is movable along a straight line or along a curve, and the number of trainable parameters is a maximum of 150, or a maximum of 100, or a maximum of 50.
[0132] In one embodiment, the sensor device is movable relative to the magnetic source with only 2 degrees of freedom, the sensor device comprises 4 to 25, or 4 to 16, or 4 to 9 magnetic sensors, the sensor device or the magnetic source is movable in two directions within a virtual plane (e.g., XY) or across a virtual surface, and the number of trainable parameters is a maximum of 300, or a maximum of 250, or a maximum of 200, or a maximum of 150, or a maximum of 100.
[0133] In one embodiment, the movement of the sensor device relative to the magnetic source is a pure translation without rotation.
[0134] In one embodiment, the movement of the sensor device relative to the magnetic source is a pure rotation without translation.
[0135] In one embodiment, the movement of the sensor device relative to the magnetic source is a combination of translation and rotation, where the rotation depends on the translation.
[0136] In one embodiment, the mean squared error (MSE) of the position determined by the artificial neural network is less than 2% or less than 1.5% or less than 1% of the pre-defined measurement range.
[0137] In one embodiment, the semiconductor substrate with multiple magnetic sensors has a size of up to 3.0 mm × 3.0 mm.
[0138] In one embodiment, the processing circuit includes a programmable processor having a 32-bit CPU core and a floating-point unit (FPU) configured to operate at an internal clock frequency of up to 400 or up to 200 or up to 100 MHz, and having up to 2 Mbytes or up to 1 Mbyte of flash and up to 512 Kbytes or up to 256 Kbytes of RAM, and the artificial neural network is implemented in software configured to be executed by the programmable processor.
[0139] The processor may have an ARM® 32-bit Cortex®-M4 CPU core with an FPU.
[0140] In one embodiment, the semiconductor substrate preferably includes 4 to 25 horizontal Hall elements, or 4 to 16 horizontal Hall elements, or 4 to 9 horizontal Hall elements without IMC, and all of the magnetic sensor elements are horizontal Hall elements, so there are no vertical Hall elements or magnetoresistive elements.
[0141] In one embodiment, the position sensor system further comprises an AI accelerator for executing an artificial neural network.
[0142] The AI accelerator can be implemented in the analog domain or the digital domain.
[0143] According to a third aspect, the present invention also provides a position sensor device comprising a semiconductor substrate provided with at least two magnetic sensors spaced apart from each other and configured to provide at least two magnetic sensor signals, and a processing circuit configured to execute the method according to the first aspect.
[0144] In one embodiment, the semiconductor substrate is mounted on a first chip, the processing circuit is mounted on a second chip, and the first and second chips are attached to a printed circuit board (PCB).
[0145] In one embodiment, the processing circuit can be incorporated within the position sensor device. The position sensor device can be in the form of a PCB or a module or an assembly having a plurality of chips, or can be in the form of a single package.
[0146] The specific and preferred aspects of the present invention are set forth in the appended independent and dependent claims. The features from the dependent claims can be combined with the features of the independent claims and the features of other dependent claims as necessary, and are not limited to those explicitly set forth in the claims.
[0147] These and other aspects of the present invention will be apparent from and elucidated with reference to the embodiments described hereinafter.
Brief Description of the Drawings
[0148]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 4A
Figure 4B
Figure 5A
Figure 5B
Figure 5C
Figure 5D
Figure 5E
Figure 5F
Figure 6A
Figure 6B
Figure 6C
Figure 7
Figure 8A
Figure 8B
Figure 8C
Figure 8D
Figure 8E
Figure 8F
Figure 9A
Figure 9B
Figure 10A
Figure 10B
Figure 10C
Figure 11A
Figure 11B
Figure 12
Figure 13A
Figure 13B
Figure 14A
Figure 14B
Figure 15A
Figure 15B
Figure 16
Figure 17
Figure 18A
Figure 18B
Figure 19
Figure 20A
Figure 20B
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33A
Figure 33B
[0149] The drawings are only schematic and non-limiting. In the drawings, the sizes of some of the elements are exaggerated for purposes of illustration and may not be drawn to scale. No reference signs in the claims should be construed as limiting the scope. In different drawings, the same reference signs refer to the same or similar elements.
[0150] The present invention is described with respect to specific embodiments and with reference to specific drawings, but the present invention is not limited thereto and is limited only by the claims.
[0151] The first, second, and the like terms in this specification and the claims are used to distinguish similar elements and are not necessarily for describing an order in any temporal, spatial, ranking, or any other manner. The terms so used are interchangeable under appropriate circumstances, and it should be understood that the embodiments of the present invention described herein are operable in orders other than those described or illustrated herein.
[0152] Terms such as "upper" and "lower" in this specification and the claims are used for purposes of description and are not necessarily used to describe relative positions. It should be understood that such terms are interchangeable under appropriate circumstances and that the embodiments of the invention described herein are operable in orientations other than those described or illustrated herein.
[0153] It should be noted that the term "comprising" used in the claims should not be construed as being limited to the means recited thereafter and does not exclude other elements or steps. Thus, it is construed as specifying the presence of the recited features, integers, steps, or components referred to, but does not exclude the presence or addition of one or more other features, integers, steps, or components, or groups thereof. Thus, the scope of the expression "a device comprising means A and B" should not be limited to a device consisting only of components A and B. This means, with respect to the present invention, that the only relevant components of the device are A and B.
[0154] References throughout this specification to "an embodiment" or "one embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, the appearances of the phrases "in an embodiment" or "in one embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, although they may be. Further, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments, as will be apparent to those skilled in the art from this disclosure.
[0155] Similarly, in the description of the exemplary embodiments of the present invention, it should be understood that various features of the present invention may be grouped together in a single embodiment, drawing, or description thereof for the purpose of rationalizing the present disclosure and facilitating the understanding of one or more of the various aspects of the invention. However, this method of disclosure should not be construed as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as reflected by the following claims, aspects of the invention cover less than all of the features of the single disclosed embodiment described above. Accordingly, the claims following the detailed description are hereby expressly incorporated into this detailed description, and each claim stands on its own as a separate embodiment of the present invention.
[0156] Furthermore, although some embodiments described herein may include some features included in other embodiments and not others, as will be understood by those skilled in the art, combinations of features of different embodiments are meant to be within the scope of the present invention and form different embodiments. For example, in the following claims, any of the claimed embodiments can be used in any combination.
[0157] The description provided herein sets forth numerous specific details. However, it is understood that embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this description.
[0158] In this document, the abbreviation "DOF" means "degree of freedom".
[0159] In this document, the abbreviation "ANN" means "artificial neural network".
[0160] In this document, the abbreviation "RNN" means "recurrent neural network".
[0161] In this document, the abbreviation "LSTM" means "Long Short-Term Memory Network".
[0162] In this document, the abbreviation "GRU" means "Gated Recurrent Unit".
[0163] In this document, the abbreviation "MSE" means "Mean Squared Error", and unless otherwise specified, it is expressed in [mm].
[0164] In this document, unless otherwise explicitly mentioned, the term "magnetic sensor device" or "sensor device" refers to a device that includes at least two magnetic sensor elements, preferably integrated on a semiconductor substrate. The sensor device may be included in a package, also called a "chip", but this is not absolutely necessary.
[0165] In this document, the term "sensor element" or "magnetic sensor element" refers to a single vertical Hall element or a single horizontal Hall element or a single magnetoresistive (MR) element (e.g., a GMR element or an XMR element or an AMR element).
[0166] In this document, the term "magnetic sensor" or "magnetic sensor structure" can refer to a component group or sub-circuit or structure that can measure a magnetic quantity, such as, for example, a group of at least two magnetic sensor elements, or a Wheatstone bridge including four MR elements.
[0167] In a particular embodiment of the present invention, the term "magnetic sensor" or "magnetic sensor structure" may refer to a configuration comprising one or more integrated magnetic flux concentrators (IMCs), also known as "integrated magnetic concentrators", and two or four or eight horizontal Hall elements arranged near the periphery of the IMC.
[0168] In this document, the expressions "in-plane component of the magnetic field vector" and "orthogonal projection of the magnetic field vector in the sensor plane" mean the same thing. When the sensor device is a semiconductor substrate or includes a semiconductor substrate, this also means the "magnetic field component parallel to the semiconductor substrate". The in-plane component is typically referred to as Bx or By.
[0169] In this document, the expressions "out-of-plane component of the vector" and "Z-component of the vector" and "orthogonal projection of the vector on the axis perpendicular to the sensor plane" mean the same thing. The out-of-plane component is typically referred to as Bz.
[0170] Embodiments of the present invention are typically described using a Cartesian coordinate system having three axes X, Y, and Z that are fixed to the sensor device and where the X-axis and Y-axis are parallel to the substrate and the Z-axis is perpendicular to the substrate.
[0171] In this document, the expressions "spatial derivative" or "derivative" or "spatial gradient" or "gradient" are used as synonyms. In the context of the present invention, the gradient is typically determined as the difference between two values measured at two different locations that can be separated by a distance in the range of 1.0 mm to 3.0 mm. In theory, the gradient is calculated as the difference between two values divided by the distance "dx" between the sensor locations, but in practice, since the measurement signal needs to be scaled anyway, the division by "dx" is often omitted.
[0172] For this reason, the terms "magnetic field gradient" and "pairwise difference" can be used interchangeably.
[0173] In this document, the horizontal Hall plates are typically referred to as H1, H2, etc., the signals from these horizontal Hall plates are typically referred to as h1, h2, etc., the vertical Hall plates are typically referred to as V1, V2, etc., and the signals from these vertical Hall plates are typically referred to as v1, v2, etc.
[0174] In this document, the expression "a neural network is trained" means that the neural network is trained using "machine learning" (ML) or using deep learning techniques. Software for deep learning is known in the art and is commercially available, for example, from Google.
[0175] In this document, the expression "stateful neural network" means that the prediction of the output signal is made for each frame unit.
[0176] In the present invention, a network topology having a single hidden layer with "n1" components is denoted as "GRU n1" (see, for example, FIGS. 11A, 14, 18).
[0177] In the present invention, a network topology having two hidden layers, where the first hidden layer has "n1" GRU components and the second hidden layer has "n2" GRU components, is denoted as "GRU n1, n2" (see, for example, FIGS. 13A, 15, 20).
[0178] In this document, the expressions "GRU unit" or "GRU component" mean the same thing unless it is clear from the context that something else is meant.
[0179] In the present invention, a network topology having three hidden layers, where the first hidden layer has "n1" GRU components, the second hidden layer has "n2" GRU components, and the third hidden layer has "n3" GRU components, is denoted as "GRU n1, n2, n3" (see, for example, FIGS. 21 and 22).
[0180] Similarly, "RNN n1" means a network topology having a single hidden layer with an RNN component of n1, "RNN n1 n2" means a network topology having two hidden layers, i.e., a first hidden layer with an RNN component of n1 and a second hidden layer with an RNN component of n2, and "RNN n1 n2 n3" means a network topology having three hidden layers, i.e., a first hidden layer with an RNN component of n1, a second hidden layer with an RNN component of n2, and a third hidden layer with an RNN component of n3.
[0181] Similarly, "LSTM n1" means a network topology having a single hidden layer with an LSTM component of n1, "LSTM n1 n2" means a network topology having two hidden layers, i.e., a first hidden layer with an LSTM component of n1 and a second hidden layer with an LSTM component of n2, and "LSTM n1 n2 n3" means a network topology having three hidden layers, i.e., a first hidden layer with an LSTM component of n1, a second hidden layer with an LSTM component of n2, and a third hidden layer with an LSTM component of n3.
[0182] The present invention generally relates to the field of magnetic position sensor systems, devices, and methods. More specifically, the inventors had the task of finding methods and systems for the accurate positioning of objects that can move with only 1, 2, or 3 degrees of freedom (DOF) for use in anti-counterfeiting applications, automotive applications, industrial applications, and / or robotic applications.
[0183] The inventors came up with the idea of using an artificial neural network, but for it to be commercially viable, the solution had to be "relatively lightweight" in terms of, for example, the number of layers, the number of nodes, and / or the trainable parameters. Therefore, they had to solve the problem of finding out whether they could build a neural network that is relatively lightweight, while at the same time providing high accuracy and being able to process in almost real time (e.g., within 10 milliseconds). In other words, they had to investigate whether such lightweight neural networks exist and / or how many trainable parameters are needed to achieve sufficient accuracy for the envisioned applications, etc.
[0184] Artificial neural networks (ANNs) have existed for several decades already. According to some sources, at least the following six types of artificial neural networks are used in machine learning. (1) Feedforward neural networks, (2) Radial basis function neural networks, (3) Kohonen self-organizing neural networks, (4) Recurrent neural networks (RNNs), (5) Convolutional neural networks, (6) Modular neural networks.
[0185] Artificial neural networks (ANNs) are typically used to solve very complex mathematical problems such as face recognition, speech recognition, and handwriting recognition. These networks typically require tens of thousands of nodes and need to be trained with thousands of training images or sound clips. Executing such networks takes a considerable amount of time.
[0186] For at least the above reasons, the use of artificial neural networks is not an obvious option when constructing a position sensor system having only 1 or 2 or 3 degrees of freedom, not because such a system was considered non-functional, but because such networks were considered to be very complex and / or to require significant processing power and / or memory resources and / or processing time, and for these and other reasons, it is not suitable for use in automotive, industrial, and / or robotic applications where a near real-time response, e.g., a response within about 10 milliseconds, is an absolute requirement.
[0187] Refer to the drawings.
[0188] FIG. 1 is a perspective view of a position sensor configuration 100 including a magnetic source 101 and a sensor device 102. The magnetic source in FIG. 1 is a two-pole magnet, but magnets having more than two poles, e.g., four poles, can also be used. The shape of the magnet shown is a bar magnet, but this is not necessary for the present invention to function, and other magnet shapes, e.g., ring magnets or disk magnets, can also be used. The sensor device is preferably a packaged integrated chip. In the embodiment of FIG. 1, the sensor device 102 has a fixed position and the magnet 101 is movable along a straight line X. In other embodiments, the magnet 101 can have a fixed position and the sensor device is movable relative to the magnet 101. The present invention is not limited to position sensor systems and enables movement having only 1 degree of freedom (e.g., as shown in FIG. 1), or only 2 degrees of freedom (e.g., as shown in FIGS. 16, 25, 26), e.g., pure translation along a straight line, pure translation along a curve, or pure translation in the XY plane, or movement having only 3 degrees of freedom (not shown), e.g., pure translation in three dimensions. In a preferred embodiment of the sensor configuration of FIG. 1, the position in the Y direction (lateral offset) is preferably constant and equal to zero, and the position in the Z direction (height direction) is also preferably constant and typically has a value in the range of 0.1 mm to 10.0 mm, or in the range of 0.1 mm to 5.0 mm, but due to mounting tolerances, the actual values of Y and Z can differ slightly.
[0189] Figure 2 shows a high-level block diagram of a classical position sensor device 102 that can be used in the position sensor system of FIG. 1 to determine the position of magnet 101 relative to sensor device 102. The sensor device includes a first magnetic sensor that provides a first signal s1, e.g., a sinusoidal signal, and a second magnetic sensor that provides a second signal s2, e.g., a cosinusoidal signal. The first and second magnetic sensors may be two horizontal Hall elements spaced apart in the X direction, or two vertical Hall elements spaced apart in the X direction. Sensor device 102 may include a "front end" 103 configured to bias and read out the sensor elements and to digitize the measured signals s1, s2 using an analog-to-digital converter (ADC). The digitized signals may be further processed using the arctangent function of block 104, and the result may be "linearly corrected" in a "post-processing" block 105 using, for example, a look-up table (LUT) with any interpolation, or a piecewise linear approximation with optionally programmable data points. Such circuitry is known in the art and thus need not be described in more detail here. The division of the various functions across blocks 103, 104, and 105 is somewhat arbitrary since, for example, the functions of blocks 104 and 105 may be implemented in software executed by hardware or a programmable processor, and it should be noted that the ADC may be considered a separate block placed between the front end 103 and the programmable processor. The main purpose of FIG. 2 is to show that the classical solution for determining the position X of magnet 101 typically involves goniometric functions and post-processing steps, in contrast to the solution proposed by the present invention, which is further described below.
[0190] Figures 3A and 3B show the magnitudes of the magnetic field components Bx, By, and Bz that would be measured at various locations (x, y) in the XY plane at a distance of approximately 5.0 mm from the two-pole bar magnet 101 of FIG. 1. The amplitudes are represented in arbitrary units. FIG. 3A is a grayscale image. FIG. 3B is a dithered image provided for illustrative purposes. Such graphs can be obtained by actual measurement or by computer simulation. In the example shown in FIGS. 3A and 3B, the graph provides the amplitudes of Bx, By, and Bz for X and Y values in the range of -4.0 mm to +4.0 mm, but the measurement range of the system shown in FIG. 1 is limited to -2.5 mm to +2.5 mm. This is merely an example, and it should be clear that embodiments of the present invention may use other magnets and / or other measurement ranges.
[0191] FIG. 4A is a high-level block diagram of a position sensor system proposed by the present invention configured to determine the position of a sensor device (e.g., the sensor device 102 of FIG. 1) relative to a magnetic source (e.g., the magnet 101 of FIG. 1) or vice versa for a sensor configuration having only 1 or 2 or 3 degrees of freedom, for example, the configuration 100 shown in FIG. 1, or the system 1600 shown in FIG. 16, or the system 2500 of FIG. 25, or the system 2600 of FIG. 26, etc., but the present invention is not limited to these examples. The magnetic source is not shown in FIG. 4A.
[0192] The proposed system 400 comprises a plurality of at least two, or at least three, or at least four magnetic sensors. The magnetic sensors can be Hall elements, for example, horizontal Hall elements, vertical Hall elements, magnetoresistive (MR) elements, or combinations thereof. The system 400 further comprises a "bias and readout circuit" for obtaining signals from the magnetic sensors, which comprises one or more of, for example, a current source, a voltage source, a Wheatstone bridge, etc. The bias and readout circuit can be identical to the front-end block 103 of FIG. 2 or can be part of a different front-end block 403. The block 403 can also include at least one amplifier (not shown) and / or provisions for sensitivity correction of various sensor elements. The system 400 can also include at least one analog-to-digital converter ADC, which can be part of the front-end block 403 but does not necessarily have to be. The magnetic sensors and the bias and readout circuit will typically be implemented in a sensor device, for example, an integrated sensor chip. The sensor device can further comprise a temperature sensor, and the block 403 can be further configured to perform temperature correction of the measurement signals.
[0193] According to an important aspect of the invention, the system 400 comprises a trained artificial neural network (ANN) configured to process signals obtained from the magnetic sensor elements and / or signals derived from the magnetic sensor elements (e.g., differential signals), and optionally also signals derived from a temperature sensor 406. The ANN can be implemented partially in hardware, partially in software, or fully in hardware, or fully in software. A part of the ANN can be implemented in the analog domain, for example, using a so-called hardware accelerator.
[0194] In one embodiment, system 400 includes an analog hardware accelerator. In this case, front end 403 is configured to provide an analog signal to the hardware accelerator, digitize at least one output of the hardware accelerator using at least one ADC, and further process these digitized signals using digital circuitry and / or a programmable processor.
[0195] In one embodiment, system 400 includes a digital hardware accelerator. In this case, front end 403 may include an ADC, be configured to provide a digital signal to the digital hardware accelerator, and be configured to further process at least one digital output provided by the hardware accelerator using digital circuitry and / or a programmable processor.
[0196] In one embodiment, system 400 does not include a hardware accelerator. In this case, front end 403 may include an ADC and be configured to provide a digital signal to a programmable processor that fully executes the ANN algorithm in software.
[0197] From the above, it can be understood that the ANN block 410 is implemented in various ways as follows, for example. i) For example, as shown in FIG. 4B, it is entirely inside the sensor device using, for example, a programmable processor or DSP 423, one or more analog hardware accelerators 421, and / or one or more digital coprocessors 422. Of course, the analog accelerator is typically followed by at least one ADC, and the programmable processor or DSP is typically connected to volatile memory (e.g., RAM) and non-volatile memory (e.g., flash), but such details need not be shown. ii) Inside an external device, e.g., completely inside a laptop computer, a desktop computer, or another processing device external to a sensor device such as a powerful digital signal processor (DSP) or ECU. iii) Partially inside the sensor device and partially external to the sensor device, e.g., inside a laptop computer, a desktop computer, or another processing device external to a sensor device such as a powerful digital signal processor (DSP) or ECU.
[0198] The programmable processor can be integrated on the same semiconductor substrate as the sensor element, or can be a separate chip attached to and communicatively connected to the same printed circuit board (PCB) as the sensor device.
[0199] In some embodiments, the sensor device includes a temperature sensor, but the temperature correction is not performed by the front end, but by the ANN. Thus, in this embodiment, a simple neural network is used to (1) perform temperature correction of the magnetic sensor signal and also (2) determine the position of the sensor device relative to (or vice versa) the magnetic source.
[0200] In all embodiments of the present invention, the system 400 uses an artificial neural network (ANN) 410 trained to determine a 1D or 2D or 3D position based on signals obtained from and / or derived from a magnetic sensor and optionally also based on a temperature signal.
[0201] Although not explicitly shown in FIG. 4A, when ANN410 is executed by an external device, of course, the sensor device and the external device must be communicatively connected using, for example, a wired interface or a wireless interface. Such communication can be established using any suitable interface. Such interfaces are well known in the art and not the main focus of the present invention and are therefore not described in more detail.
[0202] FIGS. 5A-5F schematically show various examples of generating "training data" that can be used to train the artificial neural network of FIG. 4A based on computer simulation.
[0203] Given an example where the sensor device has four horizontal Hall plates and provides signals Bz1, Bz2, Bz3, Bz4, as already mentioned above, the present invention is not limited thereto and may have less than four or more than four sensor elements and / or may use other magnetic sensor elements or a mixture of magnetic sensor elements. The number, type, and location of sensor elements in the simulation must correspond to the actual number, type, and location of sensor elements in the sensor device. Some examples are shown in FIGS. 8A-8F.
[0204] The present invention proposes using a recurrent neural network (RNN). The RNN is trained with a relatively large "training data" set. The "training data" can be viewed as a list (or file, or sequence) of groups or sets of corresponding values (also referred to as "frames"). A frame for a 1D position sensor system, where the sensor device comprises four horizontal Hall elements and consists of five values: (X, Bz1, Bz2, Bz3, Bz4), where X is the position of the sensor device and Bz1-Bz4 are the values (or signals) obtained from four magnetic sensor elements at that position.
[0205] The value for position X is not randomly selected, but rather is selected assuming that the sensor device follows a particular "trajectory". Some examples of 1D trajectories are shown herein in FIGS. 12(a) - 12(g) and are referred to as "constant velocity", "teleport", "sine", "flat top", "bounce", "sharp top", "step". The trajectories can be continuous and change relatively smoothly or can change abruptly. Thus, in the case of a 1D position sensor system, a "trajectory" can be represented by a list (or file) of the positions (e.g., X) that the sensor assumes at various instants. In the examples of FIGS. 12(a) - 12(g), each trajectory contains 100,000 samples (also written as 100K), but this is not absolutely necessary, and trajectories with fewer or more positions will also function. In some experiments, a training set of 100K frames was used, and in other experiments, the network was trained using 64K frames. Both provided suitable results, but of course the present invention is not limited thereto, and in particular embodiments, the neural network of a position sensor system with only 1 degree of freedom can be trained with a training set containing a different number of frames, e.g., from 1,000 (1K) to 10 million (10M) frames, or from 10,000 (10K) to 1 million (1M) frames, or from 20,000 (20K) to 500,000 (500K) frames, or from 50,000 (50K) to 200,000 (200K) frames.
[0206] For each position X, the values Bz1, Bz2, Bz3, Bz4 that the magnetic sensor of the assumed sensor device having a particular size and sensor configuration would measure when the sensor device is at that position can be determined, for example, by a simulation tool.
[0207] In the example of FIG. 5A, the neural network is trained “only” to detect the position X based on the measured sensor signal, and thus the network is not explicitly trained against external perturbation fields, temperature variations, lateral offsets, height offsets, random noise, or combinations thereof. In other words, the simulation tool of FIG. 5A assumes, for example, that the magnet generates a magnetic field as shown in FIG. 3A, that the value of Y (lateral offset) is exactly equal to 0.0 mm, that the value of Z (height) is exactly equal to 5.0 mm, that the magnetic external perturbation field (Bext) is exactly equal to zero, that the temperature is constant, and that there is no random noise. In reality, however, these assumptions are approximately true for various reasons such as mounting tolerances, environmental effects, etc. This is the simplest example and provides the “basic function”. The basic idea is to train the neural network to be able to provide the exact value of the position based on the measured sensor data.
[0208] In the example of FIG. 5B, the simulation tool enables the input of not only the value of position X but also the value of the external magnetic disturbance field. When the sensor device includes only horizontal Hall elements, only the Bz component of the external disturbance field, Bz_ext, is relevant. The magnetic disturbance field is assumed to be a uniform field, meaning that if it exists, it is the same for all sensor locations. Since the value of Bz_ext is not explicitly measured by the sensor device, its value is not explicitly stored in the training data file, but the values of Bz1 to Bz4 are changed due to the external disturbance field. In one embodiment, the trajectory file includes a plurality of sub-trajectories within a range of, for example, 2 to 1024 sub-trajectories, or 2 to 512 sub-trajectories, or 2 to 256 sub-trajectories, or 2 to 128 sub-trajectories, or 2 to 64 sub-trajectories, or 2 to 32 sub-trajectories, or 2 to 16 sub-trajectories, or 2 to 8 sub-trajectories, or 2 to 4 sub-trajectories. The X values of each sub-trajectory can be the same as or similar to the trajectories shown in FIGS. 12(a) to 12(g), and the value of the external disturbance field Bz_ext along this sub-trajectory can be constant. However, different sub-trajectories will have different values for the external disturbance field Bz_ext. The idea is to train a neural network so that it can provide an accurate value of the position based on sensor data even in the presence of an external disturbance field. Thus, a position sensor system using such a neural network is robust or more robust to external disturbance fields.
[0209] In the example of FIG. 5C, the simulation tool enables the input of not only the value of position X but also a temperature value, for example, the temperature of the semiconductor substrate. In one embodiment, a single temperature on the semiconductor substrate is measured, and the simulation assumes that the temperature distribution across the semiconductor surface of the sensor device is "stable". It should be noted that this assumption allows for different temperatures at various sensor locations. Since the value of the temperature is explicitly measured by the sensor device, the value "Temp" is added to the training data file as an additional input. In one embodiment, the track file includes a plurality of sub - tracks in the range of, for example, 2 to 1024 sub - tracks, or 2 to 512, or 2 to 256, or 2 to 128, or 2 to 64, or 2 to 32, or 2 to 16, or 2 to 8, or 2 to 4. The X - value of each sub - track can be the same as or similar to the tracks shown in FIGS. 12(A) - 12(G), and the value of the temperature Temp along this sub - track can be constant. However, different sub - tracks will have different values for the temperature. The idea is to train the neural network so that, even if the temperature of the semiconductor substrate changes, an accurate value of the position can be provided based on the sensor data. Thus, a position sensor system using such a neural network is robust or more robust to temperature variations.
[0210] In the example of FIG. 5D, the simulation tool enables the input of not only the value of position X but also the value of the lateral offset. Since the sensor device cannot measure the lateral offset itself, the value of Yoffset is "incorporated" into the Bz value rather than being explicitly added to the training data. To handle various lateral offset values, an approach with multiple sub - tracks can also be applied here. The idea is to train the neural network so that, even in the case of a lateral mounting offset, an accurate value of the position can be provided based on the sensor data. Thus, a position sensor system using such a neural network is robust or more robust to mounting tolerances.
[0211] In the example of FIG. 5E, the simulation tool allows for the input of not only the value of position X but also the value of noise. The idea behind this embodiment is to train the neural network to handle random noise, or pseudo-random noise, as generated, for example, by a Hall sensor. Since the noise typically varies for each sensor and for each instant in time, the simulation tool can take as input five values: one for the position X and one noise value for each sensor element. Of course, it is also possible to implement noise addition within the simulation tool itself. In one embodiment, the amplitude of the noise is pre-defined and the same for all sensors. In another embodiment, the amplitude of the noise depends on (e.g., is proportional to) the signal measured by a particular sensor element. The idea is to train the neural network to be more robust to noise.
[0212] Various non-idealities (e.g., external perturbation fields, temperature variations, lateral offsets, noise, etc.) can also be combined, as shown in FIG. 5F.
[0213] Alternatively, or in addition, the neural network can be trained with a combination (e.g., sum) of various "training data files" obtained from FIGS. 5A - 5E, or any subset thereof.
[0214] FIGS. 6A - 6C show that the training data can also be generated by performing actual measurements in a test setup, instead of or in addition to using computer simulations. Note that actual measurements automatically include noise.
[0215] FIG. 6A shows a relatively simple example where the sensor device is physically moved to a known position X relative to the magnet, and the values measured by the sensor are output and stored in a file along with the position X. In the experiment, the sensor device was physically moved to 2,000 (2K) different positions over a distance of 5 mm (-2.5 mm to +2.5 mm) to train the neural network, and the results were good.
[0216] FIG. 6B further shows a slightly more complex example where a magnetic disturbance field is applied to the sensor. As described above in connection with FIG. 5B, the sensor device can be moved along a plurality of sub-trajectories, and different magnetic disturbance fields (e.g., Bz_ext) can be applied to each of these sub-trajectories.
[0217] FIG. 6C further shows an even more complex example where the external temperature of the sensor device varies.
[0218] In one example of FIG. 6C, the position varies and the temperature varies, but no external disturbance field is applied.
[0219] In one example of FIG. 6C, the position varies and an external disturbance field is applied, but the temperature is kept constant.
[0220] In one example of FIG. 6C, the position varies, an external disturbance field is applied, and the temperature varies.
[0221] Of course, it is also possible to combine the training data obtained by simulation and the training data obtained by actual measurement.
[0222] "Obtaining" actual measurement data "from the sensor element of the sensor device" can be achieved by physically moving the sensor device relative to a stationary magnet, but it can also be obtained by using a test device with multiple coils (for example, sometimes also referred to as a "3D coil system" as described in Patent Document 4 incorporated herein by reference), which emulates the magnetic field that the sensor element would experience when the sensor device is at a specific position relative to a specific magnet. It should be noted that generating a magnetic field by the coils offers the advantage that the sensor device can remain stationary, and fine mechanical movements can be replaced by controlling the current flowing through each coil of the test device.
[0223] In a particular embodiment, the artificial neural network is trained using training data derived from raw measurement signals obtained from magnetic sensor elements from a plurality of sensor devices (for example, at least 5, or at least 10, or at least 20, or at least 50, or at least 100 sensor devices) when the sensor devices are mechanically positioned at various locations relative to a permanent magnet (for example, in 1% increments of a predefined measurement range), or when the sensor devices are placed on a test device or "3D coil system" where a magnetic field is generated at the sensor location by controlling a plurality of currents, and information obtained from temperature sensors present in these sensor devices (for example, incorporated on the same semiconductor substrate as the magnetic sensor element) measured at various ambient temperatures (for example, in 20°C units).
[0224] In a variant, not only are multiple sensor devices used to obtain raw measurement data, but multiple permanent magnets are also used. This offers the advantage that magnetic defects (or manufacturing tolerances) are also taken into account.
[0225] The raw measurement data is preferably interpolated to increase the spatial resolution and can optionally be smoothed or low-pass filtered.
[0226] The plurality of sensor devices can be obtained from a single wafer, or from multiple wafers, e.g., multiple wafers from the same production lot, and / or e.g., from different "corner wafers" (i.e., wafers manufactured at different "process corners"). The plurality of sensor devices used to train the neural network can include, for example, sensor devices obtained from at least three different corner wafers known as TT (typical - typical), SS (slow - slow), and FF (fast - fast), where the first character refers to NMOS characteristics and the second character refers to PMOS characteristics.
[0227] Alternatively or additionally, the sensor devices can be obtained from different locations on one or more wafers. As an example, 5 chips per wafer, e.g., 1 chip including a substrate portion located at the center of the wafer and 4 chips including substrate portions located near its edge, can be used.
[0228] After the artificial neural network is trained, the resulting training parameters can then be stored, for example, in the non - volatile memory of a specific measured device, and also in other devices including substrate portions obtained from the same wafer (as the actually measured device), and in other devices from other wafers of the same production lot.
[0229] The training parameters can be determined for each production lot, or the same parameters can also be stored (e.g., in non - volatile memory) in sensor devices including substrate portions obtained from wafers of other production lots.
[0230] FIG. 7 shows a block diagram of a position sensor system 700 that can be regarded as a modified example of the block diagram of FIG. 4A, further including a "preprocessing" block 730. The "preprocessing" block 730 is configured to receive one or more or all of the measured signals and generate "additional signals" (e.g., pairwise difference signals, gradient signals, average signals, difference between the measured signal and the average signal, ratio of the measured signal, ratio of the difference signal, ratio of the gradient, normalized signals, etc.), and provide one or more or all of these additional signals to the artificial neural network 710. A block diagram of the position sensor system 700 is shown.
[0231] As an example of a sensor device having four horizontal Hall elements H1 to H4, the normalized signal can be determined according to the following set of equations: sum = h1 + h2 + h3 + h4, a1 = h1 / sum, a2 = h2 / sum, a3 = h3 / sum, a4 = h4 / sum, where sum is the total signal, h1 to h4 are the signals obtained from the Hall sensors H1 to H4 respectively, a1 is the normalized version of h1, a2 is the normalized version of h2, and so on. The signals sum, a1, a2, a3, a4 are additional signals that can be supplied to the ANN.
[0232] Since the neural network 710 in FIG. 7 receives more input signals than the neural network 410 in FIG. 4A, it needs to be trained with other training data. The training data described in FIGS. 5A - 6C can also be used here, but it needs to be extended with additional information. The extended version of the training data in FIGS. 5A - 6C may include a plurality of frames including the following values: (x, Bz1, Bz2, Bz3, Bz4, sum, a1, a2, a3, a4), or the following values: (x, Bz1, Bz2, Bz3, Bz4, Temp, sum, a1, a2, a3, a4).
[0233] In another example of a sensor device having four horizontal hall elements H1 to H4, the additional data is a set of the following equations: a1=(h1 - h2), a2=(h3 - h4), a3=a1 / a2, and can be determined according to the following values: (x, Bz1, Bz2, Bz3, Bz4, a1, a2, a3) or (x, Bz1, Bz2, Bz3, Bz4, Temp, a1, a2, a3). The training data can include a plurality of frames, where Temp is a measured temperature value, for example, the temperature of a semiconductor substrate.
[0234] However, of course, the present invention is not limited to these examples.
[0235] As another example, when the sensor is a 3D magnetic pixel that measures Bx, By, and Bz at each sensor location, the sum of the squares can be determined as sum=(Bx*Bx)+(By)+(Bz*Bz), and the three additional signals can be calculated, for example, as a1 = Bx / sum; a2 = By / sum; a3 = Bz / sum.
[0236] The preprocessing block 730 can be implemented in the analog domain, in the digital domain, or partially in the analog domain (e.g., pairwise subtraction) and partially in the digital domain (e.g., calculating a ratio). Depending on the implementation mode, the preprocessing block 730 can include an analog-to-digital converter (ADC), an arithmetic or logic unit (ALU), etc.
[0237] Using the preprocessing block 730 before the ANN can result in more accurate results.
[0238] Figures 8A - 8F show some examples of sensor configurations that can be used in embodiments of the present invention. Of course, the present invention is not limited to these examples. The results of position sensor systems using these sensor configurations, and their variations, will be further discussed. In the examples shown in Figures 8A - 8F, the sensor device includes only horizontal Hall elements without a magnetic flux concentrator. Two different sizes (or "grid sizes"), namely, a first size having an area of approximately 1.0 mm × 1.0 mm and a second die having an area of approximately 0.5 mm × 0.5 mm, were simulated. However, of course, the present invention is not limited thereto, and other die sizes or grid sizes can also be used. Various numbers of Hall elements in various configurations, for example, 1×2 on a horizontal line (see, for example, Figure 8A), 1×4 on a horizontal line as two pairs (see, for example, Figure 8B), 1×4 on a diagonal line (see, for example, Figure 8C), four intersections of a regular 2×2 grid (see, for example, Figure 8D), nine intersections of a regular 3×3 grid (see, for example, Figure 8E), nine pseudo - random locations (see, for example, Figure 8F), were simulated. However, the present invention is not limited to these examples, and other topologies, as well as other sensor elements (e.g., vertical Hall elements, MR elements, 2D magnetic pixels, 3D magnetic pixels, etc.), can be used.
[0239] Figure 9A shows a plot having the simulated signal waveforms of signals h1...h9 that would be measured by sensor elements H1...H9 of the sensor device shown in Figure 8E when moving along the X - axis. As can be seen, since signals h4, h5, and h6 are close to zero, the locations of sensor elements H4, H5, and H6 for this particular sensor system are a rather inappropriate choice. This example shows that using more Hall elements does not necessarily mean that the results will be more accurate if their positions are inappropriately selected.
[0240] Figure 9B shows the simulated signal of Figure 9A with artificially added noise, such as Gaussian noise. The simulation surprisingly shows that when the ANN is trained with data containing additional noise, the accuracy of the predicted location X can actually be slightly improved. This was very surprising.
[0241] Figure 10A shows a graph of the effect of the "length of the time series" of several recurrent neural networks (RNNs) on the mean absolute error (MAE in mm) of a linear position sensor system as shown in Figure 1A, when using a sensor device having 3x3 = 9 horizontal hole elements having an area of 1.0 mm × 1.0 mm and arranged as shown in Figure 8E.
[0242] Three plots are shown, namely, a first plot (indicated by black circles) using the RNN2-2 architecture (two layers each having two components) having 37 trainable parameters, a second plot (indicated by black triangles) using the LSTM1 architecture (one layer having one component) having 46 trainable parameters, and a third plot (indicated by black squares) using the GRU1 architecture (one layer having one component) having 35 trainable parameters.
[0243] Recurrent neural network (RNN) architectures, neural networks having a "long short-term memory" (LSTM) architecture and a "gated recurrent unit" architecture, and methods for training them using deep learning techniques are themselves known in the field of artificial neural networks, but it should be noted that, as far as the inventors are aware, such networks are not used in the field of magnetic position sensor systems. However, as can be understood from FIG. 10A, the absolute error in the position determined (or predicted or estimated) by the artificial neural network can be surprisingly reduced by increasing the "length of the time series" of the recurrent neural network. Further, this is another great surprise, as the number of trainable parameters for such a network can be surprisingly small compared to neural networks for face recognition, speech recognition, handwriting recognition, etc., which require particularly tens of thousands, and even hundreds of thousands, of trainable parameters. In this regard, artificial networks require an enormous number of trainable parameters and quite a lot of resources in terms of CPU power and memory requirements, which is noted to have a common belief that makes artificial networks inappropriate or prohibitively expensive for applications such as "positioning sensor systems" for automotive, industrial, or robotic applications.
[0244] As can be seen from FIG. 10A, a "time series having a length of 2" already provides some improvement, and a time series having a length of at least 5 can reduce the mean absolute error (MAE) by about 1 / 2, but time series having a length of at least 10 or at least 20 can also be used.
[0245] To test the influence of other parameters such as die size and the number of Hall elements, other simulations were performed. For these simulations, a time series with a length equal to 50 (denoted as "t50" in this specification) was used to obtain the "best possible" results and / or to reduce the influence of the time series length as much as possible. However, this does not mean that a time series of length 50 is required in a practical implementation, and a time series with a length of 5 or even smaller, for example, 4 or 3 or 2, can be used.
[0246] For completeness, it should be noted that a recurrent neural network (RNN) can operate in either a stateless mode or a stateful mode. "Stateless mode" means that the network resets its internal state after a given time series. In this case, the entire time series needs to be supplied to the network, and the length of the time series is important. In "stateful mode", a new prediction is generated for each new "frame", and the internal state is not reset after the time series. In this case, the input to the NN is only a single frame, not a time series of multiple frames. In this mode, the length of the time series is not applicable.
[0247] In a preferred embodiment, the RNN is configured to operate in stateful mode.
[0248] Figure 10B shows a graph indicating the influence of the number of Hall elements on the mean absolute error (MAE). These simulations were performed for a sensor device with a die size of 1.0 mm × 1.0 mm.
[0249] Three plots are shown: a first plot (indicated by black circles) using a Dense888 architecture (i.e., an RNN with three hidden layers each containing eight fully-connected nodes), a second plot (indicated by black triangles) using a GRU1 architecture with a time series of length 50 (t50) (i.e., a single GRU component), and a third plot (indicated by black squares) using a GRU444 architecture (i.e., an RNN with three hidden layers each containing four fully-connected nodes, where each node contains a GRU component).
[0250] This graph can be interpreted as follows. 1) When using a dense neural network with three fully-connected hidden layers, the mean absolute error (MAE) typically decreases as the number of sensor elements increases. (This was intuitively expected). 2) The MAE curve of the "GRU 1 t50" architecture has a very surprising feature. a) The MAE of the GRU architecture is approximately three times smaller than that of the dense network (when using two or three sensor elements). b) The MAE of the GRU architecture is minimum when using four sensor elements. c) The MAE of the GRU architecture seems to be rather independent of the number of sensor elements (when using only four to nine sensor elements), and increases when using more than seven hole elements. 3) The MAE curve of the "GRU444 t50" architecture provides only a slight improvement over the "GRU1 t50" architecture, but is much more complex from the perspective of hardware and software resources.
[0251] From the above, it can be concluded that the "GRU1 t50" architecture combined with a sensor device having 2 to 9 sensor elements, preferably 4 to 7 sensor elements, seems to be the best solution from the viewpoints of "high precision" and "low complexity". Considering the conclusion in Figure 10A that the MAE of a neural network having the "GRU1 architecture" does not increase dramatically when the length of the time series is reduced to a value of at least 5, the same conclusion applies to the "GRU1" architecture using at least 5 time series.
[0252] Figure 10C shows a graph indicating the influence of die size on the mean absolute error (MAE). In this plot, "die size 1" has an area of 1.0 mm × 1.0 mm, and "die size 2" has an area of 0.5 mm × 0.5 mm. The simulation was performed to see how these curves change as the die size decreases for two of the three architectures that yielded the minimum MAE in Figure 10B, namely "GRU1 t50" and "GRU444". Note that the black triangle and black square curves in Figure 10C are the same as the curves in Figure 10B, but different vertical scales are used.
[0253] As can be seen from Figure 10C, the black triangle MAE curve of the "GRU1 t50" architecture shifts slightly upward (i.e., the MAE increases slightly) when the die size decreases from 1.0 mm2 to 0.25 mm2, but the MAE typically deteriorates by only about 1.5 times.
[0254] The black square MAE curve of the "GRU444 t50" architecture also does not seem to be affected much by the die size. According to the plot, the MAE seems to increase at certain points and decrease at other points, but as described above, this may be due to the fact that some positions of the sensor elements can be unfortunately selected.
[0255] Not surprisingly, the black square and black triangle MAE curves of "GRU444 t50" are below the black triangle and black circle MAE curves of the "GRU1 t50" architecture, although the latter network is much simpler.
[0256] Interestingly, not only does the accuracy decrease by the same factor as the scaling factor of the die size area, but typically the price of the silicon die also decreases. This allows one skilled in the art to make a trade-off between die size and accuracy.
[0257] From the above, it can be concluded that die size is not important for the present invention to function.
[0258] FIG. 11A shows a block diagram of a trained artificial neural network ANN1110 proposed by the present invention, which can be used, for example, in a magnetic position sensor system having only one degree of freedom, such as those shown in FIGS. 1, 4A and 4B, and FIG. 7, or a variation thereof, for example, having another type of magnet, or a curved path of relative movement, etc.
[0259] This ANN has an input layer, a single hidden layer including a single GRU component, and an output layer.
[0260] The input layer is configured to receive a plurality of magnetic sensor signals (e.g., h1, h2, h3, h4), and optionally, for example, a temperature signal from the front-end block 403 (see FIGS. 4A and 4B), and optionally, for example, "additional signals" such as pairwise differences, gradients, ratios, etc. from the preprocessing block 730 (see FIG. 7).
[0261] In the case of a 1D position sensor system, the output is only a single position, e.g., the value X.
[0262] The GRU is trained to determine the value of a 1D position, e.g., the position x along the X-axis, using any of the training data described in FIGS. 5A-6C, or a combination thereof.
[0263] Figure 11B is a table showing a typical number of trainable parameters for a 1D position sensor system with a single GRU (e.g., as shown in Figure 11A) according to the number of input signals. The number of trainable parameters can increase when "additional signals" are added.
[0264] During the experiment, a specific GRU component was used from a specific vendor, and for this purpose, the number of trainable parameters N of a single GRU layer can be calculated according to the following formula. N = 3(n2 + n*m + 2n), where m is the number of inputs and n is the number of outputs. The output of the GRU layer is equal to the number of units. The output of the GRU layer is also added to the output layer, and the output layer is a dense layer with its own parameters. The dense layer may also be referred to as a "fully connected" layer. As an example, when the NN needs to estimate one variable (e.g., x) based on signals obtained from four magnetic sensors (m = 4), the number of trainable parameters of the GRU layer is N = 3*(1 + 4 + 2) = 3*7 = 21. For a network with a single output, the output layer may have, for example, two additional parameters, and thus may have a total of 23 trainable parameters. When the NN also uses temperature as an input, for the GRU layer, n = 1, m = 5, and N = 3*(1 + 5 + 2) = 3*8 = 24. Assuming two parameters for the dense layer, this results in a total of 26 trainable parameters. When the NN acquires four magnetic sensor signals, one temperature signal, and three "additional signals" (e.g., two gradients and the ratio of these gradients) as inputs, for the GRU layer, n = 1, m = 8, N = 3*(1 + 8 + 2) = 3*11 = 33. Assuming the output layer has two additional parameters, this means a total of 33 + 2 = 35 trainable parameters.
[0265] Since this numerical value may vary slightly for GRU components obtained from other suppliers, it should only be used as an estimate. Whatever the exact number, it is completely surprising that an artificial neural network with a number of parameters less than 300, or less than 250, or less than 200, or less than 150, or less than 100, or less than 75, or less than 50, or less than 40, or less than 35, or less than 30 can provide very accurate results.
[0266] According to the simulation results, the mean absolute error (MAE) of the 1D position sensor system of Figure 1A comprising a sensor device having a two-pole magnet with a length of about 5 mm, having a die size area in the range of about 0.25 mm2 to about 1.0 mm2, and having at least two or at least four horizontal hole elements and having a neural network architecture as shown in Figure 11A is only about 0.02 to about 0.08 mm for a measurement range of absolute accuracy on the order of -2.5 mm to +2.5 mm, i.e., about 0.4% to about 1.6%.
[0267] It was surprising that such an excellent accuracy could be achieved with such a very simple neural network using less than 1,000 trainable parameters, for example less than 300 trainable parameters, or even less than 100 parameters. It is almost unbelievable that a sensor device having only four sensor elements in combination with an ANN having only a single GRU can perform the job with only about 20 to 25 trainable parameters.
[0268] Note that the ANN can be executed very quickly. As an example, during experiments, on a laptop running at a speed of 4.1 GHz with an Intel Core i7-8750H, it only took about 0.716 milliseconds to fully execute the ANN in Figure 11A with 23 trainable parameters entirely in software. This value should only be used as a rough estimate for a sense of the magnitude difference.
[0269] Optionally, with at least some hardware acceleration (analog or digital), it can also be expected that executing the same (or a similar) algorithm on a high-speed digital signal processor (DSP) is fast enough for many applications.
[0270] Figure 12 shows an example of a "frame sequence" that can be used to train the neural network of a 1D position sensor system. These sequences have already been discussed above in relation to Figures 5A - 5F. The exemplary sequences shown in Figures 12(a) - 12(g) are, in this specification, (a) "constant speed", (b) "teleportation", (c) "sine", (d) "flat top", (e) "bounce", (f) "sharp top", and (g) "step", respectively. Another big surprise that has not yet been discussed above is that simulation experiments have shown that the position predicted by the ANN is very accurate even when a sensor device that has not been explicitly trained performs a movement that is completely different from any of those shown in Figures 12(a) - 12(g).
[0271] Figures 13A, 14A, and 15A show three block diagrams of other trained artificial neural networks (ANNs) 1310, 1410, 1510, which can be used, for example, in a magnetic position sensor system having only 1 degree of freedom, such as those shown in Figures 1, 4A, 4B, and 7, or variations thereof, for example, with a different type of magnet and / or a curved relative movement path.
[0272] Each of these neural networks 1310, 1410, 1510 of FIGS. 13A to 15 can be regarded as a modification of the ANN 1110 of FIG. 11A. The main difference is that these ANNs include not just one but two GRUs or four GRU components. The number of trainable parameters of these networks is larger than that of FIG. 11B. Therefore, these networks are more powerful and can provide at least equally good results, and probably slightly better results.
[0273] FIGS. 13B, 14B, and 15B show a typical number of trainable parameters for these networks according to the number of input signals. Of course, the present invention is not limited to these examples.
[0274] FIG. 16 is a perspective view of a position sensor system 1600 having two degrees of freedom (DOF). The system 1600 includes a magnet 1601 for generating a magnetic field and a sensor device 1602 for sensing the magnetic field using a plurality of magnetic sensors.
[0275] The 2D position sensor system 1600 can be regarded as a modification of the 1D position sensor system 100 of FIG. 1. The main differences are 1) The magnet 1601 in FIG. 16 can move in a plane parallel to the XY plane. 2) The position is defined by two independent variables, for example, X and Y. Therefore, the output layer of the ANN needs to provide two independent outputs. 3) The ANN needs to be trained "to determine the 2D position". 4) The sensor device includes at least four sensor elements, which may be collinear, but are preferably not collinear (see FIGS. 21 and 22). 5) The ANN of the 2D position sensor system can be trained in a stateful mode and inferences can be made in a stateful mode. In contrast, the 1D neural network can be trained in a stateless mode and inferences can be made in a stateful mode.
[0276] Most or all of the above are also applicable here.
[0277] For example, the block diagrams of FIGS. 4A, 4B, and 7 are also applicable to the 2D position sensor system. Since the sensor device 1602 includes at least four sensor elements, the sensor configuration of FIG. 8A cannot be used, but those of FIGS. 8B to 8F can be used.
[0278] An appropriate trajectory for creating training data is described in FIG. 17. Exemplary network topologies are described in FIGS. 18 and 20. An example of achievable accuracy is shown in FIG. 19. The number of trainable parameters and the corresponding achievable accuracy are described in FIGS. 21 and 22 for a sensor having only four sensor elements.
[0279] In a preferred embodiment of the 2D position sensor system, the movement is "pure translation" without rotation. Although not absolutely necessary, preferably, the magnet 1601 is a four-pole magnet, for example, an axially magnetized four-pole disk magnet.
[0280] FIG. 17 shows a plurality of 512 Bezier curves that can be used as "trajectories" for creating "training data" for training a neural network for determining a 2D position. In fact, if a single "trajectory" is sufficient for a 1D position sensor system, typically a relatively large number of trajectories are used to train a 2D position sensor system (in the example of FIG. 17, 512 trajectories).
[0281] For example, each trajectory may have several sub-trajectories to cope with external disturbance fields, and / or temperature variations, and / or noise, except that the trajectories of the 2D position sensor system should vary the x and y values over the measurement range rather than keeping one of them constant. Many of the things described above with respect to FIGS. 5A - 6C are also applicable here. As can be seen in FIG. 17, the x and y variables vary over at least the region covering the measurement range, which is defined as a rectangular region where both the variables x and y can range from -2.5 to +2.5 mm.
[0282] Of course, optionally, in combination with Bezier curves, note that other trajectories can also be used, such as a set of trajectories parallel to the X-axis, a set of trajectories parallel to the Y-axis, a set of trajectories at an angle of approximately 10° to the X-axis, a set of trajectories at an angle of approximately 20° to the X-axis, etc.
[0283] Similar to that described in FIGS. 5A - 5F, the training data can be provided by a simulation tool that takes not only the value of X as input, but also the value of Y and optionally the values of external disturbance fields, temperature, and noise. Similar to that described in FIGS. 6A - 6C, the training data can also be provided by physically moving a magnet relative to the sensor device and capturing the sensed data, or by controlling the current flowing through a coil to emulate a magnetic field such that for each of the sensor locations, a magnetic field is generated within a test device referred to as a "3D coil system" by positioning the sensor device within the test device.
[0284] Regarding the number of sensor devices used to obtain raw measurement data comprising semiconductor substrate portions obtained from several semiconductor wafers and / or from several locations on a semiconductor wafer, similar considerations as above (after FIG. 6C) are also applicable herein.
[0285] FIG. 18A shows a block diagram of a trained artificial neural network ANN1810 proposed by the present invention, which can be used, for example, in a magnetic position sensor system 1600 having only two degrees of freedom as shown in FIG. 16 or a modification thereof, for example, having another type of magnet, or as shown in FIGS. 25 or 26.
[0286] ANN1810 has an input layer, a single hidden layer with two GRU components, and an output layer.
[0287] The input layer is configured to receive a plurality of magnetic sensor signals (e.g., h1, h2, h3, h4), and optionally, for example, a temperature signal from the front-end block 403 (see FIGS. 4A and 4B), and optionally, for example, "additional signals" such as pairwise differences, gradients, ratios, etc. from the preprocessing block 730 (see FIG. 7).
[0288] The output layer needs to provide two independent output values, for example, x and y.
[0289] The two GRUs are trained to determine the 2D position using training data as described above (in relation to FIG. 17).
[0290] FIG. 18B shows a typical number of trainable parameters for this network depending on the number of input signals, but of course the present invention is not limited to these examples.
[0291] Figure 19 shows an example of a prediction resulting from a neural network having the topology as shown in Figure 18, trained using the 512 orbits shown in Figure 17. The ideal position is shown by a circle with a radius of 2.5 mm. The position estimated by ANN1810 is shown by points close to the circle. As can be seen, the absolute error in this example is about 0.3 mm, which is about 12% of the measurement range. This ANN has two GRUs, each GRU unit has only 25 trainable parameters, and the overall network has a total of 54 trainable parameters and an MSE of 0.0143 on average.
[0292] Figure 20A shows a block diagram of another recurrent neural network 2010 proposed by the present invention for estimating the 2D position of a position sensor system, for example, as shown in Figure 16. This network can be regarded as a modification of the network 1810 in Figure 18 and has the same input layer and the same output layer, but has two hidden layers each having two GRU units and thus a total of four GRU units.
[0293] Figure 20B shows a typical number of trainable parameters for this network depending on the number of input signals. Of course, the present invention is not limited to these examples.
[0294] Figure 21 is a table showing the number of trainable parameters for a 2D position sensor system having at least two GRU units organized into one or more GRU layers each having one or more GRU units, a two-pole magnet, and four magnetic sensors arranged in a straight line and a sensor device (e.g., as shown in Figure 8C), and an estimated value of the accuracy obtained as a result in units of mm of MSE.
[0295] As can be seen, the MSE of these sensor systems is about 0.23 - 0.39 mm, which is about 10% of the measurement range. This table shows that using a sensor configuration with four sensor collinear elements in combination with the two-pole magnet of FIG. 16 does not result in very accurate results regardless of the number of GRU units used. However, of course, if an accuracy of about 12% is sufficient for a particular application, a simple ANN with a single layer having two GRU units (as shown in FIG. 18), a single layer having 54 parameters can be used (the first row of FIG. 21).
[0296] FIG. 22 is a table showing the number of trainable parameters for a 2D position sensor system comprising a two-pole magnet 1601 and a sensor device 1602 having four magnetic sensors arranged in a regular 2×2 grid (e.g., as shown in FIG. 8D), and having one or more layers each having one or more GRU units, and the estimated value of the resulting accuracy (in units of MSE in mm).
[0297] As can be seen, the MSE of these sensor systems is about 0.28 mm, which is about 12% of the measurement range, when using an ANN with a single hidden layer having only one GRU unit, as shown in FIG. 18 for example. Comparison with the table of FIG. 21 shows that when the ANN includes only one GRU unit, locating the four sensors on the grid is not actually helpful in improving accuracy.
[0298] However, when the ANN includes one hidden layer having at least two GRU units, the MSE drops to a value of up to 0.0143, which is less than 0.3% of the measurement range. The result for two layers having two GRU units is 0.0091. As can be seen, the MSE can be further reduced by about one-third, but at the expense of using more GRU units and more trainable parameters.
[0299] The best trade-off between accuracy and complexity is the solution provided in the second row of this table, namely the ANN architecture as shown in FIG. 18, which requires only a total of 54 parameters. However, of course, the present invention is not limited thereto, and other solutions also work. For example, an ANN having two or more hidden layers, each having at least two GRU units, also works. And of course, solutions with four or more sensor elements also work.
[0300] FIG. 23 shows a block diagram of another recurrent neural network 2310 that can be used to estimate the 1D or 2D or 3D position of a sensor configuration, as shown, for example, in FIGS. 1, 16, 25, or 26, but is not limited thereto. The network has three hidden layers, each having four GRU units, and thus a total of twelve GRU units. FIGS. 10B and 10C show some performance characteristics of these networks.
[0301] FIG. 24 shows a flowchart of a method 2400 for determining the position (e.g., 1D position or 2D or 3D position) of sensor devices 102, 1602, 2502, 2602 that are movable relative to magnetic sources 101, 1601, 2501, 2601 or vice versa with only 1 or 2 or 3 degrees of freedom, e.g., 1D movement along a straight or curved path, or 2D movement in a plane, or 3D movement in three directions, e.g., pure movement without rotation, or two rotations without movement (as in FIGS. 25 or 26). This method includes a) step 2402 of obtaining a plurality of sensor signals from a plurality of magnetic sensors, and b) a step 2405 of determining the position of the sensor device relative to the magnetic source based on the plurality of magnetic sensor signals and / or signals derived therefrom (referred to as "additional signals"), wherein the position is determined using an artificial neural network (ANN), the artificial neural network being a recurrent neural network trained to determine the position, and the ANN having up to 300 trainable parameters per degree of freedom (thus, a system having only 1 degree of freedom has up to 300 trainable parameters, a system having only 2 degrees of freedom has up to 600 trainable parameters, and a system having only 3 degrees of freedom has up to 900 trainable parameters).
[0302] In a variant of the method, the sensor device may further comprise a temperature sensor, and the ANN may further take into account the measured temperature.
[0303] FIG. 25 is a perspective view of an exemplary position sensor system 2500 having two degrees of freedom, in which a permanent magnet 2501 is attached to a joystick that is movable back and forth and left and right relative to a sensor device 2502 about a reference point Pref located on a semiconductor substrate including a plurality of magnetic sensor elements.
[0304] In the example shown, the magnet 2501 is an axially magnetized cylindrical magnet, but the present invention is not limited thereto, and other magnets can also be used.
[0305] The 2D position of the joystick can be defined by two angular values φ, ψ, or two coordinates X, Y (e.g., the coordinates of the end of the joystick in the XY plane), or two angles α, β defined in FIG. 2 of Patent Document 5 (incorporated herein by reference).
[0306] The sensor device 2502 may include an architecture as shown in FIG. 4A or as shown in FIG. 4B. The sensor device includes a plurality of magnetic sensor elements or magnetic sensor structures, for example, a plurality of horizontal Hall elements, or 2D magnetic pixels (for example, including IMC and two horizontal Hall elements, or including two vertical Hall elements, or including MR elements), or 3D magnetic pixels (for example, including IMC and four horizontal Hall elements). In a particular embodiment, the sensor device includes only horizontal Hall elements without IMC.
[0307] The sensor device 2502 includes a recurrent neural network (ANN) having a total of up to 2 * 300 = 600 trainable parameters. However, as can be understood from FIG. 31, the number of trainable parameters can be much smaller, for example, up to 400 or up to 300 or up to 200 or up to 100, depending on the number of inputs supplied to the ANN. The ANN may have, for example, a GRU2 architecture (see, e.g., FIG. 14A), or an SRNN2 architecture (similar to GRU2 but using two SRNN units instead of two GRU units), or an SRNN3 architecture (having a single hidden layer with three SRNN units), or an SRNN4 architecture (having a hidden layer with four SRNN units), but the present invention is not limited thereto, and a recurrent neural network using LSTM units instead of GRU units or SRNN units may also be used.
[0308] FIG. 26 is a perspective view of an exemplary position sensor system 2600 having two degrees of freedom, and the magnet is attached to a joystick that can move forward and backward and left and right relative to the sensor device about a reference point located above the semiconductor substrate. The sensor system 2600 is a variant of the sensor system 2500 of FIG. 25, and all that was mentioned about the system of FIG. 25 is also applicable here.
[0309] Figure 27 is a graph showing actual measurements obtained from a horizontal Hall element (shown in arbitrary units) for various magnitudes of the magnetic field measured at temperatures of -40°C and +80°C. As can be seen, the amplitude of the signal provided by the horizontal Hall element is highly dependent on temperature. In fact, as the temperature of the substrate drops from +80°C to -40°C, the signal amplitude almost doubles.
[0310] Although it is technically possible to correct the sensitivity of the Hall element within the front-end block 403 (see FIGS. 4A and 4B), a preferred embodiment of the present invention does not perform temperature correction of the signals within the front-end block, but measures the temperature of the semiconductor substrate, digitizes this signal, and supplies it as an additional input to the ANN. It should be noted that it is sufficient to measure the temperature at only one location of the semiconductor substrate, for example, it is not necessary to measure the temperature of each Hall element individually. In this way, the number of input signals applied to the ANN can be dramatically reduced, and the complexity of the network can be kept small.
[0311] Figure 28 shows a table indicating the accuracy of the 1D positioning system (GRU1 architecture) of FIG. 11A using four input signals (four magnetic signals) or five input signals (four magnetic signals and temperature). As can be understood, when the temperature is measured and input to the ANN as an additional input signal, the mean squared error (MSE) is dramatically improved (decreased) to 1 / 5 in the example. Although not explicitly shown in FIG. 28, while the number of trainable parameters increases slightly, the same effect (improvement in accuracy when the temperature signal is input to the NN) is achieved with other neural network architectures described in the present application.
[0312] Figure 29 shows a table with the typical number of trainable parameters for a 1D positioning system using a recurrent neural network with five input signals (four magnetic signals and temperature) for various architectures. As can be seen, the number of trainable parameters required for these architectures is only about 9 - 31, which is very small compared to other systems that require thousands of trainable parameters to reach appropriate accuracy.
[0313] Figure 30 shows the typical accuracy of these systems. As can be seen, the accuracy of the GRU1 architecture is quite good, but the accuracy of the SRNN2 architecture is six times higher, while the number of trainable parameters decreases from 26 to 19. This was quite unexpected. As can be seen, the accuracy can be further improved by about 2.0 times by using the SRNN3 architecture, which is still a very simple neural network architecture with a very small number of trainable parameters (e.g., less than 100).
[0314] Figure 31 shows a table with the typical number of trainable parameters for a 2D positioning system using a sensor device having (a) four 1D magnetic pixels (each configured to provide a Bz signal) and one temperature sensor, or (b) four 2D magnetic pixels (each configured to provide in-plane and out-of-plane components) and one temperature sensor. As can be seen, the number of trainable parameters required for these architectures is only about 22 - about 84, which is very small compared to other systems that require thousands of trainable parameters to reach appropriate accuracy.
[0315] Figure 32 shows the typical accuracy of these systems. As can be seen, the accuracy of the GRU2 architecture is quite good, while the accuracy of the SRNN3 architecture is approximately the same, and the number of trainable parameters is reduced by approximately 1 / 2. As can be seen, the accuracy can be improved by approximately 2.0 times by using the SRNN4 architecture, which is a relatively simple neural network architecture with a small number of trainable parameters (much less than 100).
[0316] Figure 33A is an exemplary example of a "simple neural network". The network may have only a single hidden layer. The units of this layer are SRNN units (simple RNN units). These units are all interconnected, with one arrow pointing to each other's units and one arrow feeding back to itself. Each arrow represents a weight. Each "+" represents a bias.
[0317] Figure 33B is a schematic representation of an RNN3 network, i.e., a simple recurrent network having a single hidden layer with only three SRNN units.
[0318] Although not explicitly shown, the present invention also functions with a recurrent neural network comprising only LSTM units.
[0319] Although no explicit example of a system having three degrees of freedom is shown, those skilled in the art, with the benefit of this disclosure, can use the same principles as above for a system having one degree of freedom or a system having two degrees of freedom, particularly for a 3D position system where the magnet is translatable relative to the sensor device (or vice versa), and the position can be determined by three independent displacement values (x, y, z).
Claims
1. A method (2400) for determining the position (x; x, y) of a sensor device (102; 1602) that is movable with respect to a magnetic source (101; 1601) with one degree of freedom, two degrees of freedom, or three degrees of freedom, or vice versa, The sensor device comprises a semiconductor substrate including at least two magnetic sensors (H1, H2) arranged at at least two different positions. The aforementioned method, a) Obtaining multiple sensor signals (h1, h2) from the multiple magnetic sensors (H1, H2) (2401), b) Determining the position of the sensor device (102; 1602) relative to the magnetic source (101; 1601) based on the plurality of magnetic sensor signals (h1, h2) and / or signals derived therefrom (2405), Step b) comprises determining the position (x; x, y) using an artificial neural network, wherein the artificial neural network is a recurrent neural network that has been trained to determine the position and has a predetermined number (N) of learnable parameters, in a method, The sensor device further includes a temperature sensor. The method includes the step of measuring the temperature (Temp) of the semiconductor substrate using the temperature sensor, providing the measured temperature as an additional input signal to the neural network, and characterized in that the number of learnable parameters is up to 300 per degree of freedom. method.
2. The sensor device is movable relative to the magnetic source with two or three degrees of freedom, and / or The movement of the sensor device is pure translation, including translation along a straight line, translation along a curve, translation within a plane, or translation in three directions. The method according to claim 1.
3. The position is determined by an absolute error or mean square error of less than 1% of the measurement range, or the position is determined by an absolute error or mean square error of less than 1% of the maximum outer dimensions of the magnet, (1) The sensor device is movable with only one degree of freedom and can learn a maximum of 200 parameters, (2) The sensor device is movable with two degrees of freedom and can learn up to 400 parameters, (3) The sensor device is movable with three degrees of freedom and can learn up to 600 parameters, It is one of the following: The method according to claim 1 or 2.
4. (1) The semiconductor substrate includes at least three magnetic sensors (H1, H2, H3) arranged in at least three locations, or in only three locations. (2) The semiconductor substrate includes at least four magnetic sensors (H1, H2, H3, H4) located at at least four locations, or at least four locations. (3) The semiconductor substrate includes a two-dimensional array or two-dimensional arrangement of the magnetic sensors, It is one of the following: The method according to claim 1 or 2.
5. The network is trained to estimate position (x; x, y) using training data derived from computer simulations and / or from actual measurements. The method according to claim 1 or 2.
6. The network is trained to estimate position (x) using training data which is derived from computer simulations with artificial noise, obtained from actual measurements, or a combination of both. The method according to claim 1 or 2.
7. The network is trained to estimate position (x; x, y) using training data derived from computer simulations and / or obtained from actual measurements, and a magnetic interference field (Bext) is applied. The method according to claim 1 or 2.
8. The network is trained to estimate the position (x; x, y) taking into account the mounting offset, using training data derived from computer simulations and / or obtained from actual measurements. The method according to claim 1 or 2.
9. The above step b) further, (1) Determine the difference between one or more pairs, (2) Determine the magnetic field gradient of one or more (3) Determine at least one average signal and subtract that average signal from at least two measurement signals, (4) Normalizing the above signal, (5) Calculate the ratio of the two measurement signals, (6) Calculate the ratio of the differences between each pair, (7) Calculate the ratio of the two gradients, (8) Inputting at least one of the additional signals into the neural network, This includes determining one or more additional signals using one or more of the following: The neural network is trained to estimate position (x; x, y) using training data obtained from computer simulations and / or actual measurements, and is also trained using one or more of the additional signals. The method according to claim 1 or 2.
10. The recurrent neural network comprises one to four gated recurrent units (GRUs), The method according to claim 1 or 2.
11. The sensor device is movable along a straight line or a curve with respect to the magnetic source, The sensor device is movable in a two-dimensional plane relative to the magnetic source. The method according to claim 1 or 2.
12. A position sensor system, A magnetic source and A sensor device including a semiconductor substrate containing at least two magnetic sensors (H1, H2) arranged at at least two different positions, A processing circuit configured to perform the method described in claim 1 or 2, A position sensor system including...
13. A position sensor device, A semiconductor substrate comprising at least two magnetic sensors (H1, H2) spaced apart from each other, and configured to provide at least two magnetic sensor signals (h1, h2), A processing circuit configured to perform the method described in claim 1 or 2, Equipped with, Position sensor device.
14. The position sensor device further comprises an AI accelerator for executing the neural network. The position sensor device according to claim 13.
15. The artificial neural network is implemented as software and executed by an embedded digital processor. The position sensor device according to claim 13.