By Giovanni Carrera, 12/01/2018
Introduction
Usually satellite navigation receivers are
called GPS, but those that receive
also other constellations of satellites, like the Russian GLONASS, the Chinese
BeiDou, the European GALILEO are called GNSS
(Global Navigation Satellite System).
The RTK
(Real Time Kinematic) technique is used to obtain instantaneous and very
precise position measurements with GNSS satellite systems. It uses measurements
on the phase of the carriers transmitted by the satellites and only particular
satellite receivers are able to perform carrier phase tracking. The accuracy of
these receivers is centimeter and even millimeter, depending on the quality of
the receiver and its antenna. These receivers, essentially created for
topographic use, are able to receive two or three carriers and cost several
thousand euros, but some companies, such as the Swiss U-Blox, since some years
have been producing low-cost receivers capable of performing phase
measurements. The problem was given by the processing software, still very
expensive. The Japanese engineer Tomoji Takasu gave a big contribution making
its RTKlib programs open source. In the meantime, electronic technologies have
produced increasingly powerful microcontrollers, allowing RTK processing to be
performed directly in the receiver itself, reaching an accuracy of a few
centimeters without the use of a PC.
In addition to traditional applications such as
GIS (Geographic Information System), these RTK receivers are particularly
suitable for controlling UGV (Unmanned Ground Vehicle) or UAV (Unmanned Aerial
Vehicle) aircraft such as agricultural tractors and drones.
And it is precisely to these systems that this
treatment is addressed, given the vastness and complexity of the topics, I will
not argue in detail on the operating principle of GNSS systems of which I
propose a bibliography.
Satellite systems
The first prototype of GPS satellite was put
into orbit in February 1978 and since 1995 the system has reached full
operational capability (FOC) for civil and military applications.
Other systems have been added to US GPS, such
as the Russian GLONASS, the Chinese BeiDou and the European GALILEO. Satellite
systems have also been developed to increase the accuracy of a stand-alone
receiver. These systems use geostationary satellites and a network of ground
stations to perform long-term differential corrections. The results are lower than
the DGPS because the system operates on a larger area, but the user has the
enormous advantage of improving the accuracy and reliability of the
measurements without using sophisticated and expensive equipment.
Modern satellite receivers are able to receive
satellites of different constellations and also receive SBAS satellites such as
the American WAAS (Wide Area Augmentation System) and the European EGNOS
(European Geostationary Navigation Overlay Service). The frequency of the
carriers of the various systems are different and the antenna must also be
suitable for receiving the various frequencies. The antenna, for precision
measurements, must be of good quality and greatly affect the measurements. To
avoid it being disturbed by multi beam reflections, it is good to fix it on a
metal plate at least 10 cm in diameter and grounded.
The differential receiver in code and phase
For special applications, differential GNSS
(DGNSS) is used. It uses two receivers: a receiver in a fixed station or base and one in a mobile or rover station. The rover receiver will
be different from a normal receiver as it will have to perform data correction
based on the information coming from the base station.
The base station transmits differential
corrections in raw or RTCM format to the rover. These stations must be close
enough (<10 km) to get the best accuracy, for longer distances the accuracy
decreases because the receivers see a different geometry of the satellites.
The common satellite receivers measure the
satellite-antenna distance by working on the code (code range). The bits of the
PRN code (Pseudo-Random Noise) are generated with a frequency of 1.023 MHz,
which corresponds to a wavelength l = 293.1 m, which is the spatial
length of each bit. The correlation measurement of the codes generated by the
satellite and the receiver takes place within 1% of l, which leads to an accuracy of
about 3-5 m, considering also the other errors of the system. A DGPS system
with coded receivers has better accuracy but that hardly drops below one meter.
The PRN code repeats periodically every millisecond, so the distance
measurement will have an ambiguity equal to that period, i.e. about 300 km.
Since this ambiguity is very large, it is easy to eliminate it because one can
presume to know the distance with an approximation of at least 100 km.
For
very precise positioning, receivers that work also on the carrier
phase tracking are needed. Phase
measurements are much more accurate because they use the carrier waves and its
fractions, the wavelengths are about 19 cm for the L1 and 24 cm for the L2.
Taking into account that it is possible to measure displacements of the order
of the degree, the accuracy becomes of the order of the millimeter, not taking
into account other disturbances.
In this case, the distance measurement is
calculated by determining the number of carrier cycles between the satellite
and the receiver antenna, then multiplying this number by the wavelength.
Calculating the number of whole cycles is a
complicated process called "ambiguity resolution". It requires at
least 6-7 satellites with good geometry and the solution of ambiguity requires
a few tens of seconds.
The rover determines its position using
algorithms that incorporate the resolution of the ambiguity and the
differential correction. The accuracy of the position of the rover depends,
among other things, on its distance from the base station, called the
"baseline", the accuracy of the differential corrections and the
quality of the satellite observations of the base station. In order to have a
good absolute precision, necessary for topographic uses, it is necessary to
know the position of the base station, otherwise one works with relative
positioning.
RTK measurements and post-processing
If we are interested in precise position
measurements in real time, we need a RTK system. The rover receiver must be
equipped with an additional powerful processor to be able to calculate the
phase ambiguity solution. In addition, the rover must receive the correction
data in real time. These systems are more complex and require a radio system
with sufficient capability to cover the area in which it is to operate. RTK
receivers have a higher cost than phase-controlled receivers precisely because
more computing power is required. With the latter it is not necessary to have a
PC except to view the results of RTK solutions or save the measurements. But if
we use an external computer, we can use cheaper receivers.
If we do not want to know the correct position
in real time, we can work in post-processing. In this case the system does not
require the transmission of correction data. The base station and the rover
must be equipped with a small computer with a data-logger function and a
monitoring system. Alternatively, a small serial data logger can be used. In a
second time the two files are processed, acquired by the stations in the same
period of time, and the precise positions of the rover can be calculated.
Post-processing usually leads to more accurate measurements as more computing
power is available.
Differences between raw and RTCM data
As mentioned, the rover to process the correct
position in real time must receive the measurements in phase for correction
from the base station. Usually there are two types of messages, both in binary:
·
data
in raw format;
·
data
in RTCM format.
The first is proprietary, i.e. it is developed
by the receiver module manufacturer. This means that modules of the same family
must be used for the two stations. The raw format is the most complete and
therefore leads to greater accuracy. As a disadvantage it has a larger amount
of data to transmit and could cause problems on the communication system due to
the higher bandwidth required.
The RTCM (Radio Technical Commission for
Maritime Services) format is of the standard type, the latest versions are 3.x
and have better data compression and message integrity than versions 2. You can
also use different receivers or even data coming from a regional network
station, the important thing is to check if the versions are the same. As a
disadvantage it has a lower accuracy.
There is also a third format, the RINEX
(Receiver Independent Exchange Format). It too is standard, the latest versions
are 3.x. It is in ascii format, therefore not very compact. Only the most
expensive receivers also have this output format. It is widely used by
post-processing programs such as RTKPost by RTKLib. In this case, you need to
acquire raw data on files and then convert them to RINEX with RTKconv. The
base-rover transmission system is no longer necessary, but the stations must be
equipped with data-loggers. Of course with this system, which is what I've been
using up to now, we do not have the data in real time but we can reach a higher
accuracy than RTK receivers.
Use of fixed station networks
In some regions there are highly accurate GNSS
networks, which make measurements available in real time. One of these systems
is NTRIP (Networked Transport of RTCM via Internet Protocol), this protocol is
implemented in RTKlib. For Europe, see http://www.euref-ip.net. In Italy there
are a number of stations but not all of them use this protocol.
In this case, just the rover receiver is
connected to a smartphone or tablet with a sim card and the RTKlib app. The
accuracy is much lower than the two stations and depends on the distance of the
reference station used for the correction. This system works only if the mobile
has field and if there are NTRIP stations nearby.
GNSS receivers for RTK systems
Today there are several receivers on the market
at relatively low costs. The cheaper ones make only phase measurements and
transmit them to a PC or tablet with the RTKlib program of the Japanese Tomoji
Takasu installed, open source, which has become widespread because it is free
and also very valid. One of these programs, RTKpost, can process data in raw or
Rinex format in post-processing. One thing to ascertain, before purchasing the
GNSS receiver in phase, is to verify that it is in the list of receivers
compatible with RTKlib.
Here are some GNSS phase, low-cost and RTKlib
compatible receivers:
Just a few Ublox modules are capable to operate
on the phase, the latest models are the NEO M8T and NEO M8P, the first provides
only raw data while the second is of the RTK type and costs about three times.
These modules are also used by many companies to realize RTK systems.
Particularly interesting is the NavSpark NS-RAW
card, which contains a SkyTraq Venus822A chip with raw outputs and also a LEON3
Sparc-V8 32-bit microcontroller with an IEEE-754 64bit Floating Point Unit
clocked at 100MHz. The software is developed through the IDE of Arduino with
the addition of the "Arduino NavSpark Boards by SkyTraq" program
inserted through the "Card Manager". This powerful processor has a
Flash Memory of 1024KB and 212KB of RAM. The power supply is via the USB port
with a low-dropout regulator (LDO) that supplies the 3.3V to the card. The
satellite antenna connects with a U.FL connector.
Here are some low-cost boards of GNSS RTK
receivers:
These are just examples that I have selected,
especially considering the price. There are also other receivers, such as the
Piksi RTK system, created by the American Swift Navigation, which has
significantly higher costs, now has a new dual-frequency Multi GNSSe version,
which costs around $ 600 per receiver.
M8P receivers do not need computers because
they are able to process RTK. The M8P-2 model can operate as a base and as a
rover, the M8P-0 only as a rover.
The Swiss company Ublox also sells the C94-M8P
evaluation kit which, at a cost of about $ 650, includes the two boards, based
on the M8P module, complete with GNSS antennas and 433 MHz radio modem.
Also very interesting is the REACH RTK kit
which, at a price of € 614, offers a pair of RTK receivers complete with
antennas. They communicate with each other via WiFi, so for short distances
they do not require the use of radio modems. The accuracy in static
measurements, declared by Emlid, is remarkable: 5mm + 1ppm horizontally and twice
vertically, and little more in kinematic measurements.
The RTK system tested
The NavSpark card I chose fits the SkyTraq
S2525F8-GL-RTK module, which is an RTK receiver based on the Venus8 chip set,
with a high quality price ratio that provides a centimeter position. The
cheaper version provides an RTK measurement per second. For convenience, I used
for the prototype the evaluation board NavSpark S2525F8-GL-RTK EVB that mounts
two TTL / USB adapters, based on the CP2102 chip, for connection to the PC during
setup and configuration. Of course you need to load the Windows driver. This
chip it's also compatible with some android apps.
As default, the NMEA output of the rover has a
baud rate of 115200 b / s, while the base broadcasts in SkyTraq Raw Data format
with a baud rate of 57600 b / s.
The following figure shows
the board, which is about 90x90 mm in size and the antenna used in my tests.
I used a low-cost multi-band GPS / GALILEO,
BEIDOU, GLONASS antenna. It is an active antenna with a gain of 25-27 dB powered
by 3.3 V, 10 mA (supplied by the receiver).
Its dimensions are 49x46x16 mm, the connector
is SMA and the coaxial cable RG174 is 3 m long.
To avoid it being disturbed by multi beam
reflections, it is good to fix it on a metal plate at least 10 cm in diameter
and grounded. The components of each receiver are as follows:
description
|
manufacturer
|
Evaluation board for S2525F8-GL-RTK
|
NavSpark
|
TRI-BAND ACTIVE ANTENNA (SMA)
|
NavSpark
|
Radio-modems and limits imposed by current regulations
Many nations have very restrictive rules on
radio communication systems that limit the frequency bands and transmitter
power.
With these limits it is possible to transmit a
low bandwidth signal, limited to a few kHz and with sight ranges of a few
kilometers. The rules on the 2.4 GHz band are less restrictive, where it is possible to use up to 100 mW without any
authorization for LAN networks on a private area.
That's why I chose a 2.4 GHz XBee Pro S1 system
from Digi International, configured as follows:
description
|
manufacturer
|
code
|
RF TXRX MODULE 802.15.4 RP-SMA
|
Digi International
|
XBP24-ASI-001
|
ANTENNA
2.4GHZ DIPOLE 1/4WAVE
|
Digi
International
|
A24-HASM-450
|
BOARD
XBEE EXPLORER REGULATED
|
SparkFun
Electronics
|
WRL-11373
|
The first item is a serial data transceiver up
to 250 kpbs and with 18 dBm (63 mW) of maximum output power and a receiver sensitivity
of -100 dBm. It is powered at 3.3 V and has an inverted SMA antenna connector
(RP-SMA). To complete each device you need an omnidirectional stylus antenna
with RP-SMA female and 90 ° foldable adapter and an adapter with a 5V to 3.3V
LDO power supply. The following figures show the look of the various elements
of each of the two devices that make up the radio link.
For the Xbee module of the base station I have
set the power High (3), that is an output power at level 3, equal to 16 dBm (40
mW) and not Highest (4). With this power you can reach a range of about 400
meters without obstacles.
Soon I will write a post where I will describe
in detail the settings of these modules.
The configuration programs of the RTK receivers
These programs must be downloaded:
GNSS_Viewer.zip from
http://navspark.mybigcommerce.com
This program is used to configure the receivers
and to display RTK measurements from the rover.
There is another GNSS_Viewer-NmeaPlayer.zip program that does not configure the
receiver but displays RTK measurements and also those previously saved in NMEA
format.
The pdf manuals of these programs are also
available. An essential document for configuring the circuit boards is: Getting_Started_with_S2525F8-BD-RTK-EVB.pdf.
The NMEA format is standard, but latitude and
longitude have 7 decimal digits compared
to 4 of a normal receiver that could not give the sub-centimeter resolution
that would have measurements on the carrier phase.
Static and dynamic tests with a very short base line
In the preliminary tests, I used a very short
base line: I connected the port 1 (Tx1 on J8) of the base with the port 2 (Rx2
on J3) of the rover and also the grounds of the two boards, as shown in the
following figure.
The two receivers were powered by two USB
cables connected to a single PC.
The system quickly went into RTK solution. The
fixed point recording gave very good results, probably due to the good geometry
and a certain number of satellites. The RTK solution reached on the whole test
is of the FIX type (Q = 4), therefore very good, as shown in the following
figure.
The results are also confirmed by the CEP95 (circle
radius containing 95% of the measurements) which is only 12 mm. The cloud of
points is more crushed on the x because my house prevented to see some
satellites (low) to the north.
For the NMEA parse and for the data
elaborations I wrote several programs in Matlab. To convert the latitude and
longitude into UTM coordinates I used the wgs2utm.m function of Alexandre
Schimel.
For a first kinematic test I made a rail with
an aluminum profile on which ran the rover antenna fixed to a wooden sled,
forced to follow the rail by two side skids. The sled was dragged with a rope,
trying to make the speed quite regular.
The following figure shows the straight path
from south to north. The line was drawn between the two average points
calculated with the fixed point measurements. The most southerly point was not
reached during the test for mechanical cause.
The points are not equidistant because the rope
was pulled manually. The results of the tests are very good, even taking into
account that the site was not optimal as satellite visibility.
Obviously I also did measurements on longer
distances, which will be described in my other posts.
Bibliography and reference sites
1) “An introduction to GNSS”, https://www.novatel.com/an-introduction-to-gnss/
2) “Trimble GPS Tutorial”, www.trimble.com/gps_tutorial
3) “Global Positioning System Overview", Peter H. Dana, www.colorado.edu/geography/gcraft/notes/gps.
4) “The Global Positioning System”, www.gps.gov/systems/gps/
5) “NEO-M8P u-blox M8 High Precision GNSS Modules Data Sheet”, UBX-15016656, R06, 16-May-2017.
6) “C94-M8P u-blox RTK Application Board Package User Guide”, UBX-15031066, R07, 07-Jul-2017.
7) “Presentazione del Servizio GNSS e principi di funzionamento”, Domenico Sguerso, DICAT, Università degli Studi di Genova.
8) “Getting Started with S2525F8‐BD‐RTK EVB or S2525F8‐GL‐RTK EVB”, NavSpark
9) “HM-TRLR-S Series 100mW LoRa Transceiver”, HOPE MICROELECTRONICS CO.
10) “Limitations of the RTCM raw measurement format”, Rtklibexplorer , posted on January 30, 2017.
11) “RINEX, The Receiver Independent Exchange Format, Version 3.00”, Werner Gurtner Astronomical Institute University of Bern, Lou Estey UNAVCO Boulder, Co.November 28, 2007.
12) “ELENCO DELLE INTERFACCE PER GLI APPARATI RADIOELETTRICI dal n. 1 al n. 66”, http://www.gazzettaufficiale.it.
13) “Fixed point measurements for post-processing programs testing “, Prof. Giovanni Carrera, 20/02/2013
14) http://www.rtklib.com
15) http://docs.emlid.com
16) https://www.egnos-portal.eu
17) https://emlid.com/shop/reach-rtk-kit/