Magnetometer Realignment: Theory and Implementation



Similar documents
Unified Lecture # 4 Vectors

Lecture L3 - Vectors, Matrices and Coordinate Transformations

Solving Simultaneous Equations and Matrices

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Non-Linear Regression Samuel L. Baker

Figure 1.1 Vector A and Vector F

Vector Math Computer Graphics Scott D. Anderson

Origins of the Unusual Space Shuttle Quaternion Definition

F B = ilbsin(f), L x B because we take current i to be a positive quantity. The force FB. L and. B as shown in the Figure below.

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

Reflection and Refraction

Physics 221 Experiment 5: Magnetic Fields

10.1 Systems of Linear Equations: Substitution and Elimination

Experiment #8: Magnetic Forces

[1] Diagonal factorization

Orthogonal Projections

1 Solving LPs: The Simplex Algorithm of George Dantzig

Essential Mathematics for Computer Graphics fast

Chapter 17. Orthogonal Matrices and Symmetries of Space

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

QUADRATIC EQUATIONS EXPECTED BACKGROUND KNOWLEDGE

Determine If An Equation Represents a Function

Rotation: Moment of Inertia and Torque

TWO-DIMENSIONAL TRANSFORMATION

Physics 235 Chapter 1. Chapter 1 Matrices, Vectors, and Vector Calculus

521493S Computer Graphics. Exercise 2 & course schedule change

Magnetic Fields and Their Effects

Vectors and Scalars. AP Physics B

Linear Programming. March 14, 2014

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison

Mechanics lecture 7 Moment of a force, torque, equilibrium of a body

Temperature Scales. The metric system that we are now using includes a unit that is specific for the representation of measured temperatures.

Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi

3.2. Solving quadratic equations. Introduction. Prerequisites. Learning Outcomes. Learning Style

Lecture L6 - Intrinsic Coordinates

Part I. Basic Maths for Game Design

Handout for three day Learning Curve Workshop

6. Vectors Scott Surgent (surgent@asu.edu)

The purposes of this experiment are to test Faraday's Law qualitatively and to test Lenz's Law.

Representing Vector Fields Using Field Line Diagrams

The Math in Laser Light Math

Parallel and Perpendicular. We show a small box in one of the angles to show that the lines are perpendicular.

Geometric Camera Parameters

Elasticity. I. What is Elasticity?

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

Vector has a magnitude and a direction. Scalar has a magnitude

Section 1.1 Linear Equations: Slope and Equations of Lines

2x + y = 3. Since the second equation is precisely the same as the first equation, it is enough to find x and y satisfying the system

Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication

Map Patterns and Finding the Strike and Dip from a Mapped Outcrop of a Planar Surface

Linear Algebra Notes for Marsden and Tromba Vector Calculus

Basic Electronics Prof. Dr. Chitralekha Mahanta Department of Electronics and Communication Engineering Indian Institute of Technology, Guwahati

Cabri Geometry Application User Guide

MATHEMATICS FOR ENGINEERING BASIC ALGEBRA

Graph Theory Problems and Solutions

SIGNAL PROCESSING & SIMULATION NEWSLETTER

Experiment 5: Magnetic Fields of a Bar Magnet and of the Earth

CHAPTER 2 Estimating Probabilities

Cross product and determinants (Sect. 12.4) Two main ways to introduce the cross product

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

8.2. Solution by Inverse Matrix Method. Introduction. Prerequisites. Learning Outcomes

Trigonometric Functions and Equations

Information regarding the Lockheed F-104 Starfighter F-104 LN-3. An article published in the Zipper Magazine #48. December Theo N.M.M.

TRIGONOMETRY Compound & Double angle formulae

Number Who Chose This Maximum Amount

FORCE ON A CURRENT IN A MAGNETIC FIELD

Chapter 9. Systems of Linear Equations

The Basics of a Rotary Table with Cross Slide mounted on a Mill Table, Version 2

CHAPTER 8 FACTOR EXTRACTION BY MATRIX FACTORING TECHNIQUES. From Exploratory Factor Analysis Ledyard R Tucker and Robert C.

Let s first see how precession works in quantitative detail. The system is illustrated below: ...

Experiment 2: Conservation of Momentum

