How-to Layback

This How-to describes how to use layback systems in QINSy.

A layback system is used to calculate a fish position from a manually entered range or from an externally interfaced range sensor e.g. a cable counter.

Slant Ranges

Layback values will be treated as a slant range (3D) between two nodes. It is not a horizontal range because the heights of the vessel and fish are taken into account. By default the calculation engine will assume that the fish skims along the surface of the water: height level MSL + Tide. The position calculation of the fish can be further improved when the fish contains a depth or pressure sensor. It will then be assumed that the fish travels at the measured depth. The horizontal position offset between vessel and fish is adjusted accordingly.

In the Controller’s Computation Setup the user can select what kind of rotation should be used to calculate the fish’s horizontal position. This can either be the (priority) Heading of the vessel, the COG of the vessel, the (priority) heading of the fish or the COG of the fish. If the heading for the fish needs to be entered manually, add a manual heading driver in the database and set this observation as priority heading for the fish.

Manual USBL

In Database Setup, when the USBL system driver “Manual Layback (dX dY dZ)” is used, the complicated USBL settings user interface is hidden from view and only a “from” (Vessel Towpoint) and “to” (Fish) are shown. The Controller will show for this driver an extra rotation option in the Computation Setup page for the USBL. This option allows you to select how the USBL XYZ observations are rotated horizontally. Note that when the normal driver “Manual USBL (dX dY dZ)” is used this rotation option is not shown in the Controller. Remember that when a negative USBL Y is entered then the fish will be positioned behind the vessel.

When to use manual USBL or layback system?

If you are using a basic sidescan tow fish then always use the layback system.

In situations that the position cannot be described by a single range value or you really need a fixed height difference between vessel and fish node, choose USBL. For example a gun position or a paravane buoy will best be calculated with a delta XYZ. Also if you require a purely horizontal range then also use the USBL option (delta Height is obviously zero then).

Some examples of how a layback system can be used:

Scenario 1 (Default):
Normal layback, no depth sensor on fish: Use 'Z' option enabled, fish skims along surface.

Scenario 2:
Layback and “ROV Depth” sensor on fish used: Use 'Z' option disabled.


  • Note that the layback slant range should be a realistic value. If for instance the slant range is shorter than the height offset between vessel tow point and MSL then the position cannot be resolved by the QINSy computation!!!!
  • Height conflicts: when Use 'Z' is enabled then the “ROV depth” on the fish should be disabled and vice versa or else multiple height definitions will exist for the fish and the position cannot be resolved.
  • Using the Course over Ground (COG) of the fish may result in a jumpy position of the fish when no filtering on the fish is used. Usually the best option for the horizontal rotation is the Course over Ground of the vessel. Note that when no compass is defined on the fish the Fish heading option will also use COG!
  • When the approximate position is far away from the real position and the computation doesn’t cycle then you can try to increase the iteration threshold from 10 to 100 to get a fix.

Since the 8.00.2010.03.01.1 QINSy release, there have been some major changes in how QINSy handles layback systems.

As it was
The manual layback driver calculated the position differences between the two defined nodes (one on the vessel, one on the fish) with the entered range or Delta XYZ (rectangular) values and the selected horizontal rotation option (e.g. heading or Course Over Ground). Various modes, e.g. horizontal range, slant range delta XYZ could be selected.

The calculated position difference was then used by the QINSy computation to calculate the absolute position of the fish and was also stored as such in the database.

As it is
The manual layback driver will only be maintained for the touchdown point calculation. The layback value will now be entered in the ordinary manual driver. The calculations of the positions are not carried out in the driver anymore but in the “Computation Engine” of QINSy.
The old “Manual Layback System” driver worked in slant Range or Delta XYZ modes.
The new “Layback System” driver will only support basic slant ranges but thanks to the flexibility of the QINSy Computation Setup this will be sufficient for most cases. For jobs that require the entering of real delta xyz positions a manual USBL system can be used.