Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish...

39
Attitude Determination - Using GPS

Transcript of Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish...

Page 1: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

Attitude Determination

- Using GPS

Page 2: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 2

Table of ContentsTable of Contents

• Definition of Attitude• Attitude and GPS• Attitude Representations• Least Squares Filter• Kalman Filter• Other Filters• The AAU Testbed• Results• Conclusion

Page 3: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 3

What is Attitude?What is Attitude?

Orientation of a coordinate system (u,v,w) with respect to some reference system (x,y,z)

V

U

W

Z

Y

X

Page 4: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 4

When is Attitude information needed?When is Attitude information needed?

• Controlling an Aircraft, Boat or Automobile• Onboard Satellites• Pointing of Instruments• Pointing of Weapons• Entertainment industri (VR)• Etc...

Page 5: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 5

Attitude sensorsAttitude sensors

Currently used sensors include:

• Gyroscopes• Rate gyros (+integration)• Star trackers• Sun sensors• Magnetometers• GPS

Page 6: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 6

Advantages of GPSAdvantages of GPS

• Adding new functionality to existing equipment• No cost increase• No weight increase• No moving parts (solid-state)• Measures the absolute attitude

DisadvantagesDisadvantages• Mediocre accuracy (0.1 - 1º RMS error)• Low bandwidth (5-10 Hz maximum)• Requires direct view of satellites

Page 7: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 7

Interferometric PrincipleInterferometric Principle

MasterAntenna

IntegerComponent

k

SlaveAntenna

Carrier Wave (from GPS satellite)

e(3x1)

FractionalComponent, ∆ϕ

Baseline, b(3x1)

Unit Vector to GPS Satellite

Page 8: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 8

Interferometric PrincipleInterferometric Principle

Measurement equation:

The full phase difference is the projection of thebaseline vector onto the LOS vector:

Page 9: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 9

Attitude MatrixAttitude Matrix

V

U

W

Z

Y

X

9 parameters needed:

When (x,y,z) is a referencesystem:

Page 10: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 10

Properties of “A”Properties of “A”

“A” rotates a vector from the reference systemto the body system

The transpose of “A” rotates in the oppositedirection (back again)

Page 11: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 11

Properties of “A”Properties of “A”

Rotation does not change the size of the vectors:

Every rotation has a rotation-axis (and a rotation-angle)

The rotation-angle is the eigenvalue of “A”

Page 12: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 12

Euler sequencesEuler sequences

A sequence of rotations by the angles (φ,θ,ψ) aboutthe coordinate axes of the reference system

Single axis:

Multiple axes:

Page 13: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 13

QuaternionsQuaternions

A quaternion consists of four composants

Where i,j and k are hyperimaginary numbers

Page 14: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 14

QuaternionsQuaternions

A quaternion can be thought of as a 4 dimensionalvector with unit length:

Page 15: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 15

QuaternionsQuaternions

Quaternions represent attitude as a rotation-axisand a rotation-angle

Page 16: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 16

QuaternionsQuaternions

Quaternions can be multiplied using the specialoperator defined as:

Page 17: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 17

QuaternionsQuaternions

The attitude matrix can be formed from thequaternion as:

Where

Page 18: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 18

Least Squares SolutionLeast Squares Solution

Including attitude information into themeasurement equation

Linearization of the attitude matrix

Page 19: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 19

Least Squares SolutionLeast Squares Solution

Forming the phase residual

Page 20: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 20

Least Squares SolutionLeast Squares Solution

Page 21: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 21

Least Squares SolutionLeast Squares Solution

Estimate update

Page 22: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 22

Extended Kalman FilterExtended Kalman Filter

A Kalman filter consists of a model equation

and a measurent equation

Page 23: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 23

Extended Kalman FilterExtended Kalman Filter

And their linearized counterparts….

And

Page 24: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 24

Extended Kalman FilterExtended Kalman Filter

EstimateUpdate

TimePropagation

z(tk) x(tk-), P(tk-)

x(tk+), P(tk+)

x(tk+1-), P(tk+1

-)

x(tk), P(tk)k = k + 1

Estimate of

Algorithm

Page 25: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 25

Extended Kalman FilterExtended Kalman Filter

Tuning of the filter

Noise variance determined experimentally

Page 26: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 26

Extended Kalman FilterExtended Kalman Filter

Tuning of the filter

Noise variance determined by ‘trial-and-error’

Page 27: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 27

Extended Kalman FilterExtended Kalman Filter

Determining the system model

Dynamicmodel

Kinematicmodel

N ω q

Page 28: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 28

Other FiltersOther Filters

Line bias calibration

Vector Determination

Attitude Determination

Integer resolution