1 Review of Least Squares Solutions to Overdetermined Systems

Force on Moving Charges in a Magnetic Field

In this chapter, you will learn improvement curve concepts and their application to cost and price analysis.

PARAMETRIC MODELING. David Rosen. December By carefully laying-out datums and geometry, then constraining them with dimensions and constraints,

Experiment 7: Forces and Torques on Magnetic Dipoles

An inertial haptic interface for robotic applications

The elements used in commercial codes can be classified in two basic categories:

Data Mining: Algorithms and Applications Matrix Math Review

Solving Equations Involving Parallel and Perpendicular Lines Examples

MAG Magnetic Fields revised July 24, 2012

Performance. 13. Climbing Flight

Linear algebra and the geometry of quadratic equations. Similarity transformations and orthogonal matrices

Lecture 3: Coordinate Systems and Transformations

MGL Avionics Compass operation and calibration

Solving simultaneous equations using the inverse matrix

Question 2: How do you solve a matrix equation using the matrix inverse?

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

CONTRIBUTIONS TO THE AUTOMATIC CONTROL OF AERIAL VEHICLES

Polarization of Light

Solving Mass Balances using Matrix Algebra

Lecture 3: Finding integer solutions to systems of linear equations

Linear Programming. April 12, 2005

Solutions to Math 51 First Exam January 29, 2015

CS3220 Lecture Notes: QR factorization and orthogonal transformations

Epipolar Geometry. Readings: See Sections 10.1 and 15.6 of Forsyth and Ponce. Right Image. Left Image. e(p ) Epipolar Lines. e(q ) q R.

Biggar High School Mathematics Department. National 5 Learning Intentions & Success Criteria: Assessing My Progress

Recall the basic property of the transpose (for any A): v A t Aw = v w, v, w R n.

Measurement with Ratios

Transcription:

Magnetometer Realignment: heory and Implementation William Premerlani, Octoer 16, 011 Prolem A magnetometer that is separately mounted from its IMU partner needs to e carefully aligned with the IMU in order to operate properly. ven a slight misalignment will cause large yaw estimation errors during operation in locations that have a large vertical magnetic field component. Solution nlist the aid of the direction cosine matrix to compute and apply a realignment rotation matrix to magnetic measurements. Background First, I wish to thank Ric Kueler and Peter Hollands for motivating this exploration. Peter was the first to point out the issue during an analysis of the MatrixPilot data log from one of Ric s flights. In particular, Peter discovered a spurious report of a reversal of the direction of the earth s magnetic field, as shown in Figure 1. Figure 1 Apparent magnetic field reversal due to magnetometer misalignment Figure 1 was produced y a flight analysis program that Peter Hollands wrote. he airplane icons indicate the orientation of the aircraft as estimated y the elements of the direction cosine matrix. he lue arrows indicate the direction of the horizontal component of the magnetic field, as seen in the earth frame of reference. If everything is working correctly, the lue arrows should always point in the same direction. In this case, the indicated direction of the magnetic field flipped 180 degrees. How could this e? Magnetometer realignment - 1 - Octoer 16, 011

A closer look at the raw data revealed that as the plane rolled through the turn, the magnitude of the measured horizontal component of the magnetic field in the earth frame of reference went through zero, and then the vector reversed. With the UAVDevBoard that Ric was using, the magnetometer is mounted separately, so I suspected there might have een an alignment prolem. Ric confirmed that there might have een roll misalignment of the magnetometer. He changed the way it was mounted to assure etter alignment. During susequent flights, the issue disappeared, ut the incident generated some questions: How closely does the magnetometer need to e aligned with the IMU to get good performance? Is there any way to determine the misalignment in flight and correct for it? So, the next thing I did was some ground testing of the effects of magnetometer misalignment. he first test was done with a magnetometer that was carefully aligned with a UAVDevBoard. he results are plotted in Figure. Figure Magnetic field in earth frame versus heading with a carefully aligned magnetometer In Figure the horizontal, vertical, and the total magnetic field in the earth frame of reference are plotted against heading. Heading is represented with an 8 it value in which -18 inary indicates -180 degrees, and 17 indicates approximately 180 degrees. he plot shows little variation in the magnetic field. he next step was to delierately misalign the magnetometer and record the magnetic field measurements versus heading. he first test was done with a 6 degree tilt misalignment of the magnetometer with the IMU level. he results are shown in Figure 3. Magnetometer realignment - - Octoer 16, 011

