I worked as an undergraduate researcher in the MIT Marine Autonomy Lab helping develop an autonomous sailing behavior for a Robonautics sailing robot. My specific contribution was to create methods that would allow it to tack and jibe (change direction) while maintaining sufficient speed to keep sailing on course.
My specific methodology consisted of analyzing data from previous sea trials to determine the root cause of the problem. The first thing I noticed was that the vehicle began to side slip when attempting to sail upwind after a turning maneuver. I determined that this was happening because the vehicle had lost nearly all of its speed, rendering its centerboard ineffective. After analyzing more sea trial data, I realized that the vehicle lost its speed because it was turning its rudder 100 degrees past center for the majority of the turn causing it to act like a brake instead of a turning surface. I dug through the code and cross-referenced with more data to figure out why the rudder was being set so aggressively. Once I found the errors in the decision making tree, I rewrote the turning methods with new logic and ran software in the loop simulations to test the outcomes. The algorithm changes resulted in less aggressive rudder movement, which should translate to smoother turns and better speed conservation. Unfortunately, due to budget constraints, we were not able to test these algorithm changes in a sea trial, but based on my extensive sailing experience I am confident that these changes would have resulted in an improvement in performance.