Susi Server

Marine Heading Page

The Marine Heading page is the live monitor for the Marine Heading node: tilt-compensated magnetic heading with continuous, GPS-assisted magnetometer calibration. The node fuses gyroscope, accelerometer and magnetometer data with GPS course-over-ground (COG) and, when available, the ship’s own true-heading feed (HDT). The page shows the fused heading, the health of every input reference, and the state of the two on-line calibrations (hard-iron offset and deviation card).

The page appears under Tools > Marine Heading whenever a Marine Heading node is part of the configuration. See the Marine Heading node reference in the Filters section for the node’s settings.

Heading

The compass rose shows every heading reference the node knows, each with its own needle:

Below the rose:

Heading History

The last minute of Fused, Magnetic and COG headings (unwrapped, so traces stay continuous across the 0/360 seam). The three traces should track each other while underway; the vertical spread between them is a direct read of how well the references agree.

Hard-Iron Calibration

The magnetometer’s hard-iron offset is estimated continuously while the vessel moves, from samples that pass the field validity gates:

Field Validity

The badges show the gates protecting the heading and the calibration from magnetic disturbance:

The table compares measured field magnitude and inclination against their expected values, shows the local declination, and counts how many magnetometer samples the gates have rejected.

Residual and Field

Two live strip charts:

Deviation Card

The classic compass deviation card, learned automatically instead of from a manual compass swing. While the COG gate is open, the node fits the heading-dependent residual to a five-coefficient curve (A + B sin + C cos + D sin 2ψ + E cos 2ψ) and applies it as a correction to the magnetic heading. Enable it with the enableDeviationModel node setting.

The plot shows the fitted deviation in degrees over compass heading 0-360.

Actions

Calibration is persisted across restarts when persistCalibration is enabled, so a reset is the only way to intentionally start over.

Loading documentation…