3.2 Kalman Filtering & Current Estimation
Key Takeaways
- A Kalman filter blends noisy sensor/PRS measurements with the mathematical model’s prediction to produce an optimal recursive state estimate
- With voting enabled, wild PRS values that disagree with the estimate and peers can be rejected so they do not drive thrusters
- Residual force that the model cannot explain from thrusters and wind is often estimated as current (and similar unmeasured loads)
- Multiple independent position references improve the estimate and reduce single-point failure of the filter’s measurement update
- After mode, reference, or heading changes, the filter needs a settling period; operators should not judge final performance during the first noisy seconds
Why Filtering Appears on Every DPO Syllabus
Raw position references jump. GNSS multipath, acoustic multipath, taut-wire dynamics, and laser target loss all produce noise and occasional wild points. If thrusters chased every jump, the vessel would thrash, burn power, and risk a drive-off. The industry standard solution inside the DP controller is a Kalman filter (or a closely related optimal estimator) that combines:
- the prediction from the mathematical model, and
- the measurement update from PRS and sensors,
to produce a smoothed state estimate (position, heading, velocities, and often residual forces).
You are not expected to derive matrix equations on the Induction exam. You are expected to know what the filter does for the operator, how it interacts with voting, why current estimation exists, and why multiple independent references improve safety.
Prediction + Measurement = Better Estimate
Think of the filter as a continuous debate between two imperfect sources of truth:
| Source | Strength | Weakness |
|---|---|---|
| Model prediction | Smooth, physics-based, works briefly without PRS | Drifts if thruster force or current is wrong |
| Measurements (PRS/sensors) | Corrects model drift with real-world data | Noisy, delayed, can jump or freeze |
When measurements look consistent with the predicted state, the filter trusts them and pulls the estimate toward the data. When a measurement is wildly inconsistent (and voting/quality checks mark it bad), the filter can reject it and rely more on the model and remaining good sensors. That is why brief reference glitches need not become thruster commands — a critical distinction between a well-tuned DP system and pure open-loop thruster steering.
Wild-Point Rejection and Voting
Modern DP systems combine median / voting logic among multiple references with the filter’s residual tests:
- Each online PRS reports a position (and often quality/weight).
- The system compares references to each other and/or to the current estimate.
- A deviant reference may be down-weighted or rejected with an alarm to the DPO.
- The Kalman update continues using accepted measurements.
Operator implication: an alarm that a reference is rejected is usually good — the system protected the estimate. Your job is to investigate why it failed (antenna, multipath, target geometry, acoustics) and restore diversity, not to force a bad reference back online just to have three green lights.
Current Estimation (Residual Force)
DP systems rarely measure ocean current directly at the thruster depth with a perfect meter feeding the controller. Instead, after accounting for:
- commanded/feedback thruster forces, and
- wind feed-forward from the anemometer (and model wind coefficients),
any remaining force needed to explain the vessel’s motion is often attributed to current (plus other unmodelled loads: waves, thruster–hull interaction, pipe tension, nearby vessel wash). That residual becomes part of the estimated state and is used so the controller anticipates the continuous bias rather than only reacting after position error grows.
| Concept | Exam takeaway |
|---|---|
| Current estimate | Residual environmental/load force, not necessarily a true ADCP current reading |
| Slow adaptation | Estimates usually update gradually; sudden jumps may be filtered |
| Wrong thruster force | If a thruster under-delivers, residual may be mislabelled as “current” |
| Operator use | Watch estimated current magnitude/direction as a health and weather cue |
Exam trap: wind is measured; current is often estimated. Do not say the wind sensor measures current, and do not say the Kalman filter’s only job is current — current is one component of the broader state estimation problem.
Why Multiple Independent PRS Improve the Estimate
A single excellent DGNSS still leaves the filter one failure away from measurement starvation. Independence matters more than raw count of antennas on the same system:
- Two DGNSS receivers sharing the same correction source and sky view can fail together (common-mode multipath, ionospheric event, jamming).
- A DGNSS + acoustic + relative laser/radar mix provides different physics, so a wild jump in one is less likely to fool both peers and the model residual tests.
With several independent measurements, the filter’s update is better conditioned: noise averages down, voting has peers to compare against, and short loss of one reference still leaves a measurement path. Industry guidance and Class practice therefore emphasise reference diversity, not merely “three of the same.”
Dead Reckoning When References Drop
If all PRS are lost, the controller can continue for a limited time on model-based prediction (dead reckoning), using last estimated velocities and residual forces while thrusters still respond to the estimated error relative to setpoints. Accuracy decays as unmodelled forces grow. That is why PRS loss is a high-priority event: the filter buys you time, not permanent immunity. ASOG green/yellow/red criteria often treat remaining reference count and quality as operational limits precisely because the estimator’s measurement update is the long-term anchor.
Filter Settling After Mode and Configuration Changes
Operators frequently cause unnecessary alarms — or worse, over-correct with thrusters in joystick — by not allowing the estimator to settle after:
- selecting Auto DP or changing control mode,
- enabling/disabling a major PRS,
- large heading changes,
- big position setpoint steps,
- thruster enable changes that alter the force balance the model expects.
During settling you may see temporary residual growth, thruster activity spikes, or reference weight reshuffling. Best practice:
- Make one configuration change at a time when possible.
- Confirm setpoints are intentional (present position/heading taken while data are stable).
- Watch footprint and residuals for a short period before declaring the system “unhappy.”
- Only then resume critical simultaneous operations (ROV, diving, heavy lift, etc.).
Practical Exam Scenarios
| Scenario | Filter-centred interpretation |
|---|---|
| One PRS jumps 20 m then returns | Voting/filter should reject wild points; thrusters should not follow the spike |
| Estimated current suddenly doubles after thruster trip | Residual force re-attributed; investigate thruster feedback, not only weather |
| After selecting a new laser target, thrusters busy for a minute | Settling / geometry change; verify target ID and quality |
| All DGNSS lost, acoustics still good | Estimate continues on remaining PRS; maintain diversity |
| Complete PRS blackout | Short dead reckoning only; reduce risk, prepare contingency |
What the DPO Should Remember for Assessment Questions
- Kalman filter = blend model prediction + measurements for optimal state estimate.
- It supports wild-point rejection when quality/voting logic is active.
- Current on the DP desk is often a residual force estimate, not a pure oceanographic instrument reading.
- More independent PRS → better updates and safer rejection decisions.
- Settling time after changes is normal; do not thrash the system or accept bad references during the first noisy period.
Link this section to the previous one: the mathematical model provides the prediction; the Kalman filter is how that prediction is disciplined by reality. Link it forward to PRS chapters: every reference type is just another measurement stream the filter may accept, down-weight, or reject.
What is the main purpose of a Kalman filter in a DP controller?
When PRS voting is enabled and one reference reports a large position jump inconsistent with peers and the model, the system should typically:
In many DP systems, the on-screen “current” estimate is best described as: