This article presents a sample dual-Duro setup to provide precise position using Skylark corrections service and heading using a moving base RTK.
To compute precise position and heading, two Duro receivers and two GNSS antennas are required. In order to obtain Skylark corrections, one Duro must have Internet access via a cell modem. In this example, the Duros and cell modem are connected together over Ethernet using a MoFi Networks router.
Figure 1 - Example of dual-Duro RTK positioning and heading setup
- Reference (positioning) Duro GNSS antenna
- Attitude (heading) Duro GNSS antenna
- 12 V battery pack
- Reference (positioning) Duro
- MoFi Networks Ethernet router
- Cell modem dongle
- Attitude (heading) Duro
- Control computer
Two Duros and two GNSS antennas should be placed on a moving vehicle. Reference Duro (4) computes precise position using Skylark correction services and at the same time, provides GNSS observations to the Attitude Duro (7), which computes an RTK derived heading.
For best results, GNSS antennas should be installed on the vehicle roof along the centerline and with at least 0.5 m distance between antennas.
The Reference Duro can also be a Duro Inertial to provide precise position using inertial sensor fusion. The Attitude Duro is not used for precise positioning and should be GNSS-only Duro.
In this example, the Duros are set to static IP addresses 192.168.0.121 (reference) and 192.168.0.122 (attitude). Swift recommends configuring each Duro separately before connecting both on the one network. To transfer GNSS observations from the Reference Duro to the Attitude Duro, a UDP protocol is used.
Reference Duro Settings
These settings are to be configured on only the Reference Duro computing the RTK position.
|ip_address||192.168.0.121||Unique address on the network (example).|
|enable||True||Enable NTRIP to obtain corrections for precise position. Disable NTRIP to make changes in NTRIP settings.|
|url||na.l1l2.skylark.swiftnav.com:2101/OSR||See also Receiver Configuration for Skylark Operation|
|gga_out_interval||10||s||Outputs an approximate position to the NTRIP caster to obtain corrections for the correct location.|
|username||<username>||Username as provided in Skylark account setup.|
|password||<password>||Password as provided in Skylark account setup.|
|dgnss_solution_mode||Low Latency||Configures Duro to compute RTK solution if RTK corrections are received from a stationary base station.|
|soln_freq||10||Hz||10 Hz is the current maximum RTK low latency solution rate on Duro.|
|output_every_n_obs||2||n/a||Enables 5 Hz raw observation output to the Attitude receiver. Observation rate must be the same as on the Attitude receiver.|
|address||192.168.0.122:55557||Destination IP address and port for GNSS observations.|
|enabled_sbp_messages||74,117||n/a||Configures Duro to send its raw observations and GLONASS biases to the Attitude receiver.|
|mode||SBP||Uses SBP protocol for observations output.|
Table 1. Reference Receiver Only Settings
Attitude Duro Settings
These settings are to be configured on only the Attitude Duro computing the RTK heading.
|ip_address||192.168.0.122||Unique address on the network (example).|
|enable||False||NTRIP is not used.|
|dgnss_solution_mode||Time Matched||Configures Duro to compute solution on receipt of observations from a reference Duro.|
|soln_freq||5||Hz||5 Hz is the current maximum time-matched solution rate on Duro.|
|output_every_n_obs||1||n/a||Enables 5 Hz raw observation. Observation rate must be the same as on the reference receiver.|
|send_heading||True||bool||Enables SBP/NMEA heading output. Heading is calculated from the reference receiver antenna to the attitude receiver antenna.|
|heading_offset||Depends on installation||degrees||Adds an offset to the heading output to rotate the heading vector to align output with the actual antennas installation. Valid values are -180.0 to 180.0 degrees.|
|dynamic_motion_model||High Dynamics||Sets required dynamic motion model. Use the same setting for all types of applications.|
|port||55557||UDP port to receive observations from the Reference Duro.|
|enabled_sbp_messages||0||Configures Duro to not send any data from this port.|
|mode||SBP||Uses SBP protocol for observations input.|
Table 2. Attitude Receiver Only Settings
Reading Output Data
The precise position is computed by the Reference Duro and therefore the position output messages (like POS LLH - ID 522 in SBP protocol) are read from Reference Duro TCP or UART port.
The precise heading is computed by the Attitude Duro and therefore the heading output messages (BASELINE HEADING - ID 527 in SBP protocol) are read from Attitude Duro TCP or UART port.
Figure 2 - Dual-Duro RTK Positioning and Heading Outputs on Swift Console
- The Attitude Duro is being used to compute a relative RTK vector only and therefore the position mode reported by Attitude Duro is SPP or SBAS.
- The Attitude Duro operates in Time Matched mode and therefore the age of corrections remains zero.