The Design and Realization of A Portable Positioning System
The Design and Realization of A Portable Positioning System
Chapter11
0
1. Introduction
With the rapid development of positioning techniques, the design and realization of a
positioning system is inclined to introduce user-friendly platform which can provide easy
way to assist end users to locate themselves by utilizing either sensor-based or satellite-based
measurements [4].
In the early 1960s, the Inertial Navigation System (INS) was developed by Litton Industries.
INS is a sensor-based, self-contained, dead-reckoning positioning system which uses a
computer, motion sensors and rotation sensors to perform continuous positioning. The
computation of position, velocity and attitude information of moving objects in INS is
different from GPS-based methods. This information is calculated by an inertial measurement
unit (IMU), where the difference relative to a known starting position, velocity and attitude
can be obtained [20]. However, INS suffers from integration drift and leads to unbounded
accumulation of errors when calculating the time varied information, due to the needed
integrations of small errors in the measurement of acceleration and angular velocity [28], [18].
Therefore, standalone INS-based positioning is unsuitable for accurate positioning over an
extended period of time.
Then, in the early 1970s, the US Department of Defense (DoD) created the rst Global
Positioning System (GPS). GPS is a typical example of space-based satellite navigation system
that provides sufciently accurate information including time, position and velocity [11].
However, GPS cannot work under specic conditions where there lacks an unobstructed line
of sight to four or more GPS satellites [3], [29]. In the GPS-denied environments such as urban
canyons and tunnels, it is difcult for GPS-based measurements to perform continuous and
reliable positioning [15]. Due to the lack of line-of-sight between the receivers antenna and
the satellites in these circumstances, blockage, interference, jamming and multipath effects
may easily inuence the GPS to perform its function of locating the position of receiver [7].
As mentioned above, either GPS-based or sensor-based measurement cannot provide a
continuous and reliable solution. An alternative solution can be obtained by integrating
2012 Xu et al., licensee InTech. This is an open access chapter distributed under the terms of the
Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits
unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited.
Will-be-set-by-IN-TECH
2. Framework of PPS
The PPS generally includes two main components: receiving terminal and monitoring center.
As illustrated in gure 1, the receiving terminal can receive the GPS signal from satellite,
which is then fused with the signal from built-in digital compass to perform a combined
positioning. Then, the resulting information is transferred to the monitoring center through
wireless network and several base stations. In monitoring center, the received positioning
information is analyzed and matched with high precise digital map to display the location of
the receiving terminal in real time. Finally, the resulting location can be sent back with the
compressed digital map to display the location of receiving terminal on its own screen.
In this chapter, we will introduce the design and realization of the PPS, in which three core
contents are included.
1. The design and realization of receiving terminal (PPS hardware). A solution integrating
measurements from GPS and digital compass is proposed to overcome the problems that
arise from using GPS positioning systems in standalone mode. This method can provide
continuous and reliable positioning, even under the circumstances of urban canyons, tunnels,
and other GPS-denied environments.
2. The design and realization of monitoring center (PPS software). The processing speed is
important for the long-term stable operation of PPS. In order to improve runtime efciency of
the PPS, we compare the performance of native table le and memory table in MapX by using
some frequently used operation. By calculating each response time, a suitable storage type
can be found out.
3. Digital map compression for PPS. A new digital map compression algorithm is presented
to provide low cost storage and rapid data transmission in PPS. This algorithm overcomes
the problems that arise from the three traditional compressing algorithms, and can provide
reliable and efcient performance.
Will-be-set-by-IN-TECH
The design and realization of receiving terminal in PPS uses FPGA as the development
platform. The single FPGA can be integrated, using SOPC technology, with various modules
including CPU, memory storage, I/O interface, and etc. And this will provide great
exibility in hardware conguration. The specic hardware description of receiving terminal
is illustrated in gure 2.
2. High exibility in design. SOPC development tools enable developers to customize the
exact peripherals, memory storage, and interface component freely. This is somewhat similar
to the component software development, developers can download and congure the needed
components in a single FPGA according to different applications.
3. Easy-to-update. By implementing a soft-core processor in a FPGA, in-eld hardware
component can be updated conveniently. As a result, new features and latest standards can
be incorporated easily.
3.2. FPGA
As illustrated in gure 2, the GPS and digital compass modules were both connected with I/O
interfaces in FPGA. The signal from satellite can be received by the GPS module, and then
fused with the signal from digital compass to perform integrated positioning. In the receiving
terminal, GPS module took use of GSU-40 developed by Nihon Kohden Corporation. The
size of GSU-40 is 26*26*97 mm3, which meets the portability requirement of the PPS; besides,
the positioning data is updated every second to ensure accurate positioning over an extended
period of time. The data format in GSU-40 complies with the NMEA-0183 standard.
NIOS II Soft-core CPU is connected with other IP cores via Avalon on-chip bus, which
dened time sequence of port and communication between master units and slave units.
The hardware design can be accomplished conveniently by using the SOPC Builder system
development tools. According to function requirement in this system and high exibility of
NIOS II Soft-core processor, IP cores are designed in FPGA.
Besides, other components were also integrated in this ALTERA CY1C12Q240C8 based
on SOPC technology, including NIOS II Soft-core processor, On-Chip RAM, Timer, digital
interface and etc. NIOS II/e "economy" soft-core processor: Three kinds of optional processor
modes are provided by NIOS II, in this system, NIOS II/e "economy" core is employed which
is designed to achieve the simplest possible core at the smallest possible size; Serial Peripheral
Interface (SPI): A communication interface used to obtain the positioning data from digital
compass; Universal Asynchronous Receiver Transmitter (UART): The interfaces for GPRS
module and GPS module to communicate with CPU; On Chip RAM: CY1C12Q240C8 FPGA
provides as many RAM memories as 239,616 bits, which are enough for the requirement
of PPS hardware system; Parallel Input/Output (PIO) module is used as alarming module,
which enable the connection with CPU via PIO to send alarming message to the monitoring
center; Epcs Controller module is used to control hardware conguration les and download
programs from serial conguration device to FPGA when the system is power up; Timer
module is used to provide system time interruption; Power module uses Lithium battery
and provide power to PPS hardware system; Crystal Oscillator module provides system clock
to PPS hardware system; and An EPCS4 chip is used to store the conguration and software
data.
Will-be-set-by-IN-TECH
earth magnetic eld signal; while the tilt sensor is used for compensating "roll" and "pitch".
This electronic solution can provide the advantages of a solid-state component without
moving the parts and the convenience to interconnect with other electronic systems [6]. The
structure of digital compass is shown in gure 3.
3-axis magnetic sensor collects the 3-axis earth magnetic eld signal and the tilt sensor is used
for compensating "roll" and "pitch", and then all of them are amplied and convened to digital
signals through A/D converter, at last transmitted to NIOS II by PIO interface.
Lon compass = y0 +
k 1
(si sini )
(1)
i =0
k 1
(si cosi )
(2)
i =0
i = i1 + i1
(3)
Dead reckoning position error is accumulating with the procedure continues because the
current calculated position during each sampling period depends on the previous calculation
cycle. So in PPS, we adopts the adaptive dead reckoning algorithm proposed in [21] to
improve the precise of this portable position system. The azimuth information is collected
by digital compass. When the PPS located not in GPS-denied environment, the two position
devices are both used to calculate the location, not only the DR system status are amended
constantly, but also exact start location and azimuth information can be provided by the
combined positioning output.
(4)
(5)
Latitude in (4) and Longitude in (5) are the results of positioning coordinates. Latcompass and
Lon compass are the coordinates of digital compass; while Lat GPS and Lon GPS are the coordinates
of GPS. is the weight value and varies according to different positioning environments,
which can be modeled by tting the empirical data.
By comparing these two tracks of the same object moving on the same route, we can nd
that standalone GPS based positioning fail to work in the GPS-denied environment regularly,
where the line-of-sight between the receivers antenna and the satellites is lacked. On
the contrary, the proposed integrating positioning solution which adopts the positioning
information both from GPS and digital compass works well, which can provide continuous
and reliable positioning solution under the circumstances of urban tunnels.
Will-be-set-by-IN-TECH
250 10
New Approach of Indoor and Outdoor Localization Systems
Will-be-set-by-IN-TECH
251
The Design and Realization of a Portable Positioning System
11
0.1725
0.09375
0.28125
30*30 le
7.687625
0.09375
9.313
40*40 mem
0.344375
0.203125
0.593875
40*40 le
14.98094
0.203125
17.43406
50*50 mem
0.6095
0.40625
1.062875
50*50 le
24.65269
0.421875
27.94931
60*60 mem
1.031875
0.75
1.8445
60*60 le
36.87169
0.765625
40.98056
70*70 mem
1.844375
1.40625
3.266
70*70 le
51.12194
1.46875
55.93431
Table 1. Comparison of AddFeature, AddAnnotation, and Update methods on memory table (mem)
and native table (le)
Digital map can be divided into two categories: vector structures and grid structure [26].
And they have their own advantages and disadvantages in expressing different geographical
phenomenon. The compressing of grid map is not involved in this paper, for it is similar to
image compression. On the other hand, vector data compression can be simply dened as the
process of eliminating redundancy. As stated by ZHENG [30], vector data compression was
extracting a subset from data sets with possibly little data, and at the same time reecting the
original appearance of it as far as possible. Depending on the nature of the application, two
classes of compression methods exist: lossless methods and lossy methods. In the lossless
methods, data is compressed in such a way that upon reconstruction (decompression), the
original data is exactly restored. In the lossy methods, an error measure between the original
and the reconstructed data is used to allow a tolerable data distortion. Most vector map
compression techniques, including the algorithm introduced in this paper, are of this last
category, and eventually a combination of the two categories. Structural tables, namely
geometry data, were usually used to store the graphical and topological information of vector
map in current applications of GIS, such as MapInfo data. Other data, attribute data for
example, was saved in other les. Moreover, attribute data could be saved in les or database,
while geometry data was saved in les in most of the time. Still, it organized the les
through different layer according to their geographical information. Generally, geometry data,
compared to attribute data, took the most of the vector maps storage. For instance, MapInfo
vector maps layer, which was saved in le format, generally had two textual le, namely
*.MAP for geometry datas storage and *.TAB for attribute datas storage. And this paper will
focus on the compression of the *.MAP le.
Specically, vector map compression is based on the principle of selecting a reduced set
of dominant points (DPs) on the curve from the map according to an adequate strategy.
Currently, there are many traditional algorithms for compressing vector data. However,
they have their own problems when applying the compression to vector map. As a result,
an enhanced vector data compressing algorithm was put forward in this work, whereafter,
the reliability of this algorithm was tested through experiment. The result of the experiment
252 12
New Approach of Indoor and Outdoor Localization Systems
Will-be-set-by-IN-TECH
shows that the enhanced vector data compressing algorithm introduced in this paper could
efciently tackle the problems caused by the classical compressing algorithms, especially
effective when aiming at the vector map. Besides, it will hopefully serve as useful feedback
information for related works.
253
The Design and Realization of a Portable Positioning System
13
7
Figure 6. Distortion of the overall direction.
This problem exists because the original Douglas-Peucker paper is somewhat ambiguous in
its denition of the distance criterion for selection of a point [8]. On pages 116 and 117 of
their paper we see: (1) The perpendicular distance of C from the segment A-B, (2) distance
from the straight line segment, (3) the furthest point from the straight segment, (4) maximum
perpendicular distance from the segment, (5) the greatest perpendicular distance between it
and the straight line dened by the anchor and the oater. Of these denitions, (2) and (3)
are correct, but (5) seems to be the most widely used by programmers [10]. We need the
distance from the segment, not the distance from the line or the perpendicular distance from
the segment. To see the effect of this mistake, consider the situation shown in gure 7. When
the curve witnessed a signicant angle change, some characteristic bending points (point P in
gure 7) might be lost after compression and resulted in terrain distortion.
Light Column Algorithm calculated through ever-dwindling caliber to detect the point
outside the fan-shaped region [14]. Owing to the increasingly stringent conditions of
detection, the compressing was not that efcient. Still, similar to Douglas - Peucker Algorithm,
when the curve saw a signicant angle change, some bending feature points might be lost
and resulted in terrain distortion. A simpler example, which could be used to test whether
an implementation of the Light Column Algorithm suffers from this mistake, may be seen in
gure 8. The modied line segment will miss the removed point during the line L B,P and
L P,A .
In spite of the reduction in tolerance band could solve the above problems; however there, at
the same time, will inevitably be a signicant reduction in the compressing ratio. Accordingly,
some improvement on compressing algorithm for vector map was investigated in this paper.
254 14
New Approach of Indoor and Outdoor Localization Systems
Will-be-set-by-IN-TECH
3
255
The Design and Realization of a Portable Positioning System
15
the sector was updated. Afterward, if Pi+1 was inside this sector, Pi should be replaced by
Pi1 , and set ag to true. Else ag should be set to false.
Then the rst step of compression was completed, and the point with a signicant angle
change was marked at the same time.
(2) Cutting the compression curve through the point with a signicant angle change, and then
compressing them separately by Douglas - Peucker Algorithm.
There were some problems, which had been discussed in reference [27], should be pay
attention to in using Douglas - Peucker Algorithm to compress the vector map.
Closed curve should be divided into two curve end to end, and then compressing them
separately by Douglas - Peucker Algorithm. The principle for selecting the split points lay
in three criterions.
a The split point should be one of the DPs.
b The other split point should be the point with the greatest distance between it and the split
point.
c The split curve should be the longest one of DPs connection.
Redundant data may follow the compression to a family of curves linked end to end, for
the initial point and the endpoint were extracted as the characteristic point for each curve.
As shown in gure 9, point 1 and 2 respectively stand for the nearest vertices to endpoint
B, therefore the curve C1,B and CB,2 can respectively be replaced by subtense L1,B and L B,2 .
However, the entire curve C1,B,2 can be replaced by subtense L1,2 with reduction of point B.
Accordingly, additional procedure is needed: detecting whether or not the endpoint (point B
in gure 9) can be deleted.
a If the two succession curves were the public edge of a polygon, then the public point
should be preserved.
256 16
New Approach of Indoor and Outdoor Localization Systems
Will-be-set-by-IN-TECH
b Else if the curve between the two points which were extracted from the two succession
curves satised the criterion of Douglas - Peuckers tolerance band, then the joint point
can be deleted.
c Else the point should be preserved.
In this program, depth-searching algorithm was adopted to nd the public edge of the
polygon [25].
After these two steps of compression above, the curve was compressed. Also, the procedure
associated to this strategy was given in Algorithm 1, where C A,B is the curve needed
to be simplied and J, G and D were the tolerance band of James, Light Column and
Douglas-Peucker Algorithm. Besides, k stood for the angle change between line L k1,k and
line L k,k+1 through the point Pk ; LCA(Pi , Pk , G) stood for a sector dened by points Pi , Pk and
tolerance band G; DP(C A,B , D) stood for procedure of the Douglas-Peucker Algorithm.
Algorithm 1: CurveSimp(CA,B , J, G, D )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Input: J , G and D were the tolerance band of James, Light Column and Douglas - Peucker Algorithm,
CA,B is the curve needed to be simplied.
Output: P is the set of dominant points after compression, M is the number of the points.
P P1 , i 1, k 2, f lag f alse;
while Pk CA,B do
if k J then
P P Pk ;
else
LCA( Pi , Pk , G);
if f lag = f alse then
a 1 b1 , a 2 b2 ;
end
if Pk +1 LCA ( Pi , Pk , G ) then
Pk Pi ,i i + 1, f lag true;
else
P P Pk , f lag f alse;
end
end
k k + 1;
end
if P1 == PN then
CurveSimp(CA,C , J, G, D ); CurveSimp(CC,B , J, G, D );
end
M | P |;
DP(CA,B , D);
return ( P , M);
257
The Design and Realization of a Portable Positioning System
17
Name
Original curve
Length (km)
9.023876126834
Difference
0
James Algorithm
8.951782492573
7.98921E-3
Douglas-Peucker
Algorithm
Light Column Algorithm
9.013681028737
1.12979E-3
9.015937028463
8.7979E-4
This Algorithm
9.016173945937
8.5353E-4
Name
Original curve
Coordinates (km)
114.385484755
30.6358562641
Difference
0
0
James Algorithm
114.385866870
30.6349333413
3.3406E-6
3.0126E-5
Douglas-Peucker
Algorithm
114.385768397
30.6353483255
2.4797E-6
1.6580E-5
114.385682864
30.6354687928
1.7319E-6
1.2648E-5
This Algorithm
114.385515924
30.6356739586
2.7249E-7
5.9507E-6
In order to evaluate the reliability, the implementation of the algorithm was put forward in
Windows XP platform, using the Visual C++ 6.0 as the Integrated Developing Environment.
Besides, MapInfo data was adopted to show the vector map with the precision of 1:10000, from
which the 3rd trunk road of Qingshan District in Wuhan was selected for experiment. Based
on the requirement of the application, threshold value was set to 2 meters for corresponding
tolerance band. An improvement on the result shown below could be made by based on the
data provided in Table 2 and Table 3.
As shown in Table 2, the enhanced vector data compressing algorithm introduced in this paper
had the least difference (8.5353E-4 in Table 2) in the comparison of the length value after the
compression.
Similar statements could be made about Table 3, where the corresponding data of average
coordinates had the least difference (2.7249E-7 difference in longitude and 5.9507E-6 difference
in latitude in Table 3) after the compression by the enhanced vector data compressing
algorithm.
258 18
New Approach of Indoor and Outdoor Localization Systems
Will-be-set-by-IN-TECH
Furthermore, the enhanced vector data compressing algorithm could process during the
digitalization of the map with linear temporal complexity and linear spatial complexity in
most of the time [17]. Thus, it had a fast compression speed.
6. Conclusion
This work addresses the design and realization of PPS. In PPS, a integrating positioning
solution is proposed to overcome the problems both in standalone modes and in traditional
integrating measurements. This method, which integrates the data both from GPS and digital
compass, can provide continuous and reliable positioning, even under the circumstances of
urban canyons, tunnels, and other GPS-denied environments. In order to improve runtime
efciency of PPS, we conduct a testing at the monitoring centor where the performance
of native table le and memory table in MapX are compared using some commonly used
operations. In addition, a new digital map compression algorithm is presented to provide
low cost storage and rapid data transmission in PPS. This algorithm overcomes the problems
that arise from the three traditional compressing algorithms, and can provide reliable and
efcient solution.
There are a few improvements can be made in future research. First, despite the use of a
combination of switching power supplies and linear power can improve the efciency of
power usage, it is still necessary to further improve the power component design. Second, the
proposed PPS can only be positioned in the horizontal plane. It could be further investigated
with tilt compensation based 3D positioning scheme.
Acknowledgments
The authors are thankful to Professor Kangling Fang from the College of Information Science
and Engineering at Wuhan University of Science and Technology for her support and useful
discussion. This work was supported in part by the Young Scientists Foundation of Wuhan
University of Science and Technology (2012xz013), the Project (2008TD04) from Science
Foundation of Wuhan University of Science and Technology, the Program of Wuhan Subject
Chief Scientist (201150530152), the Educational Commission of Hubei Province (Q20101101,
Q20101110), the projects (2009CDA034, 2009CDA136, 2008CDB345) from the Natural Science
Foundation of Hubei Provincial, the project from Hubei Provincial Natural Science Funds
for Distinguished Young Scholar of China (No. 2010CDA090), the project from Wuhan Chen
Guang Project (No. 201150431095), and the Natural Science Foundation of China (60803160,
60975031, 61100055).
Author details
Xin Xu, Kai Zhang, Haidong Fu, Shunxin Li, Yimin Qiu and Xiaofeng Wang
School of Computer Science and Technology, Wuhan University of Science and Technology, China
7. References
[1] Altera, C. [2005a]. Embedded Processor Solutions Overview,
http://www.altera.com.cn/technology/embedded/emb-index.html.
259
The Design and Realization of a Portable Positioning System
19
260 20
New Approach of Indoor and Outdoor Localization Systems
Will-be-set-by-IN-TECH
[23] U. Iqbal, A.F. Okou, A. N. [2008]. An integrated reduced inertial sensor system-riss/gps
for land vehicle, In Proceedings of the Position, Location and Navigation Symposium,
pp. 10141021.
[24] W. F. Abdelfatah, J. Georgy, I. U. N. A. [2012]. FPGA-based real-time embedded system
for RISS/GPS integrated navigation, Sensors 12: 115147.
[25] Wang, J. & Jiang, G. [2003]. Researching and Realization of the Quick Compression
Method aimed at the Non-Topology Vector Data, Journal of Surveying and Mapping
32(2): 173177.
[26] Wu, L. [2002]. Geographical Information System: Principles and Applications, Science Press,
Beijing.
[27] Wu, L. & Shi, W. [2003]. Theory and Algorithm of Geographical Information System, Science
Press, Beijing.
[28] Wu, Q. [1998]. Survey of gps/ins integrated navigation systems, Navigation 8: 110.
[29] Z. Lichuan, L. Mingyong, X. D. Y. W. [2009]. Cooperative localization for underwater
vehicles, 4th IEEE Conference on Industrial Electronics and Applications, pp. 25242527.
[30] Zheng, H. [1997]. Theory of Mapping and Cartography Based Computer, Institute of
Surveying and Mapping, Zhengzhou.
[31] Zhong, S. & Gao, Q. [2004]. An Efcient Lossless Compression Algorithm for a kind of
Two-Dimension Vector Maps, Journal of System Simulation 16(10): 21892194.
[32] Zhu, Z. [2006]. Geographical Information System Technology.
URL: http://www.geog.ntu.edu.tw/course/gistech/