Title: Integration of Inertial Navigation System and Global Positioning System Using Kalman Filtering
1Integration of Inertial Navigation System and
Global Positioning System Using Kalman Filtering
- By
- Vikas Kumar N. 99D01010
- Under the guidance of
- Prof. K. Sudhakar
2Overview
- Inertial Navigation System (INS)
- Global Positioning System (GPS)
- Kalman Filtering
- Simulation work
- Hardware Implementation
3Strap Down INS
- Body fixed gyroscopes accelerometers
4 INS module
p
Flight Dynamics Control
Euler parameter integration
Euler angle computation
DCM
q
r
ax
Gravitation Centrifugal correction
U V W integration
VN VE VD calculation
Latitude Longitude Altitude integration
H
ay
az
5FDC States
6Euler angle integration
7Euler parameters - Quaternions
8Euler angle computation
9Direction Cosine Matrix
- From local earth or navigation frame to body
frame.
10Navigation frame
11(No Transcript)
12Acceleration Corrections
- Centrifugal
- Gravitational
13Navigation Frame
Body Frame
14- Latitude integration
- Longitude integration
- Height integration
15 INS module
p
Flight Dynamics Control
Euler parameter integration
Euler angle computation
DCM
q
r
ax
Gravitation Centrifugal correction
U V W integration
VN VE VD calculation
Latitude Longitude Altitude integration
H
ay
az
16INS Errors
- Alignment roll pitch yaw errors
- Gyroscope
- Bias or drift constant gyro output
- Scale factor error
- Accelerometer
- Bias (changes randomly after each turn-on)
- Scale factor error
- Nonorthogonality of gyro and accelerometer
- Random measurement noise
- Navigation errors position velocity
17GPS
- Space segment
- 24 satellites
- Control segment
- Ground control
- User segment
- Receiver
- Civil military
- Gives position in terms of latitude longitude
and altitude
18GPS (contd.)
- L1 primary signal at 1575.42 MHz
- Clear Acquisition Code (C/A) civilian use
- Unencrypted signal
- Precise Code (P) military use
- Encrypted higher bandwidth more precise
- L2 secondary signal at 1227.6 MHz
- C/A can be degraded intentionally Selective
Availability
19GPS errors
- Ephemeris error
- Incorrect satellite location transmitted by GPS
- Affects ranging accuracy
- Satellite Clock errors
- Multipath reflection errors
- Atmospheric delays
- Ionospheric
- Tropospheric
- Random measurement noise
- Dilution of Precision (DOP)
20GPS module
Flight Dynamics
X
H
Latitude Longitude Altitude conversion
Y
Z
21Conversion using WGS-84
- Distance corresponding to a degree change in
latitude is given by - Distance corresponding to a degree change in
longitude is given by
22- Where a and b are the equatorial and polar radius
of the earth respectively. - Latitude at current location
- Longitude at current location
23Accelerometer Modelling
- Ideally
- Actually
- C is the scale factor in mV/g
- D is the 0 g offset in V
- 16-bit ADC modelling
- Finally
24Gyroscope Modelling
- Ideally
- Actually
- C is the scale factor in mV//s
- D is the constant drift in /s
- 16-bit ADC modelling
- Finally
25- Errors due to temperature effects ignored
- Errors due to non-orthogonality of gyros and
accelerometers ignored - GPS Random error introduced with standard
deviation of 20m.
26Error Implementation
p
Sensor modelling
Flight Dynamics
Euler parameter integration
Euler angle computation
DCM
q
r
ax
Gravitation Centrifugal correction
U V W integration
VN VE VD calculation
XY Height Integration
l m H
ay
az
l
m
Kalman Filter
H
Corrected position
27Aim
- To reduce the effect of errors in the sensors so
that INS can give out correct values of the
position of the aircraft - To use the GPS output as a tool to estimate the
error in the INS and to correct the error as much
as possible by using the method of Kalman filters
28Kalman Filter
- Stochastic estimator
- Estimate a state x with a measurement z
29- wk and vk represent process and measurement
white noise with covariances Q and R. - If is the a priori estimate of the process at
time tk then the error covariance matrix is
defined as
30Prior estimate
Compute Kalman Gain
Update estimate with measurement
Project Ahead
Compute error covariance for update estimate
31Feedback aided INS
Feedforward aided INS
329 State Filter Model
- Position Velocity Attitude and Gravity
perturbation equations
33Position Dynamics Equation
34Velocity Dynamics Equation
35Attitude Dynamics Equation
36State Space Model
37Discrete Kalman Filter
38(No Transcript)
39Correction Algorithm
40(No Transcript)
41(No Transcript)
42(No Transcript)
43(No Transcript)
44(No Transcript)
45(No Transcript)
46Hardware Implementation
47Overview
- Description of target hardware
- System flow
- DSP simulator
- Future Work
48Target Hardware
- Requirements
- Compact
- Light weight
- Single voltage supply operated
- Speedy accurate calculations
- INS data acquisition computations within 10ms
- GPS data acquisition and Kalman filter
computation within 10ms (preferred) - Two blocks
- GPS INS Data Acquisition Card (GIDAC)
- Navigation Processor Card (NPC)
49GIDAC
- GPS data acquisition thru Field Programmable Gate
Array (FPGA) based chip - Only 1 chip required
- Faster than micro-controller
- Accelerometer Gyroscopes
- Acquisition using a 2nd order Butterworth filter
- Digitizing using 16-bit 6 channel ADC
50INS acquisition
- Sensor signals are signal conditioned
- Filtered for noise
- Scaled to 0 - 5V
- 6 channel 16 bit parallel output ADC (ADS8364)
chosen - Simultaneous sampling is done
- Digitized signals sent to NPC
51GPS acquisition FPGA chip
- Reads data from GPS receiver in SIRF
(proprietary) sentence format - One chip faster processing due to presence of
internal DPRAM - Stores calculates the positions given by the
GPS in SIRF format extremely fast - Internal DPRAM stores the final calculated
position NPC every 1 s - Asynchronous communication maintained to save
processor time
52NPC
- DSP TMS320VC33
- Supporting Hardware
- Parallel port for connectivity
- PAL chip 22V10
- DPRAM 7130
- JTAG connector to download emulator
- Other required peripherals
53DSP TMS320VC33
- Floating point DSP
- Max. Instruction cycle time 13ns or 150MHz
- 75MIPS 150MFlops
- Parallel multiplication ALU operations in a
single cycle - 2 timers
- 50 pin connector interface with external
circuitry - 34K words dual access SRAM
- Inexpensive
54Supporting Hardware
- DPRAM for parallel data transfer storing output
- Control signals to select peripheral chips given
by Programmable Array Logic chip - Provides output for control of dataflow hold
read signals to ADC
55(No Transcript)
56System Flow
- Initialization of DSP peripherals
- 2 interrupts /INT0 /INT1 defined
- Timer0 Timer1 configured
- Software reset given to ADC by program operate
in CYCLE mode - Timer0 provides clock to ADC at 5MHz
- Timer1 interrupts every 10ms or 100Hz
- Start_INS 0 GPS_available 0
57- 6 channels of ADC A0 A1 B0 B1 C0 C1
grouped 2 at a time - EOC signal in 3 pulses
- Variable count 2 used to count these signals
- /HOLDx signals are made low whenever Timer1
overflow occurs 6 channels of ADC are sampled - Main program waits in IDLE mode
58Interrupt Service Routines
- EOC of ADC (/INT1) occurs
- Data from 6 channels stored
- Start_INS 1
- Return to main program
- Reading of GPS by FPGA (/INT0) occurs
- Data from internal DPRAM read by NPC
- GPS_available 1
- Return to main program
59(No Transcript)
60(No Transcript)
61DSP simulator
- Code Composer Studio 3x4x
- Simulates actual DSP target hardware not
required - C assembly source codes can be interfaced and
debugged - Inputs from C program read every 10ms from a file
on PC (actual sensors not used) - Voltages from sensors in hexadecimal format
- GPS data in hexadecimal format as would be given
by SIRF sentence position along NED in m
GPS modelling - Initial state at t 0 was hardcoded in the
program
62Features of CCS3x4x
- Probe points
- File reading
- File writing
- Similar to sensor reading
- Output in COFF format
- Assembly language code to be loaded in TMS320C3x
assembler - Profile points
- Enable clock
- Count cycles
- Time taken by program on a real DSP can be
computed
63- Tested for 50s running of the program
- Memory consumed 17K words no external RAM
required - Accuracy upto 3-4 decimal places as matched with
the MATLAB output
64Future Work
- Emulator to run assembly code on target hardware
required - Results timing to be checked on target hardware
for consistency - Sensor board can be designed
- Sensor modelling in program to be modified
according to sensors being used - Calibration to be done to calculate scale factors
biases of sensors. - Initial state at t 0 currently hardcoded or
read from a file better method to be devised - Output currently written on DPRAM a
simultaneous display interface to be created - More number of states can be implemented on
Kalman filter for higher accuracy of output
65THANK YOU !
66(No Transcript)
67(No Transcript)
68(No Transcript)
69(No Transcript)
70(No Transcript)
71(No Transcript)
72(No Transcript)
73(No Transcript)
74(No Transcript)
75(No Transcript)
76(No Transcript)
77(No Transcript)
78(No Transcript)
79(No Transcript)
80(No Transcript)
81(No Transcript)
82(No Transcript)
83(No Transcript)
84(No Transcript)
85(No Transcript)