DP Control System Pt.1 – Overview
Simrad Kalman filter based DP controller from https://dynamic-positioning.com/proceedings/dp1997/control_jenssen.pdf

DP Control System Pt.1 – Overview

Introduction: I’ve covered Kalman filters, DP gain (included PID controllers), and occasionally blab on about the effects of DP control system limitations, and the importance of knowing them and operating within the system limits. I was asked to tell more, and it’s probably time to take a look inside. This will be a high-level overview to provide an intuitive feel for how things work. There is variation between the DP vendors, and in internal vendor design over time, so while I will use one drawing to provide a framework for discussion, we won’t be mechanically bound to any particular manufacturer’s model.


Sure, sure. “Won’t be bound to any model” and then throws one at us!

Old Simrad: I’m going to use the old, publicly available, Kongsberg Simrad block diagram above as a reference for the discussion. It’s not got everything that I want, and isn’t as clear or accurate as I would like, but it gives a visual framework, and the inaccuracy is the first point that I would like to make. The area identified as “Kalman Filter” isn’t a Kalman filter, but a control system that uses Kalman filters as part of its processing. If you read my Calmin’ Filters article then you know that a Kalman filter calms the noise and helps the control system decide between its model and the feedback. This can then be used to update the model and make it more accurate. The “Kalman Filter” in the picture is also sometimes called the “DP Model”, but we will see that there are a number of filters and models inside the boxed in area. Sometimes, when people talk about Kalman filters, they are actually talking about improving information (filtering), and sometimes when they talk about DP models, they are actually talking about reflecting reality (modeling), but people sometimes use those terms as short hand to talk about all or a major part of the DP control system or its function.


As the Magic 8 Balls say, “Answer hazy. Try again.”

“Kalman Filter”: The old drawing shows the second general use. That dual use sloppiness is worth remembering, as it can help avoid confusion. The technical terms are exact in control engineering, but the DP industry usage is broader. I wrote an article about Kalman filters, but that may not have made the person who asked for it happy, if they wanted to know about the rest of the DP control system. Kongsberg was right to be proud of their application of extended Kalman filters to provide better DP control. This became the gold standard, and something worth bragging about, so everyone had to have Kalman filters, they were emphasized in sales, and became part of the popular terminology: Kalman filter DP systems - by which we mean DP control systems that use extended Kalman filters to improve accuracy and adaption. Older systems had low pass filters and various approximate estimates instead. The extended Kalman filters could handle continuous non-linear (power relationships rather than just straight lines) and non-Bayesian (not like a Bell Curve distribution) relationships better, so the term stuck. It still has problems with discontinuities (unpredictable sudden changes). The DP control system isn’t just a Kalman filter, but it uses them and works better as a result.


This picture is from an academic paper and is almost a copy of the one in Oliver Cadet’s 2003 MTS DP Conference paper a few years before it.

