Attitude Determination

advertisement
Attitude Determination
- Using GPS
Table of Contents
• Definition of Attitude
• Attitude and GPS
• Attitude Representations
• Least Squares Filter
• Kalman Filter
• Other Filters
• The AAU Testbed
• Results
• Conclusion
20/12-2000 (MJ)
Danish GPS Center
2
What is Attitude?
Z
Orientation of a coordinate
system (u,v,w) with
respect to some reference
system (x,y,z)
V
U
W
Y
X
20/12-2000 (MJ)
Danish GPS Center
3
When is Attitude information needed?
• Controlling an Aircraft, Boat or Automobile
• Onboard Satellites
• Pointing of Instruments
• Pointing of Weapons
• Entertainment industri (VR)
• Etc...
20/12-2000 (MJ)
Danish GPS Center
4
Attitude sensors
Currently used sensors include:
• Gyroscopes
• Rate gyros (+integration)
• Star trackers
• Sun sensors
• Magnetometers
• GPS
20/12-2000 (MJ)
Danish GPS Center
5
Advantages of GPS
• Adding new functionality to existing equipment
• No cost increase
• No weight increase
• No moving parts (solid-state)
• Measures the absolute attitude
Disadvantages
• Mediocre accuracy (0.1 - 1º RMS error)
• Low bandwidth (5-10 Hz maximum)
• Requires direct view of satellites
20/12-2000 (MJ)
Danish GPS Center
6
Interferometric Principle
Carrier Wave (from GPS satellite)
Integer
Component
Master
Antenna
k
Fractional
Component,  
Baseline, b(3x1)
Slave
Antenna
e(3x1)
Unit Vector to GPS Satellite
20/12-2000 (MJ)
Danish GPS Center
7
Interferometric Principle
Measurement equation:
The full phase difference is the projection of the
baseline vector onto the LOS vector:
20/12-2000 (MJ)
Danish GPS Center
8
Attitude Matrix
Z
9 parameters needed:
V
U
W
Y
X
20/12-2000 (MJ)
When (x,y,z) is a reference
system:
Danish GPS Center
9
Properties of “A”
“A” rotates a vector from the reference system
to the body system
The transpose of “A” rotates in the opposite
direction (back again)
20/12-2000 (MJ)
Danish GPS Center
10
Properties of “A”
Rotation does not change the size of the vectors:
Every rotation has a rotation-axis (and a rotationangle)
The rotation-angle is the eigenvalue of “A”
20/12-2000 (MJ)
Danish GPS Center
11
Euler sequences
A sequence of rotations by the angles (,,) about
the coordinate axes of the reference system
Single axis:
Multiple axes:
20/12-2000 (MJ)
Danish GPS Center
12
Quaternions
A quaternion consists of four composants
Where i,j and k are hyperimaginary numbers
20/12-2000 (MJ)
Danish GPS Center
13
Quaternions
A quaternion can be thought of as a 4 dimensional
vector with unit length:
20/12-2000 (MJ)
Danish GPS Center
14
Quaternions
Quaternions represent attitude as a rotation-axis
and a rotation-angle
20/12-2000 (MJ)
Danish GPS Center
15
Quaternions
Quaternions can be multiplied using the special
operator
defined as:
20/12-2000 (MJ)
Danish GPS Center
16
Quaternions
The attitude matrix can be formed from the
quaternion as:
Where
20/12-2000 (MJ)
Danish GPS Center
17
Least Squares Solution
Including attitude information into the
measurement equation
Linearization of the attitude matrix
20/12-2000 (MJ)
Danish GPS Center
18
Least Squares Solution
Forming the phase residual
20/12-2000 (MJ)
Danish GPS Center
19
Least Squares Solution
20/12-2000 (MJ)
Danish GPS Center
20
Least Squares Solution
Estimate update
20/12-2000 (MJ)
Danish GPS Center
21
Extended Kalman Filter
A Kalman filter consists of a model equation
and a measurent equation
20/12-2000 (MJ)
Danish GPS Center
22
Extended Kalman Filter
And their linearized counterparts….
And
20/12-2000 (MJ)
Danish GPS Center
23
Extended Kalman Filter
Algorithm
x(tk-), P(tk-)
z(tk)
Estimate
Update
Estimate of
x(tk), P(tk)
x(tk+), P(tk+)
k=k+1
Time
Propagation
x(tk+1-), P(tk+1-)
20/12-2000 (MJ)
Danish GPS Center
24
Extended Kalman Filter
Tuning of the filter
Noise variance determined experimentally
20/12-2000 (MJ)
Danish GPS Center
25
Extended Kalman Filter
Tuning of the filter
Noise variance determined by ‘trial-and-error’
20/12-2000 (MJ)
Danish GPS Center
26
Extended Kalman Filter
Determining the system model
N
20/12-2000 (MJ)
Dynamic
model

