SailVMG is an IOS app for recording and displaying VMG while sailing and kiteboarding. VMG stands for Velocity Made Good, and it is the component of a sailboat’s velocity in the upwind direction. SailVMG provides visual and auditory feedback options for presenting VMG in real-time, allowing the racing sailor to try new techniques and get instant feedback about their effect on VMG.
For the full project description and source code please visit:
Currently the true wind direction (TWD) must be set before recording starts, and it will also need to be reset if the wind shifts. If the TWD is inaccurate, so is the VMG. An inaccurate TWD will also make VMG readings asymmetrical, because on one tack (one direction of the zig-zag), you will be sailing much closer to the TWD.
Therefore, ideally the wind direction could be inferred from tacking angles. When the wind shifts, so will your tacking angles, and a new wind direction can be inferred. There are a few different strategies that could work for implementing this. The most straightforward approach would be to have the user set an initial wind direction, and then calculate a new wind direction every time a tack is completed. Some type of smoothing algorithm would need to be applied so that the updates aren’t too noisy. The biggest challenge with this approach is to reliably figure out when someone tacks, and what the entry and exit angle were. A more complicated but likely more accurate approach would be to train a machine learning model to estimate the wind direction at each second, given the last few minutes of GPS track. I originally planned to use this approach, but I had a really hard time finding a dataset of sailing GPS tracks with wind data. Recently I discovered data from the 34th and 35th America’s Cup. I extracted the relevant data and uploaded it here.