Company
LOGO
Project CharacterizationSpring 2008/9
Performed by:Alexander Pavlov David Domb
Supervisor:Mony Orbach
GPS/INS Computing
System
Agenda
1. General overview
2. Our Project
3. Working environment
5. Timeline
GPS/INS Computing System
4. Design Solution
GPS/INS Computing System
General overview
“Even Noah got no salary for the first six months partly on account of the weather and partly because he was learning navigation.”
Mark Twain
GPS/INS navigation
INS Characteristics
• Self-contained• Provides accurate
position and velocity over short time periods but slowly drifts over time
• More expensive and heavier than GPS
GPS Characteristics
• Relies on GPS satellites: susceptible to jamming, RF interference, multipath and integrity problems
• Provides accurate position and velocity over longer time periods but has high frequency noise
By combining the outputs of a GPS and an INS, the performance issues of both systems can be remedied.
Both Global Positioning System (GPS) and Inertial Navigation System (INS) has its advantages and disadvantages.
GPS/INS Computing System
Tightly Coupled INS/GPS
GPS/INS Computing System
IMU
Strap down Inertial
Navigation Algorithm
State Update
FilterInnovation CalculationGPS
∆Vm
∆ θm
PI
VI
qI
PINS/GPS
VINS/GPS
qINS/GPS
PSAT
meas
P V q
b
SDINS
.
Kalman & Particle filter• Standard filter used in navigation systems is
extended Kalman filter (EKF)• Disadvantages of the extended Kalman filter:
– EKF is not an optimal estimator for non-linear systems
– Optimized for statistical noise only• Particle filter can be used as an alternative to EKF,
these to improve estimation's accuracy.• Particle filters is a sophisticated model estimation
technique based on simulation using sufficient number of samples
GPS/INS Computing System
Theoretical Solution
0 • Initialization1 • Particle Propagation2
• Particle Update & Normalization
3 • State Estimation4 • Effective N calculation5 • D computation6 • Re-sampling7 • Regularization8 • Weight Re-computation
GPS/INS Computing System
Implementing the tightly coupled INS/GPS navigation unit with the particle filter, according to algorithm developed in Technion.
The theoretical algorithm stages:
Project Goals
Establishing the efficiency of the particle filter based, tightly
coupled INS/GPS navigation unit realization.
Designing an efficient real-time particle filter based, tightly
coupled INS/GPS navigation unit.
GPS/INS Computing System
GPS Computing System
Our Project
General• Project will be performed in 2
stages. First part in this semester.• Project will be performed by
several work groups• Our group will implement Particle
Propagation and State Estimation stages in this first part.
• Both stages need to be performed each 0.01 sec, regardless of other stages performance.
GPS Computing System
Group Project Goals – PART 1Learning GPS/INS navigation using Particle
Filter algorithm
Learning VHDL language
Learning FPGA environment
Implementation of Particle Propagation and State Estimation stages of algorithm
GPS/INS Computing System
GPS/INS Computing System
WorkingEnvironment
Gidel PROCStar II
GPS/INS Computing System
• Up to 4 ALTERA Stratix II 60 to 180 FPGAs• Five level memory structure (over 2.5GB)• Typical system frequencies: 100-300 Mhz. • Flexible clocking system. • Up to 695 available I/Os.• Up to 5 PSDBs (ProcStar II Daughter Boards):
Camera Links, machine I/Os and other interfaces. • Expandable system: up to 96 DDR II I/Os between
PROCStar II boards. • Up to 660 Gbits per second connectivity between FPGAs.
Altera Stratix II
GPS/INS Computing System
15,600 to 179,400 equivalent Logic elements Adaptive logic module (ALM), maximizes performance
and resource usage efficiency Up to 9,383,040 RAM bits High-speed DSP blocks provide dedicated
implementation of multiply-accumulate functions. Up to 12 PLLs (four enhanced
PLLs and eight fast PLLs) per device.
Support for high-speedexternal memory
Megafunctions support
Altera Quartus IIProvides a multiplatform design environment for all phases of FPGA design.
GPS/INS Computing System
GPS/INS Computing System
Design solutions
State Vector - X[1..18]PositionX[1..3]
VelocityX[4..6]
QuaternionX[7..10]
Accelerometers offset X[11..13]
Gyroscope driftX[14..16]
GPS clock errorX[17..18]
GPS/INS Computing System
, ,h
, ,N E DV V V
1 2 3 4, , ,q q q q
, ,X Y Z
, ,X Y Z
,b b
Design guidelinesConstrains: large amount of calculations Limited hardware real-time resultsPossible solutions:PipeliningLarge amount of parallel calculation unitsSelected solution:Max. Parallel processingWhat can’t be parallel – will be Pipelined.
GPS/INS Computing System
Solution – Top design
GPS/INS Computing System
Weight vector
Particles propagation
unit
State estimation
unit
Estimated State Vector
]1..18[
xN Extended State Vector
]1..18[
Extended State Vector
]1..18[
Extended State Vector
]1..18[
Controller
Parallel VS. Pipeline
GPS/INS Computing System
Considerations: Max. parallel processes will result in Min.
calculation time. Number of parallel processes is limited by
the hardware. Not all calculations have to be parallel in
order to comply with 100 Hz.
Parallel VS. Pipeline
GPS/INS Computing System
Conclusions: The number of L.E.’s (available on the
FPGA) will determine the number of parallel processes in the “Particle propagation unit” and the “State estimation unit”.
To complete this number to N, we will pipeline the processes in those units.
Particles Propagation block
GPS/NS Computing System
Single particle
Propagationunit
Single particle
Propagationunit
Single particle
Propagationunit
1 particle
1 particle
1 particle
1 particle
1 particle
1 particle
After Propagation
After Propagation
After Propagation
# units
1 Particle Propagation block
GPS/INS Computing System
Propagationunit After
Propagation
Propagation
unit After Propagation
Propagationunit After
Propagation
hh
Propagationunit After
Propagation
NVNV
h
NV
Propagationunit After
Propagation
Propagationunit After
Propagation
Propagationunit After
Propagation
q
Propagationunit After
Propagation
CLK
EV EVEV
DVDV DV
CLKCLK
State estimation block
GPS/INS Computing System
Estimationunit
Estimated # Weightesq
# q
#q#q
# other componentsEstimation
unit
# other Estimated
components# other
Weightes
# other components
q estimation block – N units
GPS/INS Computing System
# units
computationunit After
estimation
1q
1qW1qM
1qM
1q
estimationunit
1q
1q
computationunit After
estimation
2q
2qW2qM
2qM
2q
estimationunit
2q
2q
computationunit After
estimation
iq
qiWqiM
qiM
iq
estimationunit
iq
iq
#q
Not q components estimation block
GPS/INS Computing System
Multiplyunit
1
1W1 1W
Multiplyunit
2
2W2 2W
# units
Multiplyunit
#
#W# #W
Adder
X14 – for every component other then q
Estimated
Growth capability
GPS/INS Computing System
Each design unit, deals with a number of particles.
The basic calculations in each unit, are designed for one particle and is then multiplied.
The same design can be implemented with “bigger” FPGAs, by increasing the number of multiplications and parallel processes.
This can result in lesser pipelines which means faster realization.
It can also implement bigger N.
GPS/INS Computing System
Timeline
GPS/INS Computing System
GANTT – PART A
ID Task Name 2009 2009 2009 2009 2009
15/3 22/3 29/3 5/4 12/4 19/4 26/4 3/5 10/5 17/5 24/5 31/5 7/6 14/6 21/6 28/6 5/7 12/7 2/826/7
1 Theoretical background learning
2 Working environment learning
3 Initial Characterization
4 Characterization presentation
5 DESIGN
19/7
6
7
9
Middle report
More DESIGN
Tests and Simulations
10
11
Final report preperation
Final report
8 Realization