2015 Sailing Season, Prototype Thoughts, and a Bunch of (Bad) Math

sailing   pebble   raspberry-pi   visualsail  

In the above video it you look in the center of the cockpit strapped to the keel you'll see the star of this blog. You'll also note me looking at my watch a lot, that's not a nervous twitch

I'd like to take a break from the technical bits to write a little about my experience sailing with Mr. Gibbs in the 2015 season. Don't worry, the computer geek jibber-jabber will resume soon I'm sure.

First, a disclaimer. 2015 would have been my best season in a long time with or without my gadgets. The reason for this is simple: enthusiastic, reliable crew who put in the time and effort. It also helps when this crew happens to be one of your best friends. It was the first season in probably 4-5 years where it was a true team effort. We were working on refining techniques that I had once maybe known, but in years of sailing with pickup crew had lost due to the constant need to focus on the bare essentials of how to get the boat from A to B without capsizing. This year, however, we constantly worked on tuning, trim, boat handling, tactics, equipment enhancements, you name it we were trying it. It was glorious. It was a ton of fun. It was what racing sailboats is supposed to be.

I'm not going to say we got it all figured out, far from it. Certainly we have plenty to learn and improve, and our results show that. I will say that I think we have reached a minimum level of performance where objective, real-time data from Mr. Gibbs has become helpful (rather than just a distraction). With that in mind, here are a few of the experiments I tried with regard to watching various numbers while sailing.

The very first prototype of Mr. Gibbs had 3 numbers. Stopwatch, Heading and Speed. The stopwatch functionality was immediately better than any sailing watch I had used before. First, it was viewable and operable by both skipper and crew at all times. On a 2 man boat that flexibility is nice in the event that the usual clock operator is tied up tending to something else. If the crew is operating the watch, the skipper has the option of asking for "TIME!" every few seconds (and I still do sometimes) or glancing at my own wrist if it's convenient to do so. If a gun is missed and we need to "sync" on the next gun, either user can do so. Once we get a "big display" working, having the clock up on that would be an option as well.

Heading is useless. Ok, that's an exaggeration. I just find it extremely hard to keep track of multiple headings and deduce anything useful about a windward-leeward race course, while simultaneously doing everything necessary to keep the boat moving. Sure you can tell if the wind swings left or right, but you can usually spot a "header" without a compass. Perhaps on a boat with a larger crew where there are fewer responsibilities per person it's more feasible, but on my boat (and my limited mental capacity!) it's not. It was obvious that there was a lot of work I could do here to make Mr. Gibbs more useful. After all, if computers are good at anything, it's remembering numbers and math. The trick is getting it to do it as automatically as possible, with minimum input from the user.

Finally speed. Most skippers don't need a GPS to tell them when their boat is dragging. It's pretty easy to feel it, or just watch the other boats sail by. What the GPS IS useful for is having something to point out a difference of say 5-10%. I often found it easy to lose focus and catch myself down 10%, and I never "felt" it. The benefit of GPS here is that you catch yourself slacking at -10% speed, rather than possibly not catching it until -20% or more. Again, however, speed feels like it could be better. So you're going 6 knots.... is that good? Is it 6 knots in the right direction? Would 6 knots on the other tack be better? How fast are you going in the current wind relative to all the other times you've sailed in equal wind? There are more useful numbers we could come up with.

The obvious next step was to add VMG (Velocity Made Good), which is sailor-speak for the speed that you're moving along the vector from the previous mark, to the next mark (also called the Rhumb line)


It's easy enough to calculate with basic trig, the trick is finding (and entering) the compass heading between the 2 points. We came up with a 3 different options.

  • The first method involves just sailing by the destination mark and saving the gps coordinates (at the push of a watch button). Sometimes it is feasible to accomplish this before the race starts, but usually it's not.
  • The second method is simply a 3 digit numeric "up/down" control where we can enter the heading on the pebble manually. We get the heading either from a compass, or sometimes the race committee will post the heading on a chalkboard on the side of their boat.
  • The third (and most reliable) method is to use the magnetometer that is built in to the pebble watch. Essentially we select the "course angle" option from the menu and the pebble shows a straight line on the screen which we then point at the mark and record the heading while sailing through the middle of the start line. The downside to this method is that any EMF will interfere with your compass reading, good news though, there's a pretty minimal amount of EMF on a proper sailboat.

Methods 2 and 3 both rely on using a heading taken by a magnetic compass. Magnetic compasses are not perfectly accurate, critically when comparing/contrasting the data with data from a GPS, the reason is magnetic declination. The calculations are well outside of my understanding, but the algorithms and accompanying constants are readily available from NOAA. I was able to modify their java implementation to suit my needs in C#.

Sailing with VMG is far more useful than sailing with just speed, but it still has flaws. The primary flaw is that it doesn't account for where you are on the course. If you did nothing but sail for optimum VMG you would sail right past the mark and on forever. It can tell you which tack is "lifted", but it can't tell you when you should tack because you've gone past your layline or even beyond the optimal course.

