Magnetic Position and Orientation Tracking System
Magnetic Position and Orientation Tracking System
Introduction
Changes are separated using linear combinations of sensor out- POSITION AND ORIENTATION
put vectors, transformed to the desired coordinate frame, and MEASUREMENTS
Fig. 1. System block diagram.
used to update the previous measurements. Practical considera-
tions for a head-tracking application are discussed.
The system discussed here [9-12] used both a three-
axis magnetic-dipole source and a three-axis magnetic
sensor, along with the related electronic circuitry
shown in Fig. 1. The excitation of the source and the
resultant sensor output are represented as vectors; all
source axes are to be excited simultaneously with
signals of the same frequency and phase so that an
equivalent single-axis source dipole of arbitrary orien-
tation is produced. The source excitation pattern is
composed of three' sequential excitation states, each
of which produces an excitation vector that is linearly
independent from the other two. The resultant set of
three sensor output vectors contains information suffi-
cient to determine both the position and orientation
of the sensor (6 degrees of freedom) relative to the
source. Operation of the system is synchronous and
under computer control.
This system tracks the position and orientation of
Manuscript received December 10, 1978; revised January 15, 1979, the sensor by determining small changes in the coordi-
March 22, 1979, and April 10, 1979. nates and then updating the previous measurements.
Authors' address: Polhemus Navigation Sciences, Inc., A Sub- To accomplish this, the previous measurement is used
sidiary of The Austin Company, P.O. Box 298, Essex Junction, Vt to compute linear transformations that are approxi-
05452.
0018-9251/79/0900-0709 $00.75 1979 IEEE 'Variations are discussed in Section Vof this paper.
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. AES-15, NO. 5 SEPTEMBER 1979 709
TABLE
Coordinate Frame Definitions
2 Position .f =T T'aIf.
3 Sensor-position f = eC SSf2
4 Zero-orientation f4 = T-a T f3
sensor
fly
fiz 5 Sensor-output f, = TI To Tw f
DYt Zt
6
7
Derotated sensor
Restored tracking
f
f
=
=
T , T a T f
T^ T- f
TABLE 11
Orthogonal Rotation Matrices
Position Orientation
cos a sin a O cos + sin q) O
Azimuth
rotates Ta = -sin a cos a O T -sin 4 cos * O
X into Y
O 0 1 O 0 1
PREVIOUSLY
.11, - ESTIMATED
PREVIOUSLY ORIENTATION
ESTIMATED
POSITION
.o(s2)
YOvo / Z o; -" o- TO
SOURCE
Fig. 5. True and previously measured position. Fig. 6. True and previously measured orientation.
Note that the subscript defines both the type of of the sensor. This is accomplished by using the
transformation and its independent variable. previous measurements of position and orientation to
Consider first the coupling between the source and compute rotation matrices that approximately undo
a zero-orientation sensor (whose output is f.) located the effects of the (large-angle) sensor position and
at (a1, (1, Q), as shown in Fig. 2. The excitationf2 of orientation.
an equivalent source whose X-axis is aligned with the
line connecting the source and sensor can be deter-
mined by rotating the excitation vector of the real Use of Previous Measurements
source by position azimuth and elevation, thus
The relationship of the true sensor position
f2 = T51 Ta,fl. (4) (a1, Q3,e) to the previously estimated sensor position
(&,9) (31, is illustrated in Fig. 5; note that both posi-
The coupling to a similarly aligned equivalent sensor tions are defined in source-frame coordinates. The
f, then has the same form as (3), i.e., f3 = (C/Q3) S differences in the source-frame position angles can be
f2 The output of the zero-orientation sensor is then represented by Aa1 and AP1; hence a1 = a, + Aa1 and
found by applying inverse position rotations, thus 31 = (31 + AP1. The difference in the position angles
can also be defined by angles Aa0 and AP,0, which are
f4 = (C/23)T al T_0iSTI Ta fi = (CIQ3)Qfl. (5) referenced to the tracking coordinate frame XO, - Y,
- ZO. The tracking frame is defined by rotations
The equivalent sources and sensors used above are from the source coordinate frame X1 - Y, - Z1 by
listed in Table 1. previously estimated position azimuth a1 and elevation
The output of the three-axis sensor of arbitrary (31 Differences between estimated and true orientation
orientation (wP1, 01, +1) is determined by applying angles can similarly be defined relative to either the
orientation azimuth, elevation, and roll rotations to source-frame or tracking frame, as shown in Fig. 6.
the output of the equivalent zero-orientation sensor, Now consider an equivalent source excitation
thus vector f, specified in the tracking frame. This vector is
converted to the true source excitation vector f1 by in-
verse rotations by estimated elevation and azimuth;
f5 T+, To, T,f4
= = (C/Q3)A f4 = (C/Q3)A Qfi. (6) thus
712 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. AES-15, NO. 5 SEPTEMBER 1979
necessary for that sequence of rotations to reduce to a The above transformations produce a differential
differential rotation AP when the changes in position rotation matrix which must reduce to (AP)-' in the
are small. absence of orientation errors; hence
The nature of the differential rotation matrix AP
can be determined in two ways. Direct reduction of (Tp,TX ,A-1)(AT al,T,) - (A-'A)(AP)-' = AA(AP)-l (12)
(8) yields the source-frame formulation
Rearrangement of the above yields
AP =T,T (TT,)
(AT aT -M)[AA(AP-)] =VAT T -p (13)
TpTaT,(T , T^, T 0T ',TA'3)
hence the differential orientation rotation AA is based
=pT'3Ta,T '3TAP, upon tracking-frame orientation angles (Fig. 6) and
However, it is more convenient to equate the true Substitution of (14) and (8) into (10) now produces
position transformation Tp, Ta, to the estimated
position transformation followed (premultiplied) by a f7 = (C/Q3)"A(AP)- SAPfo = (C/Q3)Rfo (15)
sequence of differential rotations, thus
where
AP=[TpO, T,]TI-., T_p
RAAB ET. AL.: MAGNETIC POSITION AND ORIENTATION TRACKING SYSTEM 713
A
to o
ft~~~~~~~~~f
p
OUTPUT
TRUE POSTI
2
3(/CO[2f7.(S2) - f(S1)] (22)
0 0
(24)
0 0
A0o = 2(Q3/Cf7z(SI) - f7.(S3)] (25)
A set of three excitation vectors constitutes an excita- A+o= 2( 3/CWf7x(S2) = - 2(Q 3/C)f7,(S3). (26)
tion pattern. The use of other excitation patterns con-
taining more excitation vectors is readily related to the Linear combinations of elements can be used to
use of the above three-state pattern by linear transfor- minimize the effects of noise upon the range and roll
mation. estimates. This operation is represented by the "error
The restored tracking-frame sensor response vectors detection" block in Fig. 7.
corresponding to the tracking-frame excitation vectors of
(17) correspond to the columns of matrix R in (16); i.e., Error-Angle Coordinate-Frame Conversion
'
f7(Sl) = (C/Q3) l 1, ~ A02 3 + While the range estimate is universal to all coor-
dinate frames, the error angles (Aao, Ap0, Atpo, A00,
(18) A+0) are referenced to the tracking frame. Before they
can be used to update the previous source-frame
[3,aCo 11 IT
f7(S2) = (C/Q3) _
p,& -2' 2+A° measurements of position and orientation, they must
(19) be converted to source-frame error angles (Aa,, AP1,
Atp, A0,, A+,). This operation follows the error-
f7(S3) = (C/e3) [-_ AP +20°, 2^+o _1 ]T- detection block in Fig. 7.
The method of conversion of the position error
(20) angles Aa0 and Ap0 to Aa1 and AP, is most readily
derived by equating AP as given by (9) and (10). If
The first unknown to be estima Lted is distance, since it
is given explicitly by the amplitudes of the constant terms
lp1 n/2, this produces
in (18), (19), and (20): Aa, = Aa./cos p1 (27)
3 3
Q = \ C/f7(Sl) = C/2f,y(S2j and
3
=-\/ - C/2f71(S3) (21)) AP1 AP,-
= (28)
The factor C/l3 is then computed,2, and the five error Modified conversion formulas must be used when
angles are determined from linear combinations of the PI-± i/2.
nine quantities in (18), (19), and (20): The equations that convert tracking-frame orienta-
tion errors to source-frame orientation errors can
similarly be derived by substituting tp = Aj1 + Awl, 01
AA
= 01 + A0,, and 1 = +1 + A+, into (12) and (13),
21If the constant C is unknown, an invalid range estimate will be
determined; however, determination of the error angles is unaffected. producing
714 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. AES-15, NO. 5 SEPTEMBER 1979
T$+A+1 T- +AO T,,1±A,, T al T A
+40
ft .- ---
= TT T,el T 1 T)(TAlo)TAo0TA4°).
T (29) AL
--
F- oee k~ ~ ~ ~ ~ Le.-
sF50*~ 0-
position angles do not affect the differential orienta- 0
4 0-00640
reduction required can be avoided by observing [14] ------
00 .06.89.888- -swelles-9 , -L
- 5 -- 8 I mmsmmmvv)
arrangement yields
T aITA+,IoTaI,TAO)TAJIIT al F, Fig. 8. Responses to large-angle errors. Solid lines indicate
true values (inputs) and dots indicate measured values
= TV, -T ,, T.OTA0OTAO4.0 (30) (outputs) .
Frederick H. Raab (S'66-M'72) received the B.S., M.S., and Ph.D. degrees in
electrical engineering from Iowa State University, Ames, in 1968, 1970, and 1972,
respectively.
He then worked for Cincinnati Electronics Corporation for 31/2 years in the
areas of high-efficiency power amplifiers and search-and-rescue navigation. Since
joining Polhemus Navigational Sciences, Inc.,, in 1975, he has been involved with
terrestrial applications of Loran-C and the development of an electromagnetic
system for locating trapped mine workers. His professional interests include com-
munications, navigation, signal processing, and power amplifiers.
Dr. Raab is a member of the Institute of Navigation, the International Omega
and Wild Goose Associations, Eta Kappu Nu, and Sigma Xi.
RAAB ET. AL.: MAGNETIC POSITION AND ORIENTATION TRACKING SYSTEM 717
Ernest B. Blood studied physics at Lowell Technology Institute, received the
B.S.E. degree in aerospace engineering from the University of Michigan in 1966,
and did graduate work there in aerodynamics.
He was then employed by Lockheed Aircraft where he participated in simula-
tion, modeling, and prediction of aerodynamic and performance characteristics
of various aircraft. He joined Polhemus Navigation Sciences, Inc., in 1970 and
has participated in numerous radio navigation studies of the Loran-C, Decca,
Omega, and Transit Systems. As head of the Computer Sciences Group, he is
responsible for the design of the software and processors used in the SPASYN
systems.
Terry 0. Steiner received the B.S. degree in physics from Case Institute of
Technology, Cleveland, Ohio, in 1970 and is currently doing graduate work in
physics at the University of Vermont.
He served in the U.S. Air Force for 4 years where he was involved in RF en-
vironmental studies and in establishing personnel exposure criteria. Since joining
Polhemus Navigation Sciences, Inc. in 1975, he has been involved in the design
of SPASYN three-axis source and sensor arrays.
Herbert R. Jones received the B.S.E.E. degree and (while a National Science
Foundation scholar) the M.S.E.E. degree from the University of Vermont in 1968
and 1972 respectively. He was a Ph.D. candidate at the University of Vermont
where he tutored courses in electric and magnetic fields, solid-state physics, and
computer logic.
Since joining Polhemus Navigation Sciences, Inc., in October 1977, he has
been charged with the design of 16-bit processor-to-resolver, serial-digital inter-
faces, and high-precision analog signal conditioning circuitry for a number of
SPASYN system variations. In addition to his circuit design tasks, he was project
engineer/program manager on a number of SPASYN system installations and has
been heavily involved in developing SPASYN calibration and alignment pro-
cedures.
718 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. AES-15, NO. 5 SEPTEMBER 1979