Académique Documents
Professionnel Documents
Culture Documents
D-03
School of Electric Engineering and Informatics, Bandung Institute of Technology, Jalan Ganesha 10, Bandung 40132,
Indonesia
This paper describes an attitude and heading system development based on inertial and magnetic sensors. This system will use
triad of orthogonal accelerometers, gyroscopes and magnetometers to measure gravity vector, angular rate vector and earth
magnetic field vector. The mechanization involved integration of angular rate measurement from gyroscope that enables high
update rate but have unbounded error due to integration error and drift. To bound the error, this integrative measurement will be
combined with absolute measurement from magnetometer and accelerometer using Wahba Problem formulation and TRIAD
algorithm. The fusion algorithm used is Kalman Filter.
1. Background
Previous work had been completed on implementing an
autopilot system for autonomous aerial vehicle. One of the
drawbacks of this autopilot system is the attitude and heading
reference. The attitude reference system of the existing
system is based on thermal horizon (temperature difference
between ground and sky) sensing. This attitude measurement
based on thermal horizon sensing relies on clear visibility to
horizon, so when the airframe enters a homogeneous
environment (such as high dense fog or cloud) this attitude
reference will not work. Beside that, the thermopile sensors
used for thermal horizon sensing have limited field of view
(typically 100 degree) so the maximum roll and pitch angle
that can be measured is limited to plus-minus of 50 degree. A
new attitude and heading reference system (AHRS) needs to
be developed to solve this problem.
2. Attitude Representations
In order to control an aerial platform correctly, one of the
input needed by the autopilot control system is attitude.
Attitude is usually represented by 3 rotations of the aerial
platform. These rotations are roll, pitch and yaw. There are
several different rotations representations used. Among them
are the euler angle, Cbn matrix and the quaternion angle
representation. The euler angle (roll , pitch and yaw ) is
very intuitive and widely used in aerospace field. But this
representation suffers singularity near 90 degree of pitch
angle. Cbn matrix or direction cosine matrix is a 3x3 matrix
that represent sequential rotation of roll, pitch and yaw. This
representation doesn't suffer from singularity, but it's not
intuitive and uses 9 values to represent attitude. Here is the
Cbn representation
cos cos
Cbn ( , , ) = cos sin
sin
cos cos
(1)
The quaternion representation uses four variables for
rotation instead of three. Here is the quaternion representation
(2)
e0 = cos(f/2)
e1 = Ax sin(f/2)
e2 = Ay sin(f/2)
e3 = Az sin(f/2)
where
A = unit vector along axis of rotation
f = total rotation angle
To measure the attitude there 2 approach that can be used.
The first is inertial mechanization which uses discrete time
integration over rotation rate measurement. In this approach
the attitude determination depends not only to the most
current measurement but also depends on the previous
attitude value. The second is absolute attitude measurement
which can compute the attitude based only on the most
current measurement.
ISBN 978-979-16338-0-2
714
1 sin tan
= 0
cos
0 sin sec
D-03
cos tan p
sin q
cos sec r
(3)
C bn = C bn
r
0
0
r
q
p
0
(4)
e1 e2 e3
e0
p
e1 1 e0 e3 e2
q
=
2 e3
e0 e1
e2
r
e1
e0
e3
e2
(5)
= arcsin(
gx
)
g
gy
g cos
(6)
)
= arcsin(
(7)
iR =
aR
aR
jB =
iB mB
iB mB
jR =
iR mR
iR mR
(9)
k B = iB j B
k R = iR j R
Cbn = i B iR + j B j R + k B k R
T
3 Implementation
ISBN 978-979-16338-0-2
715
D-03
(10)
x = [e0 e1 e2 e3 bp bq br]T
u = [p q r]T
z = [e0 e1 e2 e3] T from TRIAD algorithm solution,
with this conversion
ISBN 978-979-16338-0-2
1
1 + c11 + c 22 + c33
2
1
e1 =
(c32 c 23)
4e 0
1
e2 =
(c13 c31)
4e0
1
e3 =
(c 21 c12)
4 e0
e0 =
(10b)
where
[e0 e1 e2 e3]T : quaternion attitude representation
[bp bq br]T : bias of rotation rate measurements
[p q r]T : rotation rate measurements
716
0
Ak =
0
0
0 0 0
dt.e1k
2
dt.e0 k
2
dt.e3 k
2
dt.e2 k
2
1
dt.e2 k
2
dt.e1k
2
dt.e0 k
2
dt.e1k
2
0
0 0 0
0 0 0
0
0
1
0
0 0 0
1 0 0
0 1 0
0 0 1
dt .e1k
2
dt.e0
k
2
dt.e3k
2
Bk =
dt.e2
k
0
0
1
0
H =
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
dt.e3 k
2
dt.e2 k
2
dt.e1k
2
dt.e0 k
2
0
0
dt.e3k
2
dt.e2 k
2
dt.e1k
2
dt.e0 k
2
0
0
dt.e2 k
2
dt.e3k
2
dt.e0 k
2
dt.e1k
2
0
0
0
0
0
1
D-03
4 Testing
Several testing has been done. These includes
0
0
0
xk = Axk 1 + Buk 1
(11)
Pk = APk 1 AT + Q
(12)
K k = Pk H T ( HPk H T + R) 1
(13)
xk = x + K k ( zk Hx )
(14)
Pk = ( I K k H ) Pk
References
1.
(15)
2.
3.
4.
5.
ISBN 978-979-16338-0-2
717