Tuesday 26 May 2020

Resolutions from the First Long Voyage - March 2020

This post covers each of the issues identified after the March 2020 Voyage across Port Phillip, and the resolution.

Cross Track Error Resolution

The Cross Track Error (CTE) calculation has poor resolution when the waypoint is many miles away (e.g. 20 miles).
The reason for the poor resolution is that the CTE is calculated using Sine(CDA) x DTW. But the CDA is represented as an integer value. (CDA is Course Deviation Angle).

Illustration of  CTE Resolution


This has been corrected by ensuring that the calculation and relevant values are all floating point.

Course To Steer

The Course To Steer (CTS) for the simple case of sailing directly to a waypoint, is simply the Bearing To Waypoint (BTW). This is ok for short distances, but when the distance to waypoint is large, and maximum CTE is small by comparison, then the vessel can easily reach or exceed the boundary for the leg. This in turn may cause the vessel to take drastic corrective action and tack on to an inappropriate course to address the excursion beyond the course boundary.

The CTS needs to use CTE as part of the steering algorithm.

The design change has been to add a CTS Correction offset.

CTS Offset  = CTE/Max CTE x K

Where K is constant representing the CTE gain.
The constant K should be stored in the EEPROM as an adjustable parameter.
Possible values for K may be 10° or 20°.

This course correction is added to the BTW. The correction is proportional to the CTE, and hence should greatly improve course keeping.


This is part of the ongoing development of a low cost autonomous oceangoing sailing drones, utilising a self-trimming wingsail. This is the Voyager series of sailing drones.