My Issues

Drivers Manual

Sonardyne SPRINT INS (Info) - 23

Description

This is a driver with user-interface in order to encode messages for - and decode messages from an ROV integrated with a

  • SPRINT INS
  • Doppler
  • USBL/LBL
  • Bathy (Depth Sensor) system

During normal operation the SPRINT INS will establish an accurate position for the ROV based on the integration of Inertial, Doppler, USBL, Depth Sensor and Surface Positioning (Computation Node Result) information.

This driver can send the necessary surface positioning information to the SPRINT INS in order to enhance the INS solution. At the same time it will read and decode the integrated accurate ROV position and attitude data, which can be used in a separate Computation Setup.


There are two versions of this driver: a serial one and a network (UDP) one:

  • For the serial driver version, receiving data from, and sending data to, is done via the same serial COMport
  • For the network driver version, receiving data from, and sending data to, is done via the same LAN UDP port.

The user-interface for both drivers is exactly the same, only the I/O protocol is different.

In case your setup does not require to receive any data from the unit, and you only need to send data to the INS, see the additional comments made in the output setup section.

Driver Information

Driver Sonardyne SPRINT INS Interface Type Serial / UDP Driver Class Type Terminated 
UTC Driver (question)  Yes Input / Output Input and Output  Executable DrvQPSTerminatedUI.exe
DrvQPSTerminatedUIUDP.exe
Related Systems
Related Pages  



Decoding Notes

