To use this site, please enable javascript

How NaviSuite’s Kalman filter ensures precise subsea positioning

16 June 2017

Author: Support Engineer Mikael Nyseth | MSc Electronics and Navigation


Unless you’re familiar with the term, a ‘Kalman filter’ might just sound like something you use to make coffee, rather than a vital navigation tool used for guiding everything from spacecrafts hurtling towards the moon to ROVs (remotely operated vehicles) swimming deep in the ocean. In the following piece, you can not only learn the basics of what a Kalman filter is, but also how EIVA uses Kalman filtering in the NaviSuite software products to deliver the most precise calculations when tracking direction and placement, both online and offline.

What is a Kalman filter?

A Kalman filter (named for its key developer, Rudolf E. Kálmán) is an optimal estimator – a kind of tool used to make the most precise calculations when dealing with less-than-precise information in a dynamic system (for example, the ocean). It combines parameters of interest from indirect, inaccurate and uncertain observations, and is recursive, so that new measurements can be processed as they arrive. The filter can combine different inputs to improve, for example, the positioning of a subsea vehicle like an ROV.

Recursiveness of a Kalman filter

A Kalman filter is recursive, which means it updates and repeats calculations and predictions for the most precise results

How does EIVA NaviSuite use the Kalman filter for online navigation?

In more practical terms, the NaviPac (EIVA’s navigation and positioning software) kernel’s navigation function uses a Kalman filter to combine a ‘noisy’ position source (like, for example, USBL) with other sensors (like DVL and IMU) to improve the position accuracy. USBL systems have quite good absolute positioning accuracy (0.5% of slant range or similar) and no drifting issues, but still can have noise in form of position jumps. A DVL system, on the other hand, has very good relative positioning accuracy, so the DVL data gives very good complementary support to the USBL data. For online navigation, EIVA NaviPac also supports integrated INS systems like the iXblue PHINS and Sonardyne Sprint. The strengths and limitations of the different systems are further summarised in the figure below.

Comparison of components for underwater navigation

Comparison of components for underwater navigation

How does this play out in practice? When comparing the results in NaviPac’s Helmsman’s Display, the track of the Kalman filtered object is much straighter than that of only USBL. The ‘jumpy’ motion of the path determined from raw USBL data is cleaned up, using DVL data to support the Kalman filter. In the picture, the blue-coloured ROV has been tracked using DVL data and a Kalman filter, while the black-coloured ROV has been tracked using only USBL data.

Kalman filter used for ROV positioning

Positioning ROV using only USBL data versus using USBL and DVL data with a Kalman filter

Examples of practical applications of the Kalman filter in NaviPac

Applying a Kalman filter isn’t just useful because it makes an ROV’s path cleaner in Helmsman’s Display. Another practical example that might be of use would be to use the Kalman-filtered data from an ROV as the position source for the Schilling Autofollow driver output. Instead of sending ‘noisy’ data to the ROV’s Autofollow line module (which might cause irregular behaviour), the Kalman-filtered data will in most cases give a better reference position. Another example might be for remote Helmsman’s Displays used by ROVs. A jumpy track, where the ROV keeps jerking from side to side on the screen, could be both annoying and confusing to the operator. A Kalman-filtered position provides a smooth position and path, avoiding this confusion.

In NaviEdit, how can the Kalman filter improve our positions before exporting track data?

The DataEditor in NaviEdit (EIVA’s survey data editing software) also has features for post-processing DVL and IMU data to improve the position track. The Kalman filter in DataEditor has options for defining parameters for the filter, including uncertainty in position (USBL), drift of position (USBL), velocity error and drift (DVL), and mean acceleration limitations. The position improvement when defining these parameters in the Kalman filter can be seen in the figure below.

 Track before and after Kalman filter

Comparison of track before and after Kalman filter is applied

Why is position accuracy so important and how does it change the quality of my work?

For many jobs, position accuracy is vital, since positioning directly affects the final results of (for example) pipe surveys, cable surveys, and multi-beam route surveys. A ‘noisy’ track on any of these kinds of jobs will automatically decrease the overall quality of the work. It’s important to note here: when we talk about applying a Kalman filter, we’re not just talking about making the data look nicer. Applying the filter actually increases the overall position accuracy and quality of the data.

The figures below illustrate what just general processing, versus general processing plus the use of a Kalman filter, does to the overall quality of the data.

Using USBL data as position source

Pipeline survey (multi-beam data) using only raw USBL data as position source

Using Kalman filtered data as position source

Pipeline survey (multi-beam data) using cleaned and Kalman-filtered position data

The two examples pictured in the figures above are based on a setup including an ROV positioned with USBL and interfaced with DVL. In many cases this is a relatively affordable setup, as well as easy to mobilise. For jobs requiring more accurate positioning and higher frequencies of position updates, the ROV can be interfaced with an integrated INS system like the iXblue PHINS. NaviSuite will then record the absolute position from the PHINS unit. (Normally, the INS units can support a much higher position update rate per second than a USBL unit can. This increased update rate does improve the overall quality of the data, but makes for a more expensive and technically challenging setup.) EIVA NaviSuite has modules and drivers to support the most commonly used INS systems.

If we compare the data from the figures above with that of a survey done using a PHINS INS system, pictured below, we can see that the overall quality is improved compared to a Kalman-filtered USBL position. This is because the INS system has an internal Kalman filter that combines several inputs into a final position. These inputs might include USBL position, DVL, IMU (internal measurements in the INS/MRU, depth and sound velocity. The image in the following figure is based on an INS survey spread.

Using INS data as a position source

Pipeline survey (multi-beam data) using INS position (with built-in Kalman filter)

Which sensor spread and filter should I use?

In most cases, an integrated INS system gives the best quality of data. However, just using the tools available in NaviPac, NaviEdit and NaviModel (EIVA’s 3D/4D modelling and visualisation software) allows the user to deliver good quality data with a simpler and cheaper setup. In the figure below, you can see a comparison of advantages and disadvantages of the different setups described in this piece.

Comparison of three different survey setups

Comparison of three different survey setups

Latest news

Show all news