Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
SMART CALIBRATION OF EXCAVATORS AN ESGI54 PROJECT FROM MIKROFYN Abstract. Excavators dig holes. But where is the bucket? The purpose of this report is to treat different aspects of excavator calibration encountered on the construction site in some detail. Four problems are considered - all related to the question of how to determine the position of excavator and/or bucket. 1. Participants secParticip • • • • • • • • • • secTODO Lars Overgaard, Mikrofyn - [email protected] Marie Bro, Dept. of Math. DTU - [email protected] Mikael S. Hansen, Dept. of Math. DTU - [email protected] Steen Markvorsen, Dept. of Math. DTU - [email protected] David Spence Dept. of Math. DTU - [email protected] Mathias Stolpe, Dept. of Math. DTU - [email protected] Katja Skaanning, Inst. Math. Sci. KU - [email protected] Kasper Døring, MIP, SDU - [email protected] Lars-Peter Ellekilde, MIP, SDU - [email protected] Dorthe Sølvason, MIP, SDU - [email protected] 2. Date/Who/Comments/Revisions/Todos (4) 25.08.05 (Dorthe and Steen): Notation conc. matrices and parameters in problem A has been decided as below. New reference [1] added to reference list and homepage. (5) 28.08.05 (Mikael): Added to problem A, section on Magnetic compass calibration, magnetic fields model and appendices on magnetic fields models. Reconstructed references as a BibTeX file. This file is now in the REFERENCES file at the home page site and called Calib.bib . Figure (softhardeffects.pstex t , softhardeffects.pstex) included and files added into FIGURES. Package colors and new commands for controlling appendices added into heading. (6) 30.08.05 (Steen): To determine the Earths magnetic field assuming no extra error terms: Keep h fixed at 0 and let r and p vary as much as possible. Next, given the Earths magnetic coordinates from this setting, then the value of h in any other orientation is determined from 3 trigonometric equations, much as in problem D. The general strategy (with soft and hard iron 1 2 ESGI54 effects added) is similar. The attack continues. (7) 31.08.05 (Steen): The famous (figure of speech) ellipsoid seems to be only a shadow of the real general problem? See equation (4.11) and subsection 4.3.3. (8) next comment, input, ... (9) next comment, input, ... 3. Introduction secIntro 4. Problem A: Magnetic Compass Calibration secA In this section we consider the question of how to determine the heading h of a rotating object E given pitch p, roll r and (distorted) components of Earths magnetic field in a magnetic compass frame situated on E . This is a ”classical” problem in the context of navigation systems [2, 1] encountered in many different fields e.g. aviation [3, 4, 5], robotics [6], and space engineering [7]. 4.1. Magnetic fields model. [Mikael] To a good approximation the direction of Earths magnetic field BE only depends on the latitude which can be used to determine the orientation of an object. Assuming that E is free to move in all three dimensions BE will induce a sphere of radius kBE k centered at origo in the compass coordinate system. However, there are two local effects distorting the field components measured by a magnetic compass known as hard and soft iron effects in the navigation systems literature. Both are properties of ferromagnetic materials and are collectively known as ferrous effects. 4.1.1. Hard iron effects. In ferromagnetic materials the constituent atoms each have a magnetic moment and quantum mechanical interactions between electrons give rise to an alignment of these moments. This permanent magnetization is the hard iron effect resulting in a translation (4.1) Bef f = BE + δBhard , of the magnetic field measured by the compass. 4.1.2. Soft iron effects. However not all ferromagnetic materials exhibit a permanent magnetization. The quantum mechanical interactions alluded to above are of a local nature and on a larger scale dipole-dipole ESGI54 3 Bef f Bef f Bef f δBhard δBhard No perturbation Hard iron effects Hard and soft iron effects Figure 1. Due to the presence of materials with various magnetic properties a magnetic compass will on measure a distorted version of Earth’s magnetic field. This should be included in a calibration scheme to obtain a precise determination of heading. fig:softhard interactions tend to anti-align macroscopic magnetic domains1. This explains why the introduction of an external field may increase the magnetization. Material characteristics such as anisotropies introduce a directional dependency of the measured magnetic field. Taking both hard and soft iron effects together we have a distorted magnetic field (4.2) Bef f = Csof t (BE + δBhard ). as shown in Fig. 1. We assume that the materials in question have no memory i.e. we neglect hysteresis effects. In this case Csof t is simply a 3 × 3 matrix describing the angular dependency of the measured magnetic field. For more information on the physics of ferromagnets see Appendix A. 4.2. Coordinate transforms. [Dorthe] We consider coordinate systems with a fixed common origin O: (1) The World coordinate system: C1 = {O, x1 , y1 , z1 , ex1 , ey1 , ez1 } , where the z1 -axis is considered vertical, i.e. directed opposite to the force of gravity, so that the (x1 , y1 )-plane is horizontal. The x1 -axis is assumed to be directed in along a fixed direction which has been defined and set up by the surveyors on site location. This direction is NOT necessarily true North or any approximation thereof. 1Regions where the magnetic moments are aligned. 4 ESGI54 Every inclinometer which is mounted on a vertical plane and which is pointing in a given direction d is able to measure and display the angle between d and the horizontal plane, i.e. the inclinometer measures the vertical component (or rather its arcsin of its ’director’ d. (2) The magnetometer coordinate system: C2 = {O, x2 , y2 , z2 , ex2 , ey2 , ez2 } , whose origin is coinciding with the origin of the world C1 . The relation between the two systems are obtained as follows. We specify the orientation of C2 with respect to C1 : (1) Rotate by the angle r around the x1 -axis, then (2) Rotate by the angle p around the x2 -axis, and finally (3) Rotate by the angle h around the x3 -axis. Remark 4.1. It is important to note, that the value of p is directly read off from an inclinometer (first inclinometer), whereas the value of r is NOT directly an inclinometer reading. The second inclinometer reads the value: eqInclin (4.3) r̃ = arcsin(sin(r) cos(p)) . The transform between the coordinate systems C2 and C1 are thus determined by the following rotation matrices, using the the parameters r, p, and h: 1 0 0 M1 (r) = 0 cos(r) − sin(r) 0 sin(r) cos(r) cos(p) 0 − sin(p) 1 0 M2 (p) = 0 sin(p) 0 cos(p) cos(h) − sin(h) 0 M3 (h) = sin(h) cos(h) 0 0 0 1 eqTransf Then the following holds true concerning the matrices giving the resulting orientation of the magnetometer in relation to world coordinates: x2 x1 y1 = M (r, p, h) y2 , (4.4) z2 z1 where ESGI54 M (r, p, h) = M3 (h) M2 (p) M1 (r) = cos (h) cos (p) − sin (h) cos (r) − cos (h) sin (p) sin (r) sin (h) cos (p) cos (h) cos (r) − sin (h) sin (p) sin (r) sin (p) cos (p) sin (r) 5 sin (h) sin (r) − cos (h) sin (p) cos (r) − cos (h) sin (r) − sin (h) sin (p) cos (r) cos (p) cos (r) M −1 (r, p, h) = M1−1 (r) M2−1 (p) M3−1 (h) = cos (h) cos (p) sin (h) cos (p) − sin (h) cos (r) − cos (h) sin (p) sin (r) cos (h) cos (r) − sin (h) sin (p) sin (r) sin (h) sin (r) − cos (h) sin (p) cos (r) − cos (h) sin (r) − sin (h) sin (p) cos (r) sin (p) subsubsecNoPerturb eqMpure cos (p) sin (r) cos (p) cos (r) where, of course, the latter matrix is just the transpose of the former (since both of them are orthogonal matrices). subsecCombEq 4.3. Equations from combined model and transform. [Steen] We first consider the simplest possible model for determining the heading from a given measurement. Then the hard and soft iron effects are taken into account using a most general linear model for their influences. 4.3.1. The pure Sphere Case. First we consider the non-disturbed case: no hard and no soft iron, only the ambient constant magnetic field B from the Earth is present. The coordinates of this field in the coordinate system C1 are a BC1 = b c We next assume, that the magnetometer is perfect, so that it measures the exact coordinates of this vector in the magnetometer coordinate system C2 : m a bm BC2 = cm Then m a a bm = M −1 (r, p, h) b (4.5) cm c Note that for each measurement we know am , bm , cm from the magnetometer displays, and r and p from inclinometer displays. The value of r follows from both of the two inclinometer displays via equation (4.3). The unknown values here are thus h and a, b, c. The latter 3 could be measured by some other device for comparison, but we will develop a procedure to actually find the B-field as well as the heading h. For each measurement we thus have 3 equations (one for each coordinate, see below) and 4 unknowns. Among the 4 unknowns, however, 6 ESGI54 3 of them are constants, i.e. they do not vary from one measurement to the other. For each measurement the 3 equations alluded to are the following, which are directly equivalent to equation (4.5): am = cos (h) cos (p) a + sin (h) cos (p) b + sin (p) c , b eqAmA m = cos (h) (− sin (p) sin (r) a + cos (r) b) + sin (h) (− cos (r) a − sin (p) sin (r) b) (4.6) + cos (p) sin (r) c , cm = cos (h) (− sin (p) cos (r) a − sin (r) b) + sin (h) (sin (r) a − sin (p) cos (r) b) + cos (p) cos (r) c . Note that if we knew the values of a, b, and c (the constant ambient magnetic field), then we would now have (generically speaking) 3 equations to determine the heading h. Each of the equations is solved in h in a similar way as in problem D. The system is over-determined. On the other hand, suppose we let h = 0 then for this particular heading (given by some fixed reference direction on site) we get values of a, b, and c by just one reading of the magnetometer: m a a b = M (r, p, 0) bm c cm cos (p) am − sin (p) sin (r) bm − sin (p) cos (r) cm cos (r) bm − sin (r) cm = m m m sin (p) a + cos (p) sin (r) b + cos (p) cos (r) c With a constant heading 0 we may do several measurements, by varying the values of p and r. Each measurement gives rise to stabilize the determination of a, b, and c. With these values of a, b, and c we then change the heading to some unknown value h. The value of h is then determined by one or a series of measurements: With the fixed heading change first r and then p and always read off the display of corresponding values of r, p, am , bm , and cm . The value of h is then determined by any one of the 3 equations in (4.6). For N measurements at the heading h we have generically 3N equations to determine the value of h. ESGI54 7 Each one of these equations is of the following type: eqCosSin subsubsecGeneral (4.7) α cos(h) + β sin(h) = γ √ Let x = sin(h) so that cos(h) = 1 − x2 , assuming first that the heading is ’forward’, i.e. h ∈ [−π/2, π/2] with respect to the fixed direction of the x1 -axis in the World system C1 . Then p βγ ± α α2 + β 2 − γ 2 x = α2 + β 2 Again, as in problem D, generically there will be 4 solutions, 4 heading values satisfying equation (4.7). However, only one of them will be in the intersection of all sets of solutions stemming from the 3N equations. This then finishes the strategy in case of no perturbation terms in the magnetic field, i.e. the ’pure sphere case’. 4.3.2. The General Case. The strategy is much the same as above: First we determine the constants in the problem, and then for each single measurement we apply these constants to determine the heading. The constants in the general setting are: The hard iron contribution H (constant coordinates in C2 ), the constant ambient field (constant coordinates in C1 ) and the distortion matrix C (constant coordinates in C2 ). The matrix C is assumed to be highly regular, since it will usually be a perturbation of the identity matrix. But it is important to note, that unlike several of our (best) references we do NOT assume any structural simplicity (like e.g. symmetry) of this matrix. Thus our model will take care of any first order perturbation effects resulting from soft iron and scaling mismatch etc. The intermixed variables are still r, p and h. We have in total for the model: B m = C (B + H) , or equivalently the coordinate expression with respect to system C2 : eqC1 i.e. eqGeneral BCm2 = CC2 (BC2 + HC2 ) (4.8) , a κ c11 c12 c13 am −1 m c21 c22 c23 b M (r, p, h) b + λ = (4.9) m c31 c32 c33 c c µ The problem is to find the constants cij , the constants a, b, c, κ, λ, µ and eventually the variable h (for each measurement). The idea is first to tell as much about the constants without knowing h except for the zero directional case: For h = 0 we get (for each choice of r and p) 3 equations for the 15 unknown constant values. Thus we 8 ESGI54 need only (generically) 5 measurements (with h = 0) to determine the 15 constants. Once found, we insert these constants into equation (4.9) and then solve for h (as in the pure case discussed above) for all other orientations. eqGeneralINV This method does not use any ellipsoid! Nor does it use the information hidden in M −1 (r, p, h), that this coordinate shift matrix is orthogonal, so that it preserves lengths. We apply this now. If we let C −1 = D , then D is also a regular matrix being close to the identity, and we have from (4.9): m d11 d12 d13 a κ a (4.10) d21 d22 d23 bm − λ = M −1 (r, p, h) b d31 d32 d33 cm µ c Let us denote the left hand side as follows: ¤1 (dij , am , bm , cm , κ, λ, µ) ¤2 (dij , am , bm , cm , κ, λ, µ) ¤3 (dij , am , bm , cm , κ, λ, µ) , where each box ¤k , k = 1, 2, 3, is a quadratic function of the 15 variables dij , am , bm , cm , κ, λ, µ (where i = 1, 2, 3, j = 1, 2, 3). Note, however, that when inserting known measured values of am , bm , and cm , then ¤k is a linear function of the remaining 12 constant coefficients. Then independently of r, p and h we have: eqSquare subsubsecEllipsoid (4.11) ¤21 + ¤22 + ¤23 = a2 + b2 + c2 . For each measurement we only know the values of am , bm , and cm , so each measurement gives 1 equation, equation (4.11), with 15 unknown constants (note that a, b, and c are not known). In short, generically we need 15 measurements to determine the 15 constants. However, with a significantly larger number of measurements we need to fit the 15 constants so that (4.11) is optimally satisfied. This is similar to, but NOT precisely the ellipsoidal fitting problem. 4.3.3. The Ellipsoidal Shadow. To (re-)approach the general case from the point of view of ellipsoidal fitting we now express C as a product of 3 matrices, two of which, Q1 and Q2 , are orthogonal and one, Λ, which is diagonal - this is the so-called SVD decomposition of C: C = Q1 ΛQ−1 2 , so that we now have: eqCSVD (4.12) where B m = Q1 Λ Q−1 2 (B + H) λ1 0 0 Λ = 0 λ2 0 0 0 λ3 . , ESGI54 eqGeneralSVD 9 Each λi (the singular values) is the square root of an eigenvalue for the symmetric matrix CC T (where T means ’transpose’). The corresponding unit orthogonal eigenvectors of CC T are the column vectors in Q1 . The Ellipsoid now appears as follows: (4.13) m a λ1 0 0 a κ −1 bm = Q1 0 λ2 0 Q−1 M (r, p, h) b + λ 2 m c 0 0 λ3 c µ In short, the measurements are positioned on an ellipsoid with semi axes determined by λi and with an orientation determined by Q1 . Thus we may read off geometrically these 6 constants from the ellipsoid construction. The values of κ, λ, and µ cannot be directly read off from the position of the ellipsoid in C2 because this positioning involves the unknown orientation matrix Q2 . Still in short, this seems to suggest, that the geometric ellipsoid is only delivering 6 out of the 9 constants to be determined to fix C. And since the ellipsoid is the result of a fitting algorithm anyways, it seems most appropriate to attack the problem (4.11) and find the (best fit) 9 constants in C directly (together with the remaining 6 constants a, b, c, κ, λ, and µ). We therefore return now to that equation and line it up for application to the data sets: subsubsecFit 4.3.4. The Fit. 4.4. Description and pictures from on site experiments. [Katja] 4.5. Ellipsoidal data fitting. [Mathias] 4.6. Implementation on data set. [All] secB 5. Problem B: Inclinometer Calibration 5.1. Robot data and inclinometry. [Kasper and Lars-Peter] 5.2. Calibration from tip motion. [Kasper and Lars-Peter] 5.3. Sensitivity analysis. [Kasper and Lars-Peter] 10 ESGI54 5.4. Implementation on data set. [Kasper and Lars-Peter] secC 6. Problem C: Center finding from Circular GPS motion 6.1. GPS and (r,p,h) coordinates. [Marie and David] 6.2. Center finding techniques. [Marie and David] 6.3. Implementation on data set. [Marie and David] secD 7. Problem D: Distant Pitch generation via Rotation We consider a fixed (world) Cartesian coordinate system C1 = {O, x1 , y1 , z1 , ex1 , ey1 , ez1 } , where the z1 -axis is considered vertical, i.e. directed opposite to the force of gravity, so that the (x1 , y1 )-plane is horizontal. Another Cartesian coordinate system C2 is then constructed by translating and orienting the system C1 : C2 = {P, x2 , y2 , z2 , dx2 , dy2 , dz2 } . The relation between the two systems is determined partly by the translation vector, which in (C1 )−coordinates are, say: a ~ b , OP (C1 ) = c and partly by the orientation given by values of roll r, pitch p, and heading h as developed in section A. The coordinates of the following (selected two) basis vectors of system C2 with respect to system C1 are then: ∗ dx2 (C1 ) = ∗ and sin(p) ∗ dy2 (C1 ) = ∗ , sin(r) where the ∗ denote some not important (for the present task) functions of r, p, and h. (The complete transformation is given in section 4, by M (r, p, h) equation (4.4), modulo the use of parameter r. In the present section we do use r to denote the actual inclinometer display.) ESGI54 11 The resulting coordinate transformation then reads in total: x1 ∗ ∗ ∗ x2 a y1 = ∗ ∗ ∗ y2 + b . z1 sin(p) sin(r) ∗ z2 c y2 x2 z1 y1 x1 z2 Figure 2. An oriented link to a rotating device (bucket with (x2 , y2 , z2 ) system). Now rotate the bucket around the z2 -axis. What happens then to the angle between the horizontal plane and the x2 -axis (the bucket pitch) ? figRPH1 Suppose now that the coordinate system C2 is rotated the angle α around the z2 -axis of the coordinate system C2 . Then the pitch value (the angle to the horizontal (x1 , y1 )-plane) of the new resulting 1’st axis (to be named the x3 -axis below) becomes some angle θ. probPitch Problem 7.1. The problem is the inverse: For any given θ find - if possible - the values of rotation angles α which will give the pitch value θ by the above mentioned rotation. 7.1. Conditions and number of solutions. Statement 7.2. There are solutions (rotational α-values) to problem 7.1 if and only if the given value of θ satisfies: eqCond (7.1) sin2 (θ) ≤ sin2 (r) + sin2 (p) . Suppose that θ, r, and p are given values satisfying this condition. Then: For θ = 0, r = 0, and p = 0: Every value of α is a solution, α ∈ [−π, π]. For θ 6= 0 or r 6= 0 or p 6= 0: If equality occurs in the condition 12 eqSolut ESGI54 above, then there are 2 solutions; otherwise there are 4 solutions. These solutions are given by those α ∈ [−π, π] which satisfy: p sin(r) sin(θ) ± sin(p) sin2 (r) + sin2 (p) − sin2 (θ) (7.2) sin(α) = . sin2 (r) + sin2 (p) Remark 7.3. The solutions do not depend on the parameters h, a, b, c, which was (maybe?) to be expected. How to see this: The rotation by α around the z2 -axis in system C2 results in a new system: C3 = {P, x3 , y3 , z3 , wx3 , wy3 , wz3 } , which is related to system C2 via the coordinate transformation: x2 cos(α) − sin(α) 0 x3 y2 = sin(α) cos(α) 0 y3 . z2 0 0 1 z3 In total, the transformation x1 ∗ ∗ y1 = ∗ ∗ z1 sin(p) sin(r) from system C1 to system C3 is therefore: ∗ cos(α) − sin(α) 0 x3 a ∗ sin(α) cos(α) 0 y3 + b . ∗ 0 0 1 z3 c Hence the first basis vector wx3 of the system C3 has coordinates with respect to the system C1 which are obtained as the first column in the product matrix ∗ ∗ ∗ cos(α) − sin(α) 0 ∗ ∗ ∗ sin(α) cos(α) 0 sin(p) sin(r) ∗ 0 0 1 ∗ ∗ ∗ ∗ ∗ ∗ = sin(p) cos(α) + sin(r) sin(α) ∗ ∗ Thus wx3 (C1 ) ∗ ∗ = sin(p) cos(α) + sin(r) sin(α) . Since sin(θ) is, by definition of the pitch θ, the projection of wx3 on the z1 -axis, we have: eqSinCos (7.3) sin(θ) = sin(p) cos(α) + sin(r) sin(α) . √ Now let x = sin(α) so that cos(α) = ± 1 − x2 and let S = sin(θ), A1 = sin(p), and finally A2 = sin(r). Inserting these shorthand notations into equation (7.3) then gives: √ A1 (± 1 − x2 ) + A2 x = S , ESGI54 13 or equivalently: eqX (7.4) (S − A2 x)2 − A21 (1 − x2 ) = 0 , x2 (A21 + A22 ) + x (−2A2 S) + (S 2 − A21 ) = 0 , p A2 S ± A1 A21 + A22 − S 2 x = , A21 + A22 which is in accordance with equation (7.2) in the statement above. Clearly the condition in equation (7.1) is necessary for the existence of solutions because otherwise the discriminant of the second order equation would be negative. It is also sufficient, because the values of the x-solutions are numerically less than 1, so that x = sin(α) really does give α-solutions. Indeed (for ease of mind) this follows from inserting x = 1 and x = −1 into equation (7.4) and observe that the left hand side is positive in both cases. ¤ secCoda secAppendices 8. Coda and Conclusion 9. List of appendices (1) Codes for procedures ? (2) Raw data ? (3) What else ? app:magnetism Appendix A. Magnetism For a fuller treatment of this subject see any graduate textbook on classical electrodynamics e.g. [8]. The magnetic properties of materials are primarily given by the orbital angular momentum of electrons in the constituent atoms, changes in their orbital angular momentum, and their spin. Absence of both permanent spin and orbital angular momentum contributions gives rise to diamagnetism. Here an external magnetic field Bext perturbs the motions of electrons around the atomic nuclei leading to an induced field Bind opposite of Bext (Lenz’ law). When atoms have permanent magnetic moments these will tend to align with Bext leading to an increase in the effective magnetic field. This phenomenon is known as paramagnetism. However, both dia- and paramagnetism are weak effects compared to that of ferromagnetism. While the former can be understood from a classical treatment of noninteracting atoms ferromagnetism is a quantum mechanical, collective effect. 14 ESGI54 A.1. Ferromagnetism. Spin is a quantum mechanical property of elementary particle that intuitively can be understood as an internal orbital angular momentum. Electrons are fermions and according to Pauli’s exclusion principle [9] two electrons of identical spin cannot have the same position in space. It is therefore energetically favorable for two electrons two have parallel spins since this will lower the electrostatic repulsion experienced by each particle. This is known as the exchange interaction. This effect can give rise to a permanent magnetization even in the absence of an external field. In the navigation systems literature this is known as hard iron effects. To understand why not all ferromagnetic materials have a permanent magnetization we need one further concept. The exchange interaction is short-ranged and for sufficiently large regions of aligned spins the magnetic dipole-dipole interaction makes it favorable to anti-align such regions known as magnetic domains. Applying an external field will now tend to align domains. How and to what extent such an alignment actually takes place depends strongly on the characteristics - e.g. anisotropy - of the material in question. This field dependent phenomenon is known as soft iron effects. References auster02 gebre01 caruso1 caruso2 caruso3 miller04 merayo elbek97 bransden00 [1] H. U. Auster, K. H. Fornacon, E. Georgescu, K. H. Glassmeier, and U. Motschmann. Calibration of flux-gate magnetometers using relative motion. Meas. Sci. Technol., 13:1124–1131, 2002. [2] D. Gebre-Egziabher, G. Elkaim, J. D. Powell, and B. Parkinson. A non-linear, two-step estimation algorithm for calibrating solid-state strapdown magnetometers. In Proc. of the Int. Conf. on Integrated Navigation Systems, pages 290–297, May 28-30 2001. http://waas.stanford.edu/ wwu/papers/gps/PDF/demozins201.pdf. [3] M. J. Caruso and L. S. Withanawasam. Vehicle detection and compass applications using AMR magnetic sensors. http://www.ssec.honeywell.com/magnetic/datasheets/amr.pdf. [4] M. J. Caruso. Applications of magnetic sensors for low cost compass systems. http://www.ssec.honeywell.com/magnetic/datasheets/lowcost.pdf. [5] M. J. Caruso. Applications of magnetoresistive sensors in navigation systems. http://www.ssec.honeywell.com/magnetic/datasheets/sae.pdf. [6] J. Miller. Mini rover 7: Electronic compassing for mobile robotics. Circuit Cellar, 165:14–22, april 2004. [7] J. M. G. Merayo, P. Brauer, F. Primdahl, and J. R. Petersen. Absolute magnetic calibration and alignment of vector magnetometers in the earth’s magnetic field. http://server4.oersted.dtu.dk/research/CSC/publica/Papers/ESASP Acalib.PDF. [8] B. Elbek. Elektromagnetisme. Niels Bohr Institute, Copenhagen, 1997. [9] B. H. Bransden and C. J. Joachain. Quantum Mechanics. Prentice Hall, Harlow, 2 edition, 2000.