The following (binary) messages can be received and decoded from the INS:

  • Navigation Data Message
    This message (normally at 10 Hz input rate) contains the accurate ROV position, depth & altitude, heading, roll & pitch, plus the three axis velocity, acceleration & rotation values.
  • Navigation Quality Estimate Message
    This message (normally at 1 Hz input rate) contains the standard deviations and quality figures belonging to the values from the Navigation Data Message.
  • Time System Data Message
    This message (normally at 1 Hz input rate) is required in order to accurate time stamp the data from the Navigation Data Message (see also paragraph Timingand/or is required when the SPRINT INS is used as source for the Time Synchronization System in your template database setup.

The following (ASCII) messages can be sent to the INS:

  • Simrad SSB - SSBL Position Report $PSIMSSB
    This message contains the ROV position, as computed by QINSy using USBL or LBL information.
  • NMEA GPGGA
    This message contains the vessel's launch point position, as computed by QINSy, using GPS or RTK information.
  • NMEA GPZDA
    This message contains the exact UTC time for the time of output, from the QINSy Time Synchronization system.

It is the user's responsibility which message or combination of messages are being sent to the INS and at what output rate.

Interfacing Notes

Timing

  • Navigation Data Message (Incoming)

    Normally the driver will time stamp the data when it arrives at the COMport (or UDP port), but this may introduce latency due to variable calculations and/or serial/network characteristics.
    So, when the INS unit is interfaced with an external PPS/UTC input, then it is recommended to use the time from the decoded messages in order to time stamp the data.

    This can be achieved when the following criteria are met:

    • Your template setup has a valid Time Synchronization (PPS) system
    • The so-called 'UTC' driver is selected (See also paragraph Drivers.io Options below)
    • The Time System Data Message is received and preferably with an update rate of 1 Hz.

    When you are online, check the Messages list (drivers dialog lower pane) to see if it says 'Valid PPS system detected' AND 'Time fields will be used for timestamping'.
  • PSIMSSB USBL Position Message (Outgoing)

    The time inside the outputted message will be the exact time (UTC) for the computed ROV node position. In case option Deskew ROV Node Output is enabled, then it will be the exact moment of output.

  • GPGGA Vessel Launch Position Message (Outgoing)

    The time inside the outputted message will be the exact time (UTC) for the computed launch node position. In case option Deskew Launch Node Output is enabled, then it will be the exact moment of output.

For the serial driver version, output will take place via the same serial COMport as the incoming messages, therefore one should take the following wiring diagram into account when using I/O cables and connectors:

Database Setup

Position

  • In order to decode the position from the Navigation Data message, add a Position Navigation System to the template and select driver "Sonardyne SPRINT INS (Position)".
    On the second wizard page, select for Horizontal Datum 'WGS84', but for Vertical Datum select the Mean Sea Level Model (because the height will be derived from the decoded depth, with a negative sign). However, it is highly recommended to set the Height Status to 'Unreliable' in the on-line Computation Setup, in combination with the use of an ROV Depth observation (see below).

Heading

  • In order to decode the heading from the Navigation Data message, add a Gyro Compass System to the template and select driver "Sonardyne SPRINT INS (Heading)".
    Use the same I/O parameters (COMport, baud rate, etc.).

Motion / Attitude

  • In order to decode the pitch and roll (there is no heave) from the Navigation Data message, add a Pitch, Roll and Heave Sensor System to the template and select driver "Sonardyne SPRINT INS (Attitude)". Use the same I/O parameters.
    The roll convention must be 'Positive heeling to starboard' and the pitch convention 'Positive bow up'.

Underwater

  • In order to decode a depth observation from the Navigation Data message, add an Underwater Sensor to the template and select driver "Sonardyne SPRINT INS (ROV Depth & Altitude)". Use the same I/O parameters.
    On the second wizard page, add an ROV Depth observation. Select for At Node the correct node on the ROV object. The units on the last wizard page must be Meters.

    You may also decode the altitude (or height above bottom) which comes directly from a valid Doppler input into the INS:
    Add on the same second page an ROV Altitude observation, and select for the At Node the DVL sensor location on the ROV object. The units on the last wizard page must be Meters.
    Notice that this type of observation is not used by the Computation Setup, but it will be decoded, displayed and stored.

Velocities

  • In order to decode the three axes velocity, acceleration and rotation rate observations from the Navigation Data message, add an Acceleration Velocity Sensor system to your database and select the driver "Sonardyne SPRINT INS (Velo, Acc, Rot)". Use the same I/O parameters.
    Add the following observations on the second wizard page: Velocity (X, Y and Z), Acceleration (X, Y and Z) and/or Rate-Of-Turn (X, Y and Z).
    On the next wizard page, select for the velocity observation unit: Meters / Second, for the acceleration observations: Meters / Second^2, and for the rate-of-turn select Degrees / Second.

Generic Information

  • In order to decode additional information from the Navigation Data and/or Time System Data message, add a Miscellaneous System to the template and select driver "Sonardyne SPRINT INS (Info)". Use the same I/O parameters.
    On the second wizard page, add the following five Generic observations:

    It is recommended to select the Slot Id from the combo box. The observation name will then be set automatically, but you are free to change this name.

  • Observation representing the Navigation Data Mode, with Slot ID 'MODE'.
    The value is decoded from the Navigation Data Message. In the Generic Layout Editor you may use the 'MASK' operator on this mode value, in order to extract the individual 'bit' information. Bit 0 means: Data valid, bit 1: INS Initialised, bit 2: INS application not enabled, (bit 3-14: reserved) bit 15: System failure
  • Observation representing the Time Source, with Slot ID 'TIMESOURCE'.
    The value is decoded from the Time System Data Message. The following values can be expected: 0: No Source, 1: Lodestar RTC, 2: Standalone GPZDA, 3: Standalone GPGGA, 4: GPZDA 1PPS.
  • Observation representing the Time Standard Deviation, with Slot ID 'TIMESTD'.
    The value is decoded from the Time System Data Message and represents the 1 sigma expected standard deviation of the UTC time..
  • Observation representing the Time Age, with Slot ID 'TIMEAGE'.
    The value is decoded from the Time System Data Message and represents the time in seconds since the last accepted UTC time update from the source.
  • Observation representing the PPS Sync, with Slot ID 'PPS_RISING'.
    The value is decoded from the Time System Data Message and is 1 when the PPS pulse is valid on the rising edge and 0 when the pulse is valid on the falling edge..

Time Synchronization

  • In order to decode the UTC time from the Time System Data message for Time Synchronization time-tagging inside QINSy, add a Time Synchronization (aka PPS) system to your database and select the driver "Sonardyne SPRINT INS (UTC)". Use the same I/O parameters. On the next page enable the use of your Time Synchronization adapter, or leave it disabled if you do not have a Time Synchronization pulse interfaced to QINSy. Normally the use of a Time Synchronization adapter is highly recommended, but notice that in a setup where all other systems are already UTC time-tagged from an external time source (GNSS receiver), there is no need for QINSy to use a Time Synchronization adapter.

Output  

  • You do not need to define an extra output driver in the template setup. The driver will automatically output the messages to the same COMport as the incoming data (or to the same UDP port for the network driver version).
    The output update rate and what messages to send can be selected while on-line. The information in the $PSIMSSB and $GPGGA message depends on the settings as selected by the user in the Setup menu. See for more information below in the Online Setup.

    In case your setup does not require decoding of any incoming message from the unit, and you only have to output data to the INS, then you can select driver "Sonardyne SPRINT INS (Output Only)", or "Network - Sonardyne SPRINT INS (Output Only)". This driver can not be selected in combination with other driver types (all types mentioned above) for the same COM or UDP port. The user-interface of this driver while being online will be exactly the same, except for some input-specific options: they are hidden, because of no use.

Online

The driver has user-interface, and therefore will always be present in the Windows taskbar.

When going on-line for the first time, locate the driver, and change the Setup parameters:

Driver Layout Menu: Setup


  VESSEL SETUP
Vessel: Select from the available defined objects the vessel from which the ROV will be launched.
Launch Point Computation: Select the computation and node for the launch point of the ROV on the vessel. This node will be formatted and outputted as the NMEA GGA message.
Launch Point Node: Select the computation and node for the launch point of the ROV on the vessel. This node will be formatted and outputted as the NMEA GGA message.
Launch Point Qualities: Select whether to use the GPS quality flag, Number of satellites and the HDOP value straight from the raw data of the selected Vessel Position System, or enter the values manually. These values are used to format the output NMEA GGA message.
Vessel Position System: Select the system that is used to position the vessel. This system is used to retrieve the GPS Quality and Number of satellites.
Manual:

Manual quality values for the output NMEA GGA message.

Enter the three values comma-separated ('q, ss, h.h'): GPS Quality, Number of Satellites, HDOP.

  ROV USBL POSITIONING
ROV: Select from the available defined objects the ROV object that is positioned by a USBL system.
ROV Computation:

Select the USBL computation and node for the ROV. This node will be formatted and outputted as the $PSIMSSB message.

Notice that whether this computation is used or the LBL one, depends on the PSIMSSB Position setting in the Options Menu.

ROV Node: Select the USBL computation and node for the ROV. This node will be formatted and outputted as the $PSIMSSB message.
USBL Quality: Select whether to use positioning error estimates as computed by QINSy using the selected ROV Computation, or enter the value manually. This value is used to format the output $PSIMSSB message.
Manual:

Manual positioning error estimates entry for the output $PSIMSSB message.

Enter '±ccc.cc': USBL Quality (or Expected accuracy of the positioning) [m].

  ROV LBL POSITIONING
ROV: Select from the available defined objects the ROV object that is positioned by an LBL system.
ROV Computation:

Select the LBL computation and node for the ROV. This node will be formatted and outputted as the $PSIMSSB message.

Notice that whether this computation is used or the USBL one, depends on the PSIMSSB Position setting in the Options Menu.

ROV Node: Select the LBL computation and node for the ROV. This node will be formatted and outputted as the $PSIMSSB message.
LBL Quality: Select whether to use positioning error estimates as computed by QINSy using the selected ROV Computation, or enter the value manually. This value is used to format the output $PSIMSSB message.
Manual: Manual positioning error estimates entry for the output $PSIMSSB message.
Enter '±ccc.cc': LBL Quality (or Expected accuracy of the positioning) [m].

Driver Layout Menu: Results


Launch Point:

The last encoded position for the selected Launch Point Node which will be outputted as NMEA GGA.

Displayed are the [Update Time], Easting and Northing, the Height and the age of the data (between brackets) in seconds. If this age exceeds 5 seconds, then the last encoded values are displayed in the color red.

Vessel Positioning System:

The last decoded statistics from the selected Vessel Position System.

Displayed will be the [Update Time], Latitude and Longitude, GPS Quality Indicator, Number of Satellites, HDOP, Age of Differential Corrections and the age of the data (between brackets) in seconds. If this age exceeds 5 seconds, then the last decoded values are displayed in red color.

It is this GPS Quality Indicator, Number of satellites and HDOP that will be used to format the output NMEA GGA message, if not overruled by the manually entered values.

ROV:

The last encoded position for the selected ROV which will be outputted as $PSIMSSB.

Displayed are the [Update Time], the Easting and Northing, the Height and the age of the data (between brackets) in seconds. If this age exceeds 5 seconds, then the last encoded values are displayed in the color red.

USBL Trigger:

Information about the last updated USBL Transponder. This row is only visible when the $PSIMSSB message is outputted on USBL Trigger (see Options Menu).

Displayed are the [Update Time], the Transponder Slot, the Seconds between the last two updates and the age of data (between brackets). If this age exceeds 5 seconds, then the last encoded values are displayed in red.

INS Position:

The last decoded position data from the Navigation Data message.

Displayed are the [Update Time], the Latitude and Longitude, Depth, Altitude and the age of the data (between brackets) in seconds. If this age exceeds 5 seconds, then the last decoded values are displayed in red

INS Attitude:

The last decoded attitude data from the Navigation Data message.

Displayed are the [Update Time], the Heading, Pitch, Roll and the age of the data (between brackets) in seconds. If this age exceeds 5 seconds, then the last decoded values are displayed in red.

INS Velocity:

The last decoded three axis velocity data from the Navigation Data message.

Displayed are the [Update Time], Velocity X, Y, Z, Rotation X, Y, Z, Acceleration X, Y, Z and the age of the data (between brackets) in seconds. If this age exceeds 5 seconds, then the last decoded values are displayed in red.

INS Time:

The last decoded time information from the Time System Data message.

Displayed are the [UTC Time], the Source of the UTC time, the expected standard deviation of the UTC time, the time since the last accepted UTC update and the age of the data (between brackets) in seconds. If this age exceeds 5 seconds, then the last decoded values are displayed in red.

Driver Layout Menu: Raw Data


Output (ZDA) Last outputted NMEA ZDA message to the serial COM or network UDP port. The indicator cycles when a complete message has been sent. If the last output took place more than 5 seconds ago, it will be displayed in gray.
Output (GGA) Last outputted NMEA GGA message to the serial COM or network UDP port. The indicator cycles when a complete message has been sent. If the last output took place more than 5 seconds ago, it will be displayed in gray.
Output (PSIMSSB) Last outputted $PSIMSSB message to the serial COM or network UDP port. The indicator cycles when a complete message has been sent. If the last output took place more than 5 seconds ago, it will be displayed in gray.
Input (NavData)

Last received Navigation Data message at the serial COM or network UDP port. The indicator cycles when a complete message is received. If no valid Navigation Data message is received for more than 5 seconds, then the last received data is displayed in the color gray.
Notice that because the actual Navigation Data message is binary and encapsulated with a binary packet wrapper, only some decoded information is displayed from this packet wrapper:
[decoded Date and Time] Message ID (must be 213), Source ID, Message Size (inclusive size of packet wrapper), Checksum

Input (NavQual) Last received Navigation Quality Estimate message at the serial COM or network UDP port. The indicator cycles when a complete message is received. If no valid Navigation Quality Estimate message is received for more than 5 seconds, then the last received data is displayed in the color gray.
Notice that because the actual Navigation Quality Estimate message is binary and encapsulated with a binary packet wrapper, only some decoded information is displayed from this packet wrapper:
[decoded Date and Time] Message ID (must be 214), Source ID, Message Size (inclusive size of packet wrapper), Checksum
Input (TimeData) Last received Time System Data message at the serial COM or network UDP port. The indicator cycles when a complete message is received. If no valid Time System Data message is received for more than 5 seconds, then the last received data is displayed in the color gray.
Notice that because the actual Time System Data message is binary and encapsulated with a binary packet wrapper, only some decoded information is displayed from this packet wrapper:
[decoded Date and Time] Message ID (must be 208), Source ID, Message Size (inclusive size of packet wrapper), Checksum
Input (Other) Last received unknown message at the serial COM or network UDP port. The indicator cycles when a complete message is received. If no other message is received for more than 5 seconds, then the last received data is displayed in the color gray.
Notice that because each message is binary and encapsulated with a binary packet wrapper, only some decoded information is displayed from this packet wrapper:
[decoded Date and Time] Message ID, Source ID, Message Size (inclusive size of packet wrapper), Checksum

Driver Layout Menu: Options


Lock Settings:

Enable to lock the user-interface settings of the Setup and Options menu, in order to prevent making changes by mistake.

If this option is not present, then you may find a shortcut to this option in the menu under the dialog's upper-left icon.

Show Tooltips:

When hovering the mouse over the left column rows, you will get some more information. Disable if this becomes annoying...

If this option is not present, then you may find a shortcut to this option in the menu under the dialog's upper-left icon.

Decode INS Position:

Reduce the number of decoded INS positions from the Navigation Data Message.
Useful when the INS is broadcasting at high update rate, e.g. at 50Hz, but you don't want to store all these positions in the database.

Notice that this setting does not affect the decoding of the other observations (Heading, Motion, Velocities, etc), only the positions.

  • [All Positions]
    All received positions will be decoded and stored in a recorded database. 
    Notice that whether all positions, or less will be used by a Computation depends on Computation parameter 'Max.triggering rate'.
  • Max 5Hz
    A maximum of five positions per second will be decoded and stored in a recorded database. All other received positions will be lost.
  • Max 2Hz
    A maximum of two positions per second will be decoded and stored in a recorded database. All other received positions will be lost.
  • Max 1Hz
    A maximum of one position per second will be decoded and stored in a recorded database. All other received positions will be lost.
SPRINT INS Output:
  • ZDA + PSIMSSB
    Output the NMEA $GPZDA message first, immediately followed by the corresponding $PSIMSSB message. This output combination is recommended (and only useful) when the ROV is in the water.

  • ZDA + GGA
    Output the NMEA $GPZDA message first, immediately followed by the corresponding $GPGGA. This output combination is recommended when the ROV is about to being launched, and therefore not in the water yet.

  • PSIMSSB
    Output the $PSIMSSB message. This message is only useful when the ROV is in the water

  • GGA
    Output the NMEA $GPGGA message. This output is only useful when the ROV is about to being launched, and therefore not in the water yet.
  • ZDA
    Output the NMEA $GPZDA message. No position information is send to the INS, only time information
  • [No Output]
    Disable any output to the serial COM or network UDP port.
ZDA Output: Select the desired output update rate for the NMEA ZDA message. Output of this message can only be triggered on time. Every second is recommended.
GGA Output: Select the desired output update rate for the NMEA GGA message. Output of this message can only be triggered on time.
The position source is defined in the Setup menu under Vessel Setup.
PSIMSSB Position:

Select the source and the desired output update rate for the $PSIMSSB message
The position source should come from either the USBL or the LBL Computation, as defined in the Setup menu under ROV Positioning.

Output Datum:

The outputted position for the NMEA GGA or $PSIMSSB message will by default be on source datum (normally WGS'84).

With this option the user may force the outputted position to being on Survey datum.

Deskew Launch Node Output: Select Yes in order to skew the time and position of the launch point node to the time of output (NMEA GGA message), using the current SOG and COG. Notice that the SOG and COG depend on the Controller's Computation Setup, Object COG/SOG - Prediction Parameters Settings. The height value is not deskewed.
Deskew ROV Node Output: Select Yes in order to skew the time and position of the ROV node to the time of output ($PSIMSSB message), using the current SOG and COG. Notice that the SOG and COG depend on the Controller's Computation Setup, Object COG/SOG - Prediction Parameters Settings. The height value is not deskewed.

Observation Quality Indicators

All observation values are decoded from the Navigation Data Message, but the accompanying qualities (Standard Deviation, Estimates, Error ellipses) are decoded from the Navigation Quality Estimate message.

The following observations will have a decoded quality indicator:

Observation Decode Field from Message Quality Indicator Comment
Latitude / Longitude posMajor / posMinor SQRT(posMajor^2 + posMinor^2) Horizontal 1 DRMS
Height / Depth stdDepth   1 Sigma
Altitude n/a

-1 when Altitude value = 0
+1 when Altitude value > 0

-1: Invalid
+1: Valid

Heading stdHeading   1 Sigma
Pitch / Roll stdLevN / stdLevlE MAX(stdLevN, stdLevlE) 1 Sigma
Velocity X / Y velMajor / velMinor SQRT(velMajor^2 + velMinor^2) Velocity RMS
Velocity Z velDown   1 Sigma
Acceleration X / Y / Z n/a always 0  
Rotation X / Y / Z n/a always 0  
All Generics n/a always 0  

Registry Options

  • As explained above, information in the Results menu will be displayed in red color when the age of the data exceeds five seconds.
    This age limit (default 5 seconds) may be changed by modifying the registry key:
    'HKEY_CURRENT_USER\Software\QPS\QINSy\8.0\Drivers\DrvQPSTerminatedUI\<YourDriverName>\Settings\ MaxAgeRawInput'.
    (Changing this age value is purely for display purposes. It has nothing to do with the actual decoding of the data)
  • Information in the Raw menu will be displayed in gray color when the age of the data exceeds five seconds.
    This age limit (default 5 seconds) may be changed by modifying the registry key:
    'HKEY_CURRENT_USER\Software\QPS\QINSy\8.0\Drivers\DrvQPSTerminatedUI\<YourDriverName>\Settings\ MaxAgeRawOutput'.
    (Changing this age value is purely for display purposes. It has nothing to do with the actual output of the data)
  • Change the following registry key (from '00' (default) to '01') if you also want to show the 'Lock Settings' and 'Show Tooltips' option in the Options menu:
    'HKEY_CURRENT_USER\Software\QPS\QINSy\8.0\Drivers\DrvQPSTerminatedUI\<YourDriverName>\Settings\ ShowAllOptions'
  • Change the following registry key (from '01' (default) to '00') if you want to hide the four dark gray separator lines in the Setup menu:
    'HKEY_CURRENT_USER\Software\QPS\QINSy\8.0\Drivers\DrvQPSTerminatedUI\<YourDriverName>\Settings\ ShowSetupHeaders'

Drivers IO Notes

'PPS'

When this command line parameter is used, then the driver will time stamp the decoded observations using the (UTC) timetag, part of the Navigation Data and Time System Data message. But only when your setup has a valid Time Synchronization (PPS) system. When this command line parameter is omitted, then the driver will time stamp the data when it arrives at the COMport (or UDP port), so this may introduce latency.
Notice that this command line parameter is always enabled.