That’s just under fair conditions. Under foul conditions, I can’t really imagine how you can have a program make sense of this stuff, since all the sensors are going to be all over the place, and you sort of need a human to make sense of it all. So under those conditions the it’d probably be easiest to just heave to, but then it’d probably get off course.
Also don’t forget that GPS is unreliable. The ship could probably do dead reckoning better than Columbus, but that’s something it absolutely must be taught in addition to everything.
I think a fair analogy would be to flying. You could make the argument that flying isn’t as complex as autonomous driving, but they’re just different. Sailing is about one degree of freedom more simple than flying.
What I am interested is using CV and sensors inside ropes to optimise for speed or comfort, without user intervention. Takes quite a bit of training to learn how to read sail.
There's a lot to consider when sailing. None of it is some sort of magic that can't be automated, but there is quite a bit more to it than how you describe it in your first paragraph.
Also, driverless cars may just have two controllable independent variables, but the environments they work in are incredibly complex, with hundreds if not thousands of objects to track at any one moment. Boating in the middle of the ocean would still be complex, but it wouldn't compare to autonomous driving on land.