The solution to this problem is VMC (Velocity Made good on Course). It could otherwise be described as the rate of closure to the next mark. If you're moving at 5 knots straight toward the mark, your VMC is 5 knots. Unlike VMG, if you go past the mark your VMC goes negative as you get further away. Of course the difficult part about calculating VMC is that you need the exact location of the destination in order to calculate it. We came up with 2 methods to capture it.

  • The first method is the same as the first method for VMG, that is, sail by the mark and simply record the location.
  • The second (and VERY experimental) method is to calculate great circle intersection. Basically what this means is that at any point on the course we take a heading to the mark, and it logs both the gps lat/lon of the boat, as well as the heading to the mark from that location. We then sail for a bit (longer the better) and do the same thing again. It captures all this data at a single button push per location, so it isn't too onerous. Mr. Gibbs then calculates the intersection of the 2 lines and plots that point as the mark. Normally we attempt this process before the race during the countdown while we reach back and forth behind the start line. The accuracy of this method is somewhat suspect. Small deviations in the headings can have effects of the mark being quite a bit off. It's a work in progress, I hope to make it good enough to use, but at this point I would not bet my race on it yet.

All of this sounds OK in theory, but can you do it in 20+ mph wind reaching back and forth at the start for 30 minutes on Lake Winnebago? Reality check. In practice, what we found was that for the first mark we would either enter a heading from the committee, or take a single bearing to the windward mark via the watch before the start. We programmed Mr. Gibbs to remember the GPS position of the boat when the countdown hit 0 and assumed that was pretty close to the leeward mark (this assumption works for our fleet/courses, it won't in all obviously). When we reached the windward mark, I would "mark" that location, and for the rest of the race Mr. Gibbs would have rough GPS locations for both marks, assuming no course changes. VMC was a much more useful to sail by than speed or VMG because if you "banged the corners" of the course, your VMC would start dropping very quickly.

Distilling it slightly more, if we divide VMC by speed, we get a simple percentage that tells us how much of our forward effort is translating into closure on the mark. We called this value "VMC %". I'm sure someone else has thought this up and it has an official name, I just haven't found it. I like to think of this metric as the "Am I sailing the right direction" metric. Anything less than 50% means it is immediately time to tack, otherwise our goal is to spend as much time as possible on the tack with the higher VMC. We have not ventured into the calculus for "True VMG" yet because we do not have the constants required, hopefully we can develop that data once we have wind data.

port boat crossing questionably close in front of starboard boat

above: until he is equipped with radar/sonar/lidar and a better understanding of the racing rules of sailing, Mr. Gibbs is unable to determine that we probably should have tacked or ducked underneath the starboard boat

Another metric we developed is called "Current tack delta". Essentially this is the difference between your current heading, and what your heading was when you began the current tack. The way this works is fairly straightforward, although I do think the constants would probably need to be tuned per boat, because different boats will have different handling characteristics. Basically any change of direction of more than 60 degrees inside a 10 second window is a Tack. Once a tack is detected, it stops calculating this metric for a further 10 seconds (to give you time to get close-hauled again) and then remembers that heading.

The net result is that all things being equal, with no shift and no change of course, "Current tack delta" would simply read 0°. However, if the wind is shifting, or if you are otherwise steering, the value will show the difference. For example -10° means you're "down" 10 degrees (headed), +10° means you're "up" 10 degrees (lifted). This metric is useful when the wind is shifting slow enough that you may miss it. A shift at 1-2 degrees/minute on a 10 minute tack can make a big difference. If it's subtle you might miss it, but with this metric you would see that number slowly creep up and have an objective frame of reference that didn't involve a grease pen on the deck.

After each tack, it also briefly displays the difference between the current tack and the previous. In theory this is usually 90 degrees. In reality it's usually not.

Using the accelerometor onboard, Mr. Gibbs is also constantly logging the heel and pitch of the boat. Having a "readout" of the heel, though, is about as useful as a deadbolt on a screen door. Nobody is going to watch their "heel" number when their own nervous system with its 4 billion years of Darwinian evolution can tell them if the boat is heeled instantly.

IF they remember to pay attention to it.

With that in mind, rather than display a number, we simply have Mr. Gibbs notify us if the boat goes too long outside of optimum heel. I hear the rumbling now. "Great" they say, one more thing to yell "get your ass over the side and HIKE!" at me.

We have some ideas about using the accel/gyro to monitor and log wave intensity, but that is a much lower priority item than some of the other things.

There are a few other metrics we developed, but these last few are the ones I found to be both useful and unique (as compared to other systems I've used anyway, I would not be surprised to find them in expensive systems that I have never laid hands on because there is nothing particularly clever about them).

The next set of metrics that I want to develop all require wind data. We would like to calculate both apparent and true wind speed/direction, and further log the data along with current boat speed to build out polar charts. The goal being to distill a single "is my boat trimmed right" number which would essentially be "am I going as fast as I have ever gone in the current wind". Obviously this is ignoring a number of factors, but everything here has a margin of error. The real question is is it useful on the course or not. We shall see.

comments powered by Disqus
Comments powered by Disqus