Sunday 30 June 2019

Sailing the Course with a Calibrated Compass

Sailing the Course with a Calibrated Compass

48 hours after the successful first completion of the sailing course, we're back to repeat the course; but this time, with the compass calibrated (better than it was previously, anyway).
The sailing performance was much better.
The wind was about 10-12 knots from the NNW.

Sailing the course much more efficiently this time.


The current settings for minimum Apparent Wind Angle (AWA) while beating to windward is 45 degrees. The log results show that this resulted in tacking angles of 105 degrees.



Sailing the last leg in about 10 knots of wind.

The next steps in development should include preparing a polar diagram of performance of the vessel.

Saturday 29 June 2019

First Completion of a Sailing Course - No Hands!

First Completion of a Sailing Course - No Hands!

After recent revisions of the onboard software I was able to run another test after work and this time successfully completed a sailing course with no manually intervention.

At any time, while in range, I can switch on an RC Transmitter and take over manual control of the boat, and then revert back to following the mission or several other options. I've often needed to do this previously to recover the boat from situations caused by errors in my software.
This was the first time that the boat has completed a course while sailing, with no manual intervention.

The course involved 6 waypoints with running, reaching and beating, with a light wind from the NNE.
The Short Sailing Course just completed. 
























I'll need to study the logs very carefully, but the initial impression is that the software behaved ok, but compass calibration is a big problem, with errors of up to 40 degrees.
The large compass error meant that the course sailed was not very good. The marks were overlaid and underlaid, causing excessive tacking. But at least the software was resilient enough to get it around the course.


Nearing the Last Waypoints after Sunset


Monitoring Progress in Real-Time through the Telemetry


Note: 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.

Sunday 23 June 2019

Electronic Compasses for Voyager

Electronic Compasses for Voyager

I'm losing count, but I think its about 5 different compass devices I've trialled during the development of the Voyager Controller - so far.

The image below shows a mild case of the problem of compass accuracy.
The leg with a bearing of about 350 degrees from first to second waypoints shows the boat heading off on a bearing of about 330 degrees with about 20 degrees error.
It still gets there, but its not good.

A successful voyage under motor, but poor compass accuracy

Measuring the boat's heading accurately has been quite difficult.
Overall, I suspect it all comes down to calibration, and the built-in mechanisms to manage calibration in a way that actually works in the environment in which it will be used.
The following is a list of the different compass devices that made it into the Voyager Controller and my thoughts about them.
These notes represent my understanding of what's going on. If I can be corrected, then good.

MPU-9250 - August 2016

This is quite a good low-cost IMU device for measuring 9 degrees of freedom including 3-axis magnetic sensing. It requires all sensor fusion and calibration management to be handled by the host processor.
The problem I had was that I could not get any sensor fusion and calibration software sample that I could find to work satisfactorily. (This may be attributed to my impatience or incompetence).
I'm sure it may be possible, but there are more complete (and expensive) devices available which perform the sensor fusion and calibration maintenance on board.

Note: I now use the MPU-9250 device as magnetic rotation angle sensors. This is where a rotating device (like the Wingsail) has a magnet held near the MPU-9250, and its angle is measured. The magnet can easily swamp the effect of the earth's magnetic field and the resulting accuracy of the rotational measurement seems to be within 1 or 2 degrees.

BNO 055 - October 2017

This was the first IMU I tried with built-in sensor fusion.
The sensor fusion worked quite well, but magnetic calibration was not being maintained and it kept drifting off.

BNO 080 - October 2018

This seems to have improved accuracy over the BNO 055. Its built-in calibration processes continuously seem to perform calibration of the compass as it moves.
The problem that I could not solve, was that it continues to perform those calibrations when its not moving then starts drifting off for no apparent reason.
The end result seems to be that with the boat sitting stationary on ground, and after preforming some calibration motions to achieve a high-level of calibration, it simply starts to drift off by 20 or 30 degrees.
My understanding is that this behaviour can't be controlled.

Ultimate Sensor Fusion Solution - LSM6DSM + LIS2MD - April 2019


This device has been the most successful yet.
It incorporates onboard sensor fusion processing and calibration management.
One key point is that the calibration is well controlled, and seems to be better behaved.
Small movements of the boat seem to be enough to maintain the compass calibration.
It is also possible to save a calibration state, and reload it for a warm start.
I found the documentation and sample code to operate this device couldn't be directly used in my environment without the need to gain a better understanding of the operation of the device. Once I had gained enough understanding of the device, I was able to alter the sample drivers software to suit my requirment. This wasn't really necessary with most of the other devices I've used.

Lots of Sailing Trials

Lots of Sailing Trials - February to June 2019

The sailing hardware and electronic hardware has been quite stable for several months while I work on refining the sailing algorithms. The nearby lake has a good fetch from the North West, and so NW winds are the best for sailing trials. Each week I make changes to the sailing software, and perform trials, trying improve the sailing and tacking decisions as the boat moves through its waypoints.


On-board camera showing the back of the Wingsail Electronics



Sunset Trials after work

Programming a mission before commencing a run


10-15 knot breeze 

Many of the parameters from the onboard controller are transmitted in real-time back to the base station for visualisation. More parameters are recorded on an SD Card that can be reviewed in greater detail back at home.  I found it quite difficult to analyse the masses of data I was collecting by simply studying the raw log files, and so an additional Log Analyser was developed where the log files could be visualised and played back (both backwards and forwards) to study the details of the sailing decisions that were being made.
I found this vital to moving forward and resolve some the bugs in the sailing algorithms.

Log Analyser for replaying details


Note: 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.