Figure 3 Impact of a 6 degree misalignment on estimated magnetic field versus heading he next test was done with a 1 degree misalignment. he results, shown in Figure 4, were even more dramatic. he horizontal field is getting close to reversing. Figure 4 Impact of a 1 degree misalignment on estimated magnetic field versus heading Figures 3 and 4 show that a slight misalignment can cause significant prolems in magnetometer performance. hat is ecause, at my location, the vertical component of the earth s magnetic field is so much stronger than the horizontal component. Notice that in Figure the vertical component is nearly 3 times as large as the horizontal component. Also note that the testing that I did was with a level IMU. he error would e even worse for certain cominations of heading and roll angle. So, it struck me that there is an operational issue with separate mounting of IMU and magnetometer. ither the magnetometer should e carefully aligned with the IMU, or the software needs to do something aout it. It was time to look at the math. Magnetometer realignment - 3 - Octoer 16, 011

heory he math for this prolem turned out to e very challenging. If you are not interested in math, you might want to skip to the section on implementation. I discovered three different ways to solve the prolem: 1. Compare the direction of the measured magnetic field in the earth frame of reference with the actual direction.. Compare the directions of two magnetic field measurements in the ody frame of reference. 3. Compare the directions of two magnetic field measurements in the earth frame of reference. I worked out all three solutions, and then opted to implement the third one. Interested readers might want to work out solutions 1 and for themselves. he starting point is the relationship etween the magnetic measurement in the ody frame and the actual magnetic field in the earth frame, taking into account the misalignment: R B B = A R = magnetic field in earth frame = magnetic field measurement in ody frame = the transpose of the direction cosine matrix A = rotational matrix representing the effect of misalignment equation 1 he issue created y the magnetometer misalignment can e seen in the expression for the estimated magnetic field in the earth frame of reference: ˆ ˆ = R A R = estimated magnetic field in earth frame of reference equation he prolem is that the misalignment rotation matrix is etween the attitude rotation matrices. If there were no misalignment, the A matrix would e the identity matrix, and the multiplication of the other two matrices would produce the identity matrix, so the estimated field would match the actual field. But the product of the three matrices in equation is not equal to an identity matrix. Students of linear algera will recognize that the form of the product of the three rotational matrices in equation is a very special one: it represents the transformation of the rotational matrix A from the ody frame into the earth frame. In other words, the estimated earth magnetic field ecomes rotated y the misalignment, applied in the earth frame rather than the ody frame. quation completely explains figures 3 and 4. here was a tilt misalignment. In the earth frame, the magnetic field measurements appeared tilted. he apparent tilt in the earth frame is equal to the actual tilt misalignment in the ody frame, rotated from the ody frame to the earth frame. hat why the tilt in the earth frame (and the error) depends on the heading. he heading governs the transformation of the tilt from ody to earth frame of reference. Magnetometer realignment - 4 - Octoer 16, 011

Next, consider a pair of measurements: B1 = A R 1 B = A R ransform the measurements into the earth frame of reference: 1 = R = R 1 A R A R 1 Comine and rearrange the pair of equations 4 to relate the two measurements y a rotational transformation: equation 3 equation 4 = R A R R1 A R1 1 equation 5 It might seem that I am digging myself into a hole with equation 5. here are 6 rotational matrices to e multiplied, and the unknown alignment matrix appears twice! But there is some hope of solving the equation ecause of the special form of some of the factors. quation 5 says that the two measured magnetic fields, when transformed into the earth frame of reference, are related y a rotation. he rotation is not uniquely determined y the two measurements. However, we can gradually determine the alignment rotation with a series of measurements, so at this point we can use the rotational matrix that relates the two measurements with the smallest angle of rotation. Such a minimum angle rotational matrix can e computed from the cross product of two measurements such that: = equation 6 1 From equation 5 and 6, we conclude equation 7. = R equation 7 A R R1 A R1 Multiply equation 7 on the left y R transpose and on the right y R1 to arrive at equation 8. R R1 = A R R1 A equation 8 Now I am going to take advantage of a very special property of the form of the product of the matrices on the right hand side of equation 8. But efore I do that, I need to say something aout an operator called vex. Vex extracts certain information from a rotation matrix. It converts a rotational matrix into a vector representation such that: n1 vex( R) = sin( α ) n n 3 α = angle of rotation n, n 1, n 3 = components of the normalized axis vector equation 9 he vex operator is easy to implement. You take one half of the difference etween a rotation matrix and its transpose, and then transfer three particular off-diagonal elements of the result into the components of the vector. Magnetometer realignment - 5 - Octoer 16, 011