Raw phase measurements

Extended phase measurements

Corrected phase measurements

Vector estimate

Attitude estimate

Kal

man

filte

r

ALL

EG

RO

Coh

en

Leas

t Squ

ares

Bar

-Itzh

ack

New

Alg

orith

m

Eul

er-q

Geo

met

ric D

esce

nt

Bar

-Itzh

ack

2

Non-iterative Iterative

Page 29: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 29

TestbedTestbed

Labtop PC

GPS receiver

Controller box

Surveyor platform

Antenna array

LON network

RS232

Motorcommands

Encoderreadings

Page 30: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 30

SoftwareSoftwareStart

Load simulatedattitude

Start User Interface+ Initialize Testbed

angles.txt

phase.outlos.out

GPSreceiver angles.out LON nodes

Store angle-valuesfrom encoders in file

Proces 2Store phases andLOS vectors from

receiver in file

Proces 1Send angle

commands to LONnodes

Proces 3

Stop

Page 31: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 31

Motor ControlMotor Control

Page 32: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 32

Motor AnglesMotor Angles

0 50 100 150 200 250 300 350 400 450 500-200

-150

-100

-50

0

50

100

150

200

Time [seconds]

Angl

e [d

egre

es]

Angle of Antenna Array

Page 33: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 33

Local Horizontal SystemLocal Horizontal System

Page 34: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 34

ResultsResults

Based on actual and simulated data, the followingperformance parameters were evaluated

• Accuracy• Computational efficiency• Ability to converge

Page 35: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 35

AccuracyAccuracy

Page 36: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 36

SpeedSpeed

2 3 4 5 60

1

2

3

4

5x 103

Number of satellites

ALLEGRO New Algorithm + Euler-qNew Algorithm + SVD Single-point Cohen Bar Itzhack + SVD

2 3 4 5 60

1

2

3

4

5

6x 104 Speed Analysis with three baselinesN

umbe

r of F

loat

ing

Poi

nt O

pera

tions

Kalman filter w. bias est.Kalman filter Geometric Descent Bar Itzhack 2

Page 37: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 37

ConvergenceConvergence

1 2 3 4 5 6 7 8 9 1011 1213 14150

1000

2000

3000

4000

5000

6000Kalman Filter

Convergence Time (Samples)

Num

ber o

f Sam

ples

Number of baselines = 3Convergence = 100%Average = 5.75

1 2 3 4 5 6 7 8 9 1011 1213 14150

1000

2000

3000

4000

5000

6000Single-point Algorithm

Convergence Time (Samples)

Num

ber o

f Sam

ples

Number of baselines = 3Convergence = 100%Average = 4.25

1 2 3 4 5 6 7 8 9 1011 1213 14150

1000

2000

3000

4000

5000

6000ALLEGRO Algorithm

Convergence Time (Samples)

Num

ber o

f Sam

ples

Number of baselines = 3Convergence = 100%Average = 4.56

1 2 3 4 5 6 7 8 9 1011 1213 14150

1000

2000

3000

4000

5000

6000Geometric Descent Algorithm

Convergence Time (Samples)

Num

ber o

f Sam

ples

Number of baselines = 3Convergence = 100%Average = 5.33

Page 38: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 38

ConvergenceConvergence

1 2 3 4 5 6 7 8 9 1011 1213 14150

1000

2000

3000

4000

5000

6000Kalman Filter

Convergence Time (Samples)

Num

ber o

f Sam

ples

Number of baselines = 2Convergence = 96.61%Average = 7.87

1 2 3 4 5 6 7 8 9 1011 1213 14150

1000

2000

3000

4000

5000

6000Single-point Algorithm

Convergence Time (Samples)

Num

ber o

f Sam

ples

Number of baselines = 2Convergence = 69.34%Average = 4.64

1 2 3 4 5 6 7 8 9 1011 1213 14150

1000

2000

3000

4000

5000

6000ALLEGRO Algorithm

Convergence Time (Samples)

Num

ber o

f Sam

ples

Number of baselines = 2Convergence = 69.75%Average = 4.76

Page 39: Attitude Determination - Using GPSold.gps.aau.dk/downloads/attitude.pdf · 20/12-2000 (MJ) Danish GPS Center 39 Conclusion • Kalman filter is by far most accurate, but also computationally

20/12-2000 (MJ) Danish GPS Center 39

ConclusionConclusion

• Kalman filter is by far most accurate, but also computationally very heavy

• Single-point (LSQ) offers good accuracy + high speed

• Vector matching algorithms has the lowest accuracy but does not suffer from convergence problems

• Performance depend on satellite constellation

• Results were affected by mechanical problems with levelling of the testbed