RTKLIB - OpenStreetMap Wiki
RTKLIB
From OpenStreetMap Wiki
Jump to navigation
Jump to search
Help
RTKLIB
In other languages
Afrikaans
asturianu
azərbaycanca
Bahasa Indonesia
Bahasa Melayu
bosanski
brezhoneg
català
čeština
Crnogorski
dansk
eesti
Esperanto
euskara
Frysk
Gàidhlig
galego
hrvatski
Ido
interlingua
íslenska
italiano
Kreyòl ayisyen
kréyòl gwadloupéyen
kurdî
latviešu
Lëtzebuergesch
lietuvių
magyar
Nederlands
norsk
norsk nynorsk
occitan
polski
português
română
sardu
shqip
slovenčina
slovenščina
srpski (latinica)
suomi
svenska
Tagalog
Tiếng Việt
Türkçe
Zazaki
Ελληνικά
беларуская
български
македонски
монгол
русский
српски / srpski
українська
հայերեն
עברית
العربية
سرائیکی
فارسی
پنجابی
پښتو
नेपाली
मराठी
हिन्दी
বাংলা
ਪੰਜਾਬੀ
தமிழ்
മലയാളം
සිංහල
ไทย
မြန်မာဘာသာ
한국어
ქართული
ⵜⴰⵎⴰⵣⵉⵖⵜ
中文(简体)
中文(繁體)
粵語
Other languages...
RTKLIB
Author:
T. Takasu and other contributors.
License:
FreeBSD License and GPL >=v3 for versions before and including 2.4.2b11
Platforms:
Windows, Linux, and Android
Version:
2.4.3
(2015-03-31)
Language:
Website:
Install:
Google Play
Programming language:
ANSI C
Open source program package for GNSS positioning
Features
Feature
Value
Map Display
Routing
Navigating
Tracking
Monitoring
Editing
Rendering
RTKLIB
is an open source GNSS toolkit for performing standard and precise positioning. Using GNSS raw data, it is possible to do real-time and post-processing to accurately determine a position, using either a base station, precise point positioning (PPP) or precise ephemerides and clock data. The software supports all major satellite constellations (GPS, GLONASS, Galileo, BeiDou, SBAS, QZSS) and major file exchange formats. The toolkit runs with a GUI on Windows and command line tools on Linux.
Contents
Real-time and post-processing modes
Usage
2.1
Collecting traces
2.2
Converting traces to RINEX-format
2.3
Post-processing traces
2.4
Collecting base station data in real-time
2.5
Set up your own base station and NTRIP caster
Hardware
3.1
Calibrated antennas
Bugs
Missing features
Application programs
6.1
ANTApp
6.2
str2str
6.3
convbin
6.4
rnx2rtkp
6.5
rtkrcv
6.6
Util prec2nav
6.7
Util geniono
6.8
Util rnx2rtcm
6.9
Util strmon
6.10
Util simobs
Examples
7.1
Differential code+phase static positioning relative to an IGS station. Short base vector length.
7.2
Differential code+phase static positioning relative to an IGS station. Medium base vector length.
7.3
Differential code+phase static positioning relative to a base station with known ETRS89 coordinates. Short base vector length.
Supported file formats
Source-code
10
Mailing list
11
Research
12
External links
12.1
Other similar free software
Real-time and post-processing modes
Single
enables positioning as a normal GNSS receiver using code measurements, broadcast ephemerides and clock data from the satellites. Phase measurements (carrier smoothing) are not used (2.4.2). If the SBAS data is available for this geographic region, it can be used to improve the rover's position (
Single+SBAS
Differential GPS/GNSS
where positioning results from a rover and code corrections from base station are used to improve the rover's position.
Real Time Kinematic (RTK)
Kinematic
Raw data from a moving rover is combined with raw data from a static base station to improve the rover's position.
Static
Similar to
Kinematic
, but the rover is stationary.
Moving-Baseline
Similar to
Kinematic
, but the distance between the rover and base station is calculated irrespective of the base station's position. The base station position is estimated using
Single
algorithm.
Fixed
Used for RTKLIB residuals analysis (Tropo+Iono+integer ambiguity resolution+Errors, see Section B.3 in the RTKLIB Manual 2.4.2).
Precise Point Positioning (PPP)
PPP-Kinematic
Raw data from a moving rover is combined with real time predicted or non-real time measured precise ephemerides and satellite clocks to improve the rover's position.
PPP-Static
Similar to above, but the rover is stationary.
PPP-Fixed
Used for residuals analysis.
Usage
Collecting traces
With the appropriate GNSS antenna and receiver, it is possible to collect raw data on a windows or linux machine using RTKNAVI (or STRSVR).
Open
Input Streams
(press the
in RTKNAVI),
choose
Serial
type for the rover
and in the configuration dialogs choose the correct COM port.
Also under
Cmd
choose the correct initialization file for the receiver (found in the
data
subdirectory).
Choose the correct format for the receiver.
Close the dialog and open
Log Streams
(press the
),
choose
File
as output for the rover and select the file destination.
The raw data from the receiver should now be saved to file when pressing "Start".
Converting traces to RINEX-format
Before traces can be post-processed, they needs to be converted to the RINEX file format. This is done with RTKCONV or convbin, and the RINEX files are saved as .obs, .nav and possibly .sbs.
Post-processing traces
The RINEX files can be post-processed with RTKPOST or rnx2rtkp. The RINEX .obs-file from the rover is needed together with either
ephemerides and clock solutions (f.ex. from IGS
[1]
in .sp3 and .clk that can be downloaded using RTKGET or wget/curl
RINEX file from a nearby base station
Your own stationary receiver with raw data captured at the same time as the rover
EUREF network
[2]
in Europe
CORS
[3]
[4]
in the USA
NGRS
[5]
in Australia
RBMC
[6]
in Brazil
CACS
[7]
in Canada
RGP
[8]
in France
GREF
[9]
in Germany
RGS
[10]
in Russia
FinnRef
[11]
in Finland
OS Net
[12]
in UK
Others
[13]
Saved base station raw data collected with RTKLIB in real time.
Under
Options:Settings1
choose the correct positioning mode, and in the tab
Output
choose
NMEA
under
Solution Format
. In the
Positions
tab either input the correct position of the base station or let RTKPOST use the position in the RINEX file.
The quality of the post-processed RTK data strongly depends on the baseline length (distance between the base station and rover).
Collecting base station data in real-time
First, apply for access to an NTRIP caster (see full list
[14]
) from the network you want access to:
NTRIP Casters
Name
Country
Caster address
Application Form
Reference Station locations
IGS-IP by BKG
Germany
[15]
[16]
international base stations
IGS-MGEX by BKG
Germany
[17]
[18]
international base stations using GPS, GLONASS, Galileo, QZSS
EUREF-IP by ASI
Italy
[19]
[20]
mostly European base stations
EUREF-IP by BKG
Germany
[21]
[22]
mostly European base stations
EUREF-IP by ROB
Belgium
[23]
[24]
mostly European base stations
RBMC by IBGE
Brazil
[25]
[26]
mostly Brazilian base stations
ASG by EUPOS
Poland
[27]
[28]
Polish base stations
Trignet by National Geospatial Information
South Africa
[29]
[30]
All of South Africa. Free of charge
CentipedeRTK
France
[31]
none
Free of charge
Then, using the correct NTRIP caster, username and password, configure either RTKNAVI or STRSVR to collect the raw data in real time as RTCM 2 or 3 and save/log it to a file.
Set up your own base station and NTRIP caster
Using a hardware receiver, configure STRSVR to input the data from the serial port. As
Output
, choose
NTRIP Server
and configure the appropriate settings for your NTRIP caster. Under
Conversion Option
choose
Conversion from to RTCM 3
. For
Message Types
enter the appropriate types as listed in the RTKLIB Manual
[32]
p. 27 (f.ex.
1002(1), 1019(1)
).
RTKBase
is a solution with a Web GUI to run a base station on a single board computer.
You also need to set up an NTRIP caster:
Lefebure NTRIP Caster
[33]
- Windows GUI, free
BKG NTRIP Broadcaster:
Professional v.2.0.15
[34]
- €1000
Standard v.0.1.5
[35]
- Linux commandline, free
SNIP NTRIP Caster
[36]
- Windows (Linux coming soon); Lite (free), Basic, and Pro.
Hardware
See
RTKLIB-compatible GPS devices
Calibrated antennas
Trimble Bullet III
GPS-only (will probably also work for Galileo). '10cm UP' needs to be verified:
G01 START OF FREQUENCY
4.6 -0.7 99.1 NORTH / EAST / UP
Tallysman TWI3870+GroundPlane(D=100mm)
TWI3870+GP NONE TYPE / SERIAL NO
0.0 DAZI
0.0 80.0 5.0 ZEN1 / ZEN2 / DZEN
G01 START OF FREQUENCY
1.28 -2.27 7.05 NORTH / EAST / UP
NOAZI 0.00 -2.73 -3.70 -3.73 -3.22 -2.72 -2.36 -2.29 -2.67 -3.31 -4.26 -5.19 -5.73 -5.65 -4.28 -0.91 5.57
Tallysman TW34xx+GroundPlane(D=100mm)
Needs to be compared with TWI3870...
Bugs
The u-blox driver can't decode raw TRK-* data if the rate is > 10Hz and in general for the periods which are not a multiple of 100 ms (for example T=250 ms for 4 Hz)
The u-blox driver does not support options for selecting/filtering the raw data packets (RXM-RAW/TRK-TRKD5, RXM-SFRB/TRK-SFRB)
"IERS Conventions Software License" is not compatible with GPL.
Missing features
Generation of RTCM2 messages. pyUblox
implements messages Type1 and Type3 for U-blox receivers.
Support for geoid/quasigeoid models in the following formats:
Trimble GGF
Topcon GFF
Leica GEM
Carlson/SurvCE GSF
Javad BIN
Pinnacle JFF
Support for 14-parameter ITRS/ETRS coordinate conversion
ETRS89
ITRF2008
, [
ITRF2000
].
Support for Transverse Mercator projection (UTM and Gauß-Krüger with 7-parameter datum shifts)
SiRF is not supported
RTCM3 messages 1014,1015,1016,1017 (Network RTK)
RTCM3.1 messages 1021/1022(helmert & molodenski-baderkas),1023/1024 (residual grid),1025/1026/1027 (projection) Coordinate Transformation is not supported
RTCM3.1 geodetic transformation
THE NEW RTCM 3.1 TRANSFORMATION MESSAGES
GALILEO ambiguity resolution
ANTEX for non-spherically symmetric antennas. Support DZEN != 5°
SINGLE_STATIC mode
Application programs
ANTApp
Antenna phase characteristics Application (ANTApp)
is using the Qt toolkit and is distributed under GPLv3.
str2str
Configure the serial port (ACM, USB et al.) before using the input/output serial ports
$ stty -F /dev/ttyACM1 clocal raw
$ stty -F /dev/ttyUSB1 clocal raw speed 115200
str2str supports RTCM(3) output:
$ str2str -in ntripcli://user:password@host.domain:8000/MNTPNT -out file:///tmp/logfile.rtcm -t 1
Creates raw ubx log (filtering? vs. cat /dev/ttyACM1 > /tmp/logfile.ubx )
$ str2str -in file:///dev/ttyACM1#ubx -out file:///tmp/logfile.ubx
Exports raw ubx data to localhost port 22101 (see also 'socat')
$ str2str -in file:///dev/ttyACM1#ubx -out tcpsvr://:22101
This call simulates netcat/socat
$ str2str -in tcpcli://IP:22101#ubx -out file:///tmp/logfile.ubx
convbin
Creates RINEX output from RTCM input:
$ convbin -v 3.02 -r rtcm3 -od -os -d /tmp logfile.rtcm
rnx2rtkp
The command-line parser of rnx2rtkp is pretty primitive, so in complex cases you
are forced to create a full-blown .conf file.
Quick and dirty postprocessing in different modes:
MODE_SINGLE
MODE_SINGLE+SBAS
MODE_PPP
rtkrcv
Do not forget to set executable permissions to the shell scripts:
misc-startcmd =../rtkstart.sh
misc-stopcmd =../rtkshut.sh
Util prec2nav
Util geniono
Util rnx2rtcm
Util strmon
Util simobs
Examples
Differential code+phase static positioning relative to an IGS station. Short base vector length.
Base station:
EUREF/SVTL
Date: 2013-12-28 (WEEK=1772 DOY=362)
Time interval: 100 ms
Time alignment: 1s
Distance to base station: ~0.8 km
Geoid model: EGM2008
Measurement site: near SVTL
Antenna: Trimble Bullet III 3.3V
Receiver: EVK-6T-0
Differential code+phase static positioning relative to an IGS station. Medium base vector length.
Base station:
EUREF/SVTL
Date: 2013-12-22 (WEEK=1772 DOY=356)
Time interval: 100 ms
Time alignment: 1s
Distance to base station: ~20.2 km
Geoid model: EGM2008
Measurement site:
Suulajärvi
Antenna: Trimble Bullet III 3.3V
Receiver: EVK-6T-0
Differential code+phase static positioning relative to a base station with known ETRS89 coordinates. Short base vector length.
Base station:
GREF/MUEJ
Date: 2014-11-08 (WEEK=1817 DOY=312)
Time interval: 100ms decimated to 30 s
Time alignment: 30 s
Distance to base station: ~2.6 km
Quasigeoid model:
GCG2011
Measurement site:
GRP_MUENCHEN
Antenna:
Tallysman TW3440
Receiver: EVK-M8N-1
Supported file formats
RINEX 2.10-2.12, 3.00-3.02
RTCM 2.3, 3.1, 3.2
BINEX (only input, partial)
NTRIP 1.0
NMEA 0183 (only output)
SP3-c (only input)
ANTEX 1.4, NGS PCV (input, partial, hardcoded elevation angle step=5°)
IONEX 1.0 (only input)
EMS 2.0 (only input)
Source-code
The source code is hosted on github
[37]
Mailing list
FOSS-GPS -- Open Source GPS-related discussion and support
[38]
Research
H. Lanzendörfer (2007): Zum Einsatz von low-cost GPS-Empfängern für kontinuierliches Monitoring eines Rutschhanges
[39]
T. Takasu and A. Yasuda (2008): Evaluation of RTK-GPS Performance with Low-cost Single-frequency GPS Receivers
[40]
T. Takasu (2009): Evaluation of GPS L1 Antenna/Receivers
[41]
T. Takasu (2009): Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB
[42]
N.N. (2009): Analysis of dynamic generation and real time transmission of RTCM 3.1 geodetic transformation messages
[43]
N. Zinas (2010): Development and assessment of a new rover-enhanced network based data processing strategy for Global Navigation Satellite Systems
[44]
R. Jäger and S. Kälber (2011): The new RTCM 3.1 Transformation Messages – Declaration, Generation from Reference Transformations and Implementation as a Server-Client-Concept for GNSS Services
[45]
W. Stempfhuber, M. Buchholz (2011): A Precise, Low-Cost RTK GNSS System For UAV Applications
[46]
D. Grieneisen (2012): Real Time Kinematic GPS for Micro Aerial Vehicles
[47]
M. Qu (2012): Experimental studies of wireless communication and GNSS kinematic positioning performance in high-mobility vehicle environments
[48]
B. Wiśniewski, K. Bruniecki, M. Moszyński (2013): Evaluation of RTKLIB's Positioning Accuracy Using low-cost GNSS Receiver and ASG-EUPOS.
[49]
J. Stähli und S.Keller (2013): Präzise Positionsbestimmung mit Low-Cost-GPS und Postprocessing
[50]
T. Takasu (2013): PPP Ambiguity Resolution Implementation in RTKLIB v 2.4.2
[51]
W. Hedgecock et al. (2013): High-Accuracy Differential Tracking of Low-Cost GPS Receivers
[52]
S. Carcanague (2013): Low-cost GPS/GLONASS Precise Positioning Algorithm in Constrained Environment
[53]
S. Carcanague, O. Julien, W. Vigneau, C. Macabiau, G. Hein (2013): Finding the right algorithm - Low-Cost, Single-Frequency GPS/GLONASS RTK for Road Users
[54]
V. Elisson and G. Gässler (2014): Low cost relative GNSS positioning with IMU integration
[55]
External links
RTKLIB Quick Guide
Other similar free software
gLab
goGPS
gpstk
GPS related articles
Main
GPS
with good internal links,
GNSS
. Another formats:
NMEA
FIT
(Garmin),
GPX tracks: create
List of GPS trace file formats
GPX
Why not GPX?
GPX viewer and recorder
(Windows™ only),
OpenGpxTracker
(iOS™ only),
Gps Event Sync
GPX extractor
OsmAnd
MAPS.ME
GpsMid
(J2ME),
Gpsd
GPX tracks: convert
Convert GPS tracks
Converting/NMEA to GPX
Edit GPS tracks
with big software list,
GPSBabel
GPX tracks: upload
Upload GPS tracks
Batch Upload of GPX (various tools)
Upload
(stub),
Category:Tracelog hosting
Visualise
Online:
Track drawing websites
Openlayers Track example
PhpMyGPX
, offline:
GpsPrune
GPX Viewer
JOSM
Florb
GpsMaster
Hardware (receivers)
GPS device reviews
(with devices table), receive/lend:
GPStogo
Accuracy
Accuracy of GNSS data
RTKLIB
RTKLIB-compatible GPS devices
Open-source hardware
KartaView/OBD2
Test the accuracy of GPS devices
Other
Comparison of Android applications
Retrieved from "
Categories
FreeBSD License
Miscellaneous software licenses
Windows software
Linux software
Android software
Cross-platform software
Miscellaneous programming languages
Unix
Free software
Ubuntu
GNSS
Hidden categories:
Pages unavailable in German
Pages unavailable in Spanish
Pages unavailable in French
Pages unavailable in Italian
Pages unavailable in Dutch
Pages unavailable in Russian
Pages unavailable in Japanese
Software with no status specified
Navigation menu