Project Report Iitd KD
Project Report Iitd KD
Kunal Dhawan
Sophomore , Electronics and Communication Engineering
Indian Institute of Technology , Guwahati
Roll Number 150102030
[email protected]
Problem Statement
Navigation
An Historical Perspective
This problem was of fundamental economic importance since many ships were
lost at sea due to total uncertainty in Longitude. Two approaches were mainly
investigated at this time. One method was based on accurate prediction and
observation of the moon. Difficulties in predicting the lunar orbit with enough
precision and accuracy required of the instrumentation made this approach
almost impossible to implement in standard ships at that time. The other
important approach was based on knowing the time with enough accuracy to
evaluate the Longitude.
A Modern Perspective
2) Global Navigation Satellite System (GNSS) : GNSS is the term for satellite
navigation systems that provide positioning with global coverage. A GNSS
allows small electronic receivers to determine their location (longitude, latitude,
and altitude) to within a few metres using time signals transmitted along a line
of sight by radio from satellites. Receivers on the ground with a fixed position
can also be used to calculate the precise time as a reference for scientific
Coordinate Frames Used in Navigation
In the following section , I only mention the final equation that are
implemented . Link to full derivation will be provided in the references section .
Please NOTE : List of symbols and their meanings are provided at the end of the
report .
Linearized Navigation Equations
1)Attitude update
3) Velocity Update
4) Position Update
Precision Navigation Equations
1) Attitude update
3) Velocity Update
4) Position Update
Differential Equation implementation of Navigation
Equations
1) Attitude update
3) Velocity Update
This was done solving the following systems of ordinary differential equations-
This was achieved using the inbuilt function ODE45 of MATLAB . Snippets of
code for the same are as follows :
(some portion has been omitted fit the explanation of the method used to 2
pages)
Here:
dx(1)=North velocity
dx(2)=East velocity
dx(3)=Down velocity
dx(4)=Latitude
dx(5)=Height
GPS Aiding of Inertial Navigation Processor
Figure : Block Diagram for a general INS and GPS integration architecture
Integration of INS and GPS data available at different
rates
The five core elements of the Kalman filter are : the state vector and covariance,
the system model, the measurement vector and covariance, the measurement
model, and the algorithm:
1) Loosely coupled integration of INS and GPS with closed loop correction (E
frame calculation)
2) Loosely coupled integration of INS and GPS with open loop correction (N
frame implementation)
3) Loosely coupled integration of INS and GPS with open loop correction (E
frame implementation)
Results for all the above are presented after the next section .
Working of Code ( Loosely coupled Integration of INS and
GPS sensor data with Open Loop Corrections)
Initialize the x(x vector) , P(error covariance matrix) , Q(system noise covariance
matrix) and R(measurement noise covariance matrix) matrices for working of
the Kalman filter
Generate the true Position , Velocity and Attitude values from the trajectory of
the vehicle
Now repeat the following steps for each epoch (ie each time we receive sensor
values from the IMU
Determine Position and Velocity of all the satellites present in the constellation
Generate GNSS measurements ( ie pseudo range and range rate values using the
above information )
Find the GPS values for object vehicle position and velocity using the range and
range rate values
Generate the accelerometer and gyro reading using the true trajectory and add
appropriate errors to the sensor readings
Find the INS values for vehicle position and velocity using the navigation
equations on the inertial sensor readings
Now run the Kalman filter function (Details of the same cant be revealed
currently as we are writing a paper on the same)
Next we store the calculated position , velocity and attitude values in a matrix
which helps us plot the trajectory . After this , we return to the next iteration of
the main for loop and wait of the INS sensor readings
Results and Plots
1) N frame implementation :
For comparing the results obtained from the algorithm implemented with the
case when no correction was provided by GPS integration , I plot the errors
accumulated by both the methods over a period of 1 hour when both the
algorithms are subjected to the same path and sensor errors . The plots have
plotted in the N frame .
Figure : Comparison plot for error in latitude reading introduced by all three algorithms
Figure : Comparison plot for error in longitude reading introduced by all three algorithms
Figure : Comparison plot for error in Height reading introduced by all three algorithms
Explanation of Working of Open Loop corrections :
In open loop integration of INS and GPS readings , the formulation of x vector (
for Kalman Filter ) is done is the following way ( for N frame ) :
Thus , using the X vector , we try to track the errors in the INS which integrate
with time and use this to correct the readings that we get from the IMU sensors
.
To show the working of my algorithm , I plot the x vector along with INS errors
across a duration of 1 hour . It can be seen that the algorithm is doing a good
job to approximate the INS errors
Figure : Plot showing the propagation of the latitude reading component of x vector and the
INS errors plot with time .
Figure : Plot showing the propagation of the longitude reading component of x vector and the
INS errors plot with time .
Figure : Plot showing the propagation of the height reading component of x vector and the INS
errors plot with time .
1) E frame implementation :
For comparing the results obtained from the algorithm implemented with the
case when no correction was provided by GPS integration , I plot the errors
accumulated by both the methods over a period of 1 hour when both the
algorithms are subjected to the same path and sensor errors . The plots have
plotted in the E frame .
Figure : Comparison plot for error in x position reading introduced by the two algorithms
Figure : Comparison plot for error in y position reading introduced by the two algorithms
Figure : Comparison plot for error in z position reading introduced by the two algorithms
Tracking Due to incorrect knowledge of lever arm
Problem statement
Given the scenario that we would have multiple GPS receivers on board and
readings could be available from any of them without previous knowledge(ie we
dont know the algorithm via which the GPS receivers are chosen and hence we
cant incorporate that in the integration Kalman filter and get the correct lever
arm for whichever GPS is chosen). Thus we have the knowledge of only one
lever arm but the reading may not be coming from that GPS receiver , so we
have to estimate the error in the final position output due to this mismatch.
As the problem of lever arm affects the GPS readings, thus it only affects the
measurement model of the Kalman Filter . Specifically , it affects the z vector
and H matrix formation . The following equations highlight the affect of lever
arm on the above mentioned matrices
Z vector formation :
Measurement Matrix formulation :
Tested the code for 3 cases with incorrect lever arm of around 5 to 8 meters as
required. Used 3 random positions of the GPS antenna with respect to the INS
body axis origin .
Figure plot showing variation of North Position Error with time for the different cases of lever
arm as mentioned in the Key
Figure plot showing variation of East Position Error with time for the different cases of lever
arm as mentioned in the Key
Figure plot showing variation of Down Position Error with time for the different cases of lever
arm as mentioned in the Key
48 hours simulation results
Figure plot showing variation of North Position Error with time for the different cases of lever
arm as mentioned with the plots
Figure plot showing variation of East Position Error with time for the different cases of lever
arm as mentioned with the plots
Figure plot showing variation of Down Position Error with time for the different cases of lever
arm as mentioned with the plots
Figure plot showing variation of North Velocity Error with time for the different cases of lever
arm as mentioned with the plots