Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Foss4g2009tokyo Realini Go Gps
1. goGPS
a navigation software to enhance the
accuracy of low-cost GPS receivers
Eugenio Realini
Osaka City University, Japan
2. Why goGPS?
miniaturization of
low-cost and low-
power GPS modules
diffusion of GPS- and antennas
enabled devices
(smartphones, PDAs,
cameras)
!!! BAD ACCURACY !!!
(~ 5 meters)
3. Basic ideas behind goGPS
develop a tool which allows to exploit the availability of networks
modify Kalman filter parameters of permanent GPS stations and
to study new approaches to wireless connectivity
GPS navigation
to enhance the navigation
(not possible with black-box accuracy of low-cost GPS
commercial algorithms) devices
Kinematic surveying
Precise off-road navigation
Location Based Services
Low-cost mapping
...
4. Italy ← goGPS → Japan
Media Center
Geomatics Laboratory Osaka City University
Politecnico di Milano
Como Campus
goGPS
5. Double freq. vs single freq.
GPS satellites broadcast signal on two carriers: L1 and L2
High-end professional receivers Low-cost commercial receivers
use both L1 and L2 use just L1
(double frequency receivers) (single frequency receivers)
Accuracy: 2-3 cm (real-time) Accuracy: 3-5 m (real-time)
6. RTK vs stand-alone
US $ 15000 - 25000 US $ 70 - 150
Real-Time Kinematic (RTK) Stand-alone
positioning (but nowadays it is easy
(via Internet connection) to add Internet access)
nothing
2-3 cm (real-time) in between? 3-5 m (real-time)
7. DGPS vs stand-alone
US $ 1000 - 1500 US $ 70 - 150
Single frequency
Differential GPS (DGPS) Stand-alone
positioning (but still they cost much
(via Internet connection) less)
nothing
15-30 cm (real-time) in between! 3-5 m (real-time)
8. goGPS niche
US $ 15000 - 25000 US $ 1000 - 1500 US $ 70 - 150
2-3 cm 15-30 cm 3-5 m
RTK DGPS Stand-alone
40 cm - 1 m
goGPS
L1 RTK positioning
9. Raw GPS data!
u-blox Evaluation Kits
(AEK-4T / EVK-5T)
To apply RTK goGPS: L1 RTK positioning
raw GPS observations (via Internet connection)
are needed!
11. Kalman filter/1
It is the core of the
software.
It updates the position
of the receiver in real-
time on the basis of:
• new measurements
• the state of the system
at the previous epoch
state variables
To implement it, it is needed to define: dynamic model
observations
12. Kalman filter/2
Dynamic model:
State variables:
x r (t + 1) = x r (t) + x r (t)
˙
˙
xr
x r (t + 1) = 0 + x r (t) + ε x (t)
˙ ˙
˙
r
xr
⋮
Np1 (t + 1) = Np1 (t)
rm rm
yr parameters describing
the receiver motion ⋮
yr
˙
Np32 (t + 1) = Np32 (t)
(position, velocity,
Xt = ⋮ rm rm
acceleration, etc.)
zr
zr
˙ Observation equations:
⋮
Prm (t) = ρps (t)
ps
+ ν codice
Np1
rm
rm
ps
phase ambiguities λΦrm (t) = ρps (t) + λNps (t) + ν fase
⋮ rm rm
(double differences)
Np32
rm
13. DTM observation
In order to improve the heigth positioning quality, a new
observation from a DTM is introduced:
A DTM obtained from a
hDTM = h(x r , y r , zr ) + v DTM LiDAR DSM 2m x 2m
produced by Lombardy
σ v ≈ 30 cm Region (Italy) was used
during tests.
DTM loading time was optimized by subdividing the DTM in
buffered tiles.
approx. Tile detection of the 4
Interpolation KF
position search nearest vertices
14. Constrained motion
If the rover is moving along a path that is known a priori
(e.g. road, railway, …) a linear constraint can be introduced,
making the motion mono-dimensional
The constraint is modeled as 3D interconnected segments
and the motion is described by a curvilinear coordinate (c):
cr (X2,Y2,Z2) (X3,Y3,Z3)
˙ (X1,Y1,Z1)
cr c2 c
new state
⋮ c1
variable: X t = p1
(X0,Y0,Z0)
Nrm c0
⋮
Nrm
p32
15. Software/1
- developed in MATLAB environment
- 1 Hz data acquisition rate by means of
“Instrument Control” toolbox (standard TCP-
IP and USB)
- real-time update of receiver position
(computation time about 15 ms on Intel
Centrino CPU 1.66 GHz)
- real-time update of the position with respect
to a known reference or on Google Earth
- Post-processing (post-mission) analysis by
means of RINEX files or goGPS data saved
during a real-time test
17. Hardware/1
Base station(s)
NT
RI P
(RT
USB CM
3.1
)
3G
Internet
goGPS
USB
18. Hardware/2
Base station(s)
NT
RI P
(RT
CM
3.1
)
3G
device with:
- goGPS Internet
- GPS receiver
- wireless internet
19. Accuracy test/1
eBonTek egps597
chipset: ANTARIS 4
signal: C/A, L1
Provides NMEA in output over a
Bluetooth connection. Stand-alone
positioning.
u-blox AEK–4T
chipset: ANTARIS 4
signal: C/A, L1
It has an external patch antenna and it provides raw data and/or
processed data (NMEA format) by USB connection. Its parameters
are fully customizable.
20. Accuracy test/2
Leica GPS1200
signal: C/A, P
L1, L2
Double frequency receiver
with RTK capabilities.
Leica GS20
signal: C/A, L1
Mid-level receiver (single freq.), designed
for cartographic update and quick
decimeter-level surveys. It supports
DGPS positioning.
22. Accuracy test/4
Devices:
- Leica GPS1200
- Leica GS20
- eBonTek eGPS 597
- ev. kit u-blox + goGPS
Fixed on the rooftop of a car
driven on a road with good
sky visibility.
23. Accuracy test/5
Devices:
- Leica GPS1200
- Leica GS20
- eBonTek eGPS 597
- ev. kit u-blox + goGPS
goGPS
(cutoff = 10°)
mean 1.13 m
std 0.67 m
goGPS Leica GS20 eBonTek
(cutoff = 30°) (mod. “Max Accuracy”)
mean 0.78 m mean 0.30 m mean 4.03 m
std 0.47 m std 0.15 m std 1.70 m
24. goGPS in Japan
goGPS testing and development in Japan requires to get access to
RTK services (data coming from one or more permanent stations).
Three choices:
Commercial “Free” providers Build up our own service
providers
Example: Base station (not
Kyoto University necessarily permanent)
permanent station at OCU
- data stream is - highest freedom
- great coverage publicly available
- advanced services BUT:
(e.g. VRS) BUT: - buy/rent dual freq.
- high distance receiver
BUT: - no NTRIP - set up NTRIP caster
- expensive - RTCM 2.3
25. goGPS & RTKLIB
goGPS conversion from MATLAB to C/C++
new (C++) goGPS GUI GUI
MATLAB → C goGPS core Kalman filter
- positioning func.
RTKLIB - input/output
already
by T.Takasu - GPS formats
existing (C)
(GPLv3) - (...)
http://gpspp.sakura.ne.jp/rtklib/rtklib.htm
26. goGPS & WPS
goGPS development could also include WPS functionality, to shift
the computational / storage burden from the rovers to a central
server.
Examples:
DTM height
rough position
Server providing Rovers running goGPS
DTM data interpolation
as WPS
accurate positioning
raw code and phase
observations
Server running goGPS Rovers just acquiring
with WPS functionality raw data