Danish GPS Center
Kinematic
model
q
27
Other Filters
Raw phase measurements
Non-iterative
Iterative
Integer resolution
Extended phase measurements
Bar-Itzhack 2
Geometric Descent
Euler-q
Bar-Itzhack
Least Squares
Attitude Determination
Cohen
Vector estimate
ALLEGRO
Vector Determination
Kalman filter
Corrected phase measurements
New Algorithm
Line bias calibration
Attitude estimate
20/12-2000 (MJ)
Danish GPS Center
28
Testbed
Controller box
LON netw ork
Labtop PC
Motor
commands
RS232
Encoder
readings
Antenna array
GPS receiver
Surveyor platform
20/12-2000 (MJ)
Danish GPS Center
29
Software
Start
Load simulated
attitude
angles.txt
Start User Interface
+ Initialize Testbed
Proces 1
Proces 2
Proces 3
Store phases and
LOS vectors from
receiver in file
Store angle-values
from encoders in file
Send angle
commands to LON
nodes
GPS
receiver
20/12-2000 (MJ)
phase.out
los.out
Stop
angles.out
LON nodes
Danish GPS Center
30
Motor Control
20/12-2000 (MJ)
Danish GPS Center
31
Angle of Antenna Array
Motor Angles
200
150
100
Angle [degrees]
50
0
-50
-100
-150
-200
20/12-2000 (MJ)
0
50
100
150
200
250
300
Time [seconds]
350
400
450
500
Danish GPS Center
32
Local Horizontal System
20/12-2000 (MJ)
Danish GPS Center
33
Results
Based on actual and simulated data, the following
performance parameters were evaluated
• Accuracy
• Computational efficiency
• Ability to converge
20/12-2000 (MJ)
Danish GPS Center
34
Accuracy
20/12-2000 (MJ)
Danish GPS Center
35
Speed Analysis with three baselines
4
6
x 10
Kalman filter w. bias est.
Kalman filter
Geometric Descent
Bar Itzhack 2
5
4
Number of Floating Point Operations
3
2
1
0
2
3
4
5
6
5
6
3
5
x 10
4
3
ALLEGRO
New Algorithm + Euler-q
New Algorithm + SVD
Single-point
Cohen
Bar Itzhack + SVD
2
1
0
2
3
20/12-2000 (MJ)
4
Number of satellites
Speed
Danish GPS Center
36
Kalman Filter
Single-point Algorithm
6000
6000
Convergence = 100%
Average = 5.75
4000
3000
2000
Number of baselines = 3
Number of Samples
Number of Samples
Number of baselines = 3
5000
1000
0
5000
3000
2000
1000
0
1 2 3 4 5 6 7 8 9 1011 1213 1415
Convergence Time (Samples)
ALLEGRO Algorithm
5000
Number of baselines = 3
Convergence = 100%
Average = 4.56
4000
3000
2000
1000
0
1 2 3 4 5 6 7 8 9 1011 1213 1415
Convergence Time (Samples)
Geometric Descent Algorithm
6000
Number of Samples
Number of Samples
6000
Convergence = 100%
Average = 4.25
4000
5000
Number of baselines = 3
Convergence = 100%
Average = 5.33
4000
3000
2000
1000
1 2 3 4 5 6 7 8 9 1011 1213 1415
Convergence Time (Samples)
20/12-2000 (MJ)
0
1 2 3 4 5 6 7 8 9 1011 1213 1415
Convergence Time (Samples)
Convergence
Danish GPS Center
37
Kalman Filter
Single-point Algorithm
6000
6000
Convergence = 96.61%
Average = 7.87
4000
3000
2000
1000
0
Number of Samples
5000
Number of baselines = 2
Convergence = 69.75%
Average = 4.76
4000
3000
2000
1000
0
5000
Convergence = 69.34%
Average = 4.64
4000
3000
2000
1000
1 2 3 4 5 6 7 8 9 1011 1213 1415
Convergence Time (Samples)
ALLEGRO Algorithm
6000
Number of baselines = 2
Number of Samples
Number of Samples
Number of baselines = 2
5000
1 2 3 4 5 6 7 8 9 1011 1213 1415
Convergence Time (Samples)
20/12-2000 (MJ)
0
1 2 3 4 5 6 7 8 9 1011 1213 1415
Convergence Time (Samples)
Convergence
Danish GPS Center
38
Conclusion
• 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
20/12-2000 (MJ)
Danish GPS Center
39
Download