RTK — Real Time Kinematics related messages

Flockwave servers may manage Real Time Kinematics (RTK) corrections; these corrections may be received from an RTK-capable GNSS based station, can be displayed on the user interface in a Flockwave client or may be broadcast to UAVs in the range of the Flockwave server for enahncing GNSS positioning accuracy.

RTK based stations need to be configured before use with either a fixed known position or with initiating an auto survey to measure its own location accurately. Base stations will start to send correction signals to UAVs only when they have acquired a known position.

RTK base stations are identified by unique string identifiers (just like objects or connections). These may include RTK presets from a remote NTRIP source or local base stations connected through e.g. a serial port.

RTK-INF — Retrieve status of an RTK preset

A client sends this request to the server to retrieve the status of one or more RTK presets (base stations) managed by the server.

Request fields

Name Required? Type Description

ids

yes

list of strings

The list of RTK preset IDs that the client is interested in

Response fields

Name Required? Type Description

preset

no

object

Object mapping RTK preset IDs to the corresponding status information. The structure of this object is described by the RTKConfigurationPreset complex type.

error

no

object

Object mapping RTK preset IDs to reasons why the corresponding status information could not have been retrieved.

All the RTK preset IDs that were specified in the request MUST appear either as keys in the status object or in the error map.

Example request

{
  "type": "RTK-INF",
  "ids": ["COM3-0"]
}

Example response

{
  "preset": {
    "COM3-0": {
      "title": "My RTK base (COM3) (115200 baud)",
      "format": "auto",
      "sources": ["serial:COM3?baud=115200"],
      "type": "dynamic"
    }
  },
  "error": {
    "COM3-1": "No such RTK preset"
  },
  "type": "RTK-INF"
}

RTK-LIST — List of all the RTK presets managed by the server

A client sends this request to the server to obtain the list of all the RTK presets currently managed by the server.

Request fields

This request has no fields.

Response fields

Name Required? Type Description

ids

yes

list of strings

The list of RTK preset IDs for all the RTK base stations that the server manages

Example request

{
  "type": "RTK-LIST"
}

Example response

{
  "type": "RTK-LIST",
  "ids": ["COM3-0", "COM3-1", "my-fixed-station"]
}

RTK-STAT — Status information about the RTK base managed by the server

A client sends this request to the server to obtain statistical information of the RTK base station operation currently managed by the server.

Request fields

This request has no fields.

Response fields

Name Required? Type Description

antenna

yes

object

Object holding information about the current RTK antenna. The structure of this object is described by the AntennaInformation complex type.

messages

yes

object

Object holding statistical information about RTK messages received from the RTK antenna. The structure of this object is described by the MessageObservations complex type.

messages_tx

yes

object

Object holding statistical information about RTK messages forwarded to UAVs. The structure of this object is described by the MessageObservations complex type.

cnr

yes

object

Object holding information about the satellite carrier-to-noise ratios. The object is indexed by the names of the seen satellites and each value contains the corresponding latest carrier-to-noise value in decibels (dB).

survey

yes

object

Object holding information about the status of the current RTK survey procedure. The structure of this object is described by the SurveyStatus complex type.

Example request

{
  "type": "RTK-STAT"
}

Example response

{
  "antenna": {
    "stationId": 100,
    "descriptor": "ADVNULLANTENNA",
    "serialNumber": "12345678",
    "position": [461214567, 154376573, 252860, null],
    "positionECEF": [4268987000, 1178894000, 4574798000]
  },
  "messages": {
    "rtcm3/1008": [7613, 25],
    "rtcm3/1087": [484, 2248],
    "rtcm3/1097": [484, 2336]
  },
  "messages_tx": {
    "rtcm3/1087": [484, 2248],
    "rtcm3/1097": [484, 2336]
  },
  "cnr": {
    "G05": 41.625,
    "G12": 40.3125,
    "G13": 54.375,
    "G14": 55.5625
  },
  "survey": {
    "accuracy": 0,
    "flags": 0
  },
  "type": "RTK-STAT"
}

RTK-SOURCE — Select an RTK source managed by the server

A client sends this request to the server to select an RTK preset that will be used as the active RTK base station that sends RTK corrections to the UAVs through the server.

Request fields

Name Required? Type Description

id

yes

string

The ID of the RTK preset to use

Response fields

Name Required? Type Description

id

yes

string

The ID of the RTK preset selected as RTK base

Example request

{
  "type": "RTK-SOURCE"
}

Example response

{
  "type": "RTK-SOURCE",
  "id": "my-fixed-station"
}

RTK-SURVEY — Start an RTK survey with the currently used RTK base station

A client sends this request to the server to instruct the currently selected RTK base station to either to start an RTK auto-survey to measure its own position, or to set its position explicitly.

Request fields

Name Required? Type Description

settings

no

object

Object holding information about the required settings of the RTK survey procedure. The structure of this object is described by the RTKSurveySettings complex type.

Response fields

Name Required? Type Description

settings

no

object

Object holding information about the actual settings of the RTK survey procedure. The structure of this object is described by the RTKSurveySettings complex type.

Example request

{
  "type": "RTK-SURVEY"
}

Example response

{
  "settings": {
    "accuracy": 1,
    "duration": 60,
    "messageSet": "msm7"
  },
  "type": "RTK-SURVEY"
}