004635296a0a12e4d2000000

4
Development of AHRS (Attitude and Heading Reference System) for Autonomous UAV (Unmanned Aerial Vehicle) Widyawardana Adiprawita 1* , Adang Suwandi Ahmad 1 , Jaka Sembiring 1 1 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, C bn 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. C bn 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 C bn representation + + + + = θ φ θ φ θ ψ θ φ ψ φ ψ θ φ ψ φ ψ θ ψ θ φ ψ φ ψ θ φ ψ φ ψ θ ψ θ φ cos cos cos sin sin sin sin cos cos sin sin sin cos cos cos sin cos cos sin cos sin sin cos sin sin sin cos cos cos ) , , ( bn C (1) The quaternion representation uses four variables for rotation instead of three. Here is the quaternion representation [ ] T e e e e E 3 2 1 0 = (2) e0 = cos(f/2) e1 = A x sin(f/2) e2 = A y sin(f/2) e3 = A z 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. 2.1 Body Rotation Rate / Inertial Mechanization In this approach the attitude is updated using body rotation rate. The body rotation rate is usually represented using a [p q r] T vector. Each of the value in the body rotation rate vector represents rotation rate in the x, y and z axis in the local coordinate frame of the aerial platform (body frame). The [p q r] T vector is measured using 3 gyroscopes on each of the x, y and z axis in the body frame. Each Attitude representation has its own formulation for update. Euler angle change rate formulation : * Responsible author. E-mail: [email protected]m Fig. 1. roll, pitch and yaw Proceedings of the International Conference on Electrical Engineering and Informatics Institut Teknologi Bandung, Indonesia June 17-19, 2007 D-03 ISBN 978-979-16338-0-2 714

description

mems technology

Transcript of 004635296a0a12e4d2000000

Page 1: 004635296a0a12e4d2000000

Development of AHRS (Attitude and Heading Reference System) for Autonomous UAV (Unmanned Aerial Vehicle)

Widyawardana Adiprawita1*, Adang Suwandi Ahmad1, Jaka Sembiring1

1 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

⎥⎥⎥

⎢⎢⎢

−+−+++−

=θφθφθ

ψθφψφψθφψφψθψθφψφψθφψφψθ

ψθφcoscoscossinsin

sinsincoscossinsinsincoscoscossincoscossincossinsincossinsinsincoscoscos

),,(bnC

(1) The quaternion representation uses four variables for

rotation instead of three. Here is the quaternion representation

[ ]TeeeeE 3210= (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.

2.1 Body Rotation Rate / Inertial Mechanization

In this approach the attitude is updated using body rotation rate. The body rotation rate is usually represented using a [p q r]T vector. Each of the value in the body rotation rate vector represents rotation rate in the x, y and z axis in the local coordinate frame of the aerial platform (body frame). The [p q r]T vector is measured using 3 gyroscopes on each of the x, y and z axis in the body frame. Each Attitude representation has its own formulation for update.

Euler angle change rate formulation :

* Responsible author. E-mail: [email protected]

Fig. 1. roll, pitch and yaw

Proceedings of the International Conference onElectrical Engineering and InformaticsInstitut Teknologi Bandung, Indonesia June 17-19, 2007

D-03

ISBN 978-979-16338-0-2 714

Page 2: 004635296a0a12e4d2000000

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

rqp

θφθφφφθφθφ

ψθ

φ

seccossecsin0sincos0

tancostansin1 (3)

Cbn change rate formulation :

⎥⎥⎥

⎢⎢⎢

−−

−=

00

0

pqpr

qrCC bnbn

(4)

Quaternion change rate formulation :

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

−−−−−−

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

rqp

eeeeeeeeeeee

eeee

012103230321

21

3210

(5)

After obtaining the attitude change rate, the result can be

integrated in discrete time to obtain the final attitude value.

2.2 Absolute Attitude Determination Integration of the Body Rotation Rate (Inertial Rate

Mechanization) suffers from the risk of continuous discrete time integration error. So beside the attitude determination that relies on integration and angular rate [p q r]T measurement, it will be very advantageous if we have attitude determination mechanism that only relies on single measurement in time. Several approaches will be presented, and the sensors involved here are triad of accelerometers (to measure gravity vector) and magnetometers (to measures earth magnetic vector). 2.2.1 Roll and Pitch Absolute Determination

Roll and pitch measurement from gravity vector measured by accelerometer:

)cos

arcsin(

)arcsin(

θφ

θ

gggg

y

x

=

−= (6)

And here is the formulation to get the gravity vector :

bodydynamicmeasured gvaa −×+= ω (7)

measureda : 3 axis accelerations measured by accelerometers

dynamica : 3 axis dynamic accelerations that cause the

airframe to move v×ω : centrifugal acceleration, it's the cross product of 3

axis angular rate [p q r]T and the 3 axis velocity bodyg : the gravity vector in body frame

dynamica and v×ω can be obtained from other sensors such as GPS receiver and 3 axis gyroscopes.

2.2.2 Yaw Measurement from Earth Magnetic Vector

Yaw or heading can be calculated from 3 axis earth magnetic field [Mx My Mz]T and roll - pitch angle using the following equation

Xh = Mx*cos(θ) + My*sin(φ)*sin(θ) - Mz*cos(φ)*sin(θ) Yh = Mx*cos(φ) + My*sin(φ) ψ = arctan(Yh/Xh) (8) It should be noted that this measurement depends on

accurate tilt (roll and pitch) measurement, so yaw determination also depends on external reference to get the accurate roll and pitch measurement that free from centrifugal and dynamic acceleration effect.

2.2.3 TRIAD algorithm

The previous two algorithms treat gravity and magnetic vector field as separate quantities. In TRIAD algorithm we can use both gravity and magnetic vector simultaneously to find the attitude represented by rotation matrix. This problem of determining a rotation matrix needed to rotate one reference vector (a vector reading in inertial / reference frame) to another vector (a vector reading in body frame) is first formulated by Wahba. Several solution has been introduced to solve the Wahba Problem, most of them recursive (i.e. QUEST algorithm). This recursive algorithm to solve Wahba Problem offers the most accurate solution, but from implementation consideration this recursive algorithm will not guarantee the real time aspect needed for the UAV autopilot control system. Fortunately there is one non recursive solution for the Wahba Problem known as TRIAD algorithm. Here is the formulation of the TRIAD algorithm

The gravity vector and magnetic field vector can define a Cartesian coordinate system, with unit vectors along three axes i, j, and k. Two Cartesian systems can be determined by two pairs of (ab, mb ) and (aR, mR)

TRB

TRB

TRBbn

RRR

BBB

RR

RRR

BB

BBB

R

RR

B

BB

kkjjiiC

jikjikmimij

mimij

aai

aai

++=

×=×=

××

=

××

=

=

=

(9)

3 Implementation

Proceedings of the International Conference onElectrical Engineering and InformaticsInstitut Teknologi Bandung, Indonesia June 17-19, 2007

D-03

ISBN 978-979-16338-0-2 715

Page 3: 004635296a0a12e4d2000000

3.1 Hardware Implementation

The Attitude and Heading Reference System will be implemented as an embedded system with the following main components • Microchip's dsPIC30F4013 as the main processor, • 3 Analog Device's Gyroscope ADXRS150 arranged

orthogonal each other to form a gyro triad, • 1 Freescale's 3 Axis Accelerometer MMA7260Q, • 1 PNI's Micromag 3 axis magnetometer, • 1 uBlox TIM LA GPS receiver.

Fig. 2. Diagram block of the AHRS Hardware

Fig. 3. finished AHRS Hardware

3.2 Algorithm and Firmware Implementation

The firmware is implemented in C language and compiled with Microchip's C30 compiler. The general algorithm is the combination of two algorithm

• rotation rate integration to get high update rate, and • absolute attitude determination to bound the discrete

integration error in rotation rate integration. The analog sensors (accelerometers and gyros) are

sampled in 250Hz and filtered using IIR butterworth 2 order low pass filter. The cut of frequency chosen is 5Hz. This low pass filtering is needed to avoid the vibration caused by UAV's engine. The 5Hz cut of frequency is chosen with the assumption that the UAV's manoeuvre frequency is below 5Hz. The magnetometer is read through Synchronous Serial Interface / Serial Peripheral Interface (SPI) in 50 Hz update rate. The GPS receiver can give velocity and position updates every 0.25 second or 4Hz.

The Rotation Rate Integration is implemented using quaternion angle representation. The quaternion is updated

using gyro reading [p q r]T. This quaternion angle representation is chosen because it doesn't suffer from singularity problem in 90 degrees pitch. This algorithm is executed in 0.02 second or 50Hz, this frequency is chosen because it's considerably matched to actuator servo frequency.

The absolute attitude determination is implemented using TRIAD algorithm, because this algorithm is considered computationally efficient (no recursive computation) and combines the gravity acceleration and magnetic filled elegantly. To be able to correctly get the gravity acceleration external information of speed and dynamic acceleration from GPS receiver is needed, so this algorithm is executed every 0.25 second or 4 Hz.

So in overall, we have attitude update every 0.02 second (50Hz) and the attitude integration error is zeroed every 0.25 second (4Hz). By combining those 2 algorithms we can have a stable AHRS for considerably long term operation time, including in high G turn (centrifugal or coordinated turn). The fusion algorithm is Kalman Filter.

3.3 Kalman Filter Formulation

Time varying Kalman filter is used to combine the high update rate rotation rate integration (state update) and low update rate absolute attitude determination (measurement update). Here is the AHRS state space formulation

xk+1 = Akxk + Bkuk (10) zk = Hxk 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

⎥⎥⎥

⎢⎢⎢

⎡=

333231232221131211

ccccccccc

Cbn

)1221(04

13

)3113(04

12

)2332(04

11

3322111210

cce

e

cce

e

cce

e

ccce

−=

−=

−=

+++=

(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

Proceedings of the International Conference onElectrical Engineering and InformaticsInstitut Teknologi Bandung, Indonesia June 17-19, 2007

D-03

ISBN 978-979-16338-0-2 716

Page 4: 004635296a0a12e4d2000000

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−

−−

=

10000000100000001000020.

21.

22.1000

21.

20.

23.0100

22.

21.

20.0010

23.

22.

21.0001

kkk

kkk

kkk

kkk

k edtedtedt

edtedtedt

edtedtedt

edtedtedt

A

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−−

=

00000000020.

21.

22.

21.

20.

23.

22.

23.

20.

23.

22.

21.

kkk

kkk

kkk

kkk

k edtedtedt

edtedtedt

edtedtedt

edtedtedt

B

⎥⎥⎥⎥

⎢⎢⎢⎢

=

0001000000010000000100000001

H

Here is the Kalman filter formulation Time Update (high update rate, 50Hz) : Project state ahead :

11ˆˆ −−− += kkk BuxAx (11)

Project error covariance ahead :

QAAPP Tkk += −

−1 (12)

Measurement Update (low update rate, 4Hz) : Compute Kalman Gain :

1)( −−− += RHHPHPK Tk

Tkk (13)

Update estimate with measurement zk

)ˆ(ˆˆ −− −+= kkkkk xHzKxx (14) Update the error covariance

−−= kkk PHKIP )( (15)

3.4 AHRS Monitoring Software AHRS monitoring software is developed to asses the

performance of the developed AHRS. The software is developed with Borland C++ Builder. The visualization for attitude is using 3D graphics. This 3D graphics is developed with OpenGL library.

Fig. 4. AHRS Monitoring Software

4 Testing Several testing has been done. These includes • Static roll and pitch test • Vibration test on ground • Vibration test using UAV test bed • Ground based magnetic heading test Qualitatively the AHRS performs very well on those tests.

Quantitative data still needs to be analyzed. The final test is still needed to test the performance of the AHRS in centrifugal turn.

Fig. 5. Radio controlled airplane for AHRS aerial testing

References 1. Sven Ronnback, Development of a INS/GPS navigation loop for an

UAV, Lulea Tekniska Universiteit, 2000 2. Yong Li, Andrew Dempster, Binghao Li, Jinling Wang, Chris Rizos, A

low-cost attitude heading reference system by combination of GPS and magnetometers and MEMS inertial sensors for mobile applications, University of New South Wales, Sydney, NSW 2052, Australia

3. Stelian Persa, Pieter Jonker, Multi-sensor Robot Navigation System, Pattern Recognition Group, Technical University Delft, Lorentzweg 1, Delft, 2628 CJ,The Netherlands

4. J.F. Vasconcelos, J. Calvario, P. Oliveira, C. Silvestre, GPS AIDED IMU FOR UNMANNED AIR VEHICLES, Instituto Superior Tecnico, Institute for Systems and Robotics, Lisboa, Portugal, 2004

5. Michael J. Caruso, Applications of Magnetic Sensors for Low Cost Compass Systems, Honeywell, SSEC

Proceedings of the International Conference onElectrical Engineering and InformaticsInstitut Teknologi Bandung, Indonesia June 17-19, 2007

D-03

ISBN 978-979-16338-0-2 717