Force Difference Loop: This picture is also incomplete, but conveys two important ideas better - the difference between what we have and what we want drives the response, and the whole system is a loop that goes round and round making adjustments. The controller takes the command/feedback difference and adjusts its commands, the unshown operator gain selection adjusts that, the wind force is added in, the total force is allocated between the DP selected thrusters, the thrusters slowly respond (we hope), the vessel responds to the thrusters and the environment, the position reference and system sensors watch both, the thruster feedback monitors thruster response (they show the thruster command being monitored when it should be the thruster response - the one thing that they added was wrong for most DP systems), the noisy and possibly unreliable measurements are filtered and reality checked, used to update the model, the updated vessel state estimate is compared with the commanded state (position, heading, speeds), and the bigger or smaller difference used to drive another command adjustment. It might be easier to think of it as three main loops, one for control of surge, sway, and yaw, plus a mini wind compensation loop that isn’t shown in the picture. It’s worth remembering these recursive loops when we go back to the simplified Simrad drawing, because it is more interested in showing the “Kalman filter” than its use. The loop drawing above shows the parts of the Simrad “Kalman filter” as the lower left signal processing and estimation boxes and that difference in emphasis is worth remembering. The signal processing and estimation (Simrad “Kalman filter") are an important part of making the loop work well, but the other parts are also vital. The filter won’t do anything on its own, but thirty years ago, the extended Kalman filter was a bragging point, and it's still very useful.


Is this a problem? How do we get 4 tons to push back and keep position?

Force Difference Loop: Someone who hasn’t read my DP gain article might worry about using difference to drive thrust. Isn’t it a thrust adjustment loop, and don’t you need something to sustain the needed thrust? After all, if you need 4 tons of thrust to keep position and you are exactly on position then the difference between the required position and the actual is zero, so how do you get the 4 tons of thrust? This is where PID controllers or the model come in, because they remember how much thrust is needed to maintain position. They remember the net adjustment it took to get to not needing any further adjustment. Neither drawing shows detail of the “controller”, and there must be at least one PID controller for each vessel motion controlled (surge, sway, yaw) plus adjustments for speed and power limits, etc. It can be done with a single matrix mathematical controller, but it’s probably easier to think of them separately.


Model/Measurement weighting and DP error current adjustment.

Model Difference Loop: Unlike the loop drawing, the Simrad drawings emphasize the other major difference loop. The expected position, heading, and speed (based on the measured wind force and thrust, the scaled physics of the vessel, and the last state) are compared with the position, heading, and speed feedback (model estimate vs. measured estimate). The difference between the expectation and filtered measurement is used to correct the effective model of the system. We can’t use the measurements on their own because they can be wrong and are noisy, and we can’t use the model on its own as it can become wrong, the measurements can be noisy, and important things aren’t measured. We use the Kalman filters to weight the scaled physics based model results and the measured value based on which gives better estimates over time. This allows the sensor measurements to be grounded in the physical reality of the vessel and sensors, and the base scaled model to adapt to unknown changes in the scaled system. All the errors in the scaling, unknown changes, mismeasurements, and unmeasurables are slowly combined over time into something called “DP current”. This DP error current may have nothing to do with actual water current. This current is applied to the scaled model (starting physics based scaled model) to produce the effective DP model that is better adapted to the vessel's present situation. These accumulated filter and current adjustments are usually lost when you get out of DP control, and DP would have to start with the scaled model and relearn anything that is wrong or unknown if DP was reselected. If your model is badly corrupted, that is sometimes worthwhile, but in most cases, it reduces system effectiveness.


As adaptable as a rubber wrench, and sometimes just as dangerous.

Rubber Wrenches: This is great if the DP error current is small and close to the real water current. If small, the base physical model can adapt to some sudden changes, such as loss of a thruster group, but as the current goes up, the ability to immediately adapt to well-known and measured changes decreases, as they are a smaller portion of the control solution. With large error currents, sudden changes in configuration, environment, or position/heading could falsify the built-up adjustment (DP current) and cause loss of position. This happens because the averaged in assumptions (DP error current) are no longer true, and an appropriate reaction when the large DP error current is true, might be a wildly inappropriate when it isn’t. DP vessels make small heading and position changes and allow time for adaption between each change to avoid being caught by this. Good adaption of the system allows tolerance of unknowns, but can cause serious problems to be hidden for a while. It tempts some DP vendor representatives to settle for close enough, instead of properly scaling. Large and fast changes in current and large waves can invalidate the model and, as unmeasured variables, neither the scaled physical model nor the slow model adaption are of immediate help.


We used to call them “knuckle busters.” The adaption comes with a cost that a fixed, right size wrench doesn’t have.

Get It Right: I’ve already written an article on DP current and how it is important to track the difference between the DP error current and the water current. It is important that the vessel be properly scaled and the time taken to do so. For a new build, it takes at least 1 day at the dockside, 1 day at sea, and 1 day vendor trials. Those are the minimums that should be allocated, and more might be required if problems are found. Even if you aren’t in a rush, the vendor rep might be, so make sure you have an experienced independent expert to check. Current shouldn’t change with thruster deselection, thruster or rudder swing, thruster bias (what’s true at light thrust should be true at heavier thrust), heading, or draft. All these tests take time, but are an investment in safe operation. Calibration should be checked annually, and some annual DP trial tests, like the slow 360° rotation test or the worst case failure maneuvering tests, are opportunities to look for changes in DP error current.


Conclusion: We have seen that Kalman filters are a means of adaption, but sometimes used as a short hand for the adaption of the DP control system. We looked at two control loops based on difference and adaption – a fast one for thruster force command and a slower one for DP model adaption. We have also seen that adaption can both fix and hide problems. That's why it's important to get and keep the scaling right, and to keep track of the difference between the DP error current and the real water current. Stop thinking “DP current”, and start thinking about it as “DP error current”, so it can help you detect and avoid problems.

Russell Hodge

A career path diverted by essential roadworks

1 年

And I was going to ask "What is a Kalman Filter, and how often do you have to clean it?"

要查看或添加评论,请登录

Paul Kerr的更多文章

  • Making DP Plots Great Again?

    Making DP Plots Great Again?

    Introduction: There were major problems with the standard passive DP capability plots. We will start with the…

    28 条评论
  • What is a DP Redundancy Group? Pt.2

    What is a DP Redundancy Group? Pt.2

    Introduction: People working in dynamic positioning (DP) often encounter bad designs or bad crew improvements. This is…

    7 条评论
  • DP Incidents Feb/24

    DP Incidents Feb/24

    Introduction: It’s time to look at some of the DP related incidents and reports over the last month. These will be…

    17 条评论
  • Feb/25 DP Questions

    Feb/25 DP Questions

    Introduction: I occasionally answer DP questions, and usually forget to share answers that others might be interested…

    2 条评论
  • Testing DP Redundancy Groups Pt.1

    Testing DP Redundancy Groups Pt.1

    Introduction: I’ve written before about fake dynamic positioning (DP) redundancy groups, and promised I’d come back to…

    13 条评论
  • DP Control System Pt3b – Sensor Error Handling

    DP Control System Pt3b – Sensor Error Handling

    Introduction: This is an article that I tried to write a year ago and gave up on. It was lightly touched on in these…

    1 条评论
  • DP Incidents Jan/25

    DP Incidents Jan/25

    Introduction: It’s time to look at some of the DP related incidents and reports over the last month. These will be…

    9 条评论
  • Jan/25 Questions

    Jan/25 Questions

    Introduction: I occasionally answer DP questions, and usually forget to share answers that others might be interested…

    14 条评论
  • Last Week’s Article

    Last Week’s Article

    Introduction: I wrote an article on the importance of DPOs knowing vessel specific thrust/load charts for their…

    12 条评论
  • Turning Off Backups?!

    Turning Off Backups?!

    Introduction: I’ve already written articles that cover these issues. IMCA and MTS have covered the subjects in multiple…

    21 条评论

社区洞察

其他会员也浏览了