Sailing Performance¶
Status: design / in development
This page describes the best-ever boat-performance design (sailing and motoring). It shares the same engine as Alternator Health — only the axes and the measured output differ. Specced and being implemented; details are the design intent and may shift during the build.
The regulator uses the boat's own sensors to learn how fast it goes when conditions are steady, then compares present speed against its best-ever for those same conditions. Because conditions are part of the reference, chop is not treated as random noise — it becomes an axis. Over time the boat builds a real performance fingerprint, and a sustained shortfall (fouling, poor trim, adverse current) shows up as performance below the best-ever surface. Advisory only; interpretation is left to the user.
Speed source¶
Output is boat speed, from a user-selected source — STW (through-water) or SOG (over-ground). The two answer different questions (current shows up only in SOG), so they are not mixed: switching the source is equivalent to Clear All and asks for confirmation.
Axes — apparent wind, not true¶
The masthead measures apparent wind directly; true wind and heading are derived (and true wind even depends on boat speed, the very thing we're measuring). So the learning axes are apparent:
Sailing
| Axis | Notes |
|---|---|
| Apparent wind speed (AWS) | |
| Apparent wind angle (AWA) | a tack swings AWA widely → breaks the run on its own |
| Sea-state | pitch standard deviation over a rolling window |
Motoring
| Axis | Notes |
|---|---|
| RPM | |
| Apparent headwind component | ≈ AWS · cos(AWA) |
| Sea-state | pitch standard deviation over a rolling window |
The sea-state metric is pitch standard deviation (degrees) computed over a rolling window — it's chosen because pitch angle is essentially independent of where the IMU is installed. (A future upgrade is bow-corrected vertical-acceleration RMS, a stronger physical proxy that needs lever-arm correction.)
Polars are learned in apparent-wind coordinates but can be displayed in true or apparent wind, user-selectable (a display-layer conversion).
How a data point is formed¶
Identical mechanism to the alternator (see Alternator Health):
- Sample on a fast internal tick (the IMU/device clock, not on a fresh NMEA/GPS sentence) so the cadence isn't tangled with data-source arbitration and a fast excursion on any axis can't hide.
- Steady = every axis within its band, each axis with a user-tunable deviation bound and steady time.
- One averaged point per steady episode — the run closes the instant any axis leaves its band.
The best-ever front¶
The reference is a best-ever speed surface over the axes above, stored as sparse support points (the front), interpolated between them. A finished episode is kept only if its speed exceeds the surface at those conditions. The cloud keeps the full accepted history and derives a pruned front as a rebuildable view, so the reference ratchets up and never decays — and the device evaluates the held front locally so rating works offline.
What you see¶
- Live performance % — present speed ÷ best-ever for the current wind/angle/sea-state.
- A polar plot will follow once the data system is in place.
- Across the fleet, the same data eventually answers which boats and hull shapes lose the least speed in chop.
See also the plain-English overview: Best-ever performance monitoring.