he reason I want to use the vex operator is ecause it will remove one of the factors involving the alignment matrix. It can e shown that for rotation matrices, equation 10 is an identity: vex ( A R R A ) = A vex( R ) equation 10 1 R1 I leave it to the interested reader to prove equation 10. I suspected it was true from some geometrical reasoning, it took me a while to prove it really is true. Application of the vex operator to oth sides of equation 8 yields equation 11. vex ( R R ) = A vex( R ) equation 11 1 R1 quation 11 implies several interesting things aout the relationship etween the misalignment matrix and the apparent rotation of the magnetic measurement in the earth frame of reference. First, ecause rotational matrices preserve vector magnitudes, equation 11 implies that the magnitude of the rotation vector produced y the vex operator on the left hand side of equation 11 is exactly equal to the magnitude of the rotation vector produced y the vex operator on the right hand side. In other words, inserting the error rotation etween R transpose and R1 does not change the amount of rotation implied y R transpose times R1, it only changes its direction. quation 11 also implies that the misalignment matrix transforms the vector on the right hand side of equation 11 in exactly the same way that it transforms the magnetic measurement. So all we have to do to discover the misalignment matrix is to uild a matrix that rotates the vector on the right hand side of equation 11 to the vector on the left hand side of equation 11. Both vectors in the equation can e computed y performing the indicated operations on matrices that we have or which can e easily computed, and then applying the vex operation. In other words, equation 11 implies a method for computing the misalignment matrix. Once we have the misalignment matrix, we can multiply the magnetometer measurement vectors y the transpose of the misalignment matrix to undo the effects of the misalignment: ˆ ˆ B B Aˆ = Aˆ B = realigned measurement in the ody frame = transpose of the estimate of the misalignment matrix equation 1 Some of you are shaking your head at this point and are asking, what is the implementation. Implementation Implementation is easier than it might seem. Much of it can e done y taking vector cross products. he rest is mostly matrix multiplications and the vex operator. You need to update the estimate of the realignment matrix each time a new measurement ecomes availale, and apply it to each magnetometer measurement. I found it easier to update a quaternion representation of the rotation, and then convert it to a direction cosine matrix. (A quaternion is not the same thing as the right side of Magnetometer realignment - 6 - Octoer 16, 011

equation 9, ut they are similar. he difference is a quaternion uses the sine of one half of the rotation angle. It is easy to transform either vector representation into an equivalent rotation matarix.) ach time a new magnetometer measurement is availale, perform the following steps: 1. Remove the offset vector from the measurement. (Offset compensation is a separate topic.). Convert from a quaternion vector representation of the realignment, align, to a direction cosine matrix, A, and then apply the matrix to the measurement vector to realign it. 3. Use the realigned measurement for whatever other calculations require a magnetic field vector. 4. Use the direction cosine matrix R to transform the magnetic field vector from the ody frame into the earth frame, and normalize the result into a vector with magnitude equal to 1. 5. ake the cross product of the previous normalized earth frame magnetic field vector with the most recent one. Use the result to uild the error rotation matrix,, using the inverse of the vex operator. 6. Compute the vector P y applying the vex operator to R transpose times times R1, where R is the direction cosine matrix corresponding to the most recent magnetic measurement, and R1 corresponds to the previous measurement. 7. Compute the vector Q y applying the vex operator to R transpose times R1. 8. Compute an adjustment vector, adjust, y taking the cross product of Q times P. 9. Update the alignment quaternion, align, y setting align equal to align minus gain times adjust. Select gain to strike a alance etween staility and speed of convergence. I used a value of 1/16 for the gain. I integrated the algorithm into MatrixPilot running on the UAV DevBoard. It works quite nicely. ach time the oard and the magnetometer rotate a little it, the estimate of the realignment matrix improves. Gradually the process converges on an exact realignment matrix. It will compensate for any amount of misalignment, including a 180 degree rotation, although the amount of time needed for convergence is proportional to the initial amount of misalignment. It will also compensate for misalignments along any of the three axes, including the yaw axis. In order for the method to compensate for an alignment around a particular axis, there must e rotation around one of the other two perpendicular axes. So, for example, in order to compensate for yaw misalignment, there must e roll or pitch rotations. esting Some of the testing results are shown in the following figures. Actually, there was quite a it of testing ecause the development process was not nearly as direct as suggested y the previous, for several reasons. First, I discovered that magnetometer misalignment interfered with offset removal. So I had to interrupt the work on realignment and go off Magnetometer realignment - 7 - Octoer 16, 011

and improve the offset removal, which is the topic of a separate report. Second, I was not entirely sure when I started whether the idea would even work, so some of the initial testing was done with misalignment that was simulated in software. Finally, I gradually realized that the technique would work on any amount of misalignment, ut I would have to use a full rotation matrix, rather than an approximate one that I used during early versions of the idea. Figure 5 is a plot of the realignment quaternion versus sample numer for a 90 degree yaw misalignment etween the IMU and the magnetometer. Samples were taken 4 times per second. he quaternion components are represented in a inary format equal to **14 times the quaternion values. So, a 90 degree yaw should e 11585 for the Z component, with the X and Y components equal to 0. During the test I was randomly rotating the IMU and the magnetometer, which were mounted together on a piece of plastic with the magnetometer rotated y 90 degrees. Convergence took aout 30 seconds. Figure 5 Convergence of realignment parameters for a 90 degree yaw misalignment A plot of the horizontal component of the magnetic field, after transforming the realigned measurements to the earth frame of reference, is shown in Figure 6. Figure 6 Horizontal magnetic field in earth frame with 90 degree yaw misalignment Magnetometer realignment - 8 - Octoer 16, 011

he large initial errors in the measured horizontal component of the magnetic field are generated y the large yaw misalignment as I rolled and pitched the system in random directions. However, as the realignment converged, the variations dramatically reduced. Similar plots for a full 180 degrees yaw misalignment are shown in figures 7 and 8. Figure 7 Convergence of realignment parameters for a 180 degree yaw misalignment Figure 8 Horizontal component of magnetic field in earth frame with 180 degree yaw misalignment In the case of the 180 degree misalignment, it took aout one minute for the algorithm to converge, it converged near the end of the test. Note that the alignment parameters reached the correct values, and the variance in the horizontal magnetic field reduced, at the end of the test. During the test I had no idea how well it was converging, so I had no idea how long to continue the test. Magnetometer realignment - 9 - Octoer 16, 011

Another test that I conduct whenever I work on the magnetometer software is a spin test. I place the IMU and the magnetometer on a record player, and spin them at 78 RPM for several minutes. his is an especially tough test to pass, for several reasons: 1. Gyro gain error tends to reak yaw lock. arlier this year I devised a way for the gyros to ecome self-calirating to improve performance in this area. Whenever I make changes, I want to make sure this feature still works.. he record player distorts the local magnetic field and creates magnetic interference. 3. It is difficult to get the IMU s accelerometer exactly at the center of the turntale, so there is usually some error due to centrifugal effects. Figure 9 is a plot of the X, Y, and Z component of the measured magnetic field in the earth frame of reference. (Note: the declination of the earth s magnetic field at my location is -14 degrees.) he plot shows the variance reducing due to the action of the offset removal algorithm and the realignment algorithm. It also shows that there was a solid yaw lock during the tests, especially evidenced at the end of the test, when the turntale stopped spinning, there was no sign that either the IMU was dizzy, or that there was residual offset or misalignment. Figure 9 Plot of the X, Y, and Z component of the measured magnetic field in the earth frame, during an extended spin test at 78 RPM Magnetometer realignment - 10 - Octoer 16, 011