Robotics RTK Setup: ROS 2 NTRIP & Robot Platforms
RTK setup guides for robots: how RTKdata NTRIP corrections reach a robot through a GNSS receiver, a driver and an NTRIP client, plus the Unitree Go2 EDU.
A robotics RTK setup with RTKdata connects an NTRIP client on the robot computer, in the GNSS receiver or on the ground station to the RTKdata host for your region on port 2101, with the mountpoint AUTO and your RTK credentials. The client sends the robot's position to RTKdata as NMEA GGA, and the RTCM corrections that come back go to the RTK GNSS receiver on the robot, which computes the RTK position.
This page collects what RTK corrections for robots and unmanned ground vehicles (UGVs) have in common: where the NTRIP client can run, the connection values, why RTKdata needs the robot's position, how many data streams a fleet needs, which mountpoint fits the robot's maps and what to check when a robot does not reach RTK Fixed. The guides below add the details for the ROS 2 NTRIP client, the Unitree Go2 EDU, Clearpath robots with OutdoorNav, Fixposition and Xsens sensors with a built-in NTRIP client, MAVProxy on ArduPilot companion computers and the ground stations of ArduPilot and PX4 vehicles.
RTKdata connection settings for every robot setup on this page:
North America
rtk.rtkdata.com
13.56.117.10
2101
Europe
eu.rtkdata.com
3.73.41.96
2101
Australia
aus.rtkdata.com
54.206.56.130
2101
Host
rtk.rtkdata.com (North America), eu.rtkdata.com (Europe) or aus.rtkdata.com (Australia). Choose the server closest to where the robot works.
Host (IP fallback)
13.56.117.10 (North America), 3.73.41.96 (Europe), 54.206.56.130 (Australia). Only if the robot software or its network cannot resolve the hostname.
Port
2101
Mountpoint
AUTO in capital letters. Alternatives: AUTO_ITRF2020, AUTO_ITRF2014, AUTO_WGS84
Username
From RTK Credentials in your account dashboard. It starts with rtk and is not your website login.
Password
From RTK Credentials, not your website password
NMEA GGA
Required. The robot's position has to reach the caster, otherwise the login succeeds but no corrections arrive.
All three servers share the same base station network; the difference is routing latency. Full reference: NTRIP Server Settings.
What does a robotics RTK setup with RTKdata need?
A robotics RTK setup with RTKdata needs an RTK GNSS receiver and antenna on the robot, an NTRIP client that sends GGA, a path for the corrections into the receiver, internet with outbound TCP on port 2101, RTK credentials, one data stream per robot that is connected at the same time and RTKdata coverage where the robot works.
RTK GNSS receiver and antenna on the robot, with a clear view of the sky
An NTRIP client that sends the robot's position as NMEA GGA: on the robot computer (for example the ROS 2 package
ntrip_client), in the receiver, or on the ground station of an ArduPilot or PX4 vehicleA path for the corrections into the receiver: a GNSS driver that accepts RTCM on a topic, the receiver's own NTRIP client, or the telemetry link from the ground station
Internet with outbound TCP on port
2101for the device that runs the NTRIP clientRTKdata account with active RTK credentials (username starts with
rtk)One data stream per robot that is connected at the same time
RTKdata coverage at your site: check the Coverage Map before you deploy
How do RTK corrections reach a robot?
RTK corrections reach a robot through an NTRIP client that sends the position of the robot's RTK GNSS receiver to RTKdata as NMEA GGA, receives the RTCM corrections in return and passes them to the receiver; that client runs on the robot computer, in the receiver itself or on the ground station of an autopilot vehicle.
NTRIP client on the robot computer. A program on the robot's own computer connects to RTKdata, for example the ROS 2 package
ntrip_client. It forwards the receiver's NMEA sentences, including GGA, from thenmeatopic to RTKdata (with drivers that publish no NMEA, it can build a GGA sentence from thefixtopic instead) and publishes the RTCM corrections on itsrtcmtopic. It does not write to the receiver itself: a GNSS driver that subscribes to that topic writes the corrections into the receiver. See the ROS 2 NTRIP Client guide, and the Unitree Go2 EDU guide for this setup on a robot platform.NTRIP client in the GNSS receiver. Some receivers have an NTRIP client of their own, for example the Septentrio mosaic-X5. The receiver then needs its own internet connection, for example through the Ethernet port on boards that have one, sends its position to RTKdata itself and receives the corrections directly, and the robot computer only reads the position. On ROS 2, the Septentrio driver can write these NTRIP settings into the receiver, as shown in the Septentrio tab of the ROS 2 NTRIP Client guide.
NTRIP client on the ground station. ArduPilot and PX4 vehicles can get the corrections from their ground control station: Mission Planner for ArduPilot vehicles, including rovers, and QGroundControl for PX4 vehicles connect to RTKdata over the ground station's internet and forward the corrections to the vehicle over the telemetry link.
In all three setups, the receiver's position has to reach the caster as NMEA GGA. RTKdata then sends RTCM 3.2 corrections with the MSM4 messages 1074, 1084, 1094, 1114, 1124 and 1134 and the message 1005, and the GNSS receiver computes the RTK solution. The NTRIP client and the robot software only carry the data. Check in the receiver documentation that it accepts RTCM 3 MSM4 messages as input. RTCM 1230 (GLONASS code-phase biases) comes from the base station, and most RTKdata base stations do not send it. Without it, a receiver from another manufacturer than the base station cannot fully resolve the GLONASS ambiguities, so GLONASS does not contribute to the fix. GPS, Galileo and BeiDou are not affected.
Which setup fits your robot?
NTRIP client on the robot computer
The robot runs ROS 2, its computer has internet, and its GNSS driver accepts RTCM on a topic
Give ntrip_client exactly one GGA source, preferably the receiver's own NMEA on nmea, and start it after the driver reports a position
NTRIP client in the GNSS receiver
The receiver has an NTRIP client of its own and can get internet itself, for example over Ethernet
Set the receiver's GGA output to a 1 second interval; on Fixposition and Xsens XVN sensors, set Position to Automatic. The robot computer only reads the position
NTRIP client on the ground station
The vehicle runs ArduPilot or PX4 and stays connected to Mission Planner or QGroundControl
Corrections reach the vehicle only while the ground station runs with internet and the telemetry link is up. Mission Planner reports the vehicle's planned home location, not its live position
NTRIP client on the vehicle's companion computer
The vehicle runs ArduPilot and carries a Linux computer with internet, for example over LTE
MAVProxy sends the vehicle's live position as GGA and connects only after a GPS 3D fix
Which robots and robot software have an RTKdata guide?
RTKdata has setup guides for the Unitree Go2 EDU, for ROS 2 robots, which get their RTK corrections through the ROS 2 package ntrip_client or the receiver's own NTRIP client, for Clearpath robots with OutdoorNav and for Fixposition and Xsens sensors, which use the NTRIP client built into the sensor, and for ArduPilot and PX4 vehicles, which get them through their ground control stations or, on ArduPilot, through MAVProxy on a companion computer.
Unitree Go2 EDU
ntrip_client on a Linux computer with ROS 2 Humble or Jazzy, or the NTRIP client of the receiver
External RTK GNSS receiver and antenna, internet for the device that runs the NTRIP client
Clearpath Husky A300 and Jackal with OutdoorNav
NTRIP client in the XVN (Xsens Vision Navigator, the Fixposition Vision-RTK 2), set in the XVN UI
Internet for the robot through its Peplink router (Wi-Fi WAN or SIM)
Fixposition Vision-RTK 2, Xsens Vision Navigator (XVN), PBx-A1
NTRIP client built into the sensor, set in its web interface
Internet for the sensor over Ethernet
Any ROS 2 robot
ntrip_client on the robot computer (ROS 2 Humble or Jazzy)
An RTK GNSS receiver whose ROS 2 driver accepts RTCM on a topic, internet on the robot computer
ArduPilot rovers
Mission Planner on a Windows ground station
An RTK-capable GNSS receiver on the rover, a telemetry link, internet on the ground station
ArduPilot rovers and boats with a companion computer
MAVProxy with its ntrip module on a Linux computer on the vehicle
An RTK-capable GNSS receiver, a serial or USB link to the flight controller, internet on the vehicle
PX4 vehicles
QGroundControl on the ground station
An RTK-capable GNSS receiver on the vehicle, a telemetry link, internet on the ground station
Not every GNSS driver accepts RTCM on a topic; the ROS 2 NTRIP Client guide lists which drivers do and sits under NTRIP Clients & Field Software because it applies to any ROS 2 robot. If your robot is not listed, the values on this page are the same for any NTRIP client. NTRIP & GGA Essentials explains what the caster expects from the device, and GNSS Rovers & Receivers lists the receiver guides, including receivers with their own NTRIP client.
Which connection settings do robots use with RTKdata?
Robots use the same RTKdata NTRIP settings as every other device: the host for your region (rtk.rtkdata.com for North America, eu.rtkdata.com for Europe, aus.rtkdata.com for Australia), port 2101, the mountpoint AUTO in capital letters, the NTRIP username and password from RTK Credentials, and NMEA GGA sent to the caster.
Each robot software names these fields differently. This is where the values go:
Parameter host
Parameter port
Parameter mountpoint
Parameters username and password, with authenticate set to true
Mission Planner, SETUP > Optional Hardware > RTK/GPS Inject, NTRIP
One URL: http://user:pass@host:port/mountpoint, for example http://rtkUSERNAME:PASSWORD@eu.rtkdata.com:2101/AUTO
In the same URL
In the same URL
user:pass in the same URL
QGroundControl, Application Settings > NTRIP / RTK
Host address
Server port
Mount Point
Username, Password
Clearpath OutdoorNav, XVN UI, Configuration > GNSS, Source NTRIP client (auto)
Host
Port
Mountpoint
User, Password; set Position to Automatic so the XVN sends its position
Fixposition Vision-RTK 2 / XVN, web interface, Configuration > GNSS, Source NTRIP client (auto)
Host
Port
Mountpoint
User, Password; set Position to Automatic so the sensor sends its position
MAVProxy (ArduPilot), ntrip module at the MAV> prompt
ntrip set caster
ntrip set port
ntrip set mountpoint
ntrip set username and ntrip set password, the password in double quotes
Hostname or IP address. Where the robot software has its own port field or parameter (ntrip_client, QGroundControl), enter only the hostname of the server closest to the robot's work area, without http:// and without :2101. Mission Planner is the exception: it takes one URL that starts with http:// and includes the port, as its connection dialog shows ("Enter url (eg http://user:pass@host:port/mount)"). Use the IP fallback only if the robot software or its network cannot resolve the hostname; some embedded systems cannot.
Network. The network the NTRIP client uses, such as site Wi-Fi, a company network, a VPN or mobile data, has to allow outbound TCP on port 2101. Firewalls, VPNs and some mobile carriers can block this port. Port 2101 needs no TLS: leave Use TLS encryption off in QGroundControl.
Credentials. The username starts with rtk and is not your website login. Enter the username and password without a space at the start or end. One set of credentials allows one connection at a time, so every robot that is connected at the same time needs its own data stream, see data streams for a robot fleet.
Why does a robot have to send its position as GGA?
A robot has to send its receiver's position to RTKdata as NMEA GGA because the RTKdata AUTO mountpoint selects the nearest reference station from that position; without GGA the login succeeds, but RTKdata sends no corrections.
How AUTO uses the position. When the NTRIP client connects and sends the receiver's approximate position, the caster identifies the nearest reference station and starts streaming corrections from it. As the robot moves and keeps sending GGA, the caster can switch to a closer station. See NTRIP & GGA Essentials.
Rate. Send GGA once per second (1 Hz) where the software lets you set the interval, as recommended in NTRIP & GGA Essentials.
ROS 2.
ntrip_clientcreates no position of its own: it sends what arrives on itsnmeaandfixtopics, at the rate of the GNSS driver, so set the rate at the driver or the receiver. Feed one of the two topics, preferablynmeawith the receiver's own GGA, not both. The ROS 2 NTRIP Client guide shows the GGA source for each driver.Ground stations. Mission Planner sends GGA when Send NTRIP GGA? (VRS/Smart) is ticked on the RTK/GPS Inject page, which is the default. It reports the vehicle's planned home location about every 30 seconds, not its live position, and sends nothing while that location is not set (latitude and longitude 0), so connect only after the vehicle has a GPS 3D lock and its home location is at the work site. Because this position does not follow the robot,
AUTOgets no updated position for a handoff while the robot moves. For QGroundControl, see the troubleshooting table in the QGroundControl guide if the vehicle connects but does not reach a fix.Receivers with their own NTRIP client. Turn on the receiver's GGA output to the caster at a 1 second interval rather than an automatic mode, for example NMEA GGA in the NTRIP client settings of the Septentrio mosaic-X5. In automatic mode, a Septentrio receiver sends GGA only when the caster requests it. On Fixposition Vision-RTK 2 and Xsens XVN sensors, set Position to Automatic in the NTRIP settings; there it selects the position source, see Fixposition Vision-RTK 2.
Position first. Start the NTRIP connection once the receiver has a position of its own, outdoors under open sky.
"Connected" is not "Fixed". A successful login only means the caster accepted your credentials. If the robot has not sent its position yet, the session looks exactly like this: logged in, but no correction data. Check the RTK status that the receiver reports, not only the connection.
How many data streams does a robot fleet need?
A robot fleet needs one RTKdata data stream for each robot that is connected at the same time, because one set of NTRIP credentials allows one connection at a time.
Same credentials on two robots at once. The robots disconnect each other continuously, neither holds a session long enough to converge, and the fix status keeps cycling between FIX, FLOAT and SINGLE. It looks like an unstable network, not like an account problem.
Robots used one after another can share one set of credentials.
Everything that is logged in counts, for example an NTRIP client left running on a development computer, or a base station that fetches its own position over NTRIP.
Adding streams. Add or remove data streams at any time from your account dashboard; an added stream is active immediately. Depending on how the account was provisioned, each stream has its own credentials, or one set of credentials allows several simultaneous connections.
Fleets. For volume licensing across many robots, see Enterprise & Volume.
Details: Account & Credentials.
Which RTKdata mountpoint fits a robot's maps and waypoints?
Use the RTKdata mountpoint AUTO when the robot's maps and waypoints are in your regional datum or were recorded with RTKdata on AUTO, and use AUTO_WGS84 or AUTO_ITRF2020 when they are in WGS 84; keep one mountpoint for the whole project.
AUTO
Recommended. Your region's datum, see the full table in Coordinate Systems & Datums
Maps and waypoints are in the regional datum or were recorded on AUTO
AUTO_ITRF2020
ITRF2020 at the current epoch
Maps and waypoints are in WGS 84 or ITRF2020
AUTO_ITRF2014
ITRF2014 at the current epoch
The project requires ITRF2014
AUTO_WGS84
WGS84(G2139) at the mid-year epoch
Maps and waypoints are in WGS 84
Capital letters. Mountpoint names are case sensitive:
AUTO, notauto.One mountpoint per project. Maps recorded on
AUTOand waypoints from a global mountpoint sit in different frames and do not line up.Datum offset. A consistent 50 cm to 1 m offset against local survey control or a map is almost always a datum mismatch, not an accuracy problem. See Why Your Coordinates May Be Offset.
Moving robots. On longer routes,
AUTOcan hand off to a closer station as the robot moves, based on the updated position, except with Mission Planner, which reports the home location.Heights. RTKdata delivers ellipsoidal heights. For heights above sea level, apply a geoid model. See Understanding Heights.
Heading. An RTK position does not include the robot's orientation. For GPS navigation with
robot_localization, the Nav2 documentation states that "measuring absolute orientation is mandatory" and names IMUs with magnetometers, dual GPS systems or matching techniques over a known map as sources.
Why does a robot connect but never reach RTK Fixed?
Most often RTKdata has not received the robot's position as NMEA GGA yet, so the login succeeds but no corrections arrive; the other common causes are a mountpoint that is not AUTO in capital letters, a GNSS driver that does not write the corrections into the receiver, the same credentials on a second device and a blocked view of the sky.
Login rejected
The website login was used instead of the RTK credentials, a typo, or a space at the start or end
Enter the username (starts with rtk) and the password from RTK Credentials
No connection to the server
The hostname does not resolve, the host is not in the format your software expects, or outbound TCP on port 2101 is blocked
Check the host format in the connection settings, try the IP fallback for your region and allow outbound TCP on port 2101
Logged in, but no correction data
No GGA reaches RTKdata, or the mountpoint is not AUTO in capital letters
Check the GGA source: the nmea topic of ntrip_client, the GGA checkbox on the RTK/GPS Inject page and the home location in Mission Planner, or the GGA output of a receiver with its own NTRIP client. Then check the mountpoint
Corrections arrive, but the receiver never reaches RTK Fixed
No GNSS driver writes the corrections into the receiver, the receiver does not take RTCM 3 MSM4 messages as input, or the sky is blocked
With ROS 2, check that the driver subscribes to the RTCM topic, see the ROS 2 NTRIP Client guide. Check the receiver's RTCM input in its documentation, move the robot to open sky and check the site on the Coverage Map
Fix status keeps cycling between FIX, FLOAT and SINGLE
A second robot or device uses the same credentials at the same time
One data stream per robot that is connected at the same time, see data streams for a robot fleet
Constant offset of 50 cm to 1 m against maps, waypoints or survey control
The mountpoint delivers another datum than the maps and waypoints use
Use one datum for mountpoint, maps and waypoints, see Why Your Coordinates May Be Offset
Heights differ from benchmarks by 10 to 50+ m
RTKdata delivers ellipsoidal heights, and no geoid model is applied
Apply a geoid model, see Understanding Heights
For the full checklist, see Fix NTRIP Connection Issues.
Frequently asked questions
Can a robot without its own NTRIP client use RTKdata?
Yes. A robot without its own NTRIP client can use RTKdata if a computer on the robot runs an NTRIP client that sends the receiver's position as GGA and hands the corrections to the receiver, for example the ROS 2 package ntrip_client with a GNSS driver that accepts RTCM on a topic, or if the GNSS receiver has its own NTRIP client and internet connection. ArduPilot and PX4 vehicles can also get the corrections from Mission Planner or QGroundControl on the ground station. What the robot needs in every case is an RTK-capable GNSS receiver; the robot platform itself does not need NTRIP support.
Does a robot need a local base station with RTKdata?
No. A local base station is not required: RTKdata streams the corrections over NTRIP from the nearest reference station in its network directly to the robot's receiver, which works as a rover. If you run a base station of your own that logs in to RTKdata with the same credentials, for example to fetch its own position, it occupies the connection; take it off the network or give it its own data stream. Check that your site is covered on the Coverage Map.
Does the Unitree Go2 have built-in RTK?
No. Unitree's Go2 specifications list a 4G module with GPS for the PRO, X and EDU models and no RTK. To use RTKdata corrections on a Go2 EDU, you add an external RTK GNSS receiver with its own antenna and an NTRIP client, for example the ROS 2 package ntrip_client on a Linux companion computer, or a receiver with its own NTRIP client. The Unitree Go2 EDU guide covers which models can take an external receiver, where the GNSS software runs, power and internet.
Quick reference
Put an RTK GNSS receiver and antenna on the robot, with a clear view of the sky.
Choose where the NTRIP client runs: on the robot computer (ROS 2
ntrip_clientwith a GNSS driver that accepts RTCM on a topic), in the receiver, or on the ground station (Mission Planner, QGroundControl).Enter the host for your region, port
2101,AUTOand your RTK credentials, in Mission Planner as one URL that starts withhttp://; use the IP fallback only if the hostname cannot be resolved.Send the receiver's position to RTKdata as GGA, once per second where the software lets you set the rate; with ROS 2, the receiver's own GGA on the
nmeatopic (fixonly for drivers without NMEA output), not both.Check the RTK status at the receiver, not only the login.
Give every robot that is connected at the same time its own data stream, and keep maps, waypoints and mountpoint in the same datum.
Related Guides
Unitree Go2 EDU: why the Go2 needs an external RTK receiver, which models can take one, where the GNSS software runs and the setup with ROS 2
Clearpath OutdoorNav: RTKdata settings in the XVN UI for Husky A300 and Jackal robots with OutdoorNav
Fixposition Vision-RTK 2: the built-in NTRIP client of the Vision-RTK 2, the Xsens Vision Navigator (XVN) and the PBx-A1
ROS 2 NTRIP Client: the
ntrip_clientparameters, the GNSS drivers that accept RTCM on a topic, the GGA source and the checks for a fixMission Planner (ArduPilot): RTK/GPS Inject on the ground station for ArduPilot rovers and other ArduPilot vehicles
MAVProxy (ArduPilot): the MAVProxy
ntripmodule on a companion computer, for ArduPilot rovers and boats with their own internet connectionQGroundControl (PX4): the NTRIP / RTK settings on the ground station for PX4 vehicles
Septentrio mosaic-X5: a receiver module with its own NTRIP client and web interface
u-center (u-blox F9): configure and bench-test a u-blox ZED-F9P on a Windows computer before it goes on the robot
ArduSimple simpleRTK2B / simpleRTK3B: RTKdata setup for the ArduSimple simpleRTK2B (u-blox ZED-F9P) and simpleRTK3B boards
GNSS Rovers & Receivers: all receiver guides, including receivers with their own NTRIP client
NTRIP & GGA Essentials: why the receiver's position decides whether corrections arrive
NTRIP Server Settings: the regional hosts, IP fallbacks and mountpoints used on this page
Account & Credentials: one connection per data stream and running several robots in parallel
Coordinate Systems & Datums: the full table of regional datums that
AUTOdeliversUnderstanding Heights: ellipsoidal and orthometric heights and how to apply a geoid model
Coverage Map: check the reference station coverage where the robot works
Enterprise & Volume: volume licensing for robot fleets
Fix NTRIP Connection Issues: what to check when the login works but no corrections arrive
Related Industry Solutions
Last updated
Was this helpful?