> For the complete documentation index, see [llms.txt](https://docs.rtkdata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rtkdata.com/integration-hub/robotics.md).

# 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:

| Region            | Hostname (preferred) | IP fallback     | Port   |
| ----------------- | -------------------- | --------------- | ------ |
| **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` |

| Field                  | Value                                                                                                                                                      |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **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](https://rtkdata.com/my-account/rtk-credentials/). 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](/get-started/network.md).

{% hint style="info" %}
Don't have an RTKdata.com account yet? [Start 30-day Free Trial](https://rtkdata.com/try-rtk-corrections-free-for-30-days/) or [View Pricing](https://rtkdata.com/pricing/)
{% endhint %}

## 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 vehicle
* **A 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 `2101`** for the device that runs the NTRIP client
* **RTKdata 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](/get-started/coverage-map.md) 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.

1. **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 the `nmea` topic to RTKdata (with drivers that publish no NMEA, it can build a GGA sentence from the `fix` topic instead) and publishes the RTCM corrections on its `rtcm` topic. 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](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md) guide, and the [Unitree Go2 EDU guide](/integration-hub/robotics/unitree-go2-rtk.md) for this setup on a robot platform.
2. **NTRIP client in the GNSS receiver.** Some receivers have an NTRIP client of their own, for example the [Septentrio mosaic-X5](/integration-hub/gnss-rovers-and-receivers/septentrio-mosaic-x5.md). 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](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md) guide.
3. **NTRIP client on the ground station.** ArduPilot and PX4 vehicles can get the corrections from their ground control station: [Mission Planner](/integration-hub/ntrip-clients-and-field-software/mission-planner.md) for ArduPilot vehicles, including rovers, and [QGroundControl](/integration-hub/ntrip-clients-and-field-software/qgroundcontrol.md) 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?

| Setup                                            | Choose it when                                                                                     | Keep in mind                                                                                                                                                                                    |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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.

| Robot or software                                              | Where the NTRIP client runs                                                                        | What you add                                                                                         | Guide                                                                                               |
| -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| 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           | [Unitree Go2 EDU](/integration-hub/robotics/unitree-go2-rtk.md)                                     |
| 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)                                 | [Clearpath OutdoorNav](/integration-hub/robotics/clearpath-outdoornav.md)                           |
| 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                                                                | [Fixposition Vision-RTK 2](/integration-hub/robotics/fixposition-vision-rtk-2.md)                   |
| 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      | [ROS 2 NTRIP Client](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md)        |
| 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          | [Mission Planner (ArduPilot)](/integration-hub/ntrip-clients-and-field-software/mission-planner.md) |
| 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 | [MAVProxy (ArduPilot)](/integration-hub/ntrip-clients-and-field-software/mavproxy-ntrip.md)         |
| PX4 vehicles                                                   | QGroundControl on the ground station                                                               | An RTK-capable GNSS receiver on the vehicle, a telemetry link, internet on the ground station        | [QGroundControl (PX4)](/integration-hub/ntrip-clients-and-field-software/qgroundcontrol.md)         |

Not every GNSS driver accepts RTCM on a topic; the [ROS 2 NTRIP Client](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md) guide lists which drivers do and sits under [NTRIP Clients & Field Software](/integration-hub/ntrip-clients-and-field-software.md) 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](/integration-hub/ntrip-clients-and-field-software/ntrip-and-gga-essentials.md) explains what the caster expects from the device, and [GNSS Rovers & Receivers](/integration-hub/gnss-rovers-and-receivers.md) 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:

| Robot software                                                                                                                                                           | Host                                                                                                                 | Port             | Mountpoint             | Username and password                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | ---------------- | ---------------------- | ------------------------------------------------------------------------------------------ |
| [ROS 2 `ntrip_client`](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md)                                                                           | Parameter `host`                                                                                                     | Parameter `port` | Parameter `mountpoint` | Parameters `username` and `password`, with `authenticate` set to `true`                    |
| [Mission Planner](/integration-hub/ntrip-clients-and-field-software/mission-planner.md), **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](/integration-hub/ntrip-clients-and-field-software/qgroundcontrol.md), **Application Settings** > **NTRIP / RTK**                                        | **Host address**                                                                                                     | **Server port**  | **Mount Point**        | **Username**, **Password**                                                                 |
| [Clearpath OutdoorNav](/integration-hub/robotics/clearpath-outdoornav.md), 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](/integration-hub/robotics/fixposition-vision-rtk-2.md), 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)](/integration-hub/ntrip-clients-and-field-software/mavproxy-ntrip.md), `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](https://docs.rtkdata.com/integration-hub/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](#how-many-data-streams-does-a-robot-fleet-need).

## 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](/integration-hub/ntrip-clients-and-field-software/ntrip-and-gga-essentials.md#what-happens-when-gga-is-not-sent).
* **Rate.** Send GGA once per second (1 Hz) where the software lets you set the interval, as recommended in [NTRIP & GGA Essentials](/integration-hub/ntrip-clients-and-field-software/ntrip-and-gga-essentials.md#gga-rate-recommendation).
* **ROS 2.** `ntrip_client` creates no position of its own: it sends what arrives on its `nmea` and `fix` topics, at the rate of the GNSS driver, so set the rate at the driver or the receiver. Feed one of the two topics, preferably `nmea` with the receiver's own GGA, not both. The [ROS 2 NTRIP Client](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md) 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, `AUTO` gets no updated position for a handoff while the robot moves. For QGroundControl, see the troubleshooting table in the [QGroundControl guide](/integration-hub/ntrip-clients-and-field-software/qgroundcontrol.md) 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](/integration-hub/gnss-rovers-and-receivers/septentrio-mosaic-x5.md). 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](/integration-hub/robotics/fixposition-vision-rtk-2.md).
* **Position first.** Start the NTRIP connection once the receiver has a position of its own, outdoors under open sky.

{% hint style="warning" %}
**"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.
{% endhint %}

## 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](https://rtkdata.com/my-account/); 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](/commercial/enterprise-and-volume.md).

{% hint style="info" %}
**Quick check:** switch off or disconnect every robot except one. If the remaining robot connects and holds a stable fix straight away, the cause was a credential conflict, not the correction network.
{% endhint %}

Details: [Account & Credentials](/get-started/account-and-credentials.md#using-one-subscription-with-several-devices).

## 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.

| Mountpoint          | Delivers                                                                                                                                 | Use it on a robot when                                                  |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| **`AUTO`**          | **Recommended.** Your region's datum, see the full table in [Coordinate Systems & Datums](/get-started/coordinate-systems-and-datums.md) | 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                                        |

{% hint style="info" %}
**Datum with AUTO:** `AUTO` delivers the regional datum for your position, for example NAD83(2011) in the USA, NAD83(CSRS)v7 in Canada, ETRS89 (realization ETRF2000) in Europe and GDA2020 in Australia. Regions the table does not list get WGS84(G2139) at the mid-year epoch. ROS 2 `NavSatFix` messages are specified using the WGS 84 reference ellipsoid and have no datum field, so they do not show that a position on `AUTO` is in the regional datum; see the mountpoint section of the [ROS 2 NTRIP Client](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md) guide.
{% endhint %}

* **Capital letters.** Mountpoint names are case sensitive: `AUTO`, not `auto`.
* **One mountpoint per project.** Maps recorded on `AUTO` and 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](/get-started/coordinate-systems-and-datums.md#why-your-coordinates-may-be-offset).
* **Moving robots.** On longer routes, `AUTO` can 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](/get-started/understanding-heights.md).
* **Heading.** An RTK position does not include the robot's orientation. For GPS navigation with `robot_localization`, the [Nav2 documentation](https://docs.nav2.org/jazzy/tutorials/general_tutorials/navigation2_with_gps/navigation2_with_gps/) 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.

| What you see                                                              | Likely cause                                                                                                                             | What to do                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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](#which-connection-settings-do-robots-use-with-rtkdata), 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](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md) guide. Check the receiver's RTCM input in its documentation, move the robot to open sky and check the site on the [Coverage Map](/get-started/coverage-map.md) |
| 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](#how-many-data-streams-does-a-robot-fleet-need)                                                                                                                                                                                  |
| 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](/get-started/coordinate-systems-and-datums.md#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](/get-started/understanding-heights.md)                                                                                                                                                                                                                                             |

For the full checklist, see [Fix NTRIP Connection Issues](/support/common-connection-issues.md).

## 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](/get-started/coverage-map.md).

### 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](/integration-hub/robotics/unitree-go2-rtk.md) covers which models can take an external receiver, where the GNSS software runs, power and internet.

## Quick reference

```
Host:       eu.rtkdata.com / rtk.rtkdata.com / aus.rtkdata.com
Port:       2101
Mountpoint: AUTO
Username:   (from RTKdata dashboard, starts with "rtk")
Password:   (from RTKdata dashboard)
GGA:        ON (required)
```

1. Put an RTK GNSS receiver and antenna on the robot, with a clear view of the sky.
2. Choose where the NTRIP client runs: on the robot computer (ROS 2 `ntrip_client` with a GNSS driver that accepts RTCM on a topic), in the receiver, or on the ground station (Mission Planner, QGroundControl).
3. Enter the host for your region, port `2101`, `AUTO` and your RTK credentials, in Mission Planner as one URL that starts with `http://`; use the IP fallback only if the hostname cannot be resolved.
4. 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 `nmea` topic (`fix` only for drivers without NMEA output), not both.
5. Check the RTK status at the receiver, not only the login.
6. 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](/integration-hub/robotics/unitree-go2-rtk.md): 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](/integration-hub/robotics/clearpath-outdoornav.md): RTKdata settings in the XVN UI for Husky A300 and Jackal robots with OutdoorNav
* [Fixposition Vision-RTK 2](/integration-hub/robotics/fixposition-vision-rtk-2.md): the built-in NTRIP client of the Vision-RTK 2, the Xsens Vision Navigator (XVN) and the PBx-A1
* [ROS 2 NTRIP Client](/integration-hub/ntrip-clients-and-field-software/ros2-ntrip-client.md): the `ntrip_client` parameters, the GNSS drivers that accept RTCM on a topic, the GGA source and the checks for a fix
* [Mission Planner (ArduPilot)](/integration-hub/ntrip-clients-and-field-software/mission-planner.md): **RTK/GPS Inject** on the ground station for ArduPilot rovers and other ArduPilot vehicles
* [MAVProxy (ArduPilot)](/integration-hub/ntrip-clients-and-field-software/mavproxy-ntrip.md): the MAVProxy `ntrip` module on a companion computer, for ArduPilot rovers and boats with their own internet connection
* [QGroundControl (PX4)](/integration-hub/ntrip-clients-and-field-software/qgroundcontrol.md): the **NTRIP / RTK** settings on the ground station for PX4 vehicles
* [Septentrio mosaic-X5](/integration-hub/gnss-rovers-and-receivers/septentrio-mosaic-x5.md): a receiver module with its own NTRIP client and web interface
* [u-center (u-blox F9)](/integration-hub/ntrip-clients-and-field-software/u-center-u-blox-f9.md): configure and bench-test a u-blox ZED-F9P on a Windows computer before it goes on the robot
* [ArduSimple simpleRTK2B / simpleRTK3B](/integration-hub/gnss-rovers-and-receivers/ardusimple-simplertk2b.md): RTKdata setup for the ArduSimple simpleRTK2B (u-blox ZED-F9P) and simpleRTK3B boards
* [GNSS Rovers & Receivers](/integration-hub/gnss-rovers-and-receivers.md): all receiver guides, including receivers with their own NTRIP client
* [NTRIP & GGA Essentials](/integration-hub/ntrip-clients-and-field-software/ntrip-and-gga-essentials.md): why the receiver's position decides whether corrections arrive
* [NTRIP Server Settings](/get-started/network.md): the regional hosts, IP fallbacks and mountpoints used on this page
* [Account & Credentials](/get-started/account-and-credentials.md#using-one-subscription-with-several-devices): one connection per data stream and running several robots in parallel
* [Coordinate Systems & Datums](/get-started/coordinate-systems-and-datums.md): the full table of regional datums that `AUTO` delivers
* [Understanding Heights](/get-started/understanding-heights.md): ellipsoidal and orthometric heights and how to apply a geoid model
* [Coverage Map](/get-started/coverage-map.md): check the reference station coverage where the robot works
* [Enterprise & Volume](/commercial/enterprise-and-volume.md): volume licensing for robot fleets
* [Fix NTRIP Connection Issues](/support/common-connection-issues.md): what to check when the login works but no corrections arrive

## Related Industry Solutions

* [Robotics](https://rtkdata.com/robotics/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rtkdata.com/integration-hub/robotics.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
