Magnetic field based self-localization
The magnetic-based navigation system addresses the limitations of traditional navigation systems by determining position using a magnetometer, velocity sensor, and rate gyro, eliminating the need for measuring the magnetic gradient tensor G, thereby providing robust and precise self-localization.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ISRAEL AEROSPACE IND LTD
- Filing Date
- 2025-11-24
- Publication Date
- 2026-07-02
AI Technical Summary
Existing navigation systems, such as GNSS and INS, face challenges in providing precise and reliable position estimates in environments where GPS signals are degraded or unavailable, particularly underwater, due to susceptibility to interference and cumulative errors.
A magnetic-based navigation system that utilizes a three-axes magnetometer, velocity sensor, and rate gyro to determine position without measuring the magnetic gradient tensor G, by leveraging the relationship between linear velocity, angular velocity, and magnetic field, using real-time differentiation or integral formulations.
Enables robust and precise self-localization of platforms in challenging environments by simplifying measurement processes and reducing sensor complexity, while maintaining accurate position estimates over time.
Smart Images

Figure IL2025051050_02072026_PF_FP_ABST
Abstract
Description
[0001] MAGNETIC FIELD BASED SELF-LOCALIZATION
[0002] TECHNICAL FIELD
[0003] The presently disclosed subject matter relates to self-localization and navigation based on magnetic field measurements.
[0004] BACKGROUND
[0005] Position estimation remains a critical challenge in navigation, particularly in environments where traditional systems falter. Two well-known examples are Global Navigation Satellite Systems (GNSS) and Inertial Navigation Systems (INSs). GNSS such as the Global Positioning System (GPS), are widely utilized for real-time absolute positioning due to their ability to provide global coverage. However, GNSS is highly susceptible to performance degradation caused by environmental and technical factors, as well as intentional interference. GNSS signals are also inherently limited in their ability to penetrate water, rendering them ineffective for underwater navigation. Furthermore, GNSS performs poorly on water surfaces due to multipath reflections and scattering, where signals bounce unpredictably off the moving water surface, creating unreliable and unstable position estimates.
[0006] To address these limitations, Inertial Navigation Systems (INSs) are frequently employed. An INS relies on an Inertial Measurement Unit (IMU) comprising three-axis accelerometers and gyroscopes to measure linear acceleration and angular rates, providing high-frequency updates on position, velocity, and attitude. While INS operates independently of external signals, it suffers from cumulative errors, or drift, over time, making it unsuitable as a standalone solution for prolonged or high-precision applications.
[0007] While the integration of GNSS and INS combines the strengths of both systems, this integration remains inadequate in environments where GNSS signals are degraded, unavailable, or intentionally disrupted, such as underwater, near reflective surfaces, or in security-sensitive applications prone to jamming or spoofing.
[0008] These challenges underscore the need for an autonomous, robust navigationsolution capable of maintaining precise and reliable position estimates in GNSS-denied or signal-degraded environments.
[0009] GENERAL DESCRIPTION
[0010] Magnetic-based navigation presents an alternative to traditional systems like GPS and inertial navigation, particularly in challenging environments. Unlike GPS, magnetic navigation relies on a magnetic field, which is generally unaffected by jamming or spoofing. This method is advantageous in underwater applications, where GPS signals cannot penetrate, allowing for accurate positioning in marine environments. Additionally, magnetic navigation can provide continuous data, making it less prone to drift over time compared to inertial systems. By integrating magnetic sensors with advanced algorithms, this approach can deliver reliable and precise navigation solutions.
[0011] Existing methods for determining the position of a navigator - a body capable of determining its position within a given environment - typically rely on measurement of the magnetic gradient tensor G to infer positional information, requiring complex measurement setups.
[0012] The presently disclosed subject matter introduces a novel technique for selflocalization of a navigator. Unlike conventional magnetic-based approaches that depend on measuring the magnetic gradient tensor G, the disclosed method eliminates this requirement. Instead, it leverages the relationship between linear velocity and the magnetic field. This approach simplifies the measurement process, and provides a robust basis for navigation.
[0013] The disclosed approach is based on the principle of harnessing the relation ḃ = —ω × b + G · v for determining the relative position r in real time. Various implementations of this principle are provided, each employing a different computational formulation to determine r based on measured quantities of magnetic field, angular velocity, and linear velocity. Some implementations utilize real-time differentiation of the magnetic field measurements, others employ an integral formulation, and certain configurations assume that the magnetic gradient tensor G is locally approximately constant. Each implementation applies the same underlyingrelation to enable magnetic-based position determination under different operational conditions.
[0014] According to a first aspect of the presently disclosed subject matter there is provided a system (or device) for self-localization of a platform, the system comprising:
[0015] a three-axes magnetometer configured to measure a magnetic field vector b in three orthogonal directions; a three-axes velocity sensor configured to measure a linear velocity vector v along three orthogonal axes; a three-axes rate gyro configured to measure angular velocity vector a) around three orthogonal axes;
[0016] a processing circuitry configured to:
[0017] process real-time measurements from the three-axes magnetometer, the three-axes velocity sensor, and the three-axes rate gyro and
[0018] compute a real-time position r of the platform based on a relationship between the magnetic field vector b, linear velocity vector v, and angular velocity vector ω without a need for measuring the magnetic gradient tensor G.
[0019] In addition to the above features, the method according to this aspect of the presently disclosed subject matter can optionally comprise one or more of features (i) to (xvi) below, in any technically possible and technically possible combination or permutation:
[0020] i. wherein the processing circuitry is configured to estimate a time derivative of magnetic field vector ḃ using a real-time differentiator; and to compute the real-time position r of the platform based on a relationship between the measured magnetic field vector b, measured linear velocity v, measured angular velocity vector ω and the time derivative of magnetic field vales ḃ.
[0021] ii. wherein the three-axes magnetometer is aligned with the body axes of the platform.
[0022] ill. wherein the three-axes rate gyro is configured to output angular velocity measurements in body axes of the platform.
[0023] iv. wherein the three-axes velocity sensor applies a transformation matrix to align velocity measurements with the body axes of the platform.v. wherein the system comprises a navigation computer configured to utilize the computed position r for guidance of the platform.
[0024] vi. wherein the processing circuitry is configured to compute the position r using the equation:
[0025] ḃ = —ω × b + M(r,v)b
[0026] where M(r, v) is a matrix-valued function representing an interaction between the platform's position and velocity relative to the magnetic field source, allowing the system to determine r without measuring the magnetic gradient tensor G.
[0027] vii. wherein the processing circuitry is configured to compute the position r by iteratively minimizing the objective function || f(r) II2, where:
[0028] f(r) = ḃ + ω × b — M(r, v)b
[0029] viii. wherein the real-time differentiator uses a first-order sliding mode differentiator to estimate the time derivative of the magnetic field vector.
[0030] ix. wherein the processing circuitry applies a Levenberg-Marquardt algorithm to compute the position r of the platform.
[0031] x. wherein magnetic gradient tensor G is assumed to be locally approximately constant, the processing circuitry being configured for calculating r to:
[0032] repeatedly obtain measurements of the magnetic field vector b, the linear velocity vector v, and the angular velocity vector co, wherein each set of measurements corresponds to a different linear velocity v;
[0033] form multiple equations derived from the relationship
[0034] ḃ = —ω × b + Gv
[0035] and compute G of the platform based on the estimated relationship; and compute r using G.
[0036] xi. Wherein the system is mounted on the platform which is any one of: ground vehicle; aerial vehicle; and marine vehicle.
[0037] xii. wherein the processing circuitry is configured to translate the position r of the platform from body-reference frame to dipole reference-frame.xiii. wherein the translation of the position rfrom the body-reference frame to the dipole-reference frame is performed using a Direction Cosine Matrix.
[0038] xiv. wherein the system comprises an accelerometer configured to provide an acceleration vector along three orthogonal axes, and wherein the processing circuitry comprises a Kalman filter configured to: iteratively receive a range of the platform to a dipole source | |r| |, and calculate a position of the platform in the dipolereference frame rdby integrating the acceleration vector, the angular velocity vector ft) and the range.
[0039] xv. Wherein the processing circuitry is configured to compute the real-time position of the platform based on an integral-wise formulation of a magnetic-field relation, velocity, and angular-rate measurements collected over a finite time interval, the integral evaluation being configured to determine the position from cumulative measurement data.
[0040] xvi. Wherein the processing circuitry is configured to compute the position r(t) of the platform by applying the integral formulation of the magnetic-field relation over a time interval [t, t + h] in accordance with:
[0041] b(t + h) = b(t) + ∫t^(t+h) −ω × b dτ + ∫t^(t+h) M(r(τ),v)b dτ
[0042]
[0043] ■'t A where r(τ) = r(t) +
[0044]
[0045] v(s)ds, and wherein the position r(t) is extracted therefrom; wherein r(τ) can be subsequently evaluated for any τ ∈ [t, t + h].
[0046] According to a second aspect of the presently disclosed subject matter there is provided a computer implemented method of self-localization of a platform, comprising:
[0047] measuring a magnetic field vector b in three orthogonal directions using a three-axes magnetometer; measuring a linear velocity vector v along three orthogonal axes using a three-axes velocity sensor; measuring angular velocity vector ω around three orthogonal axes using a three-axes rate gyro; processing real-time measurements from the three-axes magnetometer, the three-axes velocity sensor, and the three-axes rate gyro; and computing a real-time position r of the platform based on a relationship between the magnetic field vector b, linear velocity vector v, andangular velocity vector ω without a need for measuring the magnetic gradient tensor G.
[0048] In some examples the method further comprises estimating a time derivative of magnetic field vector ḃ using a real-time differentiator; and computing the real-time position r of the platform based on a relationship between the measured magnetic field vector b, measured linear velocity v, measured angular velocity vector ω and the time derivative of magnetic field values ḃ.
[0049] According to a third aspect of the presently disclosed subject matter there is provided a non-transitory computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the method according to the second aspect. The non-transitory computer-readable medium may be incorporated into the circuitry of various platforms, where execution of the stored instructions enables a magnetic-based navigation aid.
[0050] According to a fourth aspect of the presently disclosed subject matter there is provided a platform (e.g., UAV or missile) carrying the system according to the first aspect to enable self-localization of the platform.
[0051] The method, the non-transitory program storage device, and platform disclosed above, can optionally comprise one or more of features (i) to (xvi) listed above, mutatis mutandis, in any technically possible combination or permutation.
[0052] BRIEF DESCRIPTION OF THE DRAWINGS
[0053] In order to understand the presently disclosed subject matter and to see how it may be carried out in practice, the subject matter will now be described, by way of non-limiting examples only, with reference to the accompanying drawings, in which:
[0054] FIG. 1A is a block diagram illustration of a self-localization system, according to an example of the presently disclosed subject matter;
[0055] FIG. IB schematically illustrates a platform with an onboard navigation computer connected to system 100, according to an example of the presently disclosed subject matter;
[0056] Fig. 2 is a flowchart of operations carried out during the self-localizationprocedure using differential-wise formulation, according to an example of the presently disclosed subject matter;
[0057] Fig. 2A is a flowchart of operations carried out during the self-localization procedure using integral-wise formulation, according to an example of the presently disclosed subject matter;
[0058] Fig. 3 is a flowchart of operations carried out during the self-localization procedure, where G is locally approximately constant, according to an example of the presently disclosed subject matter; and
[0059] Fig. 4 illustrates an example of system 100 with tight-coupling configuration.
[0060] DETAILED DESCRIPTION
[0061] In the following description, within mathematical expressions, bold characters denote vectors, while non-bold characters represent scalars and capital characters denote matrices.
[0062] The magnetic field, observed by a moving platform, generated by a magnetic dipole, exhibits a known relationship, as expressed by:
[0063] ḃ = —ω × b + G · v
[0064] where:
[0065] ḃ is the time derivative of the measured magnetic field;
[0066] b is the magnetic field, measured in three axes;
[0067] ω is the angular velocity of the body, measured in three-axes;
[0068] v is the linear velocity, measured in three axes; and
[0069] G is the magnetic gradient tensor, which is a 3x3 matrix describing the spatial variations of the magnetic field.
[0070] This equation describes how the magnetic field, observed by a body, changes over time, due to both its rotational motion —a) X b and its translational motion G ■ v through the magnetic field. The term G ■ v captures the effect of the spatial gradient of the magnetic field on the observed changes.However, the direct measurement of G is challenging. It may continuously change and requires complex setups, such as additional gradiometers.
[0071] By utilizing the relation between the navigator's location, the magnetic dipole moment, and the measured magnetic field, the dependency on G can be eliminated by transforming the relationship into a computable function that does not require the explicit measurement of the magnetic gradient tensor. Specifically, the inventor found that the term G ■ v can be replaced by a derived function M(r,v)b, where M(r,v) encapsulates the effects of the magnetic gradient tensor in terms of the relative position r of the platform projected on the body reference frame (coordinate system) to the magnetic dipole and the linear velocity v.
[0072] Using this transformation, the equation is reformulated as:
[0073] ḃ = —ω × b + M(r,v)b
[0074] wherein, M(r,v) is a matrix-valued function derived from the characteristics of the magnetic dipole and the platform's position and velocity.
[0075] This reformulation eliminates the need to directly measure G, significantly simplifying the computation, while maintaining the ability to accurately determine the relative position r.
[0076] This approach provides a robust and efficient method for real-time selflocalization of a platform relative to a magnetic dipole, even in environments where G cannot be assumed to be locally approximately constant or cannot be directly measured. It reduces sensor complexity and computational requirements, expanding the applicability of magnetic-based localization systems.
[0077] Attention is now drawn to Fig. 1A, which illustrates a schematic block diagram of a magnetic-based self-positioning system 100, in accordance with examples of the presently disclosed subject matter. Fig. 1A is provided for illustrative purposes only, and the specific configuration depicted should not be construed as limiting.
[0078] The magnetic-based self-positioning system 100 is designed to determine the position of a platform in real-time. As used herein, the term "platform" broadly refers to any body, device, structure, or vehicle carrying the system 100, such as an airbornevehicle (e.g., missile, aircraft, drone), a ground vehicle, or a marine vehicle (e.g., ship, boat, submarine). The system operates based on a defined body axis of the platform, with its components aligned or referenced to this axis.
[0079] The system includes the following key components:
[0080] A 3-axes magnetometer (101) configured to measure the magnetic field b(t) in three orthogonal directions. The magnetometer is aligned to the body axis ("body aligned") of the platform.
[0081] A 3-axes rate gyro (103) configured to measure angular velocity around three orthogonal axes. The rate gyro is also aligned to the body axis of the platform and provides real-time angular rate measurements.
[0082] A 3-axes velocity sensor (105) configured to measure linear velocity along three orthogonal axes. Unlike the magnetometer and rate gyro, the velocity sensor is external to these components and may be aligned with the body axes or referenced via a transformation matrix. The velocity sensor can be implemented using various devices, including for example a Doppler Velocity Log (DVL) or a GPS receiver to provide velocity data (e.g., assuming position data is unavailable).
[0083] The processing circuitry (110) is configured to receive real-time measurements from the magnetometer, rate gyro, and velocity sensor, and calculate the position of the platform. In some configurations, the processing circuitry is configured to execute functional modules based on computer-readable instructions stored in a non-transitory memory device. The functional modules include, for example:
[0084] Differentiator (107) configured to calculate the real-time derivative (or substantially real-time derivative, referring to differentiation that can be considered in real-time for practical purposes) of the magnetic field measurements received from the magnetometer (101); and localization unit (109) configured to use the magnetic field values, their derivatives, angular velocity values, and linear velocity values to compute the real-time location of the platform relative to the magnetic dipole.
[0085] In operation, the differentiator 107 processes the magnetic field measurements received from the magnetometer to compute the magnetic field timederivatives. These derivatives, together with the magnetic field values, angular velocity measurements, and linear velocity measurements, are input into the localization unit (109) which then determines the position r of the platform in real time, based on these inputs. The position output can then be provided to a client. As schematically illustrated in Fig. IB, a client can be, by way of example, an onboard navigation computer 115 dedicated to navigating the platform 120 to a desired destination. A more detailed explanation of the calculation of r by the processing circuitry is disclosed below.
[0086] The position r is determined relative to the dipole of a magnetic field source. This relative positioning framework leverages the characteristics of the magnetic field generated by the source to localize the body within the magnetic reference frame.
[0087] It is further noted that, as described in greater detail below, alternative computational techniques not involving differentiation may be utilized for determining the position of the platform r. Accordingly, the differentiator (107) may be omitted from the system configuration or rendered inactive during operation, and is therefore to be considered an optional component, depending on the particular implementation.
[0088] Fig. 2 is a flowchart showing an example of operations carried out during position determination. For ease of understanding, operations in Fig. 2 are described with reference to elements shown in Fig. 1.
[0089] The following process, which involves estimation of the time derivative of the magnetic field i>(t), is suitable for determining r even when the magnetic gradient tensor G cannot be assumed to be locally approximately constant.
[0090] At block 201, magnetic field measurements vector b(t) along three orthogonal axes are obtained from 3-axes magnetometers (101). At block 203, linear velocity measurements in three axes are obtained from a 3-axes velocity sensor (105). In case the velocity sensor is not aligned with the body axis, an appropriate transformation matrix is used for transforming the measured values to the body axis. At block 205, angular velocity measurements in three axes are obtained using a 3-axes rate gyro (103). Notably, all three measurements are performed continuously and concurrently.The following operation can be performed, for example, by processing circuitry 110 in system 100, e.g., by localization unit 109. At block 207, the system applies realtime differentiation to estimate the time derivative of the magnetic field £>(t). This can be done, for example, by differentiator (107), which is configured to calculate the derivative of the magnetic field measurements received from the magnetometer (101).
[0091] This differentiation process is applied independently to each axis of the measured magnetic field vector £>(t) = [bx(t), by(t), hz(t)] which represents the magnetic field components along three orthogonal axes. This gives the derivatives £>(t) = [bx(t), by(t), iz(t)] in real-time.
[0092] As would be appreciated by the skilled person, there are many different mathematical techniques that can be used for differentiation, including finite difference methods, polynomial fitting, least squares fitting, and sliding-mode differentiators, among others. The selection of a preferred method can be made based on factors such as the computational requirements, noise characteristics of the input data, and the desired accuracy of the derivative estimation.
[0093] For the sake of example and completeness of the description, one such method is demonstrated in more detail below. This example outlines the implementation of a first-order differentiator, which provides a robust and computationally efficient approach for estimating the time derivative of the magnetic field.
[0094] According to this approach, the real-time differentiator is implemented using a system of differential equations written in vector notation as follows:
[0095] z
[0096]
[0097] 0= -AiL^lzo - b\2 - sign(z0- b) + zt
[0098] zt= — A0L • sign(z0- b)
[0099] where z0and z1are state variables (3D vectors) initialized to zero at t = 0, L is a tuning parameter, and
[0100]
[0101] and Aoare constants (e.g., Ao= 1.1,
[0102] = 1.5). Over a finite-time interval, the parameter z1converges to h, the time derivative of the magnetic field.
[0103] This system is numerically realized using an explicit Euler method, where thevalues of z0and z are updated at each discrete time step dt. The algorithm proceeds as follows:
[0104] 1. Initialization:
[0105] o Set the time step size dt and parameters L, Aoand A- o Initialize z0and z1to zero or other suitable initial values.
[0106] 2. Time-Stepping Loop:
[0107] ( i i
[0108] o For each time step: z0= z0+ dt • ( — X1L2\z0— b\z ■ sign(z0— £>) +
[0109]
[0110] z
[0111] o z
[0112]
[0113] 1= z1+ dt • (— A0L • sign(z0— £>))
[0114] By applying this method independently for bx, byand bzthe system estimates the magnetic field derivative z1« h = [bx, by, bzin real-time.
[0115] At block 209 the measured and derived quantities (b,b,a),v) are applied to formulate the relations defining the dependence between r and the measured quantities: z1= — < x b + M(r,v)b
[0116] The processing circuitry (110) uses the magnetic field values (obtained directly from magnetometer 101), their derivatives, angular velocity values, and linear velocity values to formulate the equation above.
[0117] This equation forms the basis for subsequent computation of the position r. As explained above, M(r,v) is a matrix-valued function representing the interaction between the platform's position and velocity relative to the magnetic field source.
[0118] Finally, at block 211, the system applies a method to solve the formulated relation for r in real-time. Notably, this calculation provides r in body frame. The transformation of r to dipole frame is described below.
[0119] The positioning output can then be provided to a client, e.g., an onboard navigation computer dedicated to navigating the platform to a desired destination. To transform this relative position into a global reference frame, additional referencetransformations or alignment with an external model may be applied (e.g., by a navigation computer).
[0120] As would be appreciated by the skilled person, there are many different mathematical techniques that can be used to solve for r. For the sake of completeness of the description and in a non-limiting manner, one example is described herein in more detail.
[0121] According to one example, the equation for the time derivative of the magnetic field is reformulated as a root-finding problem, wherein the objective is to determine the value of r that satisfies the condition f(r) = 0. The function f(r) is expressed as:
[0122] f(r) = ḃ + ω × b — M(r, v)b
[0123] To solve for r, an iterative method is applied. Specifically, a scalar objective function || f(r) ||2is defined, which is minimized to find the value r that satisfies the root-finding condition.
[0124] As one non-limiting example, the minimization of || f(r) ||2can be performed using the Levenberg-Marquardt (LM) algorithm. The LM algorithm combines gradient descent and Gauss-Newton optimization to provide efficient convergence, even for non-linear problems.
[0125] 1. Jacobian Matrix Computation:
[0126] The LM algorithm requires the Jacobian matrix of f(r), denoted J(r).
[0127] First, define the matrices Mr, Mvand M7based on the general form of M„ where a e {%, y, z). Each of these matrices is given by the following expression:
[0128] 2a 3avTr 3 / 1 \
[0129] +^\~ 2vea ~e*v- V3X3J
[0130] 3
[0131] + (vTr(rel + earT) + varrT)
[0132]
[0133] where {ex, ey, ez} is the standard basis. Next, the Jacobian matrix J(r) of the function (r) is formulated as:
[0134] / (r) = — [Mxb Myb Mzb]
[0135] where Mx, My, and Mzare matrices derived from M(r,v), and b is themagnetic field vector.
[0136] 2. Iterative Process:
[0137] At each iteration k, the LM algorithm updates the position r using: rfe+i= rk- J(rk')TJ(rk') + kkI3x3')~1J(rk')Tf(rk')
[0138] where is a dynamically adjusted damping factor.
[0139] 3. Convergence:
[0140] The process terminates when the residual norm || f(rfe) ||2falls below a predefined threshold, or the maximum number of iterations is reached.
[0141] While the Levenberg-Marquardt algorithm is presented as one example, it is emphasized that many other mathematical techniques may also be employed to solve for r. These include, but are not limited to:
[0142] Gradient Descent: Minimizing || f(r) ||2by iteratively moving in the direction of the negative gradient.
[0143] Genetic Algorithms: Applying evolutionary principles for optimization in complex search spaces.
[0144] Simulated Annealing: Exploring the solution space probabilistically to find global optima.
[0145] As would be appreciated by the skilled person, the choice of method depends on factors such as computational efficiency, noise sensitivity, and the precision required for the specific application.
[0146] By employing one of these numerical techniques, the system calculates the position r in real-time, providing it as output to a client system, such as an onboard navigation computer. This enables magnetic-based platform localization and navigation to a desired destination, without the need for the calculation or measurement of the magnetic gradient tensor G.
[0147] Offline simulation may define velocity-magnitude or direction thresholds that improve estimation accuracy, which the system may optionally monitor during operation (e.g., localization unit 109) to ensure accurate position determination.Fig. 2A is a flowchart showing an alternative process carried out during position determination, according to an example of the presently disclosed subject matter. For ease of understanding, operations in Fig. 2A are described with reference to elements shown in Fig. 1.
[0148] The process shown in Fig. 2A represents an integral-wise formulation of the magnetic-field relation and constitutes an alternative computational approach to that described with reference to Fig. 2. In this configuration, the position r of the platform is determined without explicitly differentiating the magnetic-field measurements. According to this example, differentiator (107) may optionally be omitted from the system architecture or rendered inactive.
[0149] At block 201a, magnetic-field measurements vector £>(t) along three orthogonal axes are obtained from the three-axes magnetometer (101).
[0150] At block 203a, linear-velocity measurements in three axes are obtained from the three-axes velocity sensor (105). If the velocity sensor is not aligned with the bodyreference frame, an appropriate transformation matrix is applied to align the measured velocity values with the body axes of the platform.
[0151] At block 205a, angular-velocity measurements in three axes are obtained using the three-axes rate gyro (103). All measurements— magnetic field, linear velocity, and angular velocity— are acquired continuously and concurrently.
[0152] The following operation can be performed by processing circuitry 110 in system 100, e.g., by localization unit 109. At block 207a, the system collects magnetic-field, velocity, and angular-rate measurements over a short time interval [t, t + h.].
[0153] At block 209a, the system applies the integral form of the fundamental relation b = —&) x b + M(r,v)b, expressed as:
[0154] p t+h p t+h b(t + h~) = £>(t) + I —a) x b elt + I M(r(r), v)b dr,
[0155]
[0156] Jt Jtwhere: r(r) = r(t) + f v(s)ds.
[0157] The processing circuitry (110) is configured to evaluate this equation over the time interval [t, t + h] by utilizing the measured magnetic-field, velocity, and angular-rate data.
[0158] Notably, one approach to solving the integral equations for estimating r is by utilizing the integral relation r(r) = r(t) +
[0159]
[0160] v(s)ds.
[0161] A finer partition of the interval [t, t + h] can be introduced. Assuming that b, a), and v are known at each discrete time instance within this interval, the objective is to determine r at time t denoted r(t). Once r(t) is obtained, r(r) can be subsequently computed for any r e [t, t + h.].
[0162] At block 211a, the processing circuitry solves the integral relation in real-time to computes the position r(t) (in body frame) of the platform. The calculated position r(Y) foranyT e [t, t + h] can then be provided to a client, such as an onboard navigation computer (115), for guiding the platform (120) toward the desired destination.
[0163] A viable solution may be achieved by performing maneuvers by the platform to obtain different velocities. For example, the system (e.g., localization unit 109) may apply one or more predefined variability thresholds, determined during offline simulation, to assess when sufficient velocity variation has been achieved to ensure a sufficiently accurate position solution.
[0164] This integral-wise formulation serves as an alternative to the differentiationbased method of Fig. 2. The integral approach enables accurate and stable position estimation without requiring explicit derivative computation and is particularly advantageous in implementations where differentiation of the magnetic-field data is undesirable due to noise or computational constraints.
[0165] As explained above M(r,v)b replaces G ■ v. The following is an explanation demonstrating how M(r, v)b is derived.
[0166] Let G represent the matrix of partial derivatives of the vector-valued function b( ). The matrix G can then be expressed in the following form:G(r, m) = — ynTrI3x3+ rmT+ mrT— 5 rrTj
[0167]
[0168] m is the magnetic dipole moment;
[0169] r is the relative position vector projected onto the body reference frame; r =|| r || is the magnitude of r; and
[0170] / 3x3is the identity matrix.
[0171] This tensor matrix represents the spatial variation of the magnetic field in terms of its derivatives.
[0172] To simplify computations and avoid direct use of G, a matrix-valued function W(x,y) is defined as:
[0173] 3 / yTx \
[0174] W(x, y) = — yTxI3x3+ xyT+ yxT- 5 xxT
[0175]
[0176] For specific inputs x = r and y = m, the relationship! V(, y) = G(r, m) holds.
[0177] For other inputs x = r and y = v giving:
[0178] W(r, v) = — I vTrI3x3+ rvT+ vrT— 5 — — rrT
[0179]
[0180] it is deduced that
[0181] G(r,m) ■ v = W(r,v)m
[0182] The magnetic field h(r) is expressed in terms of (r), a matrix derived from the magnetic potential scalar function:
[0183] 1
[0184] h(r) = — A(r)m
[0185]
[0186] where:
[0187] A(r) = -r2I3x3+ 3rrr
[0188] The inverse of (r) is:
[0189] A X(r) = i (~2r2 / 3x3 + 3rrTThe introduction of A( ) and its inverse enables to absorb the dependency on m (magnetic moment) into the measurable quantities of b.
[0190] Combining this with W(r,v), with the term G(r,m) - v can now be reformulated as:
[0191] G(r, ni) • v = r5W(r, v)A1(r)b
[0192] To simplify further, M(r,v) is introduced as:
[0193] M(r,v) = r5W(r,v)A~1(r)
[0194] This substitution leads to the final equation:
[0195] b = — < x b + M(r, v)b
[0196] The explicit form of M(r, v) is given by:
[0197] 3 ( vrTv^r \
[0198] M(r, v) = — I — - rvT+ — rrT- (vTr)I3x3I
[0199]
[0200] The derived M(r,v) encapsulates the effects of G, allowing position r to be determined iteratively, without measuring G directly.
[0201] Turning to Fig. 3, it is a flowchart illustrating an example of the operational steps carried out during a self-localization procedure under the condition that G (the magnetic gradient tensor) is locally approximately constant, in accordance with the presently disclosed subject matter. It is noted that the phrase "locally approximately constant" which is made herein with reference to matrix G, is used to denote that G varies slowly only when represented in the Dipole frame (the basis defined by the Dipole axes) denoted by Gd. For example, in case the magnetic dipole is Earth's magnetic field, G may be considered locally approximately constant. This is the case, for example, where the region of interest is small compared to Earth's radius, and is free from significant local magnetic anomalies, for example where the platform is sufficiently distanced from Earth.
[0202] This procedure enables accurate determination of the platform's position r without requiring explicit differentiation of the magnetic field vector b, therebysimplifying system design and computation.
[0203] It is noted that although as explained above the approach disclosed herein does not require measuring the magnetic gradient tensor G with dedicated hardware, the example according to FIG. 3 employs estimation of G algorithmically from b, v, and ft) when G can be assumed locally approximately constant. Such estimation is performed numerically and does not involve any explicit measurement of G (e.g., by using gradiometers).
[0204] For the locally approximately constant G scenario, the system 100 can operate without differentiator 107. It is noted that while not required, the system 100 can still utilize the differentiator 107 and directly solve for r as in the case of locally approximately constant G, if it is desired. The magnetic field values measured by the magnetometer 101 are transmitted directly to the localization unit 109, either via an alternative path (bus 113) that circumvents the differentiator, or in a system design, where differentiator 107 is omitted entirely. The former design enables the system to operate in at least two modes: one for non-constant G (requiring differentiation) and another for locally approximately constant G, as described herein. For each calculation method, the localization unit 109 can selectively apply an appropriate algorithm. To illustrate this, localization unit 109 shows two sperate module, locally approximately constant G and non-constant G. In other examples of system design, only one of the two modules may be present.
[0205] At block 301, magnetic field measurements vector b(t) along three orthogonal axes are obtained from 3-axes magnetometers (101). These measurements provide real-time magnetic field components aligned with the platform's body axes, forming the basis for further computations.
[0206] At block 303, linear velocity measurements in three axes are obtained from a 3-axes velocity sensor (105). If the three-axes velocity sensor's reference frame is not aligned with the platform's body axes, an appropriate transformation matrix is applied to align the measured velocities to the body frame of reference.
[0207] At block 305, angular velocity measurements in three axes are obtained using a 3-axes rate gyro (103). The rate gyro provides angular velocity ft) in the platform'sbody frame. These measurements account for the rotational effects of the platform's motion on the magnetic field vector. Notably, all measurements - magnetic field b, linear velocity v, and angular velocity a) - are performed continuously and concurrently. This ensures real-time data collection and reduces latency in subsequent computations.
[0208] The following operation can be performed by processing circuitry 110 in system 100, e.g., by localization unit 109. At block 307, the system collects the magnetic field b, linear velocity v, and angular velocity a) measurements from blocks 301, 303, and 305. To ensure solvability of equations for determining G and consequently r, sufficient variability in the platform's motion is needed. This variability can involve changes to the velocity vector v.
[0209] As mentioned above with respect to Fig. 2A, a viable solution may be achieved by performing maneuvers by the platform to obtain different velocities, while the system determines when the velocity is viable by applying predefined thresholds derived from offline simulation. At block 309, following collection of velocity measurements with sufficient variability, the system constructs equations that describe the evolution of the magnetic field vector b based on the measured data (magnetic field b(t), linear velocity v, and angular velocity co). The equations relate the rotational effects (captured by co) and translational effects (captured by v) to the platform's relative position rd.
[0210] One example of such an equation is the integral form:
[0211] b
[0212]
[0213] (t + h) = £>(t) + f*+h(—a) x b) dr + £+hc%Gdcdv dr
[0214] where is the Direction Cosine Matrix (DCM) between the Dipole and the Body frames.
[0215] At block 311 the system estimates the Magnetic Gradient Tensor Gdusing the equations formed in the previous step (block 309). Since Gdis a symmetric, trace-free matrix (with 5 independent components), sufficient variability in v ensures that the system has enough equations to solve for Gd.
[0216] Method similar to those described above with reference to fig. 2 can be appliedfor solving the equation, e.g., using Levenberg Marquart algorithm.
[0217] Once Gdis estimated, the platform's position rdis computed (block 313). This is done by solving the relationship between Gdand rd, which involves the spatial derivatives of the magnetic field and the magnetic field measurement b.
[0218] Mathematical methods that can be used for solving rdfrom Gdinclude, for example, Fraham (C. P. Frahm. Inversion of the magnetic field gradient equations for a magnetic dipole field. Naval Coastal Systems Laboratory Informal Report NCSL, pages 135–72, Nov 1972) or Nara (T. Nara, S. Suzuki, and S. Ando. A closed-form formula for magnetic dipole localization by measurement of its magnetic field and spatial gradients. IEEE Transactions on Magnetics, 42(10):3291–3293, 2006), which are well-known in the art.
[0219] As mentioned above, the position output rdcan be provided to a client, e.g., an onboard navigation computer dedicated for navigating the platform to a desired destination.
[0220] In the previous case, i.e. where G cannot be considered locally approximately constant, once the position vector projected onto the body reference frame r has been obtained, it can be utilized to determine the position of the body relative to the dipole projected onto the dipole reference frame. It can be noted that r is expressed in the body-reference frame, which corresponds to the axes of the platform (body) where the sensor (system 100) is mounted. For navigation purposes, such as guiding the platform, r is transformed into rd, the position vector of the body relative to the dipole in the dipole-reference frame. This transformation accounts for the platform's orientation and movement over time, ensuring that the positional data can be effectively employed for accurate navigation of the platform in the dipole's reference frame.
[0221] According to one example, system 100 is configured to apply a Direction Cosine Matrix (DCM) to transform r from the body-reference frame to the dipole-reference frame. The DCM represents the orientation of the body relative to the dipole and allows for the direct rotation of the position vector into the dipole reference frame. In this configuration, processing circuitry 110 can apply the DCM (implemented forexample as part of localization unit 109) to calculate rd, representing the position vector in the dipole-reference frame.
[0222] Given that the dipole's position and orientation relative to Earth is known, calculating the position relative to the dipole directly determines the position of the body relative to Earth.
[0223] In some examples, system 100 is configured to determine only the distance between the body and the dipole. This is achieved by calculating the norm (magnitude) of the position vector r, expressed in the body-reference frame, based on magnetic field measurements. Specifically, the magnetic field data is processed to compute the relative position vector r as previously described, and the distance is obtained as the norm of this vector:
[0224] |
[0225]
[0226] ‖r‖ = √x2+ y2+ z2
[0227] As this calculation focuses solely on the distance, it does not involve transforming r into the dipole-reference frame. Accordingly, the orientation of the body relative to the dipole is not required for calculating r.
[0228] In other examples, calculation of the distance based on magnetic field measurements can be harnessed for performing more complex localization tasks. For instance, the distance measurements may be integrated with other sensor data to estimate the position of the body relative to the dipole over time. Fig. 4 illustrates such a configuration, where processing circuitry 110 in system 100 is configured to process distance measurements, velocity, and angular rate inputs in a tight-coupling configuration using a Kalman Filter 113.
[0229] The Kalman Filter is initialized with estimates of the body's position, velocity, and angular state, along with associated covariance matrices. The Kalman filter is also provided with the known location of the dipole relative to the Earth, or, in some cases, relative to a local reference frame.
[0230] In this tight-coupling configuration, the Kalman Filter integrates data from multiple sensors and performs periodic updates using distance measurements to the dipole, derived from magnetic field measurements (received for example fromlocalization unit 109) as described above.
[0231] These updates leverage distance estimations derived from magnetic field data provided by the 3-axes magnetometer (101). These measurements are processed to compute the position vector rd(t) of the body relative to the dipole, expressed in the dipole-reference frame. The Kalman Filter integrates these distance estimations, angular velocity measurements from the 3-axes rate gyro (103), and acceleration measurements obtained from 3-axis accelerometer (111) to determine the position estimate rd(t). In some examples, velocity measurements from the 3-axes velocity sensor (105) are also provided to the Kalman Filter.
[0232] The Kalman Filter operates in a tight-coupling configuration, processing these diverse sensor inputs cohesively. By incorporating measurements taken from varying relative positions between the body and the dipole, the Kalman Filter accumulates geometric diversity, enabling it to determine the position estimate rd(t).
[0233] System 100, as illustrated in Fig.4, offers flexibility by supporting both distance-only applications and advanced localization tasks. For distance-only applications, the system efficiently determines position without orientation or acceleration data. For more complex localization tasks, it combines distance measurements from magnetic field data with acceleration, to achieve position estimation.
[0234] Furthermore, to support different operational conditions, system 100 can operate in two configurations. One configuration employs a DCM for efficient, realtime computation of rd(t) when orientation data is available. The other configuration uses a Kalman Filter supplied with accelerometer output, providing continuous position estimation.
[0235] Unless specifically stated otherwise, as apparent from the above discussions, it is appreciated that, throughout the specification, discussions utilizing terms such as "measuring", "processing", "computing", "determining", "estimating", "outputing", "transforming" or the like, include an action and / or processes of a computer that manipulate and / or transform data into other data, said data represented as physical quantities, e.g. such as electronic quantities, and / or said data representing the physical objects.The terms "system", "computer", "computer system", "computer device", "computerized device" or the like used herein, should be expansively construed to include any kind of hardware-based electronic device with one or more data processing circuitries. Each processing circuitry can comprise, for example, one or more processors operatively connected to computer memory, loaded with executable instructions for executing operations, as described above.
[0236] Each processor referred to in this application may represent one or more general-purpose processing devices, such as a microprocessor or central processing unit (CPU), or special-purpose devices, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a graphics processing unit (GPU), or a digital signal processor (DSP). Similarly, memory may include internal memory (e.g., processor registers and cache) and main memory (e.g., read-only memory (ROM), flash memory, dynamic random-access memory (DRAM), or synchronous DRAM (SDRAM)).
[0237] As will be further detailed with reference to the figures above, the processing circuitry can be configured to execute several functional modules in accordance with computer-readable instructions implemented on a non-transitory computer-readable storage medium. Such functional modules are referred to hereinafter as comprised in the processing circuitry.
[0238] The equations presented herein are provided to illustrate the mathematical principles underlying the disclosed subject matter and are not intended to limit the scope of the invention to the specific forms presented. Recognizing that identical mathematical principles can be represented by alternative equations that differ in form, but convey equivalent meaning, this application contemplates all equivalent formulations of these principles.
[0239] It is appreciated that certain features of the presently disclosed subject matter, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the presently disclosed subject matter, which are, for brevity, described in the context of a single embodiment, may also be provided separately, or in any suitable sub-combination.
[0240] In embodiments of the presently disclosed subject matter, fewer, more and / or different stages than those shown in Figs. 2, 2A and 3 may be executed. In embodiments of the presently disclosed subject matter, one or more stages illustrated in the figures may be executed in a different order, and / or one or more groups of stages may be executed simultaneously.
[0241] Fig. 1A illustrates general schematics of a system architecture in accordance with certain examples of the presently disclosed subject matter. Elements in Fig. 1A can be made up of any combination of software and hardware and / or firmware that performs the functions as defined and explained herein.
[0242] Each component in Fig. 1A may represent a plurality of the particular components, which are adapted to independently and / or cooperatively operate to process various data and electrical inputs, and for enabling operations related to the system disclosed herein. In some cases, multiple instances of a component may be utilized for reasons of performance, redundancy, and / or availability. Similarly, in some cases, multiple instances of a component may be utilized for reasons of functionality or application. For example, different portions of the particular functionality may be placed in different instances of the component.
[0243] It will also be understood that the system according to the presently disclosed subject matter may be a suitably programmed computer. Likewise, the presently disclosed subject matter contemplates a computer program being readable by a computer for executing the method of the presently disclosed subject matter. The presently disclosed subject matter further contemplates a machine-readable non-transitory memory tangibly embodying a program of instructions executable by the machine for executing the method of the presently disclosed subject matter.
[0244] It is to be understood that the presently disclosed subject matter is not limited in its application to the details set forth in the description contained herein or illustrated in the drawings. The presently disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Hence, it is to be understood that the phraseology and terminology employed herein are for thepurpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for designing other structures, methods, and systems for carrying out the several purposes of the present presently disclosed subject matter.
Claims
CLAIMS:
1. A system for self-localization of a platform, the system comprising: a three-axes magnetometer configured to measure a magnetic field vector b in three orthogonal directions;a three-axes velocity sensor configured to measure a linear velocity vector v along three orthogonal axes;a three-axes rate gyro configured to measure angular velocity vector a) around three orthogonal axes;a processing circuitry configured to:process real-time measurements from the three-axes magnetometer, the three-axes velocity sensor, and the three-axes rate gyro, andcompute a real-time position r of the platform based on a relationship between the magnetic field vector b, linear velocity vector v, angular velocity vector ft) without a need for (measuring) magnetic gradient tensor G.
2. The system of claim 1, wherein the processing circuitry is configured to estimate a time derivative of magnetic field vector ḃ using a real-time differentiator; and to compute the real-time position r of the platform based on a relationship between the measured magnetic field vector b, measured linear velocity v, measured angular velocity vector ω and the time derivative of magnetic field vales ḃ.
3. The system of any one of claims 1 and 2, wherein the three-axes magnetometer is aligned with the body axes of the platform.
4. The system of any one of claims 1 to 3, wherein the three-axes rate gyro is configured to output angular velocity measurements in body axes of the platform.
5. The system of any one of claims 1 to 4, wherein the three-axes velocity sensor applies a transformation matrix to align velocity measurements with the body axes of the platform.
6. The system of claim 5, wherein the velocity sensor is a Doppler Velocity Log.
7. The system of claim 1, further comprising a navigation computer configured to utilize the computed position r for guidance of the platform.
8. The system of any one of the preceding claims, wherein the processing circuitry is configured to compute the position r using the equation:b = —a) x b + M(r,v)bwhere M(r, v) is a function representing an interaction between the platform's position and velocity relative to the magnetic field source, allowing the system to determine r without measuring the magnetic gradient tensor G.
9. The system of claim 8, wherein the processing circuitry is configured to compute the position r by iteratively minimizing the objective function || f(r) ||2, where:f(r) = ḃ + ω × b — M(r, v)b10. The system of claim 9, where M(r,v) is defined as:M(r,v^ =^(cT~rvT +^rrT~ O^Xsxs)- 11. The system of any one of claims 2 to 10, wherein the real-time differentiator uses a first-order sliding mode differentiator to estimate the time derivative of the magnetic field vector.
12. The system of any one of claims 8 to 11, wherein the processing circuitry applies a Levenberg-Marquardt algorithm to compute the position r of the platform.
13. The system of claim 1, wherein magnetic gradient tensor G is assumed to be locally approximately constant, the processing circuitry being configured for calculating rto:repeatedly obtain measurements of the magnetic field vector b, the linear velocity vector v, and the angular velocity vector co, wherein each set of measurements corresponds to a different linear velocity v,form multiple equations derived from the relationshipḃ = —ω × b + Gvandcompute G of the platform based on the estimated relationship; andcomputer position r using G.
14. The system of claim 13, wherein G is assumed to be a symmetric, trace-free matrix.
15. The system of any one of the preceding claims, wherein the platform is any one of a ground vehicle; an aerial vehicle; and a marine vehicle.
16. The system of any one of the preceding claims, wherein the processing circuitry is configured to translate the position r of the platform from body-reference frame to dipole reference-frame.
17. The system of claim 16, wherein the processing circuitry is configured for translating the position r of the platform from body-reference frame to dipolereference frame to apply a DCM.
18. The system of claim 16 further comprising an accelerometer configured to provide an acceleration vector along three orthogonal axes, and wherein the processing circuitry comprises a Kalman Filter configured to: iteratively receive a range of the platform to a dipole source | |r| |, and calculate a position of the platform in the dipole-reference frame rdby integrating the acceleration vector, the angular velocity vector ft) and the range.
19. The system of any one of the preceding claims, wherein the processing circuitry is configured to compute the real-time position of the platform based on an integral-wise formulation of a magnetic-field relation, velocity, and angular-rate measurements collected over a finite time interval, the integral evaluation being configured to determine the position from cumulative measurement data.
20. The system of claim 19, wherein the processing circuitry is configured to compute the position r(t) of the platform by applying the integral formulation of the magnetic-field relation over a time interval [t, t + h] in accordance with:b(t + h) = b(t) + I —(i) X b dr + M(r(r),v)bdTJt Jt where r(τ) = r(t) + JTv(s)ds, and wherein the position r(t) is extractedtherefrom; wherein r(r) can be subsequently evaluated for any r e [t, t + h], 21. A computer-implemented method of self-localization of a platform, comprising:measuring a magnetic field vector b in three orthogonal directions using a three-axes magnetometer;measuring a linear velocity vector v along three orthogonal axes using a three-axes velocity sensor;measuring angular velocity vector a) around three orthogonal axes using a three-axes rate gyro;processing real-time measurements from the three-axes magnetometer, the three-axes velocity sensor, and the three-axes rate gyro; andcomputing a real-time position r of the platform based on a relationship between the magnetic field vector b, linear velocity vector v, and angular velocity vector ft) without a need for (measuring) magnetic gradient tensor G.
22. The method of claim 21 comprising: estimating a time derivative of magnetic field vector h using a real-time differentiator; and computing the real-time position r of the platform based on a relationship between the measured magnetic field vector b, measured linear velocity v, measured angular velocity vector ω and the time derivative of magnetic field vales ḃ.
23. The method of any one of claims 21 and 22, wherein the three-axes magnetometer is aligned with the body axes of the platform.
24. The method of any one of claims 21 to 23, wherein the three-axes rate gyro is configured to output angular velocity measurements in body axes of the platform.
25. The method of any one of claims 21 to 24, applying a transformation matrix to align velocity measurements with the body axes of the platform.
26. The method of claim 25, wherein the velocity sensor is a Doppler Velocity Log.
27. The method of claim 21 comprising providing the computed position r to a navigation computer to facilitate guidance of the platform.
28. The method of any one of claims 21 to 27 wherein computing of the position r is done by applying the equation:ḃ = −ω × b + M(r,v)bwhere M(r, v) is a function representing an interaction between the platform's position and velocity relative to the magnetic field source, allowing the system to determine r without measuring the magnetic gradient tensor G.
29. The method of claim 28 wherein computing the position r includes iteratively minimizing the objective function || f(r) ||2, where:f(r) = ḃ + ω × b — M(r, v)b30. The method of claim 27, where M(r,v) is defined as:M(r,v) = 3 / r²(vrT / 2 − rvT+ vTr / 2r² rrT− (vTr)I₃ₓ₃)31. The method of any one of claims 22 to 30 wherein using the real-time differentiator includes applying a first-order sliding mode differentiator to estimate the time derivative of the magnetic field vector.
32. The method of claim 21, wherein magnetic gradient tensor G is assumed to be locally approximately constant, the method comprising, for calculating rto:repeatedly obtaining measurements of the magnetic field vector b, the linear velocity vector v, and the angular velocity vector co, wherein each set of measurements corresponds to a different linear velocity v and / or angular velocity co;forming multiple equations derived from the relationshipḃ = —ω × b + Gv;andcomputing the position G of the platform based on the estimated relationship; and computing r using G.
33. The method of any one of claims 21 to 32, wherein the platform is any one of a ground vehicle; an aerial vehicle; and a marine vehicle.
34. The method of any one of claims 21 to 33 comprising translating the position r of the platform from body-reference frame to dipole reference-frame.
35. The method of claim 34 wherein translating of the position r of the platform from body-reference frame to dipole-reference frame comprising applying a Direction Cosine Matrix.
36. The method of claim 35 comprising receiving an acceleration vector along three orthogonal axes and using a Kalman Filter for iteratively receiving a range of the platform to a dipole source | |r||, and calculating a position of the platform in the dipole-reference frame rdby integrating the acceleration vector, the angular velocity vector a) and the range.
37. The method of any one of the preceding claims comprising: computing the real-time position of the platform based on an integral-wise formulation of a magnetic-field relation, velocity, and angular-rate measurements collected over a finite time interval, the integral evaluation being configured to determine the position from cumulative measurement data.
38. The method of claim 37, wherein computing the real-time position r(t) of the platform comprises applying the integral formulation of the magnetic-field relation over a time interval [t, t + h] in accordance with:p t+h p t+h b(t + h) = b(t) + I —M X bdr + M(r(r),v)b drJt Jt where r(τ) = r(t) + v(s)ds, and wherein the position r(t) is extracted therefrom; wherein r(τ) can be subsequently evaluated for any τ ∈ [t, t + h].
39. A non-transitory computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform a method of selflocalization of a platform, the method comprising:measuring a magnetic field vector b in three orthogonal directions using a three-axes magnetometer;measuring a linear velocity vector v along three orthogonal axes using a three-axes velocity sensor;measuring angular velocity vector a) around three orthogonal axes using a three-axes rate gyro;processing real-time measurements from the three-axes magnetometer, the three-axes velocity sensor, and the three-axes rate gyro; andcomputing a real-time position r of the platform based on a relationship between the magnetic field vector b, linear velocity vector v, and angular velocity vector ω, without a need for (measuring) magnetic gradient tensor G.
40. The non-transitory computer readable medium of claim 39 wherein the method comprises estimating a time derivative of magnetic field vector ḃ using a realtime differentiator; and computing the real-time position r of the platform based on a relationship between the measured magnetic field vector b, measured linear velocity v, measured angular velocity vector ω and the time derivative of magnetic field vales ḃ.
41. The non-transitory computer readable medium of claim 40 wherein the method comprises operations according to any one of claims 22 to 38.
42. A platform comprising a system for self-localization according to any one of claims 1 to 20.