Had another chance this morning to test the navigation after correcting yesterday's mix-up with left/right rudder output. It's working as well as I could have hoped for cross-wind navigation, but the upwind tacking (aka intermediate waypoints) do not seem to be working correctly. The boat basically ends up going in circles when it should be headed towards an intermediate waypoint. At first glance, we thought maybe the gps signal had dropped out. However, log data confirms that the gps was not the culprit.
I suspect this will likely correct itself once the sails are tuned better (particularly the front sail). The range of degrees that the boat is unable to navigate without tacking is referred to as the 'no-go zone'. Since I do not adjust the tension of the sails dynamically, this zone is much wider than a typical boat would experience. I think the angle may even be wider than the angle computed for intermediate waypoints, which could definitely cause issues.
Anyone with basic sailing experience would probably notice in some of the pictures that the front sail looks let out way too much. I had done this intentionally thinking it would be nice for downwind speed, but I've decided I'd rather go slow downwind than stall on 'close hauled' headings.
Example showing front sail let out too much.. it should be much tighter/flatter here:

I still need to review the log data more carefully and try to reproduce the issue in the simulator. In any event, the good news is that I don't think there's a software/logic issue. Overall I'm quite happy with today's test run though!
More Serenity Cam Video (unfortunately I only have this version in very low quality)
Some random events in this video:
- Rowers - 0:40
- Stand-up paddler - 0:43
- Swimmers - 1:17
- Boat tracking towards waypoint - 1:55 to 2:22, 2:22 to 2:52
- Swimmer - 3:32
- Boat spinning out of control left when we expected it to sail upwind - 5:16 to5:45
- Stand-up paddler - 6:43
- Boat keel hits sand and stops - 6:55
- Lifting boat out of water